From b0d81f054fc27c7d0f408b5c5950d5393d6d6e70 Mon Sep 17 00:00:00 2001
From: Pregmodder <pregmodder@gmail.com>
Date: Thu, 29 Jun 2017 14:05:41 -0400
Subject: [PATCH] Tweaks and breast drugs.

---
 slave variables documentation - Pregmod.txt   |  2 +
 .../mod_EditSlaveCheatDatatypeCleanupNew.tw   | 18 +----
 src/js/economyJS.tw                           |  2 +
 src/npc/fFeelings.tw                          | 10 +++
 src/pregmod/seFCTVshows.tw                    | 61 ++++++++++++++-
 src/societies/aztec/slaveSacrifice.tw         |  2 +-
 src/uncategorized/RESS.tw                     |  4 +-
 src/uncategorized/costs.tw                    |  2 +
 src/uncategorized/costsReport.tw              |  3 +
 src/uncategorized/longSlaveDescription.tw     |  2 +
 src/uncategorized/saDrugs.tw                  | 11 ++-
 src/uncategorized/saLongTermEffects.tw        | 21 ++++-
 src/uncategorized/seWedding.tw                |  6 +-
 src/uncategorized/slaveInteract.tw            |  3 +
 src/uncategorized/slaveSummary.tw             |  2 +
 src/utility/assayWidgets.tw                   | 76 +++++++++++++------
 16 files changed, 175 insertions(+), 50 deletions(-)

diff --git a/slave variables documentation - Pregmod.txt b/slave variables documentation - Pregmod.txt
index 5080a911244..8a653bd2494 100644
--- a/slave variables documentation - Pregmod.txt	
+++ b/slave variables documentation - Pregmod.txt	
@@ -1621,6 +1621,7 @@ diet:
 "XY"
 "XXY"
 "cum production"
+"cleansing"
 
 dietCum:
 
@@ -1680,6 +1681,7 @@ drugs:
 "lip atrophiers"
 "breast redistributors"
 "butt redistributors"
+"sag-B-gone"
 
 aphrodisiacs:
 
diff --git a/src/cheats/mod_EditSlaveCheatDatatypeCleanupNew.tw b/src/cheats/mod_EditSlaveCheatDatatypeCleanupNew.tw
index fb29951fe03..ae59a4748c5 100644
--- a/src/cheats/mod_EditSlaveCheatDatatypeCleanupNew.tw
+++ b/src/cheats/mod_EditSlaveCheatDatatypeCleanupNew.tw
@@ -254,9 +254,9 @@
 	<<print "Breast Implant Value to low reset to 0">><br>
 	<<set $tempSlave.boobsImplant = 0>>
 <</if>>
-<<if $tempSlave.butt < 1 >>
-	<<print "Butt Value to low reset to 1">><br>
-	<<set $tempSlave.butt = 1>>
+<<if $tempSlave.butt < 0>>
+	<<print "Butt Value to low reset to 0">><br>
+	<<set $tempSlave.butt = 0>>
 <</if>>
 <<if (ndef $tempSlave.pubertyAgeXX) || ($tempSlave.pubertyAgeXX < 0)>>
 	<<print "Puberty Age was not set or set to low reset to Arcology fertility age">><br>
@@ -270,9 +270,6 @@
 <<if $tempSlave.dick < 0>>
 	<<print "Slave Dick Value set to low reset to 0 (No Dick)" >><br>
 	<<set $tempSlave.dick = 0>>
-<<elseif $tempSlave.dick > 10>>
-	<<print "Slave Dick Value set to high reset to 10 (Bigest Possible)" >><br>
-	<<set $tempSlave.dick = 10>>
 <</if>>
 <<if $tempSlave.dick == 0>>
 	<<set $tempSlave.dickTat = 0>>
@@ -318,23 +315,14 @@
 <<if $tempSlave.balls < 0>>
 	<<print "Slave Balls Value set to low reset to 0 (No Balls)">><br>
 	<<set $tempSlave.balls = 0>>
-<<elseif $tempSlave.balls > 6>>
-	<<print "Slave balls Value set to high reset to 6 (Titanic)">><br>
-	<<set $tempSlave.balls = 6>>
 <</if>>
 <<if $tempSlave.foreskin < 0>>
 	<<print "Slave Foreskin Value set to low reset to 0 (None)">><br>
 	<<set $tempSlave.foreskin = 0>>
-<<elseif $tempSlave.foreskin >10>>
-	<<print Slave "Foreskin Value set to high reset to 10 (Big McLargeHuge)">><br>
-	<<set $tempSlave.foreskin = 10>>
 <</if>>
 <<if $tempSlave.scrotum < 0>>
 	<<print "Slave Scrotum Value set to low reset to 0 (No Scrotum)">><br>
 	<<set $tempSlave.scrotum = 0>>
-<<elseif $tempSlave.scrotum > 8>>
-	<<print "Slave Scrotum Value set to high reset to 8 (Monstrous)" >><br>
-	<<set $tempSlave.scrotum = 8>>
 <</if>>
 <<if (ndef $tempSlave.pubertyAgeXY) || ($tempSlave.pubertyAgeXY < 0)>>
 	<<print "XY Puberty Age was not set or set to low reset to Arcology Puberty Age">><br>
