diff --git a/src/gui/css/mainStyleSheet.tw b/src/gui/css/mainStyleSheet.tw
index a1cefc331b8e76e7d040af30c0ebf8e8b2af1b43..571b4514506cbee5229adf51c19e15d3d65aa880 100644
--- a/src/gui/css/mainStyleSheet.tw
+++ b/src/gui/css/mainStyleSheet.tw
@@ -240,7 +240,7 @@ span.zeroButton > a:hover { text-decoration: none; }
 .yellowgreen a { color: yellowgreen }
 
 /*! <<checkvars>> macro for SugarCube 2.x */
-#ui-dialog-body.checkvars{padding:1em}#ui-dialog-body.checkvars h1{font-size:1.5em;margin-top:0}#ui-dialog-body.checkvars table{border-collapse:collapse;border-spacing:0}#ui-dialog-body.checkvars thead tr{border-bottom:2px solid #444}#ui-dialog-body.checkvars tr:not(:first-child){border-top:1px solid #444}#ui-dialog-body.checkvars td,#ui-dialog-body.checkvars th{padding:.25em 1em}#ui-dialog-body.checkvars td:first-child,#ui-dialog-body.checkvars th:first-child{padding-left:.5em;border-right:1px solid #444}#ui-dialog-body.checkvars td:last-child,#ui-dialog-body.checkvars th:last-child{padding-right:.5em}#ui-dialog-body.checkvars th:first-child{text-align:center}#ui-dialog-body.checkvars td:first-child{font-weight:700;text-align:right}#ui-dialog-body.checkvars td{font-family:monospace,monospace;vertical-align:top;white-space:pre-wrap}#ui-dialog-body.checkvars .scroll-pad{margin:0;padding:0}
+#ui-dialog-body.checkvars{padding:1em}#ui-dialog-body.checkvars h1{font-size:1em;margin-top:0}#ui-dialog-body.checkvars table{border-collapse:collapse;border-spacing:0}#ui-dialog-body.checkvars thead tr{border-bottom:2px solid #444}#ui-dialog-body.checkvars tr:not(:first-child){border-top:1px solid #444}#ui-dialog-body.checkvars td,#ui-dialog-body.checkvars th{padding:.25em 1em}#ui-dialog-body.checkvars td:first-child,#ui-dialog-body.checkvars th:first-child{padding-left:.5em;border-right:1px solid #444}#ui-dialog-body.checkvars td:last-child,#ui-dialog-body.checkvars th:last-child{padding-right:.5em}#ui-dialog-body.checkvars th:first-child{text-align:center}#ui-dialog-body.checkvars td:first-child{font-weight:700;text-align:right}#ui-dialog-body.checkvars td{font-family:monospace,monospace;vertical-align:top;white-space:pre-wrap}#ui-dialog-body.checkvars .scroll-pad{margin:0;padding:0}
 
 /*! <<bugreport>> macro for SugarCube 2.x */
 #ui-dialog-body.bugreport #bugreport-info{margin-bottom:1em}#ui-dialog-body.bugreport #bugreport-data{display:block;overflow:auto;font-family:monospace,monospace;background-color:transparent;border:1px solid #444;margin:0;padding:6px;height:auto;min-height:200px;white-space:normal}#ui-dialog-body.bugreport .scroll-pad{margin:0;padding:0}
diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw
index d863030650d291ac82a2ebabc9dee04fa21aff9e..328fadfaefbb61d7e890ca7212afff1a878af6ac 100644
--- a/src/init/storyInit.tw
+++ b/src/init/storyInit.tw
@@ -315,6 +315,7 @@ You should have received a copy of the GNU General Public License along with thi
 <<set $headGirlTrainsHealth = 1>>
 <<set $headGirlTrainsObedience = 1>>
 <<set $headGirlTrainsFlaws = 1>>
+<<set $headGirlSoftensFlaws = 1>>
 <<set $headGirlTrainsParaphilias = 1>>
 <<set $retainCareer = 1>>
 <<set $freshPC = 0>>
diff --git a/src/uncategorized/arcologyDescription.tw b/src/uncategorized/arcologyDescription.tw
index 133c3215097089628fc5d36dcc398fe243e6d937..d43a7f27efd578a9af3cbcef982af3539ea1bf2b 100644
--- a/src/uncategorized/arcologyDescription.tw
+++ b/src/uncategorized/arcologyDescription.tw
@@ -655,7 +655,7 @@ Its lingua franca is $language.
 
 <<if $plot>>
 <br>&nbsp;&nbsp;&nbsp;&nbsp;
-<<if (def $peacekeepers) and ($peacekeepers != 0) >>
+<<if $peacekeepers != 0>>
 	<<if $peacekeepers.strength >= 50>>
 		General $peacekeepers.generalName now governs an area near the Free City as a warlord, using the men and women of his former peacekeeping forces to rule.
 		<<if $peacekeepers.attitude >= 100>>
diff --git a/src/uncategorized/bodyModification.tw b/src/uncategorized/bodyModification.tw
index 3acf82fa6ed82d2c4512596663d616fab8d8dfde..a874e9fb25eba59d9a3135353a8d37237276e46d 100644
--- a/src/uncategorized/bodyModification.tw
+++ b/src/uncategorized/bodyModification.tw
@@ -1,21 +1,323 @@
 :: Body Modification [nobr]
 
-<<set $nextButton = "Continue">>
-<<set $nextLink = "Body Modification Degradation">>
+<<set $nextButton = "Continue", $nextLink = "Slave Interact">>
+<<ClearSummaryCache $activeSlave>>
 <<SlavePronouns $activeSlave>>
+<<Enunciate $activeSlave>>
 
-<<set $showEncyclopedia = 1>><<set $encyclopedia = "The Studio">>
+<<set $showEncyclopedia = 1, $encyclopedia = "The Studio">>
 
-<<set $brandApplied = 0>>
+<h1>Body Modification Studio</h1>
 
-//$activeSlave.slaveName is lying strapped down on the table in your body modification studio. $pronounCap is entirely at your mercy.//
+<<SlaveFullName $activeSlave>> is lying strapped down on the table in your body modification studio. $pronounCap is entirely at your mercy.
 
