From 53e224cd0a59c80f95f0a8ce997f7e5e774c8dc7 Mon Sep 17 00:00:00 2001
From: Pregmodder <pregmodder@gmail.com>
Date: Sat, 8 Apr 2017 19:02:32 -0400
Subject: [PATCH] Work of genderswapped hookup event, vanilla fixes, and hooked
 up body hair removal surgery.

---
 src/pregmod/huskSlaveSwapWorkaround.tw    |  4 +-
 src/pregmod/reMaleCitizenHookup.tw        | 88 ++++++++++++-----------
 src/uncategorized/reRelationshipAdvice.tw | 31 ++++----
 src/uncategorized/remoteSurgery.tw        |  6 ++
 src/uncategorized/salon.tw                | 12 ++--
 src/uncategorized/surgeryDegradation.tw   | 12 ++--
 src/utility/descriptionWidgets.tw         |  2 +-
 7 files changed, 86 insertions(+), 69 deletions(-)

diff --git a/src/pregmod/huskSlaveSwapWorkaround.tw b/src/pregmod/huskSlaveSwapWorkaround.tw
index f156e7b3e3b..08be1909d3e 100644
--- a/src/pregmod/huskSlaveSwapWorkaround.tw
+++ b/src/pregmod/huskSlaveSwapWorkaround.tw
@@ -9,12 +9,13 @@
 
 "This operation is not simple nor is it perfected. There are extreme health risks involved and no gauruntee of success. Strap a slave into your surgery to consent to the operation. Indentured servants<<if $incubator > 0>> and slaves with reserved children<</if>> not eligible."
 
-//Select the slave whose brain will be transfered into the waiting husk.//
+//Select the slave whose brain will be transfered into the waiting husk.<<if $cyberMod == 1>> Amputated slaves must not be wearing prosthetics.<</if>>//
 
 <</nobr>>
 
 __Select an eligible slave:__
 <<for _i = 0; _i < $slaves.length; _i++>>\
+	<<if $cyberMod == 1 && $slaves[_i].PLimb == 1 && $slaves[_i].amp < 0>>
 	<<if ($slaves[_i].indenture == 0)>>\
 	<<if ($slaves[_i].breedingMark == 0)>>\
 	<<if ($slaves[_i].reservedChildren == 0)>>\
@@ -24,4 +25,5 @@ __Select an eligible slave:__
 	<</if>>\
 	<</if>>\
 	<</if>>\
+	<</if>>\
 <</for>>\
diff --git a/src/pregmod/reMaleCitizenHookup.tw b/src/pregmod/reMaleCitizenHookup.tw
index 7cb6c731d2a..34e2c727721 100644
--- a/src/pregmod/reMaleCitizenHookup.tw
+++ b/src/pregmod/reMaleCitizenHookup.tw
@@ -66,89 +66,91 @@
 
 At night, the best living areas in the arcology offer a constant melange of selective entertainments. There's a perpetual social scrum of who is to be invited to what going on, and you occupy a preeminent place atop it, mostly aloof from the struggles of your citizens for recognition and influence. You're invited to almost everything, since everyone who lives here knows the value of being in favor with the owner of the arcology. Invitations to your parties, of course, are some of the most valuable social currency in the arcology and one of $assistantName's most important duties is to help you manage them without wasting your valuable time. It's not actually necessary for you to attend your own parties, since almost everyone will be glad to be seen in the entertainment area of the penthouse whether or not the propriet<<if $PC.title == 1>>or<<else>>ress<</if>> is actually present.
 <br><br>