diff --git a/src/js/economyJS.tw b/src/js/economyJS.tw
index 0a03ba48392..ccc00d42c27 100644
--- a/src/js/economyJS.tw
+++ b/src/js/economyJS.tw
@@ -164,6 +164,8 @@ window.getSlaveCost = function(s) {
 		cost += drugsCost * 10;
 	} else if(s.drugs === 'female hormone injections' || s.drugs === 'male hormone injections') {
 		cost += drugsCost * 5;
+	} else if(s.drugs === 'sag-B-gone') {
+		cost += drugsCost * .1;
 	} else if(s.drugs != 'no drugs') {
 		cost += drugsCost + 2;
 	}
diff --git a/src/npc/fFeelings.tw b/src/npc/fFeelings.tw
index faea01ec2e8..0f2489345c8 100644
--- a/src/npc/fFeelings.tw
+++ b/src/npc/fFeelings.tw
@@ -691,6 +691,16 @@ My favorite part of my body i<<s>>
 	<<else>>
 		I can practically feel the year<<s>> peeling off me, <<Master>>.
 	<</if>>
+<<case "sag-B-gone">>
+	<<if ($activeSlave.fetishKnown == 1)>>
+		<<if ($activeSlave.fetish == "boobs") || ($activeSlave.energy > 95)>>
+			I love all the brea<<s>>t ma<<ss>>age<<s>>, but I don't think the cream i<<s>> doing anything. They look the <<s>>ame a<<s>> alway<<s>>, not that that mean<<s>> I want you to <<s>>top, <<Master>>!
+		<<else>>
+			I think you might have been ripped off on thi<<s>> <<s>>ag cream, <<Master>>, my brea<<s>>t<<s>> don't feel any different.
+		<</if>>
+	<<else>>
+		I think you might have been ripped off on thi<<s>> <<s>>ag cream, <<Master>>, my brea<<s>>t<<s>> don't feel any different.
+	<</if>>
 <</switch>>
 
 <<switch $activeSlave.assignment>>
diff --git a/src/pregmod/seFCTVshows.tw b/src/pregmod/seFCTVshows.tw
index ce53decf204..9d9f7e7121c 100644
--- a/src/pregmod/seFCTVshows.tw
+++ b/src/pregmod/seFCTVshows.tw
@@ -13,15 +13,15 @@
 Tired after a long day, you tell <<if $Concubine != 0>>@@.pink;$Concubine.slaveName@@<<else>>$assistantName<</if>> to turn on the TV and set FCTV to random show. Your larger-than-life screen flashes on, and is soon playing a random show from the popular streaming service. 
 /* we need to check for pansy no-extreme squick stuff */
 <<if $seeExtreme == 0 && $randShow == 10>>
-	<<set $randShow = either(0,1,2,3,4,5,6,7,8,9)>>
+	<<set $randShow = either(0,1,2,3,4,5,6,7,8,9,11)>>
 	There is an audible tone from your screen, which then displays a message: <i>Too much hugging detected, changing program.</i>
 <</if>>
 <<if $seeHyperPreg == 0 && $randShow == 8>>
-	<<set $randShow = either(0,1,2,3,4,5,6,7,9)>>
+	<<set $randShow = either(0,1,2,3,4,5,6,7,9,11)>>
 	There is an audible tone from your screen, which then displays a message: <i>Too much happiness detected, changing program.</i>
 <</if>>
 <<if $seeDicks == 0 && $makeDicks == 0 && $randShow == 10>>
-	<<set $randShow = either(0,1,2,3,4)>>
+	<<set $randShow = either(0,1,2,3,4,11)>>
 	There is an audible tone from your screen, which then displays a message: <i>Too many hot dogs detected, changing program.</i>
 <</if>>
 
@@ -536,6 +536,61 @@ The offered price is ¤<<print $slaveCost>>.
 		<br><br><br>You watch the challege, which involves three young contestants with huge <<if $seeDicks == 0>><i>smiles</i><<else>>balls<</if>>, each of them fucking a slave full of cum until one massively swollen stomach finally bursts.
 	<</if>>
 