-/* PIERCINGS */
-
-<<set _piercingCount =($activeSlave.earPiercing + $activeSlave.nosePiercing + $activeSlave.eyebrowPiercing + $activeSlave.lipsPiercing + $activeSlave.tonguePiercing + $activeSlave.nipplesPiercing + $activeSlave.areolaePiercing + $activeSlave.corsetPiercing + $activeSlave.navelPiercing + $activeSlave.clitPiercing + $activeSlave.vaginaPiercing + $activeSlave.dickPiercing + $activeSlave.anusPiercing)>>
-
-/*DESCRIPTIONS */
-<br><br>
+<<if $brandApplied || $degradation>>
+	<<if canSee($activeSlave)>>There's a mirror on the ceiling, so $pronoun can see her<<else>>$pronounCap can't see, so you're careful to describe $possessive<</if>> new appearance.
+	<<if $brandApplied>>
+		The smell of burnt flesh hangs in the air. Being branded @@.red;has hurt $possessive health a little.@@
+		<<set $activeSlave.health -= 10>>
+		<<unset $brandApplied>>
+	<</if>>
+	<<if $degradation > 1>>
+		<<if $degradation > 5>>
+			<<if $activeSlave.devotion <= 50 && $activeSlave.trust < -50>>
+				$pronounCap is appalled by the whorish spectacle you have made of $object. $pronounCap @@.gold;fears@@ you all the more for this but is so terrified of you it does not affect $possessive submission.
+				<<set $activeSlave.trust -= 10>>
+			<<elseif $activeSlave.devotion <= 50>>
+				$pronounCap is appalled by the whorish spectacle you have made of $object. $pronounCap @@.mediumorchid;hates@@ and @@.gold;fears@@ you for this.
+				<<set $activeSlave.devotion -= 10, $activeSlave.trust -= 10>>
+			<<else>>
+				$pronounCap is shocked by the whorish spectacle you have made of $object. However, $pronoun is so submissive to your will that $pronoun @@.hotpink;accepts@@ that the slave <<if canSee($activeSlave)>>in the mirror<<else>>$pronoun pictures<</if>> is who $pronoun is now.
+				<<set $activeSlave.devotion += 4>>
+			<</if>>
+			<br><br>
+		<<else>>
+			<<if $activeSlave.devotion < -20 && $activeSlave.trust < 20>>
+				$pronounCap is @@.gold;afraid@@ that $pronoun has been permanently altered against $possessive will, but is also scared of your reaction to any objection and suppresses $possessive disgust.
+				<<set $activeSlave.trust -= 5>>
+			<<elseif $activeSlave.devotion < -20>>
+				$pronounCap is @@.mediumorchid;angry@@ and @@.gold;afraid@@ that $pronoun has been permanently altered against $possessive will.
+				<<set $activeSlave.devotion -= 5, $activeSlave.trust -= 5>>
+			<<else>>
+				$pronounCap is saddened to have been altered against $possessive will. However, $pronoun realizes that $pronoun is a slave, so $pronoun @@.hotpink;accepts@@ your work.
+				<<set $activeSlave.devotion += 4>>
+			<</if>>
+		<</if>>
+		<<set $degradation = 0>>
+	<</if>>
+	<<for $j = 0; $j < $slaves.length; $j++>><<if $activeSlave.ID == $slaves[$j].ID>><<set _slaveBeforeSession = $slaves[$j]>><<break>><</if>><</for>>
+	<<if $activeSlave.tonguePiercing != _slaveBeforeSession.tonguePiercing>>
+		<<if $activeSlave.fetishKnown>>
+			<<if $activeSlave.fetishStrength > 10>>
+			<<if $activeSlave.fetish = "cumslut">>
+				Since $pronoun's an oral whore, $pronoun's
+				<<if $activeSlave.tonguePiercing > _slaveBeforeSession.tonguePiercing>>
+					<<if $activeSlave.tonguePiercing > 1>>@@color:hotpink;very happy@@ you took the time to personally pierce $possessive tongue so heavily<<else>>@@.hotpink;happy@@ to get a tongue piercing from you personally<</if>>. After all, $pronoun's pretty sure it's a sign there will be plenty of <<if $PC.dick>>dick for $object to suck<<else>>pussy for $object to eat<</if>> in the future.
+					<<set $activeSlave.devotion += ($activeSlave.tonguePiercing-_slaveBeforeSession.tonguePiercing)*2>>
+				<<elseif $activeSlave.devotion <= 95>>
+					@@.mediumorchid;saddened@@ you decided to take out $possessive tongue piercings yourself. $pronounCap's afraid this means something about $possessive future as a suck slut.
+					<<set $activeSlave.devotion += ($activeSlave.tonguePiercing-_slaveBeforeSession.tonguePiercing)*2>>				
+				<</if>>
+			<</if>>
+			<</if>>
+			<<if $slaves[$i].sexualFlaw == "hates oral">>
+				$pronounCaps has trouble thinking of her mouth as a warm, wet, playful hole, so her new piercings will be theraputic. Having something to suck on at all times should force her past her hangups.
+			<</if>>
+			<</if>>
+		<</if>>
+	<</if>>
+	<<if $activeSlave.nipplesPiercing+$activeSlave.areolaePiercing != _slaveBeforeSession.nipplesPiercing+_slaveBeforeSession.areolaePiercing>>
+		<<if $activeSlave.fetishKnown>>
+		<<if $activeSlave.fetishStrength > 10>>
+		<<if $activeSlave.fetish == "boobs">>
+			Since $pronoun's fixated on $possessive boobs, $pronoun's
+			<<if $activeSlave.nipplesPiercing+$activeSlave.areolaePiercing > _slaveBeforeSession.nipplesPiercing+_slaveBeforeSession.areolaePiercing>>
+				<<if $activeSlave.nipplesPiercing+$activeSlave.areolaePiercing > 2>>@@color:hotpink;very happy@@ you took the time to personally pierce them so heavily<<else>>@@.hotpink;happy@@ to get nipple piercings from you personally<</if>>. As far as $pronoun's concerned, more attention on $possessive tits is always good.
+				<<set $activeSlave.devotion += ($activeSlave.nipplesPiercing+$activeSlave.areolaePiercing-_slaveBeforeSession.nipplesPiercing-_slaveBeforeSession.areolaePiercing)*2>>
+			<<elseif $activeSlave.devotion <= 95>>
+				@@.mediumorchid;saddened@@ you decided to take out $possessive nipple piercings yourself. $pronounCap doesn't like anything that makes $possessive tits less distinctive.
+				<<set $activeSlave.devotion += ($activeSlave.tonguePiercing-_slaveBeforeSession.tonguePiercing)*2>>
+			<</if>>
+		<</if>>
+		<</if>>
+		<</if>>
+	<</if>>
+	<<if $activeSlave.corsetPiercing != _slaveBeforeSession.corsetPiercing>>
+		<<if $activeSlave.fetishKnown>>
+		<<if $activeSlave.fetishStrength > 10>>
+		<<if $activeSlave.fetish == "masochist">>
+			Since $pronoun's a pain whore,
+			<<if $activeSlave.corsetPiercing > _slaveBeforeSession.corsetPiercing>>
+				$pronoun @@color:hotpink;got off on@@ you giving $possessive a corset piercing personally. $pronounCap loved the feeling of the metal entering $possessive flesh.
+				<<set $activeSlave.devotion += ($activeSlave.corsetPiercing-_slaveBeforeSession.corsetPiercing)*2>>
+			<<elseif $activeSlave.devotion <= 95>>
+				 $pronoun's @@.mediumorchid;saddened@@ you decided to take out $possessive corset piercings yourself. $pronounCap'll miss the constant slight discomfort they gave $object.
+				<<set $activeSlave.devotion += ($activeSlave.corsetPiercing-_slaveBeforeSession.corsetPiercing)*2>>
+			<</if>>
+		<</if>>
+		<</if>>
+		<</if>>
+	<</if>>
+	<<if $activeSlave.vaginaPiercing != _slaveBeforeSession.vaginaPiercing>>
+		<<if $activeSlave.fetishKnown>>
+			<<if $activeSlave.fetishStrength > 10>>
+			<<if $activeSlave.fetish == "pregnancy">>
+				Since $pronoun's a whore for impregnation, $pronoun's
+				<<if $activeSlave.vaginaPiercing > _slaveBeforeSession.vaginaPiercing>>
+					<<if $activeSlave.vaginaPiercing > 1>>@@color:hotpink;very happy@@ you took the time to personally pierce $possessive pussylips so heavily<<else>>@@.hotpink;happy@@ to get pussy piercings from you personally<</if>>. Like most pregnancy fetishists, $pronoun's a little desperate for dick, and anything that points towards more bareback sex is appealing to $object.
+					<<set $activeSlave.devotion += ($activeSlave.vaginaPiercing-_slaveBeforeSession.vaginaPiercing)*2>>
+				<<elseif $activeSlave.devotion <= 95>>
+					@@.mediumorchid;saddened@@ you decided to take out $possessive pussy piercings yourself. Like most pregnancy fetishists, $pronoun's a little desperate for dick, and $pronoun's afraid of anything that points towards less attention focused on $possessive cunt.
+					<<set $activeSlave.devotion += ($activeSlave.vaginaPiercing-_slaveBeforeSession.vaginaPiercing)*2>>
+				<</if>>
+			<</if>>
+			<</if>>
+			<<if $slaves[$i].sexualFlaw == "hates penetration">>
+				$pronounCaps has trouble thinking of her vagina as a fuckhole rather than something special to protect and cherish, so her new piercings will be theraputic. The constant, inescapable stimulation of her labia should force her past her hangups.
+			<</if>>
+			<</if>>
+		<</if>>
+	<</if>>
+	<<if $activeSlave.dickPiercing != _slaveBeforeSession.dickPiercing>>
+		<<if $activeSlave.fetishKnown>>
+		<<if $activeSlave.fetishStrength > 10>>
+		<<if $activeSlave.fetish == "pregnancy">>
+			Since $pronoun's fixated on using $possessive cock to impregnate other slaves, $pronoun's
+			<<if $activeSlave.dickPiercing > _slaveBeforeSession.dickPiercing>>
+				<<if $activeSlave.dickPiercing > 1>>@@color:hotpink;very happy@@ you took the time to personally stick so much metal into $possessive dick<<if $activeSlave.scrotum>> and ballsack<</if>><<else>>@@.hotpink;happy@@ to get penis piercings from you personally<</if>>. $pronounCap's extremely proud of $possessive newly decorated member.
+				<<set $activeSlave.devotion += ($activeSlave.dickPiercing-_slaveBeforeSession.dickPiercing)*2>>
+			<<elseif $activeSlave.devotion <= 95>>
+				@@.mediumorchid;saddened@@ you decided to take out $possessive dick<<if $activeSlave.scrotum>> and ballsack<</if>> piercings yourself. $pronounCap passionately loves using $possessive penis, and $pronoun's concerned you're planning to let $object do less of that.
+				<<set $activeSlave.devotion += ($activeSlave.dickPiercing-_slaveBeforeSession.dickPiercing)*2>>				
+			<</if>>
+		<</if>>
+		<</if>>
+		<</if>>
+	<</if>>
+	<<if $activeSlave.anusPiercing != _slaveBeforeSession.anusPiercing>>
+		<<if $activeSlave.fetishKnown>>
+			<<if $activeSlave.fetishStrength > 10>>
+			<<if $activeSlave.fetish == "cumslut">>
+				Since $pronoun's an anal slut, $pronoun's
+				<<if $activeSlave.anusPiercing > _slaveBeforeSession.anusPiercing>>
+					<<if $activeSlave.anusPiercing > 1>>@@color:hotpink;very happy@@ you took the time to personally pierce the entire area around $possessive whorish asspussy<<else>>@@.hotpink;happy@@ to get a piercing next to $possessive favorite hole from you personally<</if>>. $pronounCap can't wait to find out how the metal will feel against $possessive butthole when $prounoun moves around.
+					<<set $activeSlave.devotion += ($activeSlave.anusPiercing-_slaveBeforeSession.anusPiercing)*2>>
+				<<elseif $activeSlave.devotion <= 95>>
+					@@.mediumorchid;saddened@@ you decided to take out $possessive backdoor piercings yourself. $pronounCap will miss the constant anal titillation, and $pronoun's worried this means you're becoming less interested in her butthole.
+					<<set $activeSlave.devotion += ($activeSlave.anusPiercing-_slaveBeforeSession.anusPiercing)*2>>				
+				<</if>>
+			<</if>>
+			<</if>>
+			<<if $slaves[$i].sexualFlaw == "hates anal">>
+				$pronounCaps has trouble thinking of her asshole as a sexy, fuckable hole, so her new piercings will be theraputic. The constant tickling back there should force her past her hangups.
+			<</if>>
+			<</if>>
+		<</if>>
+	<</if>>
+	<<if $activeSlave.genes == "XY">>
+	<<if $activeSlave.attrXY <= 35>>
+	<<if $activeSlave.earPiercing+$activeSlave.nosePiercing+$activeSlave.eyebrowPiercing+$activeSlave.lipsPiercing+$activeSlave.navelPiercing > _slaveBeforeSession.earPiercing+_slaveBeforeSession.nosePiercing+_slaveBeforeSession.eyebrowPiercing+_slaveBeforeSession.lipsPiercing+_slaveBeforeSession.navelPiercing>>
+		$possessiveCap girly new
+		<<if $activeSlave.nosePiercing == 1 && _slaveBeforeSession.nosePiercing == 0>>
+			pierced ears should help $object a little with $possessive issues about $possessive self-image as a fuckable slave girl.
+		<<elseif $activeSlave.nosePiercing == 1 && _slaveBeforeSession.nosePiercing == 0>>
+			nose piercing should make $possessive reflection in the mirror seem just a bit more fuckably feminine to $object.
+		<<elseif $activeSlave.eyebrowPiercing == 1 && _slaveBeforeSession.eyebrowPiercing == 0>>
+			facial piercing should help destroy $possessive vestiges of sexual identity outside of her life as a hole for cocks.
+		<<elseif $activeSlave.lipsPiercing == 1 && _slaveBeforeSession.lipsPiercing == 0>>
+			facial piercing, just below $possessive pretty mouth, should help $object get used to the idea of it being a warm, wet hole for cocks.
+		<<elseif $activeSlave.navelPiercing == 1 && _slaveBeforeSession.navelPiercing == 0>>
+			navel piercing should help $possessive see $possessive naked body in a submissively sexual way, especially as $object turns to hide it and present $possessive asspussy.
+		<<else>>
+			new set of slutty facial piercings should help $object get used to the idea of being a girly slave meant to please dicks.
+		<</if>>
+		<<if $activeSlave.devotion < -20>>Unfortunately, that positive effect will have to wait until $prounoun's a little less resistant to the idea of being a sex slave.<</if>>
+	<</if>>
+	<</if>>
+	<</if>>
+	<<if $activeSlave.anusTat != _slaveBeforeSession.anusPiercing>>
+	<<if canSee($activeSlave)>>
+	<<if canTalk($activeSlave)>>
+		<<if $activeSlave.anus > 3>>
+			<<set _anus = "anal gape">>
+		<<elseif $activeSlave.anus == 3>>
+			<<set _anus = "relaxed asspussy">>
+		<<elseif $activeSlave.anus == 2>>
+			<<set _anus = "soft butthole">>
+		<<else>>
+			<<set _anus = "tight butthole">>
+		<</if>>
+		<<if $activeSlave.anusTat == "bleached">>
+			She knew she was getting her ass bleached, of course. The stinging sensation was hard to miss. Even so, she cranes her neck around as soon as possible to look at her _anus in the mirror.
+		<<else>>
+			$pronounCap knew she was getting her asshole tattooed, of course. She cranes her neck around as soon as possible to look at her _anus in the mirror.
+			<<if $activeSlave.butt > 5>>Her huge buttocks are still held apart by the spreaders used to give the tattooing actuators access to her most inimate area, giving her a good view.<</if>>
+		<</if>>
+		<<if $activeSlave.fetishKnown && $activeSlave.fetish == "buttslut">>
+			<<switch $activeSlave.anusTat>>
+			<<case "bleached">>
+				She giggles at her crinkled fuckhole's clean, fuckable appearance, and starts squeezing her sphincter muscles experimentally. "Thank you, <<Master>>," she gasps, flushing.
+			<<case "flowers" "tribal patterns">>
+				She gasps at the beautiful design and then suddenly bursts into tears. "T-thank you, <<Master>>," she blubbers. "I'm <<s>>-<<s>>uch an anal whore."
+			<<case "advertisements">>
+				She stares, her mouth working as she spells out
+				<<if ($activeSlave.vagina > -1)>>
+					'Second Pussy.' She smiles naughtily. "<<Master>>, it'<<s>> my //favorite// pu<<ss>>y,"
+				<<else>>
+					'Spit First.' She smiles naughtily. "<<Master>>, that work<<s>> for me. Lube'<<s>> good too. Or, um, dry'<<s>> fine too,"
+				<</if>>
+				she giggles.
+			<<case "rude words">>
+				She stares, her mouth working as she spells out
+				<<if ($activeSlave.vagina > -1)>>
+					'Fucktoy's Favorite Fuckhole.' She smiles naughtily. "<<Master>>, it sure i<<s>>,"
+				<<else>>
+					'Sissy Slut's Sodomy Slit.' She smiles naughtily. "<<Master>>, I love it when you fuck my lewd butt <<s>>lit,"
+				<</if>>
+				she giggles.
+			<<case "sacrilege">>
+				She stares, her mouth working as she reads the ring of Aramaic blasphemy around her hole. Getting it, she smiles naughtily. "<<Master>>, I'm a horrible little butthole <<s>>uccubu<<s>>. Plea<<s>>e, <<Master>>, feed me. I need cum in my a<<ss>> to <<s>>urvive."
+			<<case "sacrament">>
+				She stares, her mouth working as she reads the ring of Aramaic around her hole. Getting it, she smiles beatifically. "<<Master>>, I alway<<s>> new butt<<s>>ex was a <<s>>acrament."
+			<<case "degradation">>
+				She stares, her mouth working as she spells out '<<if $PC.title == 1>>Master<<else>>Mistress<</if>> Made Me An Anal Slut.' She smiles naughtily. "Oh <<Master>>, you did," she <<say>>s gratefully. "And I love you for it."
+			<<case "counting">>
+				She stares, realizing that the markings denote how many times she's been sodomized. "<<Master>>, thank you, and, and, I hope I'll have to come back in here a lot," she <<say>>s. "Um, becau<<s>>e I have to have that updated. Because I'm being fucked in the butt a lot," she adds, wanting to be completely clear.
+			<<case "bovine patterns">>
+				She stares at her new cow's anus. Finally, she focuses on the upsides of being permanently transformed like this. "<<Master>>, I hope thi<<s>> mean<<s>> I'll have to be fed up the butt a lot," she <<say>>s, referencing the milking systems' anal feeders.
+			<<case "possessive">>
+				She stares, realizing that the ring of numbers around $possessive anus give the date she was enslaved by you. "Be<<s>t place for that date, <<Master>>," she <<say>>s. "Being a butt <<s>>lut i<<s>> my life now."
+			<<case "paternalist">>
+				She stares, her mouth working as she spells out '<<if $PC.title == 1>>Master<<else>>Mistress<</if>> Helped Me Love Anal.' "Oh <<Master>>, you did," she coos. "You did! Thank you <<s>>o much for helping me become the anal <<s>>lut I wa<<s>> alway<<s>> meant to be!"
+			<</switch>>
+		<<elseif $activeSlave.devotion > 50>>
+			<<switch $activeSlave.anusTat>>
+			<<case "bleached">>
+				She gasps at how closely the crinkled skin around her anal opening matches the rest of her $activeSlave.skin body. "Oh, it'<<s>> <<s>>o beautiful! Thank you, <<Master>>, thank you," she exclaims lovingly.
+			<<case "flowers" "tribal patterns">>
+				She gasps at the beautiful design. "It'<<s>> <<s>>o pretty, <<Master>>," she <<say>>s. "Thank you. I love you <<s>>o much!"
+			<<case "advertisements" "rude words" "sacrilege" "sacrament" "degradation" "possessive" "paternalist">>
+				She stares, her mouth working as she spells out the words tattooed in a ring around her asshole. "Thank you, <<Master>>," she <<say>>s devotedly. "I love you and I'll <<s>>erve you with my butthole a<<s>> be<<s>>t I can."
+			<<default>>
+				She smiles, pleased at the mark of your attention to her body. "Thank you, <<Master>>," she <<say>>s devotedly. "I love you and I'll <<s>>erve you with my butthole a<<s>> be<<s>>t I can."
+			<</switch>>
+		<<elseif $activeSlave.sexualFlaw == "hates anal">>
+			She stares,
+			<<switch $activeSlave.anusTat>>
+			<<case "bleached">>
+				horrified, and then shudders convulsively, but can't look away.
+			<<case "flowers" "tribal patterns">>
+				torn between fascination at the intricate design and horror at having her anus permanently tattooed. 
+			<<case "advertisements" "rude words" "sacrilege" "sacrament" "degradation" "possessive" "paternalist">>
+				her mouth working as she spells out the words tattooed in a ring around her asshole. She starts to cry as their meaning sinks in.
+			<<default>>
+				lower lip quivering.
+			<</switch>>
+			She hates being assraped, and knows that this means there's lots of it in store for her. "<<Master>>, p-plea<<s>>e," she moans halfheartedly. "I d-don't like being b-butt f-fucked."
+		<<elseif $activeSlave.devotion > 20>>
+			She stares,
+			<<switch $activeSlave.anusTat>>
+			<<case "bleached">>
+				fascinated. She doesn't seem sure what to make of this.
+			<<case "flowers" "tribal patterns">>
+				torn between admiration of the pretty design and realization that her anus has been permanently tattooed.
+			<<case "advertisements" "rude words" "sacrilege" "sacrament" "degradation" "possessive" "paternalist">>
+				her mouth working as she spells out the words tattooed in a ring around her asshole. She shudders a little as they sink in and she internalizes what they say about her and her asshole.
+			<<default>>
+				realizing that her anus has been permanently tattooed. It's yet another proof that she's permanently a sex slave, and her anus is for fucking.
+			<</switch>>
+			"Thank you, <<Master>>," she <<say>>s, taking refuge in propriety. "Um, d-doe<<s>> thi<<s>> mean I'm going to be more of a, um, b-butt<<s>>lut?" she asks hesitantly, not sounding very enthusiastic.
+		<<elseif $activeSlave.trust < -20>>
+			She stares,
+			<<switch $activeSlave.anusTat>>
+			<<case "bleached">>
+				trying to process the appearance of what must seem like an unnaturally clean-looking hole.
+			<<case "flowers" "tribal patterns">>
+				struggling to process the fact that one of her most intimate areas has been tattooed. Beautifully tattooed, but still.
+			<<case "advertisements" "rude words" "sacrilege" "sacrament" "degradation" "possessive" "paternalist">>
+				her mouth working as she spells out the words tattooed in a ring around her asshole. She shudders as she does her best to conceal her feelings about such a permanent display of her status as an anal slave.
+			<<default>>
+				looking sad as the meaning of a permanent display of her status as an anal slave sinks in.
+			<</switch>>
+			After a short pause she remembers her duties and stammers, "T-thank you, <<Master>>." After a while longer she turns her head away, clearly not wanting to dwell on how her anus is obviously being beautified to attract sexual attention.
+		<<else>>
+			<<switch $activeSlave.anusTat>>
+			<<case "bleached">>
+				Her face darkens as she sees her crinkled fuckhole's clean, fuckable appearance. "Don't you dare fucking a<<ss>>rape me," she bursts out.
+			<<case "flowers" "tribal patterns">>
+				She's momentarily surprised by the pretty design, but then her face darkens. "That'<<s>> permanent!" she bursts out. "My a<<ss>>hole i<<s>> going to look like that forever!"
+			<<case "advertisements">>
+				She stares, her mouth working as she spells out
+				<<if ($activeSlave.vagina > -1)>>
+					'Second Pussy.' Her face darkens. "No it'<<s>> not," she bursts out. "Anal is dirty."
+				<<else>>
+					'Spit First.' Her face darkens. "Gro<<ss>>," she bursts out. "Gro<<ss>> and wrong!"
+				<</if>>
+			<<case "rude words">>
+				She stares, her mouth working as she spells out
+				<<if ($activeSlave.vagina > -1)>>
+					'Fucktoy's Favorite Fuckhole.' Her face darkens. "No it'<<s>> not," she bursts out. "It'<<s>> my a<<ss>>!"
+				<<else>>
+					'Sissy Slut's Sodomy Slit.' Her face darkens. "No it'<<s>> not," she bursts out. "I'm not a <<s>>i<<ss>>y! Or a <<s>>lut! And it'<<s>> not a slit!" Those are debatable, but they can all change, of course.
+				<</if>>
+			<<case "sacrilege" "sacrament">>
+				She stares, her mouth working as she reads the ring of Aramaic  around her hole. She doesn't understand it, but she's not happy about having stuff permanently inscribed around her ass.
+			<<case "degradation">>
+				She stares, her mouth working as she spells out '<<if $PC.title == 1>>Master<<else>>Mistress<</if>> Made Me An Anal Slut.' Her face darkens. "No I'm not," she bursts out. That remains to be seen.
+			<<case "counting">>
+				She stares, realizing that the markings denote how many times she's been sodomized. Her face darkens. "I <<s>>ee there'<<s>> room for more," she bursts out. "Fucking gro<<ss>>."
+			<<case "bovine patterns">>
+				She stares at her new cow's anus. "Fucking gro<<ss>>," she bursts out. "I'm not an animal." That remains to be seen.
+			<<case "possessive">>
+				She stares, realizing that the ring of numbers around $possessive anus give the date she was enslaved by you. Her face darkens. "Wor<<s>>t day of my life," she bursts out.
+			<<case "paternalist">>
+				She stares, her mouth working as she spells out '<<if $PC.title == 1>>Master<<else>>Mistress<</if>> Helped Me Love Anal.' "I don't," she bursts out. "It'<<s>> fucking gro<<ss>>."
+			<</switch>>
+		<</if>>
+	<</if>>
+	<</if>>
+	<</if>>
+<</if>>
 
 /* 000-250-006 */
 <<if $seeImages == 1>>