-But tonight, you've put in an appearance. Your citizens are drinking your <<if $arcologies[0].FSPastoralist != "unset">>milk<<elseif $arcologies[0].FSPastoralist != "unset">>finest alcohol<<else>>alcohol<</if>> and eating your food, though of course they helped pay for it through their rent. They're performing a complex dance of social dominance, and it all radiates around you, with complex unspoken rules of collective approval governing which citizens cycle past you for a word, and for how long. During a low point in the ebb and flow, a
+But tonight, you've put in an appearance. Your citizens are drinking your <<if $arcologies[0].FSPastoralist != "unset">>milk<<elseif $arcologies[0].FSRestart != "unset">>finest alcohol<<else>>alcohol<</if>> and eating your food, though of course they helped pay for it through their rent. They're performing a complex dance of social dominance, and it all radiates around you, with complex unspoken rules of collective approval governing which citizens cycle past you for a word, and for how long. During a low point in the ebb and flow, a
 <<switch _FS>>
 <<case "Supremacist" "Subjugationist">>
-	pretty, racially pure young woman
+	handsome, racially pure young man
 <<case "Gender Radicalist">>
-	beautiful young futa
+	cute, androgynous-faced girl with nice breasts
 <<case "Gender Fundamentalist">>
-	good-looking young lady
+	dominant-looking man
 <<case "Repopulationist">>
-	<<if $arcologies[0].FSRepopulationFocusLaw == 1>>
-		heavily pregnant, young lady
-	<<else>>
-		pretty, fertile young women with wide, child bearing hips
-	<</if>>
+	dominant-looking young man with a nice bulge in his pants
 <<case "Eugenics">>
-	stunningly gorgeous woman
+	stunningly handsome man
 <<case "Paternalist">>
-	pretty, cheerful young woman
+	pretty, upbeat young man
 <<case "Degradationist">>
-	confident girl
+	confident man
 <<case "Body Purist">>
-	clean-looking young woman
+	clean-looking young man
 <<case "Transformation Fetishist">>
-	nicely augmented girl
+	nicely augmented boy, judging by the bulge in his crotch and down his pant leg,
 <<case "Youth Preferentialist">>
-	nice looking girl
+	<<if $minimumSlaveAge < 13>>
+		adorable little shota
+	<<elseif $minimumSlaveAge < 18>>
+		cute teenage boy
+	<<else>>
+		cute young man
+	<</if>>
 <<case "Maturity Preferentialist">>
-	attractive, mature woman
+	handsome, mature man
 <<case "Slimness Enthusiast">>
 	slim young thing
 <<case "Asset Expansionist">>
-	curvaceous young woman
+	hung young man, with specially tailored pants to contain his junk,
 <<case "Pastoralist">>
-	hot little lady
+	chubby young man
 <<case "Physical Idealist">>
-	hot little amazon
+	hot, buff man
 <<case "Chattel Religionist">>
-	pretty, devout-looking young woman
+	cute, devout-looking young man
 <<case "Roman Revivalist">>
-	proper young Roman lady
+	proper young Roman man
 <<case "Egyptian Revivalist">>
-	pretty, sun-kissed lady
+	handsome, sun-kissed man
 <<case "Edo Revivalist">>
-	proper Edo lady
+	handsome Edo man
 <<case "Arabian Revivalist">>
-	pretty Arabian princess
+	handsome Arabian prince
 <<case "Chinese Revivalist">>
-	pretty Chinese lady
+	handsome Chinese man
 <<default>>
-	pretty young woman
+	cute young man
 <</switch>>
-sidles up to you. She begins to introduce herself, but one of the advantages of your connection to the arcology is that you always know who everyone is, and you greet her by name, which people have never learned not to be impressed by. She gushes about some of your recent <<if _FS != "none">>_FS <</if>>actions, displaying an unusual grasp of what you've been planning. Despite her obviously sincere interest, she's obviously got something else on her mind.
+sidles up to you. <<if _FS != "Gender Radicalist">>He begins to introduce herself, but one of the advantages of your connection to the arcology is that you always know who everyone is, and you greet her by name, which people have never learned not to be impressed by<<else>>She begins to introduce herself and, not to your surprise, she is in fact a he<</if>>. He gushes about some of your recent <<if _FS != "none">>_FS <</if>>actions, displaying an unusual grasp of what you've been planning. Despite his obviously sincere interest, he's obviously got something else on his mind.
 <br><br>
