diff --git a/src/npc/startingGirls/moreCustomOptions.tw b/src/npc/startingGirls/moreCustomOptions.tw
index 998d51757bbe6e09381f7c097ccb419dd26d834a..d86baba0895117c85069b8b756cb9c18b34f3f91 100644
--- a/src/npc/startingGirls/moreCustomOptions.tw
+++ b/src/npc/startingGirls/moreCustomOptions.tw
@@ -39,7 +39,7 @@
 <br>''Sclera color:'' <<textbox "$sclerae_temp" $activeSlave.eye.left.sclera "More customization options">>
 <br>Custom tattoo: <<textbox "$activeSlave.custom.tattoo" $activeSlave.custom.tattoo "More customization options">> //Use complete, capitalized and punctuated sentences.//
 <br>Custom origin story: <<textbox "$activeSlave.origin" $activeSlave.origin "More customization options">> //Use complete, capitalized and punctuated sentences.//
-<br>Origin overide:
+<br>Origin override:
 <<if $originOveride == 0>>
 	@@.red;Disabled@@ [[Enable|More customization options][$originOveride = 1]] //Enabling will keep your custom origin and tattoo from being overwritten by Starting Girls.//
 <<else>>
diff --git a/src/uncategorized/personalAttentionSelect.tw b/src/uncategorized/personalAttentionSelect.tw
index 887f544aa29e715007cac36857a01aae8e8a973c..4d41d4afee44c912667d8c8b4aab34b172a12074 100644
--- a/src/uncategorized/personalAttentionSelect.tw
+++ b/src/uncategorized/personalAttentionSelect.tw
@@ -242,14 +242,20 @@
 		<</if>>
 
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		<<if ($activeSlave.skill.anal >= 100) && ($activeSlave.skill.oral >= 100) && ($activeSlave.skill.vaginal >= 100) && ($activeSlave.skill.whoring > 0) && ($activeSlave.skill.entertainment > 0)>>
-			//$He knows all the skills you can teach//
-		<<elseif ($activeSlave.skill.anal >= 100) && ($activeSlave.skill.oral >= 100) && ($activeSlave.skill.whoring > 0) && ($activeSlave.skill.entertainment > 0) && ($activeSlave.vagina == -1) && ($activeSlave.balls == 0)>>
-			//$He knows all the skills you can teach a gelded slave//
-		<<elseif ($activeSlave.skill.anal >= 100) && ($activeSlave.skill.oral >= 100) && ($activeSlave.skill.whoring > 0) && ($activeSlave.skill.entertainment > 0) && ($activeSlave.vagina == -1)>>
-			//$He knows all the skills you can teach a shemale slave//
-		<<elseif ($activeSlave.skill.anal >= 100) && ($activeSlave.skill.oral >= 100) && ($activeSlave.skill.whoring > 0) && ($activeSlave.skill.entertainment > 0) && ($activeSlave.chastityVagina)>>
-			//$He knows all the skills you can teach while $he's wearing a chastity belt//
+		<<if $activeSlave.skill.anal >= 100 && $activeSlave.skill.oral >= 100 && $activeSlave.skill.whoring >= 30 && $activeSlave.skill.entertainment >= 30>>
+			<<if $activeSlave.skill.vaginal >= 100 && $activeSlave.vagina > -1>>
+				//$He knows all the skills you can teach//
+			<<elseif $activeSlave.dick == 0 && $activeSlave.scrotum == 0 && $activeSlave.vagina == -1>>
+				//$He knows all the skills you can teach a null slave//
+			<<elseif $activeSlave.dick > 0 && $activeSlave.balls == 0>>
+				//$He knows all the skills you can teach a gelded slave//
+			<<elseif $activeSlave.dick > 0 && $activeSlave.boobs > 300 && $activeSlave.vagina == -1>>
+				//$He knows all the skills you can teach a shemale slave//
+			<<elseif ($activeSlave.devotion <= 20) && ($activeSlave.trust >= -20)>>
+				//$He's too disobedient to learn sex skills//
+			<<else>>
+				<<link "Teach $him">><<set $personalAttention[_i].trainingRegimen = "learn skills">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
+			<</if>>
 		<<elseif ($activeSlave.devotion <= 20) && ($activeSlave.trust >= -20)>>
 			//$He's too disobedient to learn sex skills//
 		<<else>>