+<<case 11>>
+	<<set $lastShow = 11>>
+	<<if ndef $showEleven>>
+		<<set $showEleven = 1>>
+	<<else>>
+		<<set $showEleven++>>
+	<</if>>
+	It looks like the random function chose<<if $showEleven > 1>>, once again,<</if>> to play an infomercial attempting to sell a product named "sag-B-gone" that claims to be able to prevent breasts from naturally sagging under their own weight.
+	<br><br>
+	<<if $purchasedSagBGone == 1>>
+		You've already made the mistake of ordering the sham of a product. While it gave you a great excuse to fondle breasts, it's not like you needed one in the first place.
+		<<if $Concubine != 0 && canTalk($Concubine)>>
+			<<Enuncuate $Concubine>>
+			"I told you it wouldn't work, <<Master>>. Plu<<s>> you know you can touch the<<s>>e anytime!" $Concubine.slaveName shakes her chest at you.
+		<</if>>
+	<<elseif $showEleven > 1>>
+		You could always order a crate to play around with. Who knows, maybe it'll actually work?<<if $PC.dick == 1>> At the very least it should make for some decent lubricant for a titfuck.<</if>>
+		<br>
+		<span id="called">
+			<<link "Place an order">>
+				<<replace #called>>
+					<<set $purchasedSagBGone = 1>>
+					Your order should arrive by next week. If the advertisement is to be believed, all you need to do is rub the cream into your breasts several times a day and it will ward off sagging.
+				<</replace>>
+			<</link>>
+		</span>
+	<<else>>
+		You could always order a crate to play around with. Who knows, maybe it'll actually work?<<if $PC.dick == 1>> At the very least it should make for some decent lubricant for a titfuck.<</if>>
+		<<if $Concubine != 0>>
+			<<Enuncuate $Concubine>>
+			<<if $Concubine.boobs > 2000 && $Concubine.boobShape == "saggy">>
+				$Concubine.slaveName hefts her breasts and lets them flop back into their usual saggy position. <<if canTalk($Concubine)>>"Far too late for the<<s>>e ladie<<s>>. I doubt it will work though, product<<s>> like that never do."<<else>>She sighs doubtfully.<</if>>
+			<<elseif $Concubine.boobs > 2000>>
+				$Concubine.slaveName massages her big breasts. <<if canTalk($Concubine)>>"I doubt it will work, but if you're looking for an excu<<s>>e, you don't need one!"<<else>>She scoffs at the commercial and clearly expresses her doubt before puffing out her chest at you.<</if>> She leans into you so her bust flops into your lap.
+			<<else>>
+				$Concubine.slaveName cups her breasts. <<if canTalk($Concubine)>>"What a joke. I <<s>>ure it doe<<s>>n't work, plu<<s>> don't you think they are lovely enough already, <<Master>>?"<<else>>She scoffs with doubt before proudly sticking out her chest.<</if>> She bounces her tits for you. You'll have to agree with her; not a bit of sag to them.
+			<</if>>
+			<<if $PC.boobsBonus > 2 && $PC.boobsImplant == 0>>
+				She slides closer to you, wraps an arm around your back and grabs your huge breasts. <<if canTalk($Concubine)>>"Oh <<Master>>! It feel<<s>> like YOU might need it!" She jiggles your boobs in her hands.<<else>>She jiggles your huge boobs in her hands. She's calling you saggy!<</if>> You take that as an open invitation and throw the covers over the two of you so you can have a little fun before bed.
+			<</if>>
+		<<elseif $PC.boobsBonus > 2 && $PC.boobsImplant == 0>>
+			You cup your huge breasts. They're pretty large and you swear they've been drooping a little lately; maybe you could benefit from this cream...
+		<</if>>
+		<br>
+		<span id="called">
+			<<link "Place an order">>
+				<<replace #called>>
+					<<set $purchasedSagBGone = 1>>
+					Your order should arrive by next week. If the advertisement is to be believed, all you need to do is rub the cream into your breasts several times a day and it will ward off sagging.
+				<</replace>>
+			<</link>>
+		</span>
+	<</if>>
+		
+
 <<default>>
 	It seems there's a technical error preventing you from streaming, you tell $assistantName to look into it.
 <</switch>>
diff --git a/src/societies/aztec/slaveSacrifice.tw b/src/societies/aztec/slaveSacrifice.tw
index 32598f2ed4d..efb11eaa96e 100644
--- a/src/societies/aztec/slaveSacrifice.tw
+++ b/src/societies/aztec/slaveSacrifice.tw
@@ -5,7 +5,7 @@
 
 <<set _activeSlaveRepSacrifice = repGainSacrifice()>>
 
-<<if $sacrificeType = "life">>
+<<if $sacrificeType == "life">>
 
 $pronounCap dies screaming as $possessive still beating heart is ripped out of $possessive body. <<if _activeSlaveRepSacrifice <= 0>>Nobody cares.<<elseif _activeSlaveRepSacrifice < 10>>The few spectators are suitably impressed.<<elseif _activeSlaveRepSacrifice < 100>>The small crowd appreciates your devotion to the Aztec culture.<<else>>The crowd cheers to the bloody spectacle.<</if>><<if $slaves.length > 0>> On the other hand, your remaining <<if $slaves.length == 1>>slave is<<else>>slaves are<</if>> suitably @@.gold;horrified@@.<</if>>
 
diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw
index 7872e1d95fa..96930e06c8b 100644
--- a/src/uncategorized/RESS.tw
+++ b/src/uncategorized/RESS.tw
@@ -2224,7 +2224,7 @@ She does her very best to get through the inspection without disgrace, hugging h
 <<link "Permit her to continue">>
 	You can't complain, it feels really good. You don't know where this skill was lurking in her broken mind, but you're glad to see it put to good use. <<if $PC.dick == 1>>Just as your are about to cum, she takes the full length of your dick down her throat, diligently taking in every drop of cum<<else>>Even as you buck with pleasure, she diligently keeps her tongue to your clit and pussy, making sure you don't go a moment without pleasure<</if>>. You don't have an orgasm like that every day, and as she looks at you lovingly, you prod her with your still hard <<if $PC.dick == 1>>cock<<else>>clit<</if>> for round two.
 	She is @@.green;no longer mindbroken@@ and for whatever twisted reasons deeply and sincerely @@.hotpink;loves@@ and @@.mediumaquamarine;trusts@@ you.