@@ -27,6 +329,13 @@
 <</if>>
 /* 000-250-006 */
 
+/* PIERCINGS */
+
+<<set _piercingCount =($activeSlave.earPiercing + $activeSlave.nosePiercing + $activeSlave.eyebrowPiercing + $activeSlave.lipsPiercing + $activeSlave.tonguePiercing + $activeSlave.nipplesPiercing + $activeSlave.areolaePiercing + $activeSlave.corsetPiercing + $activeSlave.navelPiercing + $activeSlave.clitPiercing + $activeSlave.vaginaPiercing + $activeSlave.dickPiercing + $activeSlave.anusPiercing)>>
+
+/*DESCRIPTIONS */
+<br><br>
+
 Piercings: 
 
 <<if _piercingCount == 0>>
@@ -76,7 +385,7 @@ Choose piercing style:
 
 <<if $piercingLevel == 1>>
 <br>&nbsp;&nbsp;&nbsp;&nbsp;
-//Lightly// pierce her:
+//Lightly// pierce $possessive:
 
 <<link "Entire body">>
 	<<if $activeSlave.earPiercing != 1>><<set $activeSlave.earPiercing = 1>>			<<set $cash -= $modCost>><</if>>
@@ -126,31 +435,30 @@ Choose piercing style:
 <<if $activeSlave.anusPiercing != 1>> 		| [[Anus|Body Modification][$activeSlave.anusPiercing = 1,			$cash -= $modCost]]<</if>>
 <</if>>
 
-
 <<if $piercingLevel == 2>>
 <br>&nbsp;&nbsp;&nbsp;&nbsp;
-''Heavily'' pierce her:
+''Heavily'' pierce $possessive:
 
 <<link "Entire body">>
-	<<if $activeSlave.earPiercing != 2>><<set $activeSlave.earPiercing = 2>>			<<set $cash -= $modCost>><<set $degradation += 1>><</if>>
-	<<if $activeSlave.nosePiercing != 2>><<set $activeSlave.nosePiercing = 2>>			<<set $cash -= $modCost>><<set $degradation += 1>><</if>>
-	<<if $activeSlave.eyebrowPiercing != 2>><<set $activeSlave.eyebrowPiercing = 2>>	<<set $cash -= $modCost>><<set $degradation += 1>><</if>>
-	<<if $activeSlave.lipsPiercing != 2>><<set $activeSlave.lipsPiercing = 2>>			<<set $cash -= $modCost>><<set $degradation += 1>><</if>>
-	<<if $activeSlave.tonguePiercing != 2>><<set $activeSlave.tonguePiercing = 2>>		<<set $cash -= $modCost>><<set $degradation += 1>><</if>>
-	<<if $activeSlave.nipplesPiercing != 2>><<set $activeSlave.nipplesPiercing = 2>>	<<set $cash -= $modCost>><<set $degradation += 1>><</if>>
-	<<if $activeSlave.areolaePiercing != 2>><<set $activeSlave.areolaePiercing = 2>>	<<set $cash -= $modCost>><<set $degradation += 1>><</if>>
-	<<if $activeSlave.corsetPiercing != 2>><<set $activeSlave.corsetPiercing = 2>>		<<set $cash -= $modCost>><<set $degradation += 1>><</if>>
-	<<if $activeSlave.navelPiercing != 2>><<set $activeSlave.navelPiercing = 2>>		<<set $cash -= $modCost>><<set $degradation += 1>><</if>>
+	<<if $activeSlave.earPiercing != 2>><<set $activeSlave.earPiercing = 2>>			<<set $cash -= $modCost, $degradation += 1>><</if>>
+	<<if $activeSlave.nosePiercing != 2>><<set $activeSlave.nosePiercing = 2>>			<<set $cash -= $modCost, $degradation += 1>><</if>>
+	<<if $activeSlave.eyebrowPiercing != 2>><<set $activeSlave.eyebrowPiercing = 2>>	<<set $cash -= $modCost, $degradation += 1>><</if>>
+	<<if $activeSlave.lipsPiercing != 2>><<set $activeSlave.lipsPiercing = 2>>			<<set $cash -= $modCost, $degradation += 1>><</if>>
+	<<if $activeSlave.tonguePiercing != 2>><<set $activeSlave.tonguePiercing = 2>>		<<set $cash -= $modCost, $degradation += 1>><</if>>
+	<<if $activeSlave.nipplesPiercing != 2>><<set $activeSlave.nipplesPiercing = 2>>	<<set $cash -= $modCost, $degradation += 1>><</if>>
+	<<if $activeSlave.areolaePiercing != 2>><<set $activeSlave.areolaePiercing = 2>>	<<set $cash -= $modCost, $degradation += 1>><</if>>
+	<<if $activeSlave.corsetPiercing != 2>><<set $activeSlave.corsetPiercing = 2>>		<<set $cash -= $modCost, $degradation += 1>><</if>>
+	<<if $activeSlave.navelPiercing != 2>><<set $activeSlave.navelPiercing = 2>>		<<set $cash -= $modCost, $degradation += 1>><</if>>
 	<<if ($activeSlave.vagina != -1) || ($activeSlave.dick != 0)>>
-		<<if $activeSlave.clitPiercing != 2>><<set $activeSlave.clitPiercing = 2>>		<<set $cash -= $modCost>><<set $degradation += 1>><</if>>
+		<<if $activeSlave.clitPiercing != 2>><<set $activeSlave.clitPiercing = 2>>		<<set $cash -= $modCost, $degradation += 1>><</if>>
 	<</if>>
 	<<if ($activeSlave.vagina != -1)>>
-		<<if $activeSlave.vaginaPiercing != 2>><<set $activeSlave.vaginaPiercing = 2>>	<<set $cash -= $modCost>><<set $degradation += 1>><</if>>
+		<<if $activeSlave.vaginaPiercing != 2>><<set $activeSlave.vaginaPiercing = 2>>	<<set $cash -= $modCost, $degradation += 1>><</if>>
 	<</if>>
 	<<if ($activeSlave.dick > 0)>>
-		<<if $activeSlave.dickPiercing != 2>><<set $activeSlave.dickPiercing = 2>>		<<set $cash -= $modCost>><<set $degradation += 1>><</if>>
+		<<if $activeSlave.dickPiercing != 2>><<set $activeSlave.dickPiercing = 2>>		<<set $cash -= $modCost, $degradation += 1>><</if>>
 	<</if>>	
-	<<if $activeSlave.anusPiercing != 2>><<set $activeSlave.anusPiercing = 2>>			<<set $cash -= $modCost>><<set $degradation += 1>><</if>>
+	<<if $activeSlave.anusPiercing != 2>><<set $activeSlave.anusPiercing = 2>>			<<set $cash -= $modCost, $degradation += 1>><</if>>
 	<<goto "Body Modification">>
 <</link>>
 
@@ -179,20 +487,18 @@ Choose piercing style:
 <<if $activeSlave.anusPiercing != 2>> 		| [[Anus|Body Modification][$activeSlave.anusPiercing = 2,			$cash -= $modCost,$degradation += 1]]<</if>>
 <</if>>
 
-
 <<if $piercingLevel == 3>>
 <<if ($activeSlave.vagina != -1) || ($activeSlave.dick != 0)>>
 	<<if $activeSlave.clitPiercing != 3>>
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		Give her a [[smart piercing?|Body Modification][$activeSlave.clitPiercing = 3,$activeSlave.clitSetting = "all",$cash -=$SPcost,$degradation += 1]] //Costs ¤$SPcost, unlocks options to mold sexuality//
+		Give $object a [[smart piercing?|Body Modification][$activeSlave.clitPiercing = 3,$activeSlave.clitSetting = "all",$cash -=$SPcost,$degradation += 1]] //Costs ¤$SPcost, unlocks options to mold sexuality//
 	<<else>>
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		She already has a smart piercing!
+		$pronounCap already has a smart piercing!
 	<</if>>
 <</if>>
 <</if>>
 
-
 <<if $piercingLevel == 0>>
 <br>&nbsp;&nbsp;&nbsp;&nbsp;
 Remove piercings from:
@@ -237,8 +543,6 @@ Remove piercings from:
 
 <br><br>
 
-
-
 /* TATTOOS */
 
 Tattoos:  
@@ -254,10 +558,6 @@ Tattoos:
 <<if $activeSlave.anusTat	 != 0>><br>&nbsp;&nbsp;&nbsp;&nbsp;<<anusTatDescription>><<set _hasTat = 1>><</if>>
 <<if $activeSlave.legsTat	 != 0>><br>&nbsp;&nbsp;&nbsp;&nbsp;<<legsTatDescription>><<set _hasTat = 1>><</if>>
 
-
-
-
-
 <br>&nbsp;&nbsp;&nbsp;&nbsp;
 Choose a tattoo style:
 /* If/else is here so a "highlighted" option is never a link. */
@@ -287,13 +587,13 @@ Choose a tattoo style:
 <<if $tattooChoice != "">>
 	<br>&nbsp;&nbsp;&nbsp;&nbsp;
 	<<if $tattooChoice == 0>>
-		Clean the ink off of her:
+		Clean the ink off of $object:
 	<<elseif $tattooChoice == "counting">>
-		Add tallies of her sexual exploits to her:
+		Add tallies of $possessive sexual exploits to $object:
 	<<elseif $tattooChoice == "bleached">>
-		Bleach her:
+		Bleach $possessive:
 	<<else>>
-		Add $tattooChoice to her:
+		Add $tattooChoice to $possessive:
 	<</if>>
 <</if>>
 
@@ -1421,9 +1721,9 @@ Choose a site for branding:
 
 <br>&nbsp;&nbsp;&nbsp;&nbsp;
 <<if ($brandTarget == "neck" || $brandTarget == "chest" || $brandTarget == "belly" || $brandTarget == "pubic mound" || $brandTarget == "back")>>
-	[[Brand her|Body Modification][$brandApplied = 1,$activeSlave.brand = $brandDesign,$activeSlave.brandLocation = $brandTarget,$cash -= $modCost,$degradation += 10]]  with $brandDesign on the $brandTarget.
+	[[Brand|Body Modification][$brandApplied = 1,$activeSlave.brand = $brandDesign,$activeSlave.brandLocation = $brandTarget,$cash -= $modCost,$degradation += 10]]  with $brandDesign on the $brandTarget.
 <<else>>
-	Brand her now with ''$brandDesign'' on the
+	Brand $object now with ''$brandDesign'' on the
 	<<link "left">>
 		<<set $brandApplied = 1>>
 		<<set $activeSlave.brand = $brandDesign>>
@@ -1477,4 +1777,3 @@ Choose a site for branding:
 	<</link>>?	
 <</if>>
 //Branding will slightly reduce $possessive beauty but may slowly increase your reputation.//
-
diff --git a/src/uncategorized/hgApplication.tw b/src/uncategorized/hgApplication.tw
index f9938df9a371454a0544b805aee941b5b68a17bc..9e3419419c786d33ffb1d37945a95b67a1886f99 100644
--- a/src/uncategorized/hgApplication.tw
+++ b/src/uncategorized/hgApplication.tw
@@ -310,6 +310,75 @@ In spare moments she teaches $activeSlave.slaveName how to prostitute herself. $
 <</if>>
 <</if>>
 