-She's yours for the taking, if you want her, and if her praise and proximity weren't enough to make that clear, she manages to
+He's yours for the taking, if you want him, and if his praise and proximity weren't enough to make that clear, he manages to
 <<switch _FS>>
 <<case "Supremacist" "Subjugationist">>
-	give you an excellent view straight down her ethnically superior cleavage, straining against the top of her fashionable dress.
+	flash you a view straight down his pants at his ethnically superior dick.
 <<case "Gender Radicalist">>
-	simultaneously give you an excellent view straight down her cleavage, and bring the material of her sheer dress tight across her legs in a way that outlines her dick.
+	flex, popping his shirt's buttons and freeing his well crafted breats.
 <<case "Gender Fundamentalist">>
-	press her flirting as far she can decorously take it, batting her eyes at you coquettishly.
+	wrap his arm around you and whisper sweet nothings in your ear.
 <<case "Repopulationist">>
-	<<if $arcologies[0].FSRepopulationFocusLaw == 1>>
-		brushing her full term, triplets rounded middle tantalizingly against your crotch.
+	<<if $PC.preg >= 16>>
+		grope your pregnancy, paying close attention to your navel.
 	<<else>>
-		press her hips up against your own, before leaning in and whispering "I'm ripe for breeding right now."
+		press up against you and wrap his arms around your flat belly. "You'd make a lovely mother, you know?"
 	<</if>>
 <<case "Eugenics">>
-	give you an excellent view straight down her perfect cleavage, straining against the top of her name-brand dress.
+	give you an excellent view of a little black book filled with all sorts of connections.
 <<case "Paternalist">>
-	brush her breasts against your arm, presuming on the egalitarian nature of your Paternalist society to flirt a little aggressively.
+	wrap his arm over your shoulder, presuming on the egalitarian nature of your Paternalist society to flirt a little aggressively.
 <<case "Degradationist">>
-	raise one shoulder far enough that her breast on that side pulls its nipple just clear of her tight leather dress, revealing a spiked piercing.
+	pull his tight pants down slightly to reveal to tip of his barbell pierced, erect cock.
 <<case "Body Purist">>
-	arch her back with such warm propinquity that her natural breasts almost spill out of her tight little dress, and actually reveal the upper edges of their areolae.
+	push up behind you, his natural cock pressing against your butt.
 <<case "Transformation Fetishist">>
-	pop her huge fake boobs entirely out of her tight little evening dress without even using her hands.
+	lift his shirt, revealing his oversized erection extending from his pants.
 <<case "Youth Preferentialist">>
-	perfectly balance her youthful, innocent appeal with the proper decorum between you and a citizen.
+	perfectly balance his youthful, innocent advances with the proper decorum between you and a citizen.
 <<case "Maturity Preferentialist">>
-	perfectly balance her matronly, sensual appeal with the proper decorum between you and a citizen.
+	perfectly balance his experienced, well-tuned advnaces with the proper decorum between you and a citizen.
 <<case "Slimness Enthusiast">>
-	turn from side to side as she flirts with you in a way that shows off the coquettish forum under her tight dress to great effect.
+	turn from side to side as he flirts with you in a way that shows off his lithe, flexible body.
 <<case "Asset Expansionist">>
 	arch her back with such warm propinquity that her huge breasts spill out of her tight little dress, springing clear to offer themselves glorious and nude.
 <<case "Pastoralist">>
@@ -170,7 +172,7 @@ She's yours for the taking, if you want her, and if her praise and proximity wer
 <<default>>
 	flirt with you quite hard without crossing any lines between a citizen and an arcology owner.
 <</switch>>