-	<<set $slaves[$i].devotion = 90, $slaves[$i].trust = 90, $slaves[$i].sexualQuirk = "caring", $slaves[$i].fetish = "none", $slaves[$i].fetishKnown = 1>>
+	<<set $slaves[$i].devotion = 90, $slaves[$i].oldDevotion = 90, $slaves[$i].trust = 90, $slaves[$i].oldTrust = 90, $slaves[$i].sexualQuirk = "caring", $slaves[$i].fetish = "none", $slaves[$i].fetishKnown = 1>>
 	<<if ($arcologies[0].FSPaternalist != "unset")>>
 		Society @@.green;strongly approves@@ of $slaves[$i].slaveName being restored to sanity, which advances ideals about enlightened slave ownership.
 		<<set $repGain += 2*$FSSingleSlaveRep*($arcologies[0].FSPaternalist/$FSLockinLevel), $arcologies[0].FSPaternalist += 0.01*$FSSingleSlaveRep>>
@@ -2236,7 +2236,7 @@ She does her very best to get through the inspection without disgrace, hugging h
 <br><<link "Embrace her">>
 	You gently grab her face and stare deeply into her $activeSlave.eyeColor eyes. <<if canSee($activeSlave)>>Thay are full of life as opposed to their usual dullness<<else>>They are as dull as always, but that isn't her fault. Her facial expressions at the act tell you all you need to know<</if>>. You pull your wife into a tight embrace, her coming back to you is more than enough a gift, she needn't do anything more for now. You pull the covers over the both of you and begin to doze off, smiling at the warth cuddling ever closer to you.
 	She is @@.green;no longer mindbroken@@ and thanks to your care deeply and sincerely @@.hotpink;loves@@ and @@.mediumaquamarine;trusts@@ you.
-	<<set $slaves[$i].devotion = 100, $slaves[$i].trust = 100, $slaves[$i].sexualQuirk = "romantic", $slaves[$i].fetish = "none", $slaves[$i].fetishKnown = 1>>
+	<<set $slaves[$i].devotion = 100, $slaves[$i].oldDevotion = 100, $slaves[$i].trust = 100, $slaves[$i].oldTrust = 100, $slaves[$i].sexualQuirk = "romantic", $slaves[$i].fetish = "none", $slaves[$i].fetishKnown = 1>>
 	<<if ($arcologies[0].FSPaternalist != "unset")>>
 		Society @@.green;strongly approves@@ of $slaves[$i].slaveName being restored to sanity by the power of love, which advances ideals about enlightened slave ownership.
 		<<set $repGain += 2*$FSSingleSlaveRep*($arcologies[0].FSPaternalist/$FSLockinLevel), $arcologies[0].FSPaternalist += 0.01*$FSSingleSlaveRep>>
diff --git a/src/uncategorized/costs.tw b/src/uncategorized/costs.tw
index d7e45ac2eed..668b7c6123d 100644
--- a/src/uncategorized/costs.tw
+++ b/src/uncategorized/costs.tw
@@ -248,6 +248,8 @@
 	<<set $costs += ($drugsCost*5)>>
 <<elseif ($slaves[$i].drugs == "anti-aging cream")>>
 	<<set $costs += ($drugsCost*10)>>
+<<elseif ($slaves[$i].drugs == "sag-B-gone")>>
+	<<set $costs += ($drugsCost/10)>>
 <<elseif ($slaves[$i].drugs != "no drugs")>>
 	<<set $costs += ($drugsCost*2)>>
 <</if>>
diff --git a/src/uncategorized/costsReport.tw b/src/uncategorized/costsReport.tw
index 1a71bdd0213..7a580955fb9 100644
--- a/src/uncategorized/costsReport.tw
+++ b/src/uncategorized/costsReport.tw
@@ -349,6 +349,9 @@
 	<<elseif ($slaves[$i].drugs == "female hormone injections") || ($slaves[$i].drugs == "male hormone injections")>>
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;Hormonal injections: ¤<<print ($drugsCost*5)>>
 		<<set $individualCosts += ($drugsCost*3)>>
+	<<elseif ($slaves[$i].drugs == "sag-B-gone")>>
+		<br>&nbsp;&nbsp;&nbsp;&nbsp;Questionable infomercial creams: ¤<<print ($drugsCost/10)>>
+		<<set $individualCosts += ($drugsCost/10)>>
 	<<elseif ($slaves[$i].drugs != "no drugs")>>
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;Standard drugs: ¤<<print ($drugsCost*2)>>
 		<<set $individualCosts += ($drugsCost*2)>>
diff --git a/src/uncategorized/longSlaveDescription.tw b/src/uncategorized/longSlaveDescription.tw
index b2d0b0d1d12..d86c5b68cd9 100644
--- a/src/uncategorized/longSlaveDescription.tw
+++ b/src/uncategorized/longSlaveDescription.tw
@@ -3051,6 +3051,8 @@ Her scars make her look like she's in the right place.
 		<<if ($activeSlave.amp != 1)>>She pinches at the fat building on her belly and lets off a sigh.<<else>>She squirms under the added weight building on her belly<</if>>. The RDST-D must be having an effect, encouraging her body to redistribute her breasts' adipose tissue to her middle.
 	<<case "butt redistributors">>
 		<<if ($activeSlave.amp != 1)>>She pinches at the fat building on her belly and lets off a sigh.<<else>>She squirms under the added weight building on her belly<</if>>. The RDST-D must be having an effect, encouraging her body to redistribute her buttock's adipose tissue to her middle.