+<<if $activeSlave.devotion >= -20>>
+<<if $activeSlave.genes == "XY">>
+<<if $activeSlave.attrXY <= 35>>
+	<<set _piercingForbidden = 0>>
+	<<for _i = 0; _i = 0>>
+		<<if $activeSlave.earPiercing == 0>>
+			<<set $activeSlave.earPiercing = 1>>
+			<<RulesDeconfliction $activeSlave>>
+			<<if $activeSlave.earPiercing != $slaveAfterRA.earPiercing>>
+				<<set _piercingForbidden = 1, $activeSlave.earPiercing = 0>>
+			<<else>>
+				$HeadGirl.slaveName knows that $activeSlave.slaveName needs help adjusting to life as a slave girl, so she has the slave's ears pierced. A little feminine touch can make a big difference.
+				<<set $cash -= $modCost>>
+				<<break>>
+			<</if>>
+		<</if>>
+		<<if $activeSlave.nosePiercing == 0>>
+			<<set $activeSlave.nosePiercing = 1>>
+			<<RulesDeconfliction $activeSlave>>
+			<<if $activeSlave.nosePiercing != $slaveAfterRA.nosePiercing>>
+				<<set _piercingForbidden = 1, $activeSlave.nosePiercing = 0>>
+			<<else>>
+				$HeadGirl.slaveName knows that $activeSlave.slaveName needs help adjusting to life as a slave girl, so she gives the slave a cute little nose piercing. It should help $activeSlave.slaveName see herself as a bit more feminine.
+				<<set $cash -= $modCost>>
+				<<break>>
+			<</if>>
+		<</if>>
+		<<if $activeSlave.eyebrowPiercing == 0>>
+			<<set $activeSlave.eyebrowPiercing = 1>>
+			<<RulesDeconfliction $activeSlave>>
+			<<if $activeSlave.eyebrowPiercing != $slaveAfterRA.eyebrowPiercing>>
+				<<set _piercingForbidden = 1, $activeSlave.eyebrowPiercing = 0>>
+			<<else>>
+				$HeadGirl.slaveName knows that $activeSlave.slaveName needs help adjusting to life as a slave girl, so she gives the slave a cute little eyebrow piercing. A slutty touch for a teenage girl should help her feel a little hungrier for cock.
+				<<set $cash -= $modCost>>
+				<<break>>
+			<</if>>
+		<</if>>
+		<<if $activeSlave.lipsPiercing == 0>>
+			<<set $activeSlave.lipsPiercing = 1>>
+			<<RulesDeconfliction $activeSlave>>
+			<<if $activeSlave.lipsPiercing != $slaveAfterRA.lipsPiercing>>
+				<<set _piercingForbidden = 1, $activeSlave.lipsPiercing = 0>>
+			<<else>>
+				$HeadGirl.slaveName knows that $activeSlave.slaveName needs help adjusting to life as a slave girl, so she has the slave's lower lip pierced. Her mouth is for pleasing penises now, so it'll help her if it looks like it.
+				<<set $cash -= $modCost>>
+				<<break>>
+			<</if>>
+		<</if>>
+		<<if $activeSlave.navelPiercing == 0>>
+			<<set $activeSlave.navelPiercing = 1>>
+			<<RulesDeconfliction $activeSlave>>
+			<<if $activeSlave.navelPiercing != $slaveAfterRA.navelPiercing>>
+				<<set _piercingForbidden = 1, $activeSlave.navelPiercing = 0>>
+			<<else>>
+				$HeadGirl.slaveName knows that $activeSlave.slaveName needs help adjusting to life as a slave girl, so she has the slave's navel pierced. The prettier her lower half looks, the less reluctant she should feel to take it up the butt.
+				<<set $cash -= $modCost>>
+				<<break>>
+			<</if>>
+		<</if>>
+		<<break>>
+	<</for>>
+	<<if _piercingForbidden>>
+		$HeadGirl.slaveName thinks some cute piercings might help $activeSlave.slaveName adjust to life as a slave girl, but she also knows you have rules applied to this slave that forbid it.
+	<</if>>
+<</if>>
+<</if>>
+<</if>>
+
 <<set _hgtarget = $slaves.findIndex(function(s) { return s.ID == $activeSlave.ID; })>>
 <<set $slaves[_hgtarget] = $activeSlave>> /* save changes */
 
diff --git a/src/uncategorized/hgSelect.tw b/src/uncategorized/hgSelect.tw
index 1aeeed300754834fcabec55902fd05a7867b46c0..5814d88a56d73ebf224c8d1bb12ffe2611de1fc9 100644
--- a/src/uncategorized/hgSelect.tw
+++ b/src/uncategorized/hgSelect.tw
@@ -2,76 +2,80 @@
 
 <<set $nextButton = "Back to Main", $nextLink = "Main", $showEncyclopedia = 1, $encyclopedia = "Head Girl">>
 <<showallAssignmentFilter>>
-<<if ($HeadGirl != 0)>>
-	<<set _ID = $HeadGirl.ID, _SL = $slaves.length>>
-	<<for _i = 0; _i < _SL; _i++>>
-		<<if _ID == $slaves[_i].ID>><<break>><</if>>
-	<</for>>
-	<<set $HeadGirl = $slaves[_i]>>
-	''__@@.pink;<<SlaveFullName $HeadGirl>>@@__'' is serving as your head girl<<if $arcologies[0].FSEgyptianRevivalistLaw == 1>> and Consort; it is her role to serve and comfort you at your side, in addition to performing normal head girl duties<</if>>.
-<<else>>
-	You have not selected a head girl.
-<</if>>
-
-<br><br>__Your Head Girl will prioritize training in the following order:__
 
-<br>
-<<if ($headGirlTrainsHealth == 0)>>
-	Your head girl will @@.red;NOT TREAT@@ poor health. [[Improve health|HG Select][$headGirlTrainsHealth = 1]]
-<<else>>
-	Your head girl will @@.green;TREAT@@ poor health. [[Stop improving health|HG Select][$headGirlTrainsHealth = 0]]
-<</if>>
-
-<br>
-<<if ($headGirlTrainsFlaws == 0)>>
-	Your head girl will @@.red;NOT FIX@@ flaws. [[Fix flaws|HG Select][$headGirlTrainsFlaws = 1]] | [[Soften flaws|HG Select][$headGirlTrainsFlaws = 2]]
-<<elseif ($headGirlTrainsFlaws == 1)>>
-	Your head girl will @@.green;FIX@@ flaws. [[Stop fixing flaws|HG Select][$headGirlTrainsFlaws = 0]] | [[Soften flaws|HG Select][$headGirlTrainsFlaws = 2]]
-<<else>>
-	Your head girl will @@.yellow;SOFTEN@@ flaws. [[Stop fixing flaws|HG Select][$headGirlTrainsFlaws = 0]] | [[Fix flaws|HG Select][$headGirlTrainsFlaws = 1]]
-<</if>>
+<h1>Head Girl Management</h1>
 
-<br>
-<<if ($headGirlTrainsParaphilias == 0)>>
-	Your head girl will @@.red;NOT FIX@@ paraphilias. [[Fix paraphilias|HG Select][$headGirlTrainsParaphilias = 1]]
-<<else>>
-	Your head girl will @@.green;FIX@@ paraphilias. [[Stop fixing paraphilias|HG Select][$headGirlTrainsParaphilias = 0]]
+<<set _HGName = "Your Head Girl">>
+<<if ($HeadGirl != 0)>>
+	<<set _i = $slaves.findIndex(function(s) { return s.ID == $HeadGirl.ID; })>>
+	<<set $HeadGirl = $slaves[_i]>>
+	<<switch $HeadGirl.nationality>>
+	<<case "Chinese" "Japanese" "Korean" "Cambodian" "Vietnamese" "Hungarian" "Mongolian">>
+		<<if $HeadGirl.slaveSurname>>
+			<<set _HGName = $HeadGirl.slaveSurname + " " + $HeadGirl.slaveName>>
+		<<else>>
+			<<set _HGName = $HeadGirl.slaveName>>
+		<</if>>
+	<<default>>
+		<<set _HGName = $HeadGirl.slaveName>>
+		<<if $HeadGirl.slaveSurname>><<set _HGName += " " + $HeadGirl.slaveSurname>><</if>>
+	<</switch>>
+	''__@@.pink;_HGName@@__'' is serving as your Head Girl<<if $arcologies[0].FSEgyptianRevivalistLaw == 1>> and Consort; it is her role to serve and comfort you at your side, in addition to performing normal head girl duties<</if>>.
+	<br><br>
 <</if>>
 
-<br>
-<<if ($headGirlTrainsObedience == 0)>>
-	Your head girl will @@.red;NOT TRAIN@@ obedience. [[Train obedience|HG Select][$headGirlTrainsObedience = 1]]
-<<else>>
-	Your head girl will @@.green;TRAIN@@ obedience. [[Stop training obedience|HG Select][$headGirlTrainsObedience = 0]]
-<</if>>
+__Slave training__
+&nbsp;&nbsp;&nbsp;&nbsp;
+//_HGName will prioritize enabled items in the following order.//
 
-<br>
-<<if ($headGirlTrainsSkills == 0)>>
-	Your head girl will @@.red;NOT TRAIN@@ skills. [[Train skills|HG Select][$headGirlTrainsSkills = 1]]
-<<else>>
-	Your head girl will @@.green;TRAIN@@ skills. [[Stop training skills|HG Select][$headGirlTrainsSkills = 0]]
-<</if>>
+<br>&nbsp;&nbsp;&nbsp;&nbsp;
+<<if $headGirlTrainsHealth>><<checkbox "$headGirlTrainsHealth" 0 1 checked>><<else>><<checkbox "$headGirlTrainsHealth" 0 1>><</if>>
+Health
+<br>&nbsp;&nbsp;&nbsp;&nbsp;
+<<if $headGirlTrainsFlaws>><<checkbox "$headGirlTrainsFlaws" 0 1 checked>><<else>><<checkbox "$headGirlTrainsFlaws" 0 1>><</if>>
+Flaws
+<<if $headGirlSoftensFlaws>><<checkbox "$headGirlSoftensFlaws" 0 1 checked>><<else>><<checkbox "$headGirlSoftensFlaws" 0 1>><</if>>
+Soften
+<br>&nbsp;&nbsp;&nbsp;&nbsp;
+<<if $headGirlTrainsParaphilias>><<checkbox "$headGirlTrainsParaphilias" 0 1 checked>><<else>><<checkbox "$headGirlTrainsParaphilias" 0 1>><</if>>
+Paraphilias
+<br>&nbsp;&nbsp;&nbsp;&nbsp;
+<<if $headGirlTrainsObedience>><<checkbox "$headGirlTrainsObedience" 0 1 checked>><<else>><<checkbox "$headGirlTrainsObedience" 0 1>><</if>>
+Obedience
+<br>&nbsp;&nbsp;&nbsp;&nbsp;
+<<if $headGirlTrainsSkills>><<checkbox "$headGirlTrainsSkills" 0 1 checked>><<else>><<checkbox "$headGirlTrainsSkills" 0 1>><</if>>
+Skills
 
-<br><br>
+<br>__Training methods__
+<br>&nbsp;&nbsp;&nbsp;&nbsp;
+_HGName will be
 <<if ($HGSeverity > 0)>>
-	Your head girl will be ''aggressive'' when punishing, with rape strongly encouraged. [[Moderate|HG Select][$HGSeverity = 0]]
+	''aggressive'' when punishing, with rape strongly encouraged. [[Moderate|HG Select][$HGSeverity = 0]]
 <<elseif ($HGSeverity == 0)>>
-	Your head girl will be ''moderate'' when punishing, carefully selecting appropriate consequences. [[Be aggressive|HG Select][$HGSeverity = 1]] | [[Restrict her|HG Select][$HGSeverity = -1]]
+	''moderate'' when punishing, carefully selecting appropriate consequences. [[Be aggressive|HG Select][$HGSeverity = 1]] | [[Restrict her|HG Select][$HGSeverity = -1]]
+<<else>>
+	''respectful'' when punishing, treating slaves decently. [[Be stricter|HG Select][$HGSeverity = 0]]
+<</if>>
+<br>&nbsp;&nbsp;&nbsp;&nbsp;
+_HGName is
+<<if $HGPiercings>>
+	''allowed'' to use piercings as a tool to improve slaves' attitudes. [[Disallow|HG Select][$HGPiercings = 0]]
 <<else>>
-	Your head girl will be ''respectful'' when punishing, treating slaves decently. [[Be stricter|HG Select][$HGSeverity = 0]]
+	''not allowed'' to use piercings as a tool to improve slaves' attitudes. [[Maintain complete formality|HG Select][$HGPiercings = 1]]
 <</if>>
 
-<br>
+<br>__Behavior towards you__
+<br>&nbsp;&nbsp;&nbsp;&nbsp;
+_HGName 
 <<if ($HGFormality != 0)>>
-	Your head girl will be ''formal'': she will always call you <<if $PC.title == 1>>Master<<else>>Mistress<</if>>, just like any other slave.
-	[[Allow private informality|HG Select][$HGFormality = 0]]
+	will be ''formal'': she will always call you <<if $PC.title == 1>>Master<<else>>Mistress<</if>>, just like any other slave.	[[Allow private informality|HG Select][$HGFormality = 0]]
 <<else>>
-	Your head girl is allowed to be ''informal'': in private and at her discretion, she may call you <<if $PC.title == 1>>Sir<<else>>Ma'am<</if>>. [[Maintain complete formality|HG Select][$HGFormality = 1]]
+	is allowed to be ''informal'': in private, she may call you <<if $PC.title == 1>>Sir<<else>>Ma'am<</if>>. [[Maintain complete formality|HG Select][$HGFormality = 1]]
 <</if>>
 
 <<if $HeadGirl != 0>>
 <<if $universalRulesImpregnation == "HG">>
-	<br><br>It's your Head Girl's responsibility to impregnate fertile slaves.
+	<br><br>_HGName is responsible for impregnating fertile slaves.
 	<<set $HGCum = 2+Math.trunc(($HeadGirl.balls/4)+($HeadGirl.energy/95)+($HeadGirl.health/95))>>
 	<<if canPenetrate($HeadGirl) && $HeadGirl.pubertyXY == 1>>
 		To maximize the chances of impregnation, she will fuck fertile pussies frequently during the week. $HeadGirl.slaveName can service $HGCum slaves this way.
@@ -85,7 +89,7 @@
 	[[Rescind her impregnation responsibility|HG Select][$universalRulesImpregnation = "none"]] | [[See to it yourself|HG Select][$universalRulesImpregnation = "PC"]]
 <<else>>
 	<<if canPenetrate($HeadGirl) && $HeadGirl.pubertyXY == 1>>