-She's clearly attracted to you; even the most consummate actress would have difficulty fooling you, and her breath is a little quick, her pupils are a bit dilated, and she's blushing cutely. But she's no fool, either. A casual liasion with <<PCTitle>>$PCTitle would be a tremendous social boost for her.
+He's clearly attracted to you; even the most consummate actress would have difficulty fooling you, and her breath is a little quick, her pupils are a bit dilated, and she's blushing cutely. But she's no fool, either. A casual liasion with <<PCTitle>>$PCTitle would be a tremendous social boost for her.
 <br><br>
 
 <span id="result">
diff --git a/src/uncategorized/reRelationshipAdvice.tw b/src/uncategorized/reRelationshipAdvice.tw
index 29a94751b75..65632016731 100644
--- a/src/uncategorized/reRelationshipAdvice.tw
+++ b/src/uncategorized/reRelationshipAdvice.tw
@@ -5,9 +5,9 @@
 <<set $returnTo = "Next Week">>
 <<set $activeSlave = $eventSlave>>
 
-<<for $i = 0; $i < $slaves.length; $i++>>
-	<<if $slaves[$i].ID == $activeSlave.relationshipTarget>>
-	<<set $subSlave = $slaves[$i]>>
+<<for _i = 0; _i < $slaves.length; _i++>>
+	<<if $slaves[_i].ID == $activeSlave.relationshipTarget>>
+	<<set $subSlave = $slaves[_i]>>
 	<</if>>
 <</for>>
 
@@ -15,7 +15,7 @@
 <<if SlaveStatsChecker.checkForLisp($activeSlave)>>
 	"I'm thorry, <<if def $PC.customTitleLisp>>$PC.customTitleLisp<<elseif $PC.title != 0>>Mathter<<else>>Mithtreth<</if>>," she lisps, biting her lip. "It'th $subSlave.slaveName."
 <<else>>
-	"I'm sorry, <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Master<<else>>Mistress<</if>>," she lisps, biting her lip. "It's $subSlave.slaveName."
+	"I'm sorry, <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Master<<else>>Mistress<</if>>," she mutters, biting her lip. "It's $subSlave.slaveName."
 <</if>>
 She hesitates, so you prompt her, asking if she's having trouble with her
 <<if $activeSlave.relationship == 2>>
@@ -53,10 +53,11 @@ She nods her head quickly, still staring at her feet. She shuts her eyes tight a
 	<<set $activeSlave.devotion -= 5>>
 	<<set $activeSlave.relationship = 0>>
 	<<set $activeSlave.relationshipTarget = 0>>
-	<<for $i = 0; $i < $slaves.length; $i++>>
-		<<if $slaves[$i].ID == $subSlave.ID>>
-		<<set $slaves[$i].relationship = 0>>
-		<<set $slaves[$i].relationshipTarget = 0>>
+	<<for _i = 0; _i < $slaves.length; _i++>>
+		<<if $slaves[_i].ID == $subSlave.ID>>
+		<<set $slaves[_i].relationship = 0>>
+		<<set $slaves[_i].relationshipTarget = 0>>
+		<<break>>
 		<</if>>
 	<</for>>
 	<</replace>>
@@ -86,9 +87,10 @@ She nods her head quickly, still staring at her feet. She shuts her eyes tight a
 
 	<<set $activeSlave.devotion += 5>>
 	<<set $activeSlave.relationship += 1>>
-	<<for $i = 0; $i < $slaves.length; $i++>>
-		<<if $slaves[$i].ID == $subSlave.ID>>
-		<<set $slaves[$i].relationship += 1>>
+	<<for _i = 0; _i < $slaves.length; _i++>>
+		<<if $slaves[_i].ID == $subSlave.ID>>
+		<<set $slaves[_i].relationship += 1>>
+		<<break>>
 		<</if>>
 	<</for>>
 	<</replace>>
@@ -159,9 +161,10 @@ She nods her head quickly, still staring at her feet. She shuts her eyes tight a
 
 	<<set $activeSlave.trust += 10>>
 	<<set $activeSlave.relationship += 1>>