+	<<case "sag-B-gone">>
+		Her breasts are shiny from the layer of anti-sag cream rubbed onto them. They might be a little perkier, or not.
 	<<default>>
 	<</switch>>
 	<<if $activeSlave.aphrodisiacs > 0 || $activeSlave.inflationType == "aphrodisiacs">>
diff --git a/src/uncategorized/saDrugs.tw b/src/uncategorized/saDrugs.tw
index 28cf44575ce..11109901cf5 100644
--- a/src/uncategorized/saDrugs.tw
+++ b/src/uncategorized/saDrugs.tw
@@ -718,7 +718,16 @@
 		<<set $slaves[$i].butt -= 1>>
 		<<set $slaves[$i].weight += 10>>
 	<</if>>
-	
+
+<<case "sag-B-gone">>
+	<<if $slaves[$i].assignment == "be your concubine">>
+		Before bed and when you awake, you take the time sensually @@.lime;massage sag-B-gone into $possessive breasts,@@ which, while enjoyable to the both of you, doesn't seem to be doing much.
+	<<elseif $slaves[$i].assignment == "please you">>
+		When ever you have a free moment you take that time to @@.lime;massage sag-B-gone into $possessive breasts,@@ which, while enjoyable, doesn't seem to be doing much.
+	<<else>>
+		$pronounCap is required to frequently @@.lime;massage sag-B-gone into $possessive breasts,@@ which, while enjoyable to watch, doesn't seem to be doing much.
+	<</if>>
+
 <</switch>>
 
 <<switch $slaves[$i].pregControl>>
diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw
index e3d6bbd5bfa..8362eedae48 100644
--- a/src/uncategorized/saLongTermEffects.tw
+++ b/src/uncategorized/saLongTermEffects.tw
@@ -3631,7 +3631,7 @@
 				<<if (($slaves[$i].boobs - $slaves[$i].boobsImplant) < 10000)>>
 					$possessiveCap breasts @@.lime;greatly swell@@ to meet the upcoming demand.
 					<<set $slaves[$i].boobs += 500>>
-					<<if $slaves[$i].boobShape != "saggy" && $slaves[$i].preg > 25 && ($slaves[$i].breastMesh != 1)>>
+					<<if $slaves[$i].boobShape != "saggy" && $slaves[$i].preg > 25 && ($slaves[$i].breastMesh != 1) && ($slaves[$i].drugs != "sag-B-gone")>>
 						$possessiveCap immensely engorged @@.orange;breasts become saggy@@ in the last stages of $possessive pregnancy as $possessive body undergoes changes in anticipation of the forthcoming birth.
 						<<set $slaves[$i].boobShape = "saggy">>
 					<</if>>
@@ -3649,7 +3649,7 @@
 			<<if random(1,100) > 80 && (($slaves[$i].boobs - $slaves[$i].boobsImplant) < 7500)>>
 				$possessiveCap breasts @@.lime;swell@@ in preparation for $possessive growing brood.
 				<<set $slaves[$i].boobs += 150>>
-				<<if $slaves[$i].boobShape != "saggy" && ($slaves[$i].breastMesh != 1)>>
+				<<if $slaves[$i].boobShape != "saggy" && ($slaves[$i].breastMesh != 1) && ($slaves[$i].drugs != "sag-B-gone")>>
 					<<if $slaves[$i].preg > random(25,75)>>
 						$possessiveCap swollen @@.orange;breasts become saggy@@ in the last stages of $possessive pregnancy as $possessive body undergoes changes in anticipation of the forthcoming birth.
 						<<set $slaves[$i].boobShape = "saggy">>
@@ -3660,7 +3660,7 @@
 			<<if random(1,100) > 80>>
 				Pregnancy @@.lime;causes $possessive breasts to swell somewhat.@@
 				<<set $slaves[$i].boobs += 50>>
-				<<if $slaves[$i].boobShape != "saggy" && $slaves[$i].preg > random(25,100) && ($slaves[$i].breastMesh != 1)>>
+				<<if $slaves[$i].boobShape != "saggy" && $slaves[$i].preg > random(25,100) && ($slaves[$i].breastMesh != 1) && ($slaves[$i].drugs != "sag-B-gone")>>
 					$possessiveCap @@.orange;breasts become saggy@@ in the last stages of $possessive pregnancy as $possessive body undergoes changes in anticipation of the forthcoming birth.
 					<<set $slaves[$i].boobShape = "saggy">>
 				<</if>>
@@ -4630,6 +4630,21 @@
 	Society @@.green;approves@@ of $possessive unmarked, unblemished skin, advancing the fashion for unspoiled slaves.
 	<<FSChangePorn "BodyPurist" 1>>
 	<</if>>