diff --git a/src/uncategorized/ptWorkaround.tw b/src/uncategorized/ptWorkaround.tw
index 7b3cb1912b8cb47e48548879e56f35771c193e61..4472a03d2f7757da2219011e1d7be9916ce4194c 100644
--- a/src/uncategorized/ptWorkaround.tw
+++ b/src/uncategorized/ptWorkaround.tw
@@ -343,6 +343,18 @@
 		You are well-versed in sexual techniques and how to employ them, giving you an edge in teaching $him.
 		<<set _trainingEfficiency += 10>>
 	<</if>>
+	<<if $activeSlave.vagina >= 0>>
+		<<if !canDoVaginal($activeSlave) && $activeSlave.vagina == 0>>
+			<<set _vaginalTrainingEfficiency = Math.trunc(_trainingEfficiency/4)>>
+		<<elseif $activeSlave.vagina == 0 || !canDoVaginal($activeSlave)>>
+			<<set _vaginalTrainingEfficiency = Math.trunc(_trainingEfficiency/2)>>
+		<</if>>
+	<</if>>
+	<<if !canDoAnal($activeSlave) && $activeSlave.anus == 0>>
+		<<set _analTrainingEfficiency = Math.trunc(_trainingEfficiency/4)>>
+	<<elseif $activeSlave.anus == 0 || !canDoAnal($activeSlave)>>
+		<<set _analTrainingEfficiency = Math.trunc(_trainingEfficiency/2)>>
+	<</if>>
 	<<if $activeSlave.devotion > 50>>
 		$He's devoted to you, making sexual training much easier.
 	<<elseif $activeSlave.devotion > 20>>
@@ -358,10 +370,10 @@
 	<<if $activeSlave.skill.oral <= 10>>
 		Since $he's orally unskilled, you start with $his mouth. $He <<if $PC.dick != 0>>sucks your dick<<else>>eats you out<</if>>, of course, but $his training is more creative than just that. You give $him <<if canTaste($activeSlave)>>delicious<<else>>sugary<</if>> hard candies to suck and feed $him phallic fruits and vegetables that $he must deepthroat before $he can eat. As $his skill improves, $he wears a gag with an inward-facing dildo, which is swapped out for a bigger size every so often. You only let $him orgasm when $he's sucking, and before long $he's associating giving someone oral pleasure with experiencing pleasure $himself. @@.lime;$His oral skills have improved.@@
 		<<= SkillIncrease.Oral($activeSlave, _trainingEfficiency)>>
-	<<elseif ($activeSlave.skill.vaginal <= 10) && ($activeSlave.vagina > 0) && canDoVaginal($activeSlave)>>
+	<<elseif $activeSlave.skill.vaginal <= 10 && $activeSlave.vagina > 0 && canDoVaginal($activeSlave)>>
 		Since $he's vaginally unskilled, and not a virgin, you start with $his pussy. @@.lime;$His vaginal skills have improved.@@
 		<<= SkillIncrease.Vaginal($activeSlave, _trainingEfficiency)>>
-	<<elseif ($activeSlave.skill.anal <= 10) && ($activeSlave.anus > 0) && canDoAnal($activeSlave)>>
+	<<elseif $activeSlave.skill.anal <= 10 && $activeSlave.anus > 0 && canDoAnal($activeSlave)>>
 		Since $he's anally unskilled, and not an anal virgin, you start with $his ass. @@.lime;$His anal skills have improved.@@
 		<<= SkillIncrease.Anal($activeSlave, _trainingEfficiency)>>
 	<<elseif $activeSlave.skill.oral <= 30>>