-	<<for $i = 0; $i < $slaves.length; $i++>>
-		<<if $slaves[$i].ID == $subSlave.ID>>
-		<<set $slaves[$i].relationship += 1>>
+	<<for _i = 0; _i < $slaves.length; _i++>>
+		<<if $slaves[_i].ID == $subSlave.ID>>
+		<<set $slaves[_i].relationship += 1>>
+		<<break>>
 		<</if>>
 	<</for>>
 	<</replace>>
diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw
index 67f9277450a..fcf896bce2f 100644
--- a/src/uncategorized/remoteSurgery.tw
+++ b/src/uncategorized/remoteSurgery.tw
@@ -1753,6 +1753,12 @@ The prosthesis facility has constructed $possessive prosthetic limbs.
 	<</if>>
 <</if>>
 
+<<if $activeSlave.underArmHStyle != "bald" && $activeSlave.underArmHStyle != "hairless" && $activeSlave.pubicHStyle != "bald" && $activeSlave.pubicHStyle != "hairless">>
+<br>
+	$pronounCap <<$activeSlave.physicalAge >= 12>>naturally grows<<else>>will someday grow<</if>> $activeSlave.origHColor body hair.
+	[["Surgically remove " + $possessive + " ability to grow body hair"|Surgery Degradation][$cash -= $surgeryCost,$surgeryType = "body hair removal"]]
+<</if>>
+
 <<if ($activeSlave.amp == 0)>>
 <br>
 <<if ($activeSlave.heels == 0) && ($activeSlave.amp == 0)>>
diff --git a/src/uncategorized/salon.tw b/src/uncategorized/salon.tw
index 0da3d3d7902..cec59dca788 100644
--- a/src/uncategorized/salon.tw
+++ b/src/uncategorized/salon.tw
@@ -246,8 +246,6 @@ $possessiveCap skin is $activeSlave.skin.
 		| [[White|Salon][$activeSlave.hColor = "white",$cash -= $modCost]]
 	<br><br>
 	$possessiveCap hair is $activeSlave.hStyle.
-
-<</if>>
 	
 	<br>&nbsp;&nbsp;&nbsp;&nbsp;
 
@@ -307,6 +305,8 @@ $possessiveCap skin is $activeSlave.skin.
 	<<else>>
 		//$possessiveCap hair is already very short//
 	<</if>>
+
+<<else>>
 	
 	<<if $activeSlave.hStyle == "bald">>
 		$pronounCap is completely bald.
@@ -339,7 +339,7 @@ $possessiveCap skin is $activeSlave.skin.
 			| [[Silver|Salon][$activeSlave.hColor = "silver",$cash -= $modCost]]
 			| [[White|Salon][$activeSlave.hColor = "white",$cash -= $modCost]]
 		<</if>>
-<br><br>
+	<br><br>
 	<<if $activeSlave.hStyle != "bald">>
 	$possessiveCap wig is in $activeSlave.hStyle style.
 	<<else>>
@@ -375,8 +375,10 @@ $possessiveCap skin is $activeSlave.skin.
 	<<if $activeSlave.hLength != 90>>[[90cm|Salon][$activeSlave.hLength = 90,$cash -= $modCost]]<</if>>
 	<<if $activeSlave.hLength != 120>>[[120cm|Salon][$activeSlave.hLength = 120,$cash -= $modCost]]<</if>>
 	<<if $activeSlave.hLength != 150>>[[150cm|Salon][$activeSlave.hLength = 150,$cash -= $modCost]]<</if>>
+	
+<</if>>
 
-<<if $activeSlave.pubicHStyle != "bald" && $activeSlave.pubicHStyle != "hairless">>
+<<if $activeSlave.pubicHStyle != "bald" && $activeSlave.pubicHStyle != "hairless" && $activeSlave.physicalAge >= 12>>
 	
 	<br>&nbsp;&nbsp;&nbsp;&nbsp;$possessiveCap pubic hair, if present, is $activeSlave.pubicHColor.
 
@@ -418,7 +420,7 @@ $possessiveCap skin is $activeSlave.skin.
 <</if>>
 
 <br><br>