+	<<if $slaves[$i].fuckdoll == 0>>
+		<<if $arcologies[0].FSBodyPurist > 80 && $slaves[$i].vagina == 0 && $slaves[$i].vaginalCount == 0 && $slaves[$i].anus == 0 && $slaves[$i].analCount == 0 && $slaves[$i].oralCount == 0 && $slaves[$i].mammaryCount == 0 && $slaves[$i].penetrativeCount == 0 && $slaves[$i].pitKills == 0 && $slaves[$i].oralSkill == 0 && $slaves[$i].analSkill == 0 && $slaves[$i].vaginalSkill == 0 && $slaves[$i].whoreSkill == 0>>
+			Society @@.green;is awestruck@@ by $possessive complete innocence; it's too bad it won't last.
+			<<FSChangePorn "BodyPurist" 10>>
+		<<elseif $slaves[$i].vagina == 0 && $slaves[$i].anus == 0 && $slaves[$i].vaginalCount == 0 && $slaves[$i].analCount == 0>>
+			Society @@.green;strongly approves@@ of $possessive intact holes, idolizing $possessive pristine body.
+			<<FSChangePorn "BodyPurist" 3>>
+		<<elseif $slaves[$i].vagina == 0 && $slaves[$i].vaginalCount == 0>>
+			Society @@.green;approves@@ of $possessive intact hymen, advancing ideals of pure, fresh slaves.
+			<<FSChangePorn "BodyPurist" 1>>
+		<<elseif $slaves[$i].anus == 0 && $slaves[$i].analCount == 0>>
+			Society @@.green;approves@@ of $possessive intact anus, advancing ideals of pure, fresh slaves.
+			<<FSChangePorn "BodyPurist" 1>>
+		<</if>>
+	<</if>>
 <<elseif $arcologies[0].FSTransformationFetishist != "unset">>
 	<<set _transformed = 0>>
 	<<if ($slaves[$i].boobsImplant > 0) && ($slaves[$i].buttImplant > 0) && ($slaves[$i].lipsImplant > 0)>>
diff --git a/src/uncategorized/seWedding.tw b/src/uncategorized/seWedding.tw
index 15d291c336d..7be10b52765 100644
--- a/src/uncategorized/seWedding.tw
+++ b/src/uncategorized/seWedding.tw
@@ -248,7 +248,7 @@
 <</if>>
 
 <<if $weddingPlanned == 3>>
-	The ceremony to bind $activeSlave.slaveName to you as your slave wife, and her womb to you as your private breeding ground, is a polite affair which you host in the lower floor of your penthouse. <<if $arcologies[0].FSRestart != "unset" && $activeSlave.breedingMark == 0>>Barely anyone is there, mostly lower-class citizens, several accompanied by their slaves. Many of your other slaves, that is your slaves who are not being married and fucked pregnant tonight, are present to serve your guests, but are dressed more conservatively than usual. There is a distinct air of unrest in the room, as if the absent Elites' distaste of your actions came in their place.<<else>>All the arcology's most prominent citizens are there, most with a favored slave or two and some even with their slave wives. Many of your other slaves, that is your slaves who are not being married and fucked pregnant tonight, are present to serve your guests, but are dressed more conservatively than usual. When assignations between citizen and slave develop, guests are politely encouraged to perform them in side rooms rather than out in view of the main gathering<</if>>.
+	The ceremony to bind <<SlaveFullName $activeSlave>> to you as your slave wife, and her womb to you as your private breeding ground, is a polite affair which you host in the lower floor of your penthouse. <<if $arcologies[0].FSRestart != "unset" && $activeSlave.breedingMark == 0>>Barely anyone is there, mostly lower-class citizens, several accompanied by their slaves. Many of your other slaves, that is your slaves who are not being married and fucked pregnant tonight, are present to serve your guests, but are dressed more conservatively than usual. There is a distinct air of unrest in the room, as if the absent Elites' distaste of your actions came in their place.<<else>>All the arcology's most prominent citizens are there, most with a favored slave or two and some even with their slave wives. Many of your other slaves, that is your slaves who are not being married and fucked pregnant tonight, are present to serve your guests, but are dressed more conservatively than usual. When assignations between citizen and slave develop, guests are politely encouraged to perform them in side rooms rather than out in view of the main gathering<</if>>.
 	<br><br>
 	$activeSlave.slaveName appears after everyone has had a chance to socialize,<<if ($activeSlave.amp == 1)>> carried by another slave since she's a quadruple amputee and she cannot walk,<</if>> wearing beautiful bridal lingerie in
 	<<if ($activeSlave.vagina == 0)>>
@@ -464,7 +464,7 @@
 		<<set $failedElite += 250>>
 	<</if>>
 <<elseif $weddingPlanned == 2>>
-	The ceremony to bind [slave] to you as your slave wife is an all day affair.
+	The ceremony to bind <<SlaveFullName $activeSlave>> to you as your slave wife is an all day affair.
 	<<if $activeSlave.fetish == "mindbroken">>
 		She spent the day before resting and preparing herself, if you can call sitting around mindlessly preparing. She spends most of the daylong party at the center of a nonstop gangbang, occasionally moaning as more of physical reaction than anything. The theory is that she’ll be bound to you as your slave wife from this day onward, so she must get the promiscuity that is a sex slave’s responsibility out of the way now. Whatever their opinions on the idea, your guests take part with enthusiasm, completely unhampered by your slave’s utter emptiness. Many brought their own slaves to participate, too. $activeSlave.slaveName spends hours with numerous cocks inside her, with attending slaves using their mouths on any erogenous zones they can reach. When the moment of the ceremony nears, she’s extracted and taken off to be bathed.
 		<br><br>