-		<br><br>Your Head Girl is capable of impregnating slaves, but it's not part of her responsibilities. [[Assign her to impregnate|HG Select][$universalRulesImpregnation = "HG"]]
+		<br><br>_HGName is capable of impregnating slaves, but it's not part of her responsibilities. [[Assign her to impregnate|HG Select][$universalRulesImpregnation = "HG"]]
 	<</if>>
 <</if>>
 <</if>>
diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw
index d07f53b1f1d778e3e16bb7a36531bfb8ca95fe70..91b8d66895904f71b3252e80bc47b0c597312251 100644
--- a/src/uncategorized/saLongTermEffects.tw
+++ b/src/uncategorized/saLongTermEffects.tw
@@ -1017,63 +1017,95 @@
 			<<if ($slaves[$i].fetishKnown == 1)>>
 			<<if ($slaves[$i].fetish == "submissive")>>
 				Recently, she's been fantasizing about submitting to big strong men. Her revulsion at the idea of sex with a man @@.green;mellows.@@
-				<<set $slaves[$i].attrXY += 5>>
+				<<set $slaves[$i].attrXY += 3>>
 			<<elseif ($slaves[$i].fetish == "buttslut")>>
 				Recently, she's been reconsidering her reluctance to be sodomized a man. Her revulsion at the idea of sex with a man @@.green;mellows.@@
-				<<set $slaves[$i].attrXY += 5>>
+				<<set $slaves[$i].attrXY += 3>>
 			<<elseif ($slaves[$i].fetish == "pregnancy")>>
 				Recently, she's been fantasizing about getting knocked up. Her revulsion at the idea of sex with a man @@.green;mellows.@@
-				<<set $slaves[$i].attrXY += 5>>
+				<<set $slaves[$i].attrXY += 3>>
 			<</if>>
 			<</if>>
 			<<if ($slaves[$i].sexualQuirk == "adores men")>>
 				She enjoys spending time with men, and starts to @@.green;reconsider her unwillingness to be fucked by men.@@
-				<<set $slaves[$i].attrXY += 5>>
+				<<set $slaves[$i].attrXY += 3>>
 			<</if>>
 			<<if ($slaves[$i].dick > 0)>>
 			<<if ($slaves[$i].energy >= 40)>>
 			<<if ($slaves[$i].analCount > 0)>>
 				Every time she cums with a dick up her ass, her @@.green;resistance to sex with men is worn away.@@
-				<<set $slaves[$i].attrXY += 5>>
+				<<set $slaves[$i].attrXY += 3>>
 			<</if>>
 			<</if>>
 			<</if>>
 			<<if ($slaves[$i].devotion > random(1,100))>>
 				The atmosphere in your arcology is so ubiquitously sexual that she @@.green;reconsiders her unwillingness to have sex with men.@@
-				<<set $slaves[$i].attrXY += 5>>
+				<<set $slaves[$i].attrXY += 3>>
 			<</if>>
 		<<else>>
 			Her weak libido limits natural development of her sexuality.
 		<</if>>
+		<<if $activeSlave.devotion >= -20>>
+		<<if $activeSlave.genes == "XY">>
+			<<set _roll = random(1,5)>>
+			<<switch _roll>>
+			<<case 1>>
+				<<if $slaves[$i].nosePiercing>>
+					She's fascinated by her <<if $slaves[$i].nosePiercing > 1>>slutty nose piercings, and unconsciously thinks of herself as @@.green;prettier and more suited to take dick.@@<<else>>nice little nasal piercing, and feels like @@.green;more of a girly girl.@@<</if>>
+					<<set $slaves[$i].attrXY += 1>>
+				<</if>>
+			<<case 2>>
+				<<if $slaves[$i].eyebrowPiercing>>
+					Her <<if $slaves[$i].eyebrowPiercing > 1>>degrading eyebrow piercings make her feel @@.green;a little less disinclined to accept being on the bottom.@@<<else>>cute eyebrow piercing makes her feel @@.green;a little girlier.@@<</if>>
+					<set $slaves[$i].attrXY += 1>>
+				<</if>>
+			<<case 3>>
+				<<if $slaves[$i].lipsPiercing>>
+					She kind of likes her <<if $slaves[$i].lipsPiercing > 1>>whorish lip ring, and seems @@.green;less disturbed by the idea of her mouth as a fuckhole.@@<<else>>pretty little lip piercing, and feels like @@.green;she has a nice mouth.@@<</if>>
+					<set $slaves[$i].attrXY += 1>>
+				<</if>>
+			<<case 4>>
+				<<if $slaves[$i].navelPiercing>>
+					She sometimes stares at her <<if $slaves[$i].navelPiercing > 1>>navel chain, turning this way and that to make it move, unconsciously @@.green;getting used to her fuckable body.@@<<else>>little feminine navel piercing, and seems to think @@.green;her lower half is kind of pretty.@@<</if>>
+					<set $slaves[$i].attrXY += 1>>
+				<</if>>
+			<<case 5>>
+				<<if $slaves[$i].earPiercing>>
+					Every morning, she's greeted by her girly reflection in the mirror, <<if $slaves[$i].earPiercing > 1>>whose slutty ear piercings make her @@.green;feel more fuckable.@@<<else>>complete with pretty pierced ears @@.green;like a good slave girl.@@<</if>>
+					<set $slaves[$i].attrXY += 1>>
+				<</if>>
+			<</switch>>
+		<</if>>
+		<</if>>
 	<<elseif ($slaves[$i].attrXY <= 65)>>
 		<<if ($slaves[$i].energy >= 40)>>
 			<<if ($slaves[$i].fetishKnown == 1)>>
 			<<if ($slaves[$i].fetish == "submissive")>>
 				She's found herself enjoying watching big strong men use other slaves recently. She's now @@.green;more attracted to men.@@
-				<<set $slaves[$i].attrXY += 5>>
+				<<set $slaves[$i].attrXY += 3>>
 			<<elseif ($slaves[$i].fetish == "buttslut")>>
 				She's started fantasizing about cocks being shoved up her butt even when there are no cocks being shoved up her butt. She's now @@.green;more attracted to men.@@
-				<<set $slaves[$i].attrXY += 5>>
+				<<set $slaves[$i].attrXY += 3>>
 			<<elseif ($slaves[$i].fetish == "pregnancy")>>
 				Her fantasies about pregnancy have become quite vivid; she loves hot cum jetting into her. She's now @@.green;more attracted to men.@@
-				<<set $slaves[$i].attrXY += 5>>
+				<<set $slaves[$i].attrXY += 3>>
 			<</if>>
 			<</if>>
 			<<if ($slaves[$i].behavioralQuirk == "adores men")>>
 				She enjoys spending time with men, and is now @@.green;more attracted to men.@@
-				<<set $slaves[$i].attrXY += 5>>
+				<<set $slaves[$i].attrXY += 3>>
 			<</if>>
 			<<if ($slaves[$i].dick > 0)>>
 			<<if ($slaves[$i].energy >= 60)>>
 			<<if ($slaves[$i].analCount > 0)>>
 				Every time she cums to the feeling of a cock thrusting deep inside her, her @@.green;indifference to men is reduced.@@
-				<<set $slaves[$i].attrXY += 5>>
+				<<set $slaves[$i].attrXY += 3>>
 			<</if>>
 			<</if>>
 			<</if>>
 			<<if ($slaves[$i].devotion > random(1,200))>>
 				The atmosphere in your arcology is so ubiquitously sexual that she has become @@.green;more attracted to men.@@
-				<<set $slaves[$i].attrXY += 5>>
+				<<set $slaves[$i].attrXY += 3>>
 			<</if>>
 		<<else>>
 			Her poor sex drive limits natural development of her sexuality.
@@ -1083,26 +1115,26 @@
 			<<if ($slaves[$i].fetishKnown == 1)>>
 			<<if ($slaves[$i].fetish == "submissive")>>
 				She can no longer see a man without fantasizing about how it would feel if he held her down. She's now @@.green;more aroused by men.@@
-				<<set $slaves[$i].attrXY += 5>>
+				<<set $slaves[$i].attrXY += 3>>
 			<<elseif ($slaves[$i].fetish == "buttslut")>>
 				She can't see a man without doing her best to get his hard cock inside her. She's now @@.green;more aroused by men.@@
-				<<set $slaves[$i].attrXY += 5>>
+				<<set $slaves[$i].attrXY += 3>>
 			<<elseif ($slaves[$i].fetish == "pregnancy")>>
 				She can't see a man without doing her best to get his hot seed into her body. She's now @@.green;more aroused by men.@@
-				<<set $slaves[$i].attrXY += 5>>
+				<<set $slaves[$i].attrXY += 3>>
 			<</if>>
 			<</if>>
 			<<if ($slaves[$i].dick > 0)>>
 			<<if ($slaves[$i].energy >= 80)>>
 			<<if ($slaves[$i].analCount > 0)>>
 				She often starts to climax as a cock begins to push inside her, @@.green;deepening her appetite for men.@@
-				<<set $slaves[$i].attrXY += 5>>
+				<<set $slaves[$i].attrXY += 3>>
 			<</if>>
 			<</if>>
 			<</if>>
 			<<if ($slaves[$i].behavioralQuirk == "adores men")>>
 				She enjoys spending time with men so much that any interaction becomes flirtation; she's now @@.green;more aroused by men.@@
-				<<set $slaves[$i].attrXY += 5>>
+				<<set $slaves[$i].attrXY += 3>>
 			<</if>>
 		<<else>>
 			Her average libido limits further natural development of her sexuality.
@@ -1118,30 +1150,30 @@
 			<<if ($slaves[$i].fetishKnown == 1)>>
 			<<if ($slaves[$i].fetish == "dom")>>
 				Recently, she's been fantasizing about how it would feel to force herself on some of the cute women all around her. Her revulsion at the idea of sex with a woman @@.green;mellows.@@
-				<<set $slaves[$i].attrXX += 5>>
+				<<set $slaves[$i].attrXX += 3>>
 			<<elseif ($slaves[$i].fetish == "sadist")>>
 				Recently, she's been fantasizing about how it would feel to abuse a weak female slave. Her revulsion at the idea of sex with a woman @@.green;mellows.@@
-				<<set $slaves[$i].attrXX += 5>>
+				<<set $slaves[$i].attrXX += 3>>
 			<<elseif ($slaves[$i].fetish == "boobs")>>
 				Recently, she's been fantasizing about other girls' tits. Her revulsion at the idea of sex with a woman @@.green;mellows.@@
-				<<set $slaves[$i].attrXX += 5>>
+				<<set $slaves[$i].attrXX += 3>>
 			<</if>>
 			<</if>>
 			<<if ($slaves[$i].behavioralQuirk == "adores women")>>
 				She enjoys spending time with women, and starts to @@.green;reconsider her unwillingness to have sex with a woman.@@
-				<<set $slaves[$i].attrXX += 5>>
+				<<set $slaves[$i].attrXX += 3>>
 			<</if>>
 			<<if $slaves[$i].canAchieveErection>>
 			<<if ($slaves[$i].energy >= 40)>>
 			<<if ($slaves[$i].penetrativeCount > 0)>>
 				Getting to fuck another girl is rare and special, and she @@.green;starts to value getting to have sex with women.@@
-				<<set $slaves[$i].attrXY += 5>>
+				<<set $slaves[$i].attrXY += 3>>
 			<</if>>
 			<</if>>
 			<</if>>
 			<<if ($slaves[$i].devotion > random(1,100))>>
 				The atmosphere in your arcology is so ubiquitously sexual that she @@.green;reconsiders her unwillingness to have sex with women.@@
-				<<set $slaves[$i].attrXX += 5>>
+				<<set $slaves[$i].attrXX += 3>>
 			<</if>>
 		<<else>>
 			<<if ($slaves[$i].attrXX > 35)>>Her weak libido limits natural development of her sexuality.<</if>>
@@ -1151,30 +1183,30 @@
 			<<if ($slaves[$i].fetishKnown == 1)>>
 			<<if ($slaves[$i].fetish == "dom")>>
 				She's found herself enjoying the sight of female slaves being forced to fuck recently. She's now @@.green;more attracted to women.@@
-				<<set $slaves[$i].attrXX += 5>>
+				<<set $slaves[$i].attrXX += 3>>
 			<<elseif ($slaves[$i].fetish == "sadist")>>
 				She's started fantasizing about how a girl might feel, struggling to get away from her. She's now @@.green;more attracted to women.@@
-				<<set $slaves[$i].attrXX += 5>>
+				<<set $slaves[$i].attrXX += 3>>
 			<<elseif ($slaves[$i].fetish == "boobs")>>
 				Her fantasies about boobs have become quite vivid. She's now @@.green;more attracted to women.@@
-				<<set $slaves[$i].attrXX += 5>>
+				<<set $slaves[$i].attrXX += 3>>
 			<</if>>
 			<</if>>
 			<<if ($slaves[$i].behavioralQuirk == "adores women")>>
 				She enjoys spending time with women, and is now @@.green;more attracted to women.@@
-				<<set $slaves[$i].attrXX += 5>>
+				<<set $slaves[$i].attrXX += 3>>
 			<</if>>
 			<<if $slaves[$i].canAchieveErection>>
 			<<if ($slaves[$i].energy >= 60)>>
 			<<if ($slaves[$i].penetrativeCount > 0)>>
 				@@.green;Her indifference to women@@ is worn down on the special occasions that she's allowed to stick her dick in one.
-				<<set $slaves[$i].attrXY += 5>>
+				<<set $slaves[$i].attrXY += 3>>
 			<</if>>
 			<</if>>
 			<</if>>
 			<<if ($slaves[$i].devotion > random(1,200))>>
 				The atmosphere in your arcology is so ubiquitously sexual that she has become @@.green;more attracted to women.@@
-				<<set $slaves[$i].attrXX += 5>>
+				<<set $slaves[$i].attrXX += 3>>
 			<</if>>
 		<<else>>
 			<<if ($slaves[$i].attrXX > 65)>>Her poor sex drive limits natural development of her sexuality.<</if>>
@@ -1184,24 +1216,24 @@
 			<<if ($slaves[$i].fetishKnown == 1)>>
 			<<if ($slaves[$i].fetish == "dom")>>
 				She can't see a woman without plotting to dominate her. She's now @@.green;more aroused by women.@@
-				<<set $slaves[$i].attrXX += 5>>
+				<<set $slaves[$i].attrXX += 3>>
 			<<elseif ($slaves[$i].fetish == "sadist")>>
 				She can't see a woman without doing her best to find a way the rules will allow her to abuse the poor girl. She's now @@.green;more aroused by women.@@