@@ -373,6 +385,28 @@
 	<<elseif ($activeSlave.skill.anal <= 30) && ($activeSlave.anus > 0) && canDoAnal($activeSlave)>>
 		Since $he's anally experienced, you work with $him on the finer points of penetrative sex. $He can already take it up $his ass, but $his muscular control could be improved. $He works $his Kegel muscles and anal sphincter all week, using fingers, dildos, and your <<if $PC.dick == 0>>strap-on<<else>>cock<</if>> as training tools. $He becomes expert enough that $he is able to make you cum without any thrusting at all by you or any riding by $him; $he just flexes $his muscles enough to <<if $PC.dick == 0>>squeeze the fake phallus<<else>>stimulate you<</if>>. @@.lime;$His anal skills have improved.@@
 		<<= SkillIncrease.Anal($activeSlave, _trainingEfficiency)>>
+	<<elseif $activeSlave.skill.vaginal <= 10 && $activeSlave.vagina >= 0>>
+		Since $he's vaginally unskilled,
+		<<if $activeSlave.vagina == 0 && !canDoVaginal($activeSlave)>>
+			in chastity, and a virgin,
+		<<elseif ($activeSlave.vagina == 0)>>
+			and a virgin,
+		<<else>>
+			and in chastity,
+		<</if>>
+		you explain the basics of sex to $him. @@.lime;$His vaginal skills have improved.@@
+		<<= SkillIncrease.Vaginal($activeSlave, _vaginalTrainingEfficiency)>>
+	<<elseif $activeSlave.skill.anal <= 10>>
+		Since $he's anally unskilled,
+		<<if $activeSlave.anus == 0 && !canDoAnal($activeSlave)>>
+			an anal virgin, and in chastity,
+		<<elseif ($activeSlave.anus == 0)>>
+			and an anal virgin,
+		<<else>>
+			and in anal chastity,
+		<</if>>
+		you explain the basics of anal sex to $him. @@.lime;$His anal skills have improved.@@
+		<<= SkillIncrease.Anal($activeSlave, _analTrainingEfficiency)>>
 	<<elseif $activeSlave.skill.oral < 100>>
 		$He is already a skilled oral whore, but $his skills can be polished further. You train $him in the basics of <<if $seePee == 1>>urine play, <</if>>massage, pet play, needle play, and many other niche skills. You also expand $his oral endurance, enabling $him to deepthroat for extended periods. @@.lime;$His oral skills have improved.@@
 		<<= SkillIncrease.Oral($activeSlave, _trainingEfficiency)>>
@@ -394,15 +428,67 @@
 	<<elseif $activeSlave.skill.entertainment <= 30>>
 		Since $he has only basic entertainment skills, you teach $him more about poise and Free Cities etiquette. @@.lime;$His entertainment skills have improved.@@
 		<<= SkillIncrease.Entertain($activeSlave, _trainingEfficiency)>>