@@ -585,7 +585,7 @@
 	<</if>>
 	<<set $trinkets.push($desc)>>
 <<else>>
-	The ceremony to bind $activeSlave.slaveName to you as your slave wife is a polite affair which you host in the lower floor of your penthouse. All the arcology's most prominent citizens are there, most with a favored slave or two and some even with their slave wives. Many of your other slaves, that is your slaves who are not being married tonight, are present to serve your guests, but are dressed more conservatively than usual. When assignations between citizen and slave develop, guests are politely encouraged to perform them in side rooms rather than out in view of the main gathering.
+	The ceremony to bind <<SlaveFullName $activeSlave>> to you as your slave wife is a polite affair which you host in the lower floor of your penthouse. All the arcology's most prominent citizens are there, most with a favored slave or two and some even with their slave wives. Many of your other slaves, that is your slaves who are not being married tonight, are present to serve your guests, but are dressed more conservatively than usual. When assignations between citizen and slave develop, guests are politely encouraged to perform them in side rooms rather than out in view of the main gathering.
 	<br><br>
 	$activeSlave.slaveName appears after everyone has had a chance to socialize,<<if ($activeSlave.amp == 1)>> carried by another slave since she's a quadruple amputee and she cannot walk,<</if>> wearing beautiful bridal lingerie in
 	<<if ($activeSlave.vagina == 0)>>
diff --git a/src/uncategorized/slaveInteract.tw b/src/uncategorized/slaveInteract.tw
index 3a7dfae995a..e531e4b0e7d 100644
--- a/src/uncategorized/slaveInteract.tw
+++ b/src/uncategorized/slaveInteract.tw
@@ -939,6 +939,9 @@
 <</if>>
 <</if>>
 	| <<link "Hormone enhancers">><<set $activeSlave.drugs = "hormone enhancers">><<replace "#drugs">><strong>$activeSlave.drugs</strong><</replace>><</link>>
+<<if $activeSlave.boobs > 250 && $activeSlave.boobShape != "saggy" && $purchasedSagBGone == 1>>
+	| <<link "Sag-B-Gone breast lifting cream">><<set $activeSlave.drugs = "sag-B-gone">><<replace "#drugs">><strong>$activeSlave.drugs</strong><</replace>><</link>>
+<</if>>
 <</if>>
 
 <br>
diff --git a/src/uncategorized/slaveSummary.tw b/src/uncategorized/slaveSummary.tw
index a16da895f36..71102c7666b 100644
--- a/src/uncategorized/slaveSummary.tw
+++ b/src/uncategorized/slaveSummary.tw
@@ -1006,6 +1006,8 @@ Release rules: _Slave.releaseRules.
 		''Dr:Breast-''
 	<<case "butt redistributors">>
 		''Dr:Butt-''
+	<<case "sag-B-gone">>
+		''Dr:AntiSag''
 	<</switch>>
 	<<if _Slave.curatives == 2>>
 		''Cura''
diff --git a/src/utility/assayWidgets.tw b/src/utility/assayWidgets.tw
index 250d90db665..c914a840da9 100644
--- a/src/utility/assayWidgets.tw
+++ b/src/utility/assayWidgets.tw
@@ -118,12 +118,39 @@
 <</if>>
 <<if $arcologies[0].FSEdoRevivalist != "unset">>
 <<if ($args[0].nationality == "Japanese") || ($args[0].nationality == "Edo Revivalist")>>
-	<<set $beauty += ($arcologies[0].FSEdoRevivalist/20)>>
+	<<set $beauty += ($arcologies[0].FSEdoRevivalist/2)>>
+<<elseif $args[0].race == "asian" || $args[0].race == "surgically altered to look asian">>
+	<<set $beauty += ($arcologies[0].FSEdoRevivalist/5)>>
+<<else>>
+	<<set $beauty -= ($arcologies[0].FSEdoRevivalist/4)>>
+<</if>>
+<<if $language == "Japanese" && canTalk($args[0])>>
+	<<if $args[0].accent > 1>>
+		<<set $beauty -= ($arcologies[0].FSEdoRevivalist/2)>>
+	<<elseif $args[0].accent > 0>>
+		<<set $beauty -= ($arcologies[0].FSEdoRevivalist/5)>>
+	<<else>>
+		<<set $beauty += ($arcologies[0].FSEdoRevivalist/10)>>
+	<</if>>
 <</if>>
 <</if>>
 <<if $arcologies[0].FSChineseRevivalist != "unset">>
 <<if ($args[0].nationality == "Chinese") || ($args[0].nationality == "Chinese Revivalist")>>