-				<<set $slaves[$i].attrXX += 5>>
+				<<set $slaves[$i].attrXX += 3>>
 			<<elseif ($slaves[$i].fetish == "boobs")>>
 				She can't see a woman without doing her best to get her hands on her breasts. She's now @@.green;more aroused by women.@@
-				<<set $slaves[$i].attrXX += 5>>
+				<<set $slaves[$i].attrXX += 3>>
 			<</if>>
 			<</if>>
 			<<if ($slaves[$i].behavioralQuirk == "adores women")>>
 				She enjoys spending time with women so much that any interaction becomes flirtation; she's now @@.green;more aroused by women.@@
-				<<set $slaves[$i].attrXX += 5>>
+				<<set $slaves[$i].attrXX += 3>>
 			<</if>>
 			<<if $slaves[$i].canAchieveErection>>
 			<<if ($slaves[$i].energy >= 80)>>
 			<<if ($slaves[$i].penetrativeCount > 0)>>
 				She cherishes the special occasions on which she gets to cum inside a girl, @@.green;building her appetite for women.@@
-				<<set $slaves[$i].attrXY += 5>>
+				<<set $slaves[$i].attrXY += 3>>
 			<</if>>
 			<</if>>
 			<</if>>
@@ -1218,15 +1250,15 @@
 		<<if ($slaves[$i].attrXX < 100)>>
 			<<if ($slaves[$i].attrXY < 100)>>
 				Her nymphomania has a slow but inexorable impact on her sexuality, @@.green;increasing her attraction to everyone.@@
-				<<set $slaves[$i].attrXY += 5>>
-				<<set $slaves[$i].attrXX += 5>>
+				<<set $slaves[$i].attrXY += 3>>
+				<<set $slaves[$i].attrXX += 3>>
 			<<else>>
 				Her nymphomania has a slow but inexorable impact on her sexuality, @@.green;increasing her lust for pussy,@@ since she's already crazy about guys.
-				<<set $slaves[$i].attrXX += 5>>
+				<<set $slaves[$i].attrXX += 3>>
 			<</if>>
 		<<elseif ($slaves[$i].attrXY < 100)>>
 			Her nymphomania has a slow but inexorable impact on her sexuality, @@.green;increasing her need for cock,@@ since she's already crazy about the ladies.
-			<<set $slaves[$i].attrXY += 5>>
+			<<set $slaves[$i].attrXY += 3>>
 		<</if>>
 	<</if>>
 <</if>>
@@ -1711,29 +1743,38 @@
 <<if $slaves[$i].fetishStrength+$slaves[$i].devotion+$slaves[$i].trust > random(1,500)>>
 <<if ($slaves[$i].sexualQuirk == "none")>>
 	<<if ($slaves[$i].sexualFlaw == "hates anal")>>
-	<<if ($slaves[$i].fetish == "buttslut")>>
-		Her sexual fascination with things entering her asshole @@.green;softens her hatred of anal into an appetite for anal pain.@@
-		<<set $slaves[$i].sexualQuirk = "painal queen", $slaves[$i].sexualFlaw = "none">>
-	<<elseif ($slaves[$i].energy > 95)>>
-		As a nymphomaniac she appreciates kinky sex, so she @@.green;softens her hatred of anal into an appetite for anal pain.@@
-		<<set $slaves[$i].sexualQuirk = "painal queen", $slaves[$i].sexualFlaw = "none">>
-	<</if>>
+		<<if $slaves[$i].anusPiercing>>
+			The constant stimulation her guiche piercings give her most inimate areas helps her with her anal hangups, @@.green;softening her hatred of anal into an appetite for anal pain.@@ She still struggles if she's fucked in the ass, but she gets off on it anyway.
+			<<set $slaves[$i].sexualQuirk = "painal queen", $slaves[$i].sexualFlaw = "none">>
+		<<elseif ($slaves[$i].fetish == "buttslut")>>
+			Her sexual fascination with things entering her asshole @@.green;softens her hatred of anal into an appetite for anal pain.@@ She still struggles if she's fucked in the ass, but she gets off on it anyway.
+			<<set $slaves[$i].sexualQuirk = "painal queen", $slaves[$i].sexualFlaw = "none">>
+		<<elseif ($slaves[$i].energy > 95)>>
+			As a nymphomaniac she appreciates kinky sex, so she @@.green;softens her hatred of anal into an appetite for anal pain.@@ She still struggles if she's fucked in the ass, but she gets off on it anyway.
+			<<set $slaves[$i].sexualQuirk = "painal queen", $slaves[$i].sexualFlaw = "none">>
+		<</if>>
 	<<elseif ($slaves[$i].sexualFlaw == "hates oral")>>
-	<<if ($slaves[$i].fetish == "cumslut")>>
-		She can't get her beloved cum without choking down dick, so she @@.green;softens her hatred of oral into a willingness to be roughly throatfucked.@@
-		<<set $slaves[$i].sexualQuirk = "gagfuck queen", $slaves[$i].sexualFlaw = "none">>
-	<<elseif ($slaves[$i].energy > 95)>>
-		She needs sex so much she often has to encourage her partners orally, so she @@.green;softens her hatred of oral into a willingness to be roughly throatfucked.@@
-		<<set $slaves[$i].sexualQuirk = "gagfuck queen", $slaves[$i].sexualFlaw = "none">>
-	<</if>>
+		<<if $slaves[$i].tonguePiercing>>
+			She can't stop sucking on her tongue piercings, and she gets over her oral hangups, @@.green;softening her hatred of oral into a willingness to be roughly throatfucked.@@ She still gags, but it's a good gagging, now.
+			<<set $slaves[$i].sexualQuirk = "gagfuck queen", $slaves[$i].sexualFlaw = "none">>
+		<<elseif ($slaves[$i].fetish == "cumslut")>>
+			She can't get her beloved cum without choking down dick, so she @@.green;softens her hatred of oral into a willingness to be roughly throatfucked.@@ She still gags, but it's a good gagging, now.
+			<<set $slaves[$i].sexualQuirk = "gagfuck queen", $slaves[$i].sexualFlaw = "none">>
+		<<elseif ($slaves[$i].energy > 95)>>
+			She needs sex so much she often has to encourage her partners orally, so she @@.green;softens her hatred of oral into a willingness to be roughly throatfucked.@@ She still gags, but it's a good gagging, now.
+			<<set $slaves[$i].sexualQuirk = "gagfuck queen", $slaves[$i].sexualFlaw = "none">>
+		<</if>>
 	<<elseif ($slaves[$i].sexualFlaw == "hates penetration")>>
-	<<if ($slaves[$i].fetish == "buttslut")>>
-		Her sexual fascination with anal penetration @@.green;softens her hatred of penetration into an appetite for abusive sex.@@
-		<<set $slaves[$i].sexualQuirk = "strugglefuck queen", $slaves[$i].sexualFlaw = "none">>
-	<<elseif ($slaves[$i].energy > 95)>>
-		As a nymphomaniac she appreciates kinky sex, so she @@.green;softens her hatred of penetration into an appetite for abusive intercourse.@@
-		<<set $slaves[$i].sexualQuirk = "strugglefuck queen", $slaves[$i].sexualFlaw = "none">>
-	<</if>>
+		<<if $slaves[$i].vaginaPiercing>>
+			Her pussy piercings get her used to the idea that it's a fuckhole, not her precious womanhood, @@.green;softening her hatred of penetration into an appetite for abusive sex.@@ She still cries, but she climaxes as she cries.
+			<<set $slaves[$i].sexualQuirk = "strugglefuck queen", $slaves[$i].sexualFlaw = "none">>
+		<<elseif ($slaves[$i].fetish == "buttslut")>>
+			Her sexual fascination with anal penetration @@.green;softens her hatred of penetration into an appetite for abusive sex.@@ She still cries, but she climaxes as she cries.
+			<<set $slaves[$i].sexualQuirk = "strugglefuck queen", $slaves[$i].sexualFlaw = "none">>
+		<<elseif ($slaves[$i].energy > 95)>>
+			As a nymphomaniac she appreciates kinky sex, so she @@.green;softens her hatred of penetration into an appetite for abusive intercourse.@@ She still cries, but she climaxes as she cries.
+			<<set $slaves[$i].sexualQuirk = "strugglefuck queen", $slaves[$i].sexualFlaw = "none">>
+		<</if>>
 	<<elseif ($slaves[$i].sexualFlaw == "apathetic")>>
 	<<if ($slaves[$i].fetish == "submissive")>>
 		Her subconscious drive to submit @@.green;softens her sexual apathy into constant care for her partners' wants.@@
@@ -1788,29 +1829,38 @@
 	<</if>>
 <<else>>
 	<<if ($slaves[$i].sexualFlaw == "hates anal")>>
-	<<if ($slaves[$i].fetish == "buttslut")>>
-		Her sexual fascination with things entering her asshole overcomes her professed hatred of anal, so @@.green;her previous hesitations about buttsex vanish.@@
-		<<set $slaves[$i].sexualFlaw = "none">>
-	<<elseif ($slaves[$i].energy > 95)>>
-		As a nymphomaniac she doesn't really care which hole she's getting fucked in, so @@.green;her previous hesitations about buttsex vanish.@@
-		<<set $slaves[$i].sexualFlaw = "none">>
-	<</if>>
+		<<if $slaves[$i].anusPiercing>>
+			The constant stimulation her guiche piercings give her most inimate areas helps her with her anal hangups, so @@.green;her previous hesitations about buttsex vanish.@@
+			<<set $slaves[$i].sexualFlaw = "none">>
+		<<elseif ($slaves[$i].fetish == "buttslut")>>
+			Her sexual fascination with things entering her asshole overcomes her professed hatred of anal, so @@.green;her previous hesitations about buttsex vanish.@@
+			<<set $slaves[$i].sexualFlaw = "none">>
+		<<elseif ($slaves[$i].energy > 95)>>
+			As a nymphomaniac she doesn't really care which hole she's getting fucked in, so @@.green;her previous hesitations about buttsex vanish.@@
+			<<set $slaves[$i].sexualFlaw = "none">>
+		<</if>>
 	<<elseif ($slaves[$i].sexualFlaw == "hates oral")>>
-	<<if ($slaves[$i].fetish == "cumslut")>>
-		She can't get her beloved cum without sucking, so @@.green;she forcibly overcomes her strong gag reflex.@@
-		<<set $slaves[$i].sexualFlaw = "none">>
-	<<elseif ($slaves[$i].energy > 95)>>
-		She needs sex so much she often has to encourage her partners orally, so @@.green;she forcibly overcomes her strong gag reflex.@@
-		<<set $slaves[$i].sexualFlaw = "none">>
-	<</if>>
+		<<if $slaves[$i].tonguePiercing>>
+			She can't stop sucking on her tongue piercings, so @@.green;she gets over her oral hangups.@@
+			<<set $slaves[$i].sexualFlaw = "none">>
+		<<elseif ($slaves[$i].fetish == "cumslut")>>
+			She can't get her beloved cum without sucking, so @@.green;she forcibly overcomes her strong gag reflex.@@
+			<<set $slaves[$i].sexualFlaw = "none">>
+		<<elseif ($slaves[$i].energy > 95)>>
+			She needs sex so much she often has to encourage her partners orally, so @@.green;she forcibly overcomes her strong gag reflex.@@
+			<<set $slaves[$i].sexualFlaw = "none">>
+		<</if>>
 	<<elseif ($slaves[$i].sexualFlaw == "hates penetration")>>
-	<<if ($slaves[$i].fetish == "buttslut")>>
-		She's fascinated with the perversity of being anally penetrated, so @@.green;her previous hesitations about getting fucked vanish.@@
-		<<set $slaves[$i].sexualFlaw = "none">>
-	<<elseif ($slaves[$i].energy > 95)>>
-		She needs sex like she needs air, so @@.green;her previous hesitations about getting fucked vanish.@@
-		<<set $slaves[$i].sexualFlaw = "none">>
-	<</if>>
+		<<if $slaves[$i].vaginaPiercing>>
+			Her pussy piercings get her used to the idea that it's a fuckhole, not her precious womanhood, so @@.green;her previous hesitations about getting fucked vanish.@@
+			<<set $slaves[$i].sexualFlaw = "none">>
+		<<elseif ($slaves[$i].fetish == "buttslut")>>
+			She's fascinated with the perversity of being anally penetrated, so @@.green;her previous hesitations about getting fucked vanish.@@
+			<<set $slaves[$i].sexualFlaw = "none">>
+		<<elseif ($slaves[$i].energy > 95)>>
+			She needs sex like she needs air, so @@.green;her previous hesitations about getting fucked vanish.@@
+			<<set $slaves[$i].sexualFlaw = "none">>
+		<</if>>
 	<<elseif ($slaves[$i].sexualFlaw == "apathetic")>>
 	<<if ($slaves[$i].fetish == "dom")>>
 		She likes being on top so much @@.green;she can no longer bear being lazy in bed.@@
@@ -3342,10 +3392,10 @@
 			<<set $slaves[$i].trust += 1>>
 		<<case "MaleAttracted">>
 			Dependence on the hormone-based aphrodisiacs makes $object become @@.green;more attracted to men.@@
-			<<set $slaves[$i].attrXY += 5>>
+			<<set $slaves[$i].attrXY += 3>>
 		<<case "FemaleAttracted">>
 			Dependence on the hormone-based aphrodisiacs makes $object become @@.green;more attracted to women.@@
-			<<set $slaves[$i].attrXX += 5>>
+			<<set $slaves[$i].attrXX += 3>>
 		<<default>>
 			ERROR: bad aphro addict effect: _Effects
 		<</switch>>
@@ -3591,7 +3641,7 @@
 
 <<if ($slaves[$i].preg > 0)>> /*EFFECTS OF PREGNANCY*/
 
-	<<if $slaves[$i].preg == 4>>
+	<<if $slaves[$i].preg == 5>>
 		<<if $slaves[$i].pregSource == -1>>
 			<<set $PC.slavesKnockedUp++>>
 		<<elseif $slaves[$i].pregSource > 0>>
diff --git a/src/uncategorized/saRivalries.tw b/src/uncategorized/saRivalries.tw
index 86f3dc017610197eb4d130b848045bf5e04a2a18..2c80e20283179685502ca1129e8847239d906169 100644
--- a/src/uncategorized/saRivalries.tw
+++ b/src/uncategorized/saRivalries.tw
@@ -1,29 +1,107 @@
 :: SA rivalries [nobr]
 