-<<if $activeSlave.underArmHStyle != "bald" && $activeSlave.underArmHStyle != "hairless">>
+<<if $activeSlave.underArmHStyle != "bald" && $activeSlave.underArmHStyle != "hairless" && $activeSlave.physicalAge >= 12>>
 
 	$possessiveCap armpit hair is $activeSlave.underArmHColor.
 
diff --git a/src/uncategorized/surgeryDegradation.tw b/src/uncategorized/surgeryDegradation.tw
index 846309b712f..00adc743633 100644
--- a/src/uncategorized/surgeryDegradation.tw
+++ b/src/uncategorized/surgeryDegradation.tw
@@ -1508,17 +1508,19 @@ Even though creating an artificial scar is a trivial process, @@color:red;her he
 	She notices almost immediately that the weight in her middle is gone. She shifts her torso idly; it looks like she doesn't know what to think about having her belly implant removed. As with all surgery @@color:red;her health has been slightly affected.@@
 
 <<case "body hair removal">>
+	<<if $activeSlave.underArmHStyle != "hairless">><<set $activeSlave.underArmHStyle = "bald">><</if>>
+	<<if $activeSlave.pubicHStyle != "hairless">><<set $activeSlave.pubicHStyle = "bald">><</if>>
 	When $pronoun <<if $activeSlave.amp == 1>>is carried<<else>>walks<</if>> out of the surgery $pronoun feels the breeze on $possessive skin and realizes that <<if $activeSlave.origHColor != "bald">>all hair below $possessive neck is missing<<else>>$pronoun is now completely hairless<</if>>.<br>
 	<<if $activeSlave.devotion > 50>>
-		$pronounCap is @@color:hotpink;happy@@ with how smooth $possessive body has become and is already @@color:mediumaquamarine;wondering@@ what new kinky things you have planned for $possessive
-		.<<set $activeSlave.trust += 5>>
+		$pronounCap is @@color:hotpink;happy@@ with how smooth $possessive body has become and is already @@color:mediumaquamarine;wondering@@ what new kinky things you have planned for $object.
+		<<set $activeSlave.trust += 5>>
 		<<set $activeSlave.devotion += 5>>
 	<<elseif $activeSlave.devotion >= -20>>
-		$possessiveCap new lack of body hair doesn't bother $possessive much, since it just means $pronoun needs to spend less time getting rid of any unseemly hairs.
+		$possessiveCap new lack of body hair doesn't bother $object much, since it just means $pronoun needs to spend less time getting rid of any unseemly hairs.
 		<<set $activeSlave.trust += 5>>
 	<<else>>
-		$pronounCap is @@color:mediumorchid;sad@@ and @@color:gold;frightened@@ that you would force this on $possessive
-		.<<set $activeSlave.trust -= 5>>
+		$pronounCap is @@color:mediumorchid;sad@@ and @@color:gold;frightened@@ that you would force this on $object.
+		<<set $activeSlave.trust -= 5>>
 		<<set $activeSlave.devotion -= 5>>
 	<</if>>
 	<br><br>As this was a non-invasive procedure $possessive health was not affected.
diff --git a/src/utility/descriptionWidgets.tw b/src/utility/descriptionWidgets.tw
index 6516965b892..f79409a5b1b 100644
--- a/src/utility/descriptionWidgets.tw
+++ b/src/utility/descriptionWidgets.tw
@@ -893,7 +893,7 @@ $possessiveCap
 	<<elseif $arcologies[0].FSGenderRadicalist != "unset">>
 	giving $object a somewhat mannish appearance.
 	<<elseif $arcologies[0].FSGenderFundamentalist != "unset">>
-	giving $object a @@color:red;hideous, mannish appearance.@@
+	giving $object an @@color:red;ugly, mannish appearance.@@
 	<<else>>
 	giving $object an @@color:red;unattractive, somewhat mannish, appearance.@@
 	<</if>>
-- 
GitLab