+	<<elseif $activeSlave.skill.whoring <= 60 && $PC.career == "escort">>
+		$He is already a skilled whore, so you teach $him some of your personal tricks to squeezing every last drop from a patron. @@.lime;$His prostitution skills have improved.@@
+		<<= SkillIncrease.Whore($activeSlave, _trainingEfficiency)>>
+	<<elseif $activeSlave.skill.entertainment <= 60 && $PC.career == "escort">>
+		$He is already skilled at luring in partners, so you teach $him some of your sexual persuasion techniques. @@.lime;$His entertainment skills have improved.@@
+		<<= SkillIncrease.Entertain($activeSlave, _trainingEfficiency)>>
+	<<elseif $activeSlave.skill.vaginal <= 30 && $activeSlave.vagina >= 0>>
+		Since $he has only rudimentary vaginal skills,
+		<<if $activeSlave.vagina == 0 && !canDoVaginal($activeSlave)>>
+			is in chastity, and a virgin on top of that,
+		<<elseif ($activeSlave.vagina == 0)>>
+			and still a virgin,
+		<<else>>
+			and is in chastity,
+		<</if>>
+		you spend time teaching $him sexual positions and how to someday use $his pussy to its potential. You have $him work $his Kegel muscles all week to prepare $him for the future. @@.lime;$His vaginal skills have improved,@@ but it's a slow process without practical experience. 
+		<<= SkillIncrease.Vaginal($activeSlave, _vaginalTrainingEfficiency)>>
+	<<elseif $activeSlave.skill.anal <= 30>>
+		Since $he has only rudimentary anal skills,
+		<<if $activeSlave.anus == 0 && !canDoAnal($activeSlave)>>
+			is an anal virgin, and is in chastity to top it off,
+		<<elseif ($activeSlave.anus == 0)>>
+			and is an anal virgin,
+		<<else>>
+			and is in anal chastity,
+		<</if>>
+		you spend time teaching $him sexual positions and how to someday use $his asshole to its potential. You have $him work $his Kegel  muscles and anal sphincter all week to prepare $him for the future. @@.lime;$His anal skills have improved,@@ but it's a slow process without practical experience. 
+		<<= SkillIncrease.Anal($activeSlave, _analTrainingEfficiency)>>
+	<<elseif $activeSlave.skill.vaginal < 100 && $activeSlave.vagina >= 0>>
+		$He already a skilled pussy slut,
+		<<if $activeSlave.vagina == 0 && !canDoVaginal($activeSlave)>>
+			despite $his chastity and virginity,
+		<<elseif ($activeSlave.vagina == 0)>>
+			despite still being a virgin,
+		<<else>>
+			despite $his chastity,
+		<</if>>
+		but lacks practical experience. You train $him in the basics of <<if $seePee == 1>>urine play, <</if>>massage, pet play, needle play, and many other niche skills. You also work with $him to develop a personal regimen of vaginal muscle exercises. This will enable $him to squeeze and massage dicks with $his practiced vaginal walls. You spend time expanding $his knowledge of sexual positions. @@.lime;$His vaginal skills have improved,@@ but it's a slow process without proper training. 
+		<<= SkillIncrease.Vaginal($activeSlave, _vaginalTrainingEfficiency)>>
+	<<elseif $activeSlave.skill.anal < 100>>
+		$He already a skilled anal bitch,
+		<<if $activeSlave.anus == 0 && !canDoAnal($activeSlave)>>
+			despite $his anus chastity and virginity,
+		<<elseif ($activeSlave.anus == 0)>>
+			despite still being an anal virgin,
+		<<else>>
+			despite $his anal chastity,
+		<</if>>
+		but lacks practical experience. You train $him in the basics of <<if $seePee == 1>>urine play, <</if>>massage, pet play, needle play, and many other niche skills. You also expand $his knowledge of sexual positions. $He learns to balance $himself on tiptoe for the challenge of standing anal sex without support. @@.lime;$His anal skills have improved,@@ but it's a slow process without proper training. 
+		<<= SkillIncrease.Anal($activeSlave, _analTrainingEfficiency)>>
 	<<else>>
 		$He's learned everything you can teach, and is now a masterful
 		<<if ($activeSlave.skill.vaginal >= 100)>>
 			slut;
 		<<elseif ($activeSlave.vagina == 0)>>
 			virgin slut;
-		<<elseif ($activeSlave.vagina == -1) && ($activeSlave.balls == 0)>>
+		<<elseif $activeSlave.dick == 0 && $activeSlave.scrotum == 0 && $activeSlave.vagina == -1>>
+			null slave;
+		<<elseif ($activeSlave.dick> 0) && ($activeSlave.balls == 0)>>
 			gelded bitch;
-		<<elseif ($activeSlave.vagina == -1)>>
+		<<elseif $activeSlave.dick > 0 && $activeSlave.boobs > 300 && $activeSlave.vagina == -1>>
 			shemale slut;
 		<<elseif ($activeSlave.chastityVagina)>>
 			slut, notwithstanding $his chastity belt;