-<<if $slaves[$i].fuckdoll == 0>>
 <<set _SL = $slaves.length>>
+
 <<if $slaves[$i].rivalry == 0>>
 
+<<if $slaves[$i].fuckdoll == 0>>
 <<if $slaves[$i].fetish != "mindbroken">>
-	<<if $slaves[$i].behavioralFlaw == "none">>
-		<<set _seed = random(1,100)>>
-	<<else>>
-		<<set _seed = random(1,110)>>
-	<</if>>
-	<<if _seed > 90>>
+<<if $slaves[$i].assignment != "stay confined">>
+<<if $slaves[$i].assignment != "be confined in the arcade">>
+<<if $slaves[$i].devotion < random(20,100)>>
+<<if $slaves[$i].trust > random(-100,-20)>>
 	<<for _j = 0; _j < _SL; _j++>>
-		<<if $slaves[_j].assignment == $slaves[$i].assignment>>
 		<<if $slaves[_j].ID != $slaves[$i].ID>>
-		<<if $slaves[_j].assignment != "stay confined">>
-		<<if $slaves[_j].assignment != "be confined in the arcade">>
-		<<if ($slaves[_j].rivalry == 0)>>
-		<<if ($slaves[$i].relationshipTarget != $slaves[_j].ID)>>
-		<<if random(-100,100) > ($slaves[_j].devotion+$slaves[$i].devotion)>>
-			$slaves[$i].slaveName and $slaves[_j].slaveName see too much of each other and @@.lightsalmon;start to dislike each other.@@
-			<<set $slaves[_j].rivalry = 1, $slaves[_j].rivalryTarget = $slaves[$i].ID>>
-			<<set $slaves[$i].rivalry = 1, $slaves[$i].rivalryTarget = $slaves[_j].ID>>
-			<<break>>
-		<</if>>
+		<<if $slaves[_j].rivalry == 0>>
+		<<if $slaves[_j].fetish != "mindbroken">>
+		<<if $slaves[_j].ID != $slaves[$i].relationshipTarget>>
+		<<if $slaves[_j].devotion < random(20,100)>>
+		<<if $slaves[_j].trust > random(-100,-20)>>
+			<<if $slaves[$i].behavioralFlaw != "none">>
+				<<switch $slaves[$i].behavioralFlaw>>
+				<<case "arrogant">>
+					<<if $slaves[_j].intelligence > $slaves[$i].intelligence>>
+						$slaves[$i].slaveName is an arrogant bitch, and <<SlaveFullName $slaves[_j]>> is authentically smarter than she is, which of course she cannot stand. @@.lightsalmon;They start to dislike each other.@@
+						<<set $slaves[_j].rivalry = 1, $slaves[$i].rivalry = 1, $slaves[_j].rivalryTarget = $slaves[$i].ID, $slaves[$i].rivalryTarget = $slaves[_j].ID>>
+						<<break>>
+					<</if>>
+				<<case "bitchy">>
+					<<if $slaves[_j].behavioralFlaw == "odd">>
+						$slaves[$i].slaveName is a bit of a bitch, and poor odd <<SlaveFullName $slaves[_j]>> is a convenient target for her bullying. @@.lightsalmon;They start to dislike each other.@@
+						<<set $slaves[_j].rivalry = 1, $slaves[$i].rivalry = 1, $slaves[_j].rivalryTarget = $slaves[$i].ID, $slaves[$i].rivalryTarget = $slaves[_j].ID>>
+						<<break>>
+					<</if>>
+				<<case "odd">>
+					<<if $slaves[_j].behavioralFlaw == "bitchy">>
+						$slaves[$i].slaveName is rather strange. <<SlaveFullName $slaves[_j]>>, who is kind of a bitch, frequently bullies her about it. @@.lightsalmon;They start to dislike each other.@@
+						<<set $slaves[_j].rivalry = 1, $slaves[$i].rivalry = 1, $slaves[_j].rivalryTarget = $slaves[$i].ID, $slaves[$i].rivalryTarget = $slaves[_j].ID>>
+						<<break>>
+					<</if>>
+				<<case "hates men">>
+					<<if $slaves[_j].attrXX > 35>>
+					<<if $slaves[_j].faceShape == "masculine" || $slaves[_j].faceShape == "androgynous" >>
+					<<if $slaves[_j].muscles > 10>>
+					<<if $slaves[_j].vagina > -1>>
+						$slaves[$i].slaveName hates men, and poor butch <<SlaveFullName $slaves[_j]>> really gets to her, despite having a pussy and everything. @@.lightsalmon;They start to dislike each other.@@
+						<<set $slaves[_j].rivalry = 1, $slaves[$i].rivalry = 1, $slaves[_j].rivalryTarget = $slaves[$i].ID, $slaves[$i].rivalryTarget = $slaves[_j].ID>>
+						<<break>>
+					<<else>>
+						$slaves[$i].slaveName hates men, and poor masculine <<SlaveFullName $slaves[_j]>> really gets to her. @@.lightsalmon;They start to dislike each other.@@
+						<<set $slaves[_j].rivalry = 1, $slaves[$i].rivalry = 1, $slaves[_j].rivalryTarget = $slaves[$i].ID, $slaves[$i].rivalryTarget = $slaves[_j].ID>>
+						<<break>>
+					<</if>>
+					<</if>>
+					<</if>>
+					<</if>>
+				<<case "hates women">>
+					<<if $slaves[_j].attrXY > 35>>
+					<<if $slaves[_j].faceShape != "masculine">>
+					<<if $slaves[_j].muscles <= 30>>
+					<<if $slaves[_j].vagina > -1>>
+						$slaves[$i].slaveName hates women, and something about the feminine <<SlaveFullName $slaves[_j]>> really gets to her. @@.lightsalmon;They start to dislike each other.@@
+						<<set $slaves[_j].rivalry = 1, $slaves[$i].rivalry = 1, $slaves[_j].rivalryTarget = $slaves[$i].ID, $slaves[$i].rivalryTarget = $slaves[_j].ID>>
+						<<break>>
+					<<else>>
+						$slaves[$i].slaveName hates women, and something about the girly <<SlaveFullName $slaves[_j]>> really gets to her, despite poor $slaves[_j].slaveName not being perfectly female at all. @@.lightsalmon;They start to dislike each other.@@
+						<<set $slaves[_j].rivalry = 1, $slaves[$i].rivalry = 1, $slaves[_j].rivalryTarget = $slaves[$i].ID, $slaves[$i].rivalryTarget = $slaves[_j].ID>>
+						<<break>>
+					<</if>>
+					<</if>>
+					<</if>>
+					<</if>>
+				<<case "gluttonous">>
+					<<if $slaves[_j].behavioralFlaw == "anorexic">>
+						$slaves[$i].slaveName, who loves food, can't stand <<SlaveFullName $slaves[_j]>>'s prissy anorexia. @@.lightsalmon;They start to dislike each other.@@
+						<<set $slaves[_j].rivalry = 1, $slaves[$i].rivalry = 1, $slaves[_j].rivalryTarget = $slaves[$i].ID, $slaves[$i].rivalryTarget = $slaves[_j].ID>>
+						<<break>>
+					<</if>>
+				<<case "anorexic">>
+					<<if $slaves[_j].behavioralFlaw == "gluttonous">>
+						$slaves[$i].slaveName, an anorexic, can't stand <<SlaveFullName $slaves[_j]>>'s disgusting gluttony. @@.lightsalmon;They start to dislike each other.@@
+						<<set $slaves[_j].rivalry = 1, $slaves[$i].rivalry = 1, $slaves[_j].rivalryTarget = $slaves[$i].ID, $slaves[$i].rivalryTarget = $slaves[_j].ID>>
+						<<break>>
+					<</if>>
+				<<case "devout">>
+					<<if $slaves[_j].behavioralFlaw == "anorexic">>
+						$slaves[$i].slaveName, who is devout and might be considered rather conservative if she were free, can't stand <<SlaveFullName $slaves[_j]>>'s revolting gender liberation. @@.lightsalmon;They start to dislike each other.@@
+						<<set $slaves[_j].rivalry = 1, $slaves[$i].rivalry = 1, $slaves[_j].rivalryTarget = $slaves[$i].ID, $slaves[$i].rivalryTarget = $slaves[_j].ID>>
+						<<break>>
+					<</if>>
+				<<case "liberated">>
+					<<if $slaves[_j].behavioralFlaw == "devout">>
+						$slaves[$i].slaveName, who is liberated and might be considered rather liberal if she were free, can't stand <<SlaveFullName $slaves[_j]>>'s bigoted religious faith. @@.lightsalmon;They start to dislike each other.@@
+						<<set $slaves[_j].rivalry = 1, $slaves[$i].rivalry = 1, $slaves[_j].rivalryTarget = $slaves[$i].ID, $slaves[$i].rivalryTarget = $slaves[_j].ID>>
+						<<break>>
+					<</if>>
+				<</switch>>
+			<</if>>
+			<<if $slaves[_j].assignment == $slaves[$i].assignment>>
+			<<if random(0,1) == 1>>
+				$slaves[$i].slaveName and <<SlaveFullName $slaves[_j]>> see too much of each other while they $slaves[_j].assignment and @@.lightsalmon;start to dislike each other.@@
+				<<set $slaves[_j].rivalry = 1, $slaves[$i].rivalry = 1, $slaves[_j].rivalryTarget = $slaves[$i].ID, $slaves[$i].rivalryTarget = $slaves[_j].ID>>
+				<<break>>
+			<</if>>
+			<</if>>
 		<</if>>
 		<</if>>
 		<</if>>
@@ -31,84 +109,132 @@
 		<</if>>
 		<</if>>
 	<</for>>
-	<</if>>
 <</if>>
-
-<<else>>
-<<set _SlaveJ = null>>
-<<for _j = 0; _j < _SL; _j++>>
-<<if $slaves[_j].ID == $slaves[$i].rivalryTarget>>
-	<<set _SlaveJ = $slaves[_j]>>
-	<<break>>
 <</if>>
-<</for>>
-
-<<if _SlaveJ != null>>
+<</if>>
+<</if>>
+<</if>>
+<</if>>
 
-<<if $slaves[$i].fetish == "mindbroken">>
-	Since she is mindbroken, she @@.lightsalmon;can't really maintain@@ any meaningful rivalry with _SlaveJ.slaveName.
-	<<set _SlaveJ.rivalry = 0,_SlaveJ.rivalryTarget = 0>>
-	<<set $slaves[$i].rivalry = 0, $slaves[$i].rivalryTarget = 0>>
 <<else>>
 
-<<if (random(1,100) > 70)>>
-	<<if (_SlaveJ.assignment != $slaves[$i].assignment) && ($slaves[$i].subTarget != _SlaveJ.ID) && (_SlaveJ.subTarget != $slaves[$i].ID)>>
-		With time apart $slaves[$i].slaveName and _SlaveJ.slaveName @@.lightgreen;dislike each other less.@@
-		<<set _SlaveJ.rivalry -= 1, $slaves[$i].rivalry -= 1>>
-	<<elseif (_SlaveJ.fetish == $slaves[$i].fetish) && (_SlaveJ.fetishKnown == 1) && ($slaves[$i].fetishKnown == 1)>>
-		$slaves[$i].slaveName and _SlaveJ.slaveName share sexual interests, and in the sexual atmosphere of the arcology, it's @@.lightgreen;difficult for them to keep up their dislike@@ of one another with the mutual attraction.
-		<<set _SlaveJ.rivalry -= 1, $slaves[$i].rivalry -= 1>>
-	<<elseif (_SlaveJ.devotion > 50) && ($slaves[$i].devotion > 50)>>
-		Since both $slaves[$i].slaveName and _SlaveJ.slaveName are devoted to you, they work together to @@.lightgreen;get over their feud,@@ since it gets in the way of their duties.
-		<<set _SlaveJ.rivalry -= 1, $slaves[$i].rivalry -= 1>>
-	<<elseif (_SlaveJ.trust < -20) && ($slaves[$i].devotion < -20)>>
-		Since both $slaves[$i].slaveName and _SlaveJ.slaveName are terrified of you, they work together to @@.lightgreen;get over their feud,@@ since it brings punishment on both of them.
-		<<set _SlaveJ.rivalry -= 1, $slaves[$i].rivalry -= 1>>
-	<<elseif (_SlaveJ.ID == $slaves[$i].relationshipTarget) && ($slaves[$i].relationship > 3)>>
-		<<set _SlaveJ.rivalry = 0, _SlaveJ.rivalryTarget = 0>>
-		<<set $slaves[$i].rivalry = 0, $slaves[$i].rivalryTarget = 0>>
-	<<elseif (random(1,100) > 70)>>
-		$slaves[$i].slaveName and _SlaveJ.slaveName's @@.lightgreen;feud dissipates a little.@@
-		<<set _SlaveJ.rivalry -= 1, $slaves[$i].rivalry -= 1>>
+<<for _j = 0; _j < _SL; _j++>>
+<<if $slaves[_j].ID == $slaves[$i].rivalryTarget>>
+	<<if $slaves[$i].fuckdoll>>
+		$slaves[$i].slaveName is a living sex toy, not a person, it @@.lightsalmon;can't really maintain any meaningful rivalry@@ with <<SlaveFullName $slaves[_j]>>.
+		<<set $slaves[_j].rivalry = 0,$slaves[_j].rivalryTarget = 0, $slaves[$i].rivalry = 0, $slaves[$i].rivalryTarget = 0>>
+		<<break>>
+	<</if>>
+	<<if $slaves[$i].fetish == "mindbroken">>
+		Since $slaves[$i].slaveName is mindbroken, she @@.lightsalmon;can't really maintain any meaningful rivalry@@ with <<SlaveFullName $slaves[_j]>>.
+		<<set $slaves[_j].rivalry = 0,$slaves[_j].rivalryTarget = 0, $slaves[$i].rivalry = 0, $slaves[$i].rivalryTarget = 0>>
+		<<break>>
+	<</if>>
+	<<set _roll = random(0,100)>>	
+	<<if _roll > 50>>
+		<<if $slaves[_j].fetish == $slaves[$i].fetish>>
+		<<if $slaves[_j].fetishKnown>>
+		<<if $slaves[$i].fetishKnown>>
+			$slaves[$i].slaveName and <<SlaveFullName $slaves[_j]>> share sexual interests, and in the sexual atmosphere of the arcology, it's @@.lightgreen;difficult for them to keep up their dislike@@ of one another with the mutual attraction.
+			<<set $slaves[_j].rivalry -= 1, $slaves[$i].rivalry -= 1>>
+			<<break>>
+		<</if>>
+		<</if>>
+		<</if>>
+		<<if $slaves[_j].ID == $slaves[$i].relationshipTarget>>
+		<<if $slaves[$i].relationship > 3>>
+			<<set $slaves[_j].rivalry = 0, $slaves[_j].rivalryTarget = 0>>
+			<<set $slaves[$i].rivalry = 0, $slaves[$i].rivalryTarget = 0>>
+			<<break>>
+		<</if>>
+		<</if>>
+	<<if _roll > 80>>
+		<<if $slaves[_j].trust < -20>>
+		<<if $slaves[$i].trust < -20>>
+			Since both $slaves[$i].slaveName and <<SlaveFullName $slaves[_j]>> are terrified of you, they work together to @@.lightgreen;get over their feud,@@ since it brings punishment on both of them.
+			<<set $slaves[_j].rivalry -= 1, $slaves[$i].rivalry -= 1>>
+			<<break>>
+		<</if>>
+		<</if>>
+		<<if $slaves[_j].devotion > 50>>
+		<<if $slaves[$i].devotion > 50>>
+			Since both $slaves[$i].slaveName and <<SlaveFullName $slaves[_j]>> are devoted to you, they work together to @@.lightgreen;get over their feud,@@ since it gets in the way of their duties.
+			<<set $slaves[_j].rivalry -= 1, $slaves[$i].rivalry -= 1>>
+			<<break>>
+		<</if>>
+		<</if>>
+	<<if _roll > 90>>
+		<<if $slaves[$i].energy > 95>>
+			$slaves[$i].slaveName lusts after <<SlaveFullName $slaves[_j]>>, and does everything she can to @@.lightgreen;patch up their differences.@@
+			<<set $slaves[_j].rivalry -= 1, $slaves[$i].rivalry -= 1>>
+			<<break>>
+		<</if>>
+		<<if $slaves[$i].attrXX > 85>>
+		<<if ($slaves[_j].vagina > -1) || ($slaves[_j].faceShape != "masculine")>>
+			$slaves[$i].slaveName lusts after <<SlaveFullName $slaves[_j]>>, and does everything she can to @@.lightgreen;patch up their differences.@@
+			<<set $slaves[_j].rivalry -= 1, $slaves[$i].rivalry -= 1>>
+			<<break>>
+		<</if>>
+		<</if>>
+		<<if $slaves[$i].attrXY > 85>>
+		<<if ($slaves[_j].balls > 0) || ($slaves[_j].faceShape == "masculine")>>
+			$slaves[$i].slaveName lusts after <<SlaveFullName $slaves[_j]>>, and does everything she can to @@.lightgreen;patch up their differences.@@
+			<<set $slaves[_j].rivalry -= 1, $slaves[$i].rivalry -= 1>>
+			<<break>>
+		<</if>>
+		<</if>>
+		<<if $slaves[_j].assignment != $slaves[$i].assignment>>
+		<<if $slaves[$i].subTarget != $slaves[_j].ID>>
+		<<if $slaves[_j].subTarget != $slaves[$i].ID>>
+			With time apart $slaves[$i].slaveName and <<SlaveFullName $slaves[_j]>> @@.lightgreen;dislike each other less.@@
+			<<set $slaves[_j].rivalry -= 1, $slaves[$i].rivalry -= 1>>
+			<<break>>
+		<</if>>
+		<</if>>
+		<</if>>
 	<</if>>