-	<<set $beauty += ($arcologies[0].FSChineseRevivalist/20)>>
+	<<set $beauty += ($arcologies[0].FSChineseRevivalist/2)>>
+<<elseif $args[0].race == "asian" || $args[0].race == "surgically altered to look asian">>
+	<<set $beauty += ($arcologies[0].FSChineseRevivalist/5)>>
+<<else>>
+	<<set $beauty -= ($arcologies[0].FSChineseRevivalist/4)>>
+<</if>>
+<<if $language == "Chinese" && canTalk($args[0])>>
+	<<if $args[0].accent > 1>>
+		<<set $beauty -= ($arcologies[0].FSChineseRevivalist/2)>>
+	<<elseif $args[0].accent > 0>>
+		<<set $beauty -= ($arcologies[0].FSChineseRevivalist/5)>>
+	<<else>>
+		<<set $beauty += ($arcologies[0].FSChineseRevivalist/10)>>
+	<</if>>
+<</if>>
 <</if>>
 <</if>>
 
@@ -133,47 +160,52 @@
 	<<set $beauty += 2>>
 <</if>>
 
-<<if $args[0].visualAge >= 30>>
-	<<if $arcologies[0].FSYouthPreferentialist != "unset">>
-		<<set $beauty -= ($arcologies[0].FSYouthPreferentialist/30)+$arcologies[0].FSYouthPreferentialistLaw>>
-	<<elseif $arcologies[0].FSMaturityPreferentialist != "unset">>
-		<<set $beauty += ($arcologies[0].FSMaturityPreferentialist/20)+$arcologies[0].FSMaturityPreferentialistLaw>>
-	<</if>>
-<<else>>
-	<<if $arcologies[0].FSMaturityPreferentialist != "unset">>
-		<<set $beauty -= ($arcologies[0].FSMaturityPreferentialist/30)-$arcologies[0].FSMaturityPreferentialistLaw>>
-	<<elseif $arcologies[0].FSYouthPreferentialist != "unset">>
-		<<set $beauty += ($arcologies[0].FSYouthPreferentialist/20)-$arcologies[0].FSYouthPreferentialistLaw>>
-	<</if>>
+<<if $arcologies[0].FSYouthPreferentialist != "unset">>
+	<<set $beauty += (30-$args[0].visualAge)/(30-$minimumSlaveAge)*(($arcologies[0].FSYouthPreferentialist/2)+($arcologies[0].FSYouthPreferentialistLaw*10))>> /*60*/
+<<elseif $arcologies[0].FSMaturityPreferentialist != "unset">>
+	<<set $beauty += (30-$args[0].visualAge)/(30-$retirementAge)*(($arcologies[0].FSMaturityPreferentialist/2)+($arcologies[0].FSMaturityPreferentialistLaw*10))>> /*60*/
 <</if>>
 
 <<if ($args[0].markings != "none")>>
 	<<if ($args[0].markings is "beauty mark")>>
 	<<if ($args[0].face > 40)>>
-		<<set $beauty += 2>>
+		<<set $beauty += 6>>
 	<<elseif ($args[0].face < -10)>>
-		<<set $beauty -= 2>>
+		<<set $beauty -= 6>>
 	<</if>>
 	<<elseif ($args[0].markings == "birthmark")>>
 	<<if ($args[0].prestige > 0)>>
-		<<set $beauty += 2>>
+		<<set $beauty += 4>>
 	<<else>>
-		<<set $beauty -= 2>>
+		<<set $beauty -= 4>>
 	<</if>>
 	<<else>>
 	<<if ($args[0].skin == "pale") || ($args[0].skin == "fair")>>
-		<<set $beauty += 1>>
+		<<set $beauty += 2>>
 		<<if ($args[0].hColor == "red")>>
-		<<set $beauty += 1>>
+		<<set $beauty += 2>>
 		<</if>>
 	<</if>>
 	<</if>>
 <</if>>
 
 <<if setup.entertainmentCareers.includes($args[0].career)>>
-	<<set $beauty += 1>>
+	<<set $beauty += 20>>
 <<elseif ($week-$args[0].weekAcquired >= 20) && ($args[0].entertainSkill >= 100)>>
-	<<set $beauty += 1>>
+	<<set $beauty += 10>>
+<</if>>
+
+<<if ($arcologies[0].FSBodyPurist > 20)>> /*bonus for virgin slaves*/
+	<<if $arcologies[0].FSBodyPurist > 80 && $args[0].vagina == 0 && $args[0].vaginalCount == 0 && $args[0].anus == 0 && $args[0].analCount == 0 && $args[0].oralCount == 0 && $args[0].mammaryCount == 0 && $args[0].penetrativeCount == 0 && $args[0].pitKills == 0 && $args[0].oralSkill == 0 && $args[0].analSkill == 0 && $args[0].vaginalSkill == 0 && $args[0].whoreSkill == 0>>
+		<<set $beauty += 400>> /* absolute purity!*/
+	<<else>>
+		<<if $args[0].vagina == 0 && $args[0].vaginalCount == 0>>
+		<<set $beauty += 30*($arcologies[0].FSBodyPurist/100)>>
+		<</if>>
+		<<if $args[0].anus == 0 && $args[0].analCount == 0>>
+		<<set $beauty += 30*($arcologies[0].FSBodyPurist/100)>>
+		<</if>>
+	<</if>>
 <</if>>
 
 <<if $seeAge == 1>>
-- 
GitLab