-<<elseif $familyTesting == 1 && ($slaves[$i].mother == _SlaveJ.ID || $slaves[$i].father == _SlaveJ.ID || _SlaveJ.mother == $slaves[$i].ID || _SlaveJ.father == $slaves[$i].ID || areSisters($slaves[$i], _SlaveJ)) && (random(1,100) > 80)>>
-		$slaves[$i].slaveName and _SlaveJ.slaveName @@.lightsalmon;pursue their family rivalry.@@
-		<<set _SlaveJ.rivalry -= 1, $slaves[$i].rivalry -= 1>>
-<<elseif ($slaves[$i].relation != 0) && ($slaves[$i].relationTarget == $slaves[$i].rivalryTarget) && (random(1,100) > 80)>>
-	$slaves[$i].slaveName and _SlaveJ.slaveName @@.lightsalmon;pursue their family rivalry.@@
-	<<set _SlaveJ.rivalry += 1, $slaves[$i].rivalry += 1>>
-<<elseif $familyTesting == 1 && ($slaves[$i].mother == _SlaveJ.ID || $slaves[$i].father == _SlaveJ.ID || _SlaveJ.mother == $slaves[$i].ID || _SlaveJ.father == $slaves[$i].ID || areSisters($slaves[$i], _SlaveJ)) > 0 && (random(1,100) > 80)>>
-		$slaves[$i].slaveName and _SlaveJ.slaveName @@.lightgreen;patch up their family relationship.@@
-		<<set _SlaveJ.rivalry -= 1, $slaves[$i].rivalry -= 1>>
-<<elseif ($slaves[$i].relation != 0) && ($slaves[$i].relationTarget == $slaves[$i].rivalryTarget) && (random(1,100) > 80)>>
-	$slaves[$i].slaveName and _SlaveJ.slaveName @@.lightgreen;patch up their family relationship.@@
-	<<set _SlaveJ.rivalry -= 1, $slaves[$i].rivalry -= 1>>
-<<elseif ($slaves[$i].energy > 95) && (random(1,100) > 60)>>
-	$slaves[$i].slaveName lusts after _SlaveJ.slaveName, and does everything she can to @@.lightgreen;patch up their differences.@@
-	<<set _SlaveJ.rivalry -= 1, $slaves[$i].rivalry -= 1>>
-<<elseif ($slaves[$i].attrXX > 85) && (random(1,100) > 70)>>
-	<<if (_SlaveJ.vagina > -1) || (_SlaveJ.faceShape != "masculine")>>
-		$slaves[$i].slaveName lusts after _SlaveJ.slaveName, and does everything she can to @@.lightgreen;patch up their differences.@@
-		<<set _SlaveJ.rivalry -= 1, $slaves[$i].rivalry -= 1>>
 	<</if>>
-<<elseif ($slaves[$i].attrXY > 85) && (random(1,100) > 70)>>
-	<<if (_SlaveJ.balls > 0) || (_SlaveJ.faceShape == "masculine")>>
-		$slaves[$i].slaveName lusts after _SlaveJ.slaveName, and does everything she can to @@.lightgreen;patch up their differences.@@
-		<<set _SlaveJ.rivalry -= 1, $slaves[$i].rivalry -= 1>>
 	<</if>>
-<<elseif (random(1,100) > 90)>>
-	$slaves[$i].slaveName and _SlaveJ.slaveName @@.lightsalmon;bicker@@ and indulge their rivalry whenever they can.
-	<<set _SlaveJ.rivalry += 1, $slaves[$i].rivalry += 1>>
-<<elseif (random(1,100) > 90)>>
-	$slaves[$i].slaveName and _SlaveJ.slaveName manage to @@.lightgreen;de-escalate their little feud.@@
-	<<set _SlaveJ.rivalry -= 1, $slaves[$i].rivalry -= 1>>
-<</if>>
-<</if>>
-<<set $slaves[_j] = _SlaveJ>>
+	<<if $familyTesting>>
+		<<if $slaves[$i].mother == $slaves[_j].ID || $slaves[$i].father == $slaves[_j].ID || $slaves[_j].mother == $slaves[$i].ID || $slaves[_j].father == $slaves[$i].ID || areSisters($slaves[$i], $slaves[_j])>>
+			<<if _roll > 70>>
+				$slaves[$i].slaveName and <<SlaveFullName $slaves[_j]>> @@.lightsalmon;pursue their family rivalry.@@
+				<<set $slaves[_j].rivalry += 1, $slaves[$i].rivalry += 1>>
+			<<elseif _roll > 40>>
+				$slaves[$i].slaveName and <<SlaveFullName $slaves[_j]>> @@.lightgreen;patch up their family relationship.@@
+				<<set $slaves[_j].rivalry -= 1, $slaves[$i].rivalry -= 1>>
+			<</if>>
+			<<break>>
+		<</if>>
+	<<else>>
+		<<if $slaves[$i].relation>>
+		<<if slaves[$i].relationTarget == $slaves[$i].rivalryTarget>>
+			<<if _roll > 70>>
+				$slaves[$i].slaveName and <<SlaveFullName $slaves[_j]>> @@.lightsalmon;pursue their family rivalry.@@
+				<<set $slaves[_j].rivalry += 1, $slaves[$i].rivalry += 1>>
+			<<elseif _roll > 40>>
+				$slaves[$i].slaveName and <<SlaveFullName $slaves[_j]>> @@.lightgreen;patch up their family relationship.@@
+				<<set $slaves[_j].rivalry -= 1, $slaves[$i].rivalry -= 1>>
+			<</if>>
+			<<break>>
+		<</if>>
+		<</if>>
+	<</if>>
+	<<if _roll > $slaves[$i].devotion-$slaves[$i].trust+10>>
+		$slaves[$i].slaveName @@.lightsalmon;bickers with <<SlaveFullName $slaves[_j]>>@@ whenever she can, worsening their rivalry.
+		<<set $slaves[_j].rivalry += 1, $slaves[$i].rivalry += 1>>
+		<<break>>
+	<<elseif _roll < $slaves[$i].devotion-$slaves[$i].trust-10>>
+		$slaves[$i].slaveName does her best to be nice to <<SlaveFullName $slaves[_j]>>, and manages to @@.lightgreen;de-escalate their little feud.@@
+		<<set $slaves[_j].rivalry -= 1, $slaves[$i].rivalry -= 1>>
+	<</if>>
+	<<break>>
 <</if>>
+<</for>>
+
 <</if>>
 
-<<if $slaves[$i].rivalry != 0>>
+<<if $slaves[$i].rivalry>>
 <<for _j = 0; _j < _SL; _j++>>
 	<<if ($slaves[_j].ID == $slaves[$i].rivalryTarget) && ($slaves[$i].ID != $slaves[_j].rivalryTarget)>>
 		<<set $slaves[_j].rivalry = 0, $slaves[_j].rivalryTarget = 0>>
@@ -117,5 +243,3 @@
 	<</if>>
 <</for>>
 <</if>>
-
-<</if>> /* CLOSES FUCKDOLL CHECK */
diff --git a/src/uncategorized/slaveAssignmentsReport.tw b/src/uncategorized/slaveAssignmentsReport.tw
index a173541c2a9260720b047997601eeaea8ae8267a..4f62f78a6dec0c60b1fbff6f98f0ea5ffd0107d4 100644
--- a/src/uncategorized/slaveAssignmentsReport.tw
+++ b/src/uncategorized/slaveAssignmentsReport.tw
@@ -382,18 +382,22 @@
         <<continue>>
     <</if>>
 
-    <<if ($headGirlTrainsFlaws == 1 && ((_Slave.behavioralFlaw != "none") || (_Slave.sexualFlaw != "none" && !_hasParaphilia)))>>
-        <<set _HGPossibleSlaves[2].push({ID: _Slave.ID, training: "flaw"})>>
-        <<continue>>
+    <<if $headGirlTrainsFlaws>>
+    <<if _Slave.behavioralFlaw != "none" || _Slave.sexualFlaw != "none" && !_hasParaphilia>>
+		<<if $headGirlSoftensFlaws>>
+			<<if _Slave.devotion > 20>>
+				<<if (_Slave.behavioralFlaw != "none" && _Slave.behavioralQuirk == "none") || (_Slave.sexualFlaw != "none" && _Slave.sexualQuirk == "none")>>
+					<<set _HGPossibleSlaves[3].push({ID: _Slave.ID, training: "soften"})>>
+				<<else>>
+					<<set _HGPossibleSlaves[3].push({ID: _Slave.ID, training: "flaw"})>>
+				<</if>>
+				<<continue>>
+			<</if>>
+		<<else>>
+			<<set _HGPossibleSlaves[2].push({ID: _Slave.ID, training: "flaw"})>>
+			<<continue>>
+		<</if>>
     <</if>>
-
-    <<if ($headGirlTrainsFlaws == 2 && _Slave.devotion > 20 && ((_Slave.behavioralFlaw != "none") || (_Slave.sexualFlaw != "none" && !_hasParaphilia)))>>
-        <<if ((_Slave.behavioralFlaw != "none" && _Slave.behavioralQuirk == "none") || (_Slave.sexualFlaw != "none" && _Slave.sexualQuirk == "none"))>>
-            <<set _HGPossibleSlaves[3].push({ID: _Slave.ID, training: "soften"})>>
-        <<else>>
-            <<set _HGPossibleSlaves[3].push({ID: _Slave.ID, training: "flaw"})>>
-        <</if>>
-        <<continue>>
     <</if>>
 
     <<if ($headGirlTrainsObedience && _Slave.devotion <= 20 && _Slave.trust > -20)>>
diff --git a/src/utility/miscWidgets.tw b/src/utility/miscWidgets.tw
index dbe5f336c6b05b6226631095beda4ddfb114b385..0b309a3133ffb7e27b829e57a86e30537cf93527 100644
--- a/src/utility/miscWidgets.tw
+++ b/src/utility/miscWidgets.tw
@@ -3191,3 +3191,11 @@ This experience
 	</head>
 
 <</widget>>
+
+/*
+ Call as <<FullName>>
+ $args[0]: Slave.
+*/
+<<widget "FullName">>
+	$args[0].slaveName<<if $args[0].slaveSurname>> $args[0].slaveSurname<</if>> COMPLAIN ABOUT ME!
+<</widget>>
diff --git a/src/utility/raWidgets.tw b/src/utility/raWidgets.tw
index 8233ac9a288147dc4c0248d9eb0491a26e0678fa..6e8f5a433ef7972d18b1c3b6a29336aa1e2d8900 100644
--- a/src/utility/raWidgets.tw
+++ b/src/utility/raWidgets.tw
@@ -4499,3 +4499,20 @@ is now _combinedRule.hLength cm long.
 
 <</widget>>
 
+/*
+	Call as <<RulesDeconfliction SlaveObject>>
+	Saves the slave, silently fires the RA, saves the slave's after-RA state, and then reverts the slave.
+	Call and then check potential change against $slaveAfterRA to see if the RA would revert it.
+*/
+<<widget "RulesDeconfliction">>
+
+<<set _slaveBeforeRA = clone($args[0])>>
+<<silently>>
+	<<CheckAutoRulesActivate $args[0]>>
+	<<DefaultRules $args[0]>>
+<</silently>>
+<<set $slaveAfterRA = clone($args[0])>>
+<<set $args[0] = _slaveBeforeRA>>
+
+<</widget>>
+