diff --git a/Changelog.txt b/Changelog.txt
index 5a1fdc08837c457ecfbaea7c004d46ecd70f97f8..7c03a8d98a103ad261cf53ed34784315b144faef 100644
--- a/Changelog.txt
+++ b/Changelog.txt
@@ -2,7 +2,10 @@ Pregmod
 
 0.10.7.1-3.4.x
 
+	3/15/2020
+
 	0
+	-added Stud subordinate slave role and associated universal impregnation rule
 	-arcology layout overhauled
 	-fixes
 
diff --git a/slave variables documentation - Pregmod.txt b/slave variables documentation - Pregmod.txt
index d617cb0e1fbe0c66469bdb009d622d2883e3e234..e3084dfc2a9c6d8e6f38b0117b02414b5325f19a 100644
--- a/slave variables documentation - Pregmod.txt	
+++ b/slave variables documentation - Pregmod.txt	
@@ -3686,6 +3686,12 @@ Is the Head Girl permitted to fuck this slave pregnant.
 0 - no
 1 - yes
 
+StudExclude:
+
+Is the Stud permitted to fuck this slave pregnant.
+0 - no
+1 - yes
+
 ballType:
 
 What species of sperm she produces.
diff --git a/src/data/backwardsCompatibility/datatypeCleanup.js b/src/data/backwardsCompatibility/datatypeCleanup.js
index d4e1596aded6be35cf929f2bf1f039e74e37def4..23f385b558b4b9e1e1c8b3aa6348c89da6bf4d6c 100644
--- a/src/data/backwardsCompatibility/datatypeCleanup.js
+++ b/src/data/backwardsCompatibility/datatypeCleanup.js
@@ -1025,6 +1025,7 @@ window.SlaveDatatypeCleanup = (function SlaveDatatypeCleanup() {
 		}
 		slave.choosesOwnAssignment = Math.clamp(+slave.choosesOwnAssignment, 0) || 0;
 		slave.HGExclude = Math.clamp(+slave.HGExclude, 0, 1) || 0;
+		slave.StudExclude = Math.clamp(+slave.StudExclude, 0, 1) || 0;
 		slave.choosesOwnChastity = Math.clamp(+slave.choosesOwnChastity, 0, 1) || 0;
 		slave.breedingMark = Math.clamp(+slave.breedingMark, 0, 1) || 0;
 		slave.rudeTitle = Math.clamp(+slave.rudeTitle, 0, 1) || 0;
diff --git a/src/interaction/slaveInteract.js b/src/interaction/slaveInteract.js
index d4f251e4216cec14cb0ac640e0a1b7461e1f882e..9f85afe4360d12a180e253f5441c8cc24e6ecc75 100644
--- a/src/interaction/slaveInteract.js
+++ b/src/interaction/slaveInteract.js
@@ -172,6 +172,9 @@ App.UI.SlaveInteract.assignmentBlock = function(blockId, slave) {
 		if (target) {
 			title.appendChild(document.createTextNode(`Serving ${target.slaveName} exclusively. `));
 			linkText = `Change`;
+		} else if (slave.subTarget === -1) {
+			title.appendChild(document.createTextNode(`Serving as a Stud. `));
+			linkText = `Change role `;
 		} else {
 			title.appendChild(document.createTextNode(`Serving all your other slaves. `));
 			linkText = `Choose a specific slave to submit to`;
diff --git a/src/js/SlaveState.js b/src/js/SlaveState.js
index 1eab103681b4b03b6d4f8705872a0edd9b23c135..bfe1313c4b6bacb7b2b37b4e0183ba0a7fc3145e 100644
--- a/src/js/SlaveState.js
+++ b/src/js/SlaveState.js
@@ -2307,6 +2307,12 @@ App.Entity.SlaveState = class SlaveState {
 		 * * 0: no
 		 * * 1: yes */
 		this.HGExclude = 0;
+		/** Is the Stud permitted to fuck this slave pregnant.
+		 *  MB Cattle Ranch bulls will ignore this.
+		 *
+		 * * 0: no
+		 * * 1: yes */
+		this.StudExclude = 0;
 		/**
 		 * What species of sperm she produces.
 		 * * "human"
diff --git a/src/js/assignJS.js b/src/js/assignJS.js
index 6638900580087aa8e1777457de153e4fbe315090..85f5f48939922e894be1d1c465121de1b3d34199 100644
--- a/src/js/assignJS.js
+++ b/src/js/assignJS.js
@@ -497,6 +497,8 @@ window.removeJob = function removeJob(slave, assignment, saveRecord) {
 			V.Concubine = 0;
 		} else if (V.Collectrix !== 0 && slave.ID === V.Collectrix.ID) {
 			V.Collectrix = 0;
+		} else if (V.Stud !== 0 && slave.ID === V.Stud.ID) {
+			V.Stud = 0;
 		}
 
 		/* use .toLowerCase() to get rid of a few dupe conditions. */
diff --git a/src/js/slaveListing.js b/src/js/slaveListing.js
index 355e40192e03eefc913518d304699558159878e6..cc59d9a7aa1cc816a4f8890d42fe1b199dad2b90 100644
--- a/src/js/slaveListing.js
+++ b/src/js/slaveListing.js
@@ -306,7 +306,9 @@ App.UI.SlaveList.render = function() {
 				}
 			}
 		} else if (slave.assignment === "be a subordinate slave") {
-			if (slave.subTarget !== 0) {
+			if (slave.subTarget === -1) {
+				assignment.innerText += ", serving as your Stud";
+			} else if (slave.subTarget !== 0) {
 				assignment.innerText += ", serving " + SlaveFullName(slaves[V.slaveIndices[slave.subTarget]]) + " exclusively";
 			}
 		}
diff --git a/src/uncategorized/longSlaveDescription.tw b/src/uncategorized/longSlaveDescription.tw
index 43da4d500d548e24170725e9733a8dfae9c6a8b9..f638f0b2317976db9a7ef5cb95490cabb8287db2 100644
--- a/src/uncategorized/longSlaveDescription.tw
+++ b/src/uncategorized/longSlaveDescription.tw
@@ -118,7 +118,11 @@ is
 		<<case "please you">>
 			from where $he was offering $himself to you.
 		<<case "be a subordinate slave">>
-			straight from orally servicing another slave.
+			<<if $activeSlave.subTarget == -1>>
+				from where $he was resting after $his latest baby-making session.
+			<<else>>
+				straight from orally servicing another slave.
+			<</if>>
 		<<case "be a servant">>
 			straight from bathing another slave.
 		<<case "train slaves">>
diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw
index 9abc93bfb5e3ec15a635e55383d12325ff02d903..68cde24c73f23b0f75860895b74c783a118ef78c 100644
--- a/src/uncategorized/saLongTermEffects.tw
+++ b/src/uncategorized/saLongTermEffects.tw
@@ -4247,6 +4247,7 @@
 	<<if canGetPregnant($slaves[$i]) && (($slaves[$i].assignment == "work in the dairy" && $dairyPregSetting == 0) || $slaves[$i].assignment != "work in the dairy")>>
 
 		<<set _conceptionSeed = random(1,100)>>
+		<<set _studIgnoresRules = ($Stud != 0 && $universalRulesImpregnation == "Stud" && $Stud.career == "a breeding bull" && $Stud.fetish == "mindbroken" && canWalk($Stud)) ? 1 : 0>>
 
 		<<if ($universalRulesImpregnation == "PC") && canImpreg($slaves[$i], $PC)>>
 			$slaves[$i].slaveName is ripe for breeding, so you ejaculate inside $him often. When you bore of $his fertile <<if $slaves[$i].mpreg == 1>>ass<<else>>cunt<</if>>, you keep $him around as you fuck other slaves so you can pull out of them, shove your cock into $him, and fill $him with your seed anyway.
@@ -4282,11 +4283,13 @@
 			<<set WombImpregnate($slaves[$i], $slaves[$i].pregType, -1, 1)>>
 			<<set $activeSlave = $slaves[$i]>><<if $slaves[$i].mpreg == 1>><<= VCheck.Anal(10)>><<else>><<= VCheck.Vaginal(10)>><</if>><<set $slaves[$i] = $activeSlave>>
 
-		<<elseif (($slaves[$i].vagina == 0) || (($slaves[$i].anus == 0) && ($slaves[$i].mpreg > 0))) && ($Stud == 0 || $universalRulesImpregnation != "Stud" || $Stud.career != "a breeding bull" || $Stud.fetish != "mindbroken" || !canWalk($Stud))>>
+		<<elseif (($slaves[$i].vagina == 0) || (($slaves[$i].anus == 0) && ($slaves[$i].mpreg > 0))) && !_studIgnoresRules>>
 		<<elseif ($HeadGirl != 0) && ($HeadGirl.dick > 0) && ($slaves[$i].ID != $HeadGirl.ID) && ($universalRulesImpregnation == "HG") && canPenetrate($HeadGirl)>>
 			<<setLocalPronouns $HeadGirl 2>>
 			<<if $slaves[$i].HGExclude == 1>>
 				It's $HeadGirl.slaveName's responsibility to impregnate fertile slaves, but your Head Girl is forbidden from impregnating $slaves[$i].slaveName.
+			<<elseif $universalHGImpregnateMasterSuiteToggle == 1 && ["serve in the master suite", "be your Concubine"].includes($slaves[$i].assignment)>>
+				It's $HeadGirl.slaveName's responsibility to impregnate fertile slaves, but $slaves[$i].slaveName is off-limits.
 			<<elseif $HGCum == 0>>
 				It's $HeadGirl.slaveName's responsibility to impregnate fertile slaves, but your Head Girl can only fuck a limited number of slaves enough to ensure impregnation each week.
 			<<elseif !canBreed($slaves[$i], $HeadGirl)>>
@@ -4382,8 +4385,10 @@
 			<</if>> /* closes HG impregnation */
 		<<elseif ($Stud != 0) && ($slaves[$i].ID != $Stud.ID) && ($universalRulesImpregnation == "Stud")>>
 			<<setLocalPronouns $Stud 2>>
-			<<if ($slaves[$i].HGExclude == 1 || $slaves[$i].breedingMark == 1) && ($Stud.career != "a breeding bull" || $Stud.fetish != "mindbroken" || !canWalk($Stud))>>
+			<<if ($slaves[$i].StudExclude == 1 || $slaves[$i].breedingMark == 1) && ($Stud.career != "a breeding bull" || $Stud.fetish != "mindbroken" || !canWalk($Stud))>>
 				It's $Stud.slaveName's role to provide sperm for fertile slaves, but $slaves[$i].slaveName is not included on the list.
+			<<elseif $universalHGImpregnateMasterSuiteToggle == 1 && ["serve in the master suite", "be your Concubine"].includes($slaves[$i].assignment)>>
+				It's $Stud.slaveName's role to provide sperm for fertile slaves, but $slaves[$i].slaveName is off-limits.
 			<<elseif $StudCum == 0>>
 				It's $Stud.slaveName's role to provide sperm for fertile slaves, but your Stud can only cum enough to ensure impregnation in a limited number of slaves each week.
 			<<elseif !canBreed($slaves[$i], $Stud)>>
@@ -4600,6 +4605,7 @@
 							<<if _studRandiness == 1>>
 								but has @@.mediumorchid;trouble coming to terms with@@ being @@.lime;inseminated@@ by a mate with no dick.
 								<<set $slaves[$i].need -= 10>>
+								<<set _studVaginal = 1>>
 							<<else>>
 								but between $his mate's lack of a dick and having to @@.lime;inseminate $himself@@ with a syringe, the experience @@.mediumorchid;is not very pleasant.@@
 							<</if>>
@@ -4609,6 +4615,7 @@
 								$slaves[$i].slaveName tries to resist _him2, so $Stud.slaveName teaches _him2 that _he2 doesn't need a dick @@.mediumorchid;to rape the poor $girl@@ pregnant. _He2 regularly ejaculating inside $him until @@.lime;conception@@ is confirmed, @@.gold;much to $his terror.@@
 								<<set $slaves[$i].devotion -= 4>>
 								<<set $slaves[$i].trust -= 4>>
+								<<set _studVaginal = 1>>
 							<<else>>
 								$slaves[$i].slaveName finds $Stud.slaveName is in a similar situation as $he is, so the two of them try to make it as @@.mediumaquamarine;mutuably enjoyable as possible,@@ despite the awkwardness involved, while trying their best to overlook that $Stud.slaveName is being forced to @@.lime;impregnate $him.@@
 								<<set $slaves[$i].trust += 4>>
@@ -4630,6 +4637,7 @@
 								<<if _studRandiness == 1>>
 									@@.hotpink;very willing to be bred@@ by your Stud, but never expected to be @@.lime;impregnated via tribbing.@@
 									<<set $slaves[$i].need -= 20>>
+									<<set _studVaginal = 1>>
 								<<else>>
 									@@.hotpink;happy to bear@@ your Stud's child by injecting _his2 cumshots deep into $his <<if $slaves[$i].mpreg == 1>>ass<</if>>pussy until $he @@.lime;conceives.@@
 								<</if>>
@@ -4640,6 +4648,7 @@
 								<<if _studRandiness == 1>>
 									allows _him2 to effectively @@.lime;trib $him pregnant.@@
 									<<set $slaves[$i].need -= 20>>
+									<<set _studVaginal = 1>>
 								<<else>>
 									<<if ($slaves[$i].fetish == "sadist" || $slaves[$i].fetish == "dom")>>
 										wastes no time dealing with _his2 issues and just harvests _his2 sperm
@@ -4655,6 +4664,7 @@
 								<<if _studRandiness == 1>>
 									but never expected to be @@.lime;impregnated via tribbing.@@
 									<<set $slaves[$i].need -= 20>>
+									<<set _studVaginal = 1>>
 								<<else>>
 									and injects milked cum into $his hungry <<if $slaves[$i].mpreg == 1>>ass<</if>>pussy daily until @@.lime;conception@@ is verified.
 								<</if>>
@@ -4665,6 +4675,7 @@
 								<<if _studRandiness == 1>>
 									and tribs with _him2 until _he2 squirts enough sperm into $him to @@.lime;conceive a child.@@
 									<<set $slaves[$i].need -= 20>>
+									<<set _studVaginal = 1>>
 								<<else>>
 									and dutifully injects $himself with _his2 loads until @@.lime;conception@@ is verified.
 								<</if>>
@@ -4756,20 +4767,27 @@
 								<<set $slaves[$i].need -= 30>>
 							<</if>>
 						<</if>>
+						<<set _studPenetrative = 1>>
+						<<set _studTakesV = 1>>
 					<<elseif canAchieveErection($Stud)>>
 						<<if $slaves[$i].career == "a dairy cow" && ($slaves[$i].devotion <= 20)>>
 							$slaves[$i].slaveName feels a need to be bred by your Stud, but try as $he might, just can't fit _his2 massive dick inside $his <<if $slaves[$i].mpreg == 1>>ass<</if>>pussy. Having to take just the tip until $he @@.lime;conceives@@ @@.mediumorchid;isn't satisfying@@ to the ex-dairy cow.
 							<<set $slaves[$i].devotion -= 1>>
+							<<set _studPenetrative = 1>>
+							<<set _studTakesV = 1>>
 						<<elseif ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
 							<<if _studRandiness == 1>>
 								$slaves[$i].slaveName tries to resist _him2, so $Stud.slaveName just @@.mediumorchid;rapes the poor $girl@@ pregnant, regularly ejaculating inside $him until @@.lime;conception@@ is confirmed.
 								<<set $slaves[$i].devotion -= 4>>
 								<<set _rapeAddsFlaw = 1>>
+								<<set _studPenetrative = 1>>
+								<<set _studTakesV = 1>>
 							<<else>>
 								$slaves[$i].slaveName finds $Stud.slaveName is in a similar situation as $he is, so the two of them try to make it as @@.mediumaquamarine;mutuably enjoyable as possible@@ while trying their best to overlook that $Stud.slaveName is being forced to @@.lime;impregnate $him.@@
 								<<set $slaves[$i].trust += 4>>
 								<<set $Stud.trust += 4>>
 								<<set $slaves[$i].need = 0>>
+								<<set _studPenetrative = 1>>
 							<</if>>
 						<<elseif ($slaves[$i].devotion <= 20)>>
 							<<if _studRandiness == 1>>
@@ -4792,11 +4810,15 @@
 								<<set $slaves[$i].devotion += 2>>
 								<<set _satisfiedPregFetish = 1>>
 								<<set $slaves[$i].need = 0>>
+								<<set _studPenetrative = 1>>
+								<<set _studTakesV = 1>>
 							<<else>>
 								$slaves[$i].slaveName is willing to be bred by your Stud, and
 								<<if _studRandiness == 1>>
 									takes as much of _his2 cock bareback as $he can
 									<<set $slaves[$i].need -= 20>>
+									<<set _studPenetrative = 1>>
+									<<set _studTakesV = 1>>
 								<<else>>
 									<<if ($slaves[$i].fetish == "sadist" || $slaves[$i].fetish == "dom")>>
 										nearly hurts $himself trying to fit the monster in $his <<if $slaves[$i].mpreg == 1>>ass<<else>>pussy<</if>>, but manages to take spurts
@@ -4819,10 +4841,14 @@
 								<<set $slaves[$i].devotion += 2>>
 								<<set _satisfiedPregFetish = 1>>
 								<<set $slaves[$i].need = 0>>
+								<<set _studPenetrative = 1>>
+								<<set _studTakesV = 1>>
 							<<else>>
 								$slaves[$i].slaveName is @@.hotpink;quite willing to be bred@@ by your Stud and
 								<<if _studRandiness == 1>>
 									submissively takes the tip of _his2 cock
+									<<set _studPenetrative = 1>>
+									<<set _studTakesV = 1>>
 								<<else>>
 									<<if ($slaves[$i].fetish == "sadist" || $slaves[$i].fetish == "dom")>>
 										forcibly extracts cum from _his2 massive cock
@@ -4885,11 +4911,38 @@
 						<</if>>
 					<</if>>
 				<</if>>
-
-				<<set $slaves[$i].preg = 1, $slaves[$i].pregSource = $Stud.ID, $slaves[$i].pregWeek = 1, $slaves[$i].pregKnown = 1, $StudCum -= 1, $Stud.counter.penetrative += 10, $penetrativeTotal += 10>>
+				<<set $slaves[$i].preg = 1, $slaves[$i].pregSource = $Stud.ID, $slaves[$i].pregWeek = 1, $slaves[$i].pregKnown = 1, $StudCum -= 1>>
 				<<set $slaves[$i].pregType = setPregType($slaves[$i])>>
 				<<set WombImpregnate($slaves[$i], $slaves[$i].pregType, $Stud.ID, 1)>>
-				<<set $activeSlave = $slaves[$i]>><<if $slaves[$i].mpreg == 1>><<= VCheck.Anal(10)>><<else>><<= VCheck.Vaginal(10)>><</if>><<set $slaves[$i] = $activeSlave>>
+				<<if _studPenetrative>>
+					<<if _studTakesV>> /* Stud may not actually take virginity */
+						<<set $Stud.counter.penetrative += 10>>
+						<<set $penetrativeTotal += 10>>
+						<<set $activeSlave = $slaves[$i]>>
+						<<if $slaves[$i].mpreg == 1>>
+							<<= VCheck.Anal(10)>>
+						<<else>>
+							<<= VCheck.Vaginal(10)>>
+						<</if>>
+						<<set $slaves[$i] = $activeSlave>>
+					<<else>>
+						<<if $slaves[$i].mpreg == 1>>
+							<<run seX($slaves[$i], "anal", 10)>>
+						<<else>>
+							<<run seX($slaves[$i], "vaginal", 10)>>
+						<</if>>
+					<</if>>
+				<</if>>
+				<<if _studVaginal>>
+					<<if $Stud.vagina >= 0>>
+						<<run seX($Stud, "vaginal", 10)>>
+					<</if>>
+					<<if $slaves[$i].mpreg == 1>>
+						<run seX($slaves[$i], "anal", 10)>>
+					<<else>>
+						<<run seX($slaves[$i], "vaginal", 10)>>
+					<</if>>
+				<</if>>
 				<<set _saLTE = $slaveIndices[$Stud.ID]>>
 				<<if def _saLTE>>
 					<<set $slaves[_saLTE] = $Stud>>
diff --git a/src/uncategorized/saServeYourOtherSlaves.tw b/src/uncategorized/saServeYourOtherSlaves.tw
index f889e220192ae0964c2fabc2373413468ecd2b4d..bed8ae13d50e7fb6a777ef94f982c800056d0196 100644
--- a/src/uncategorized/saServeYourOtherSlaves.tw
+++ b/src/uncategorized/saServeYourOtherSlaves.tw
@@ -55,7 +55,7 @@
 				<</if>>
 			<</if>>
 		<<else>>
-			obediently seeds your fertile slaves. Being used as a stud @@.hotpink;keeps $him in a good frame of mind@@ and @@.mediumorchid;builds $his trust in you.@@
+			obediently seeds your fertile slaves. Being used as a stud @@.hotpink;keeps $him in a good frame of mind@@ and @@.mediumaquamarine;builds $his trust in you.@@
 			<<set $slaves[$i].devotion += 2, $slaves[$i].trust += 2>>
 			<<if $slaves[$i].fetish == "pregnancy">>
 				$He @@.hotpink;openly enjoys@@ getting the honor of fathering new slaves on your behalf.
diff --git a/src/uncategorized/slaveAssignmentsReport.tw b/src/uncategorized/slaveAssignmentsReport.tw
index 5ab79ab615bdcb307ae0438a3406963fc4d54b3a..162e3e5550b7a3a356192cce1db9f9b8c8c51bce 100644
--- a/src/uncategorized/slaveAssignmentsReport.tw
+++ b/src/uncategorized/slaveAssignmentsReport.tw
@@ -789,34 +789,13 @@ $sexDemandResult.topClass = Math.trunc((($NPCSexSupply.topClass + $slaveJobValue
 	<<set $Concubine = $slaves[$i], $fuckSlaves++>>
 <<case "serve in the master suite" "please you">>
 	<<set $fuckSlaves++>>
-<</switch>>
-
-<<if $Lurcher>>
-	<<if $slaves[$i].ID == $Lurcher.ID>>
-		<<set $Lurcher = $slaves[$i]>>
-		<<if !canWalk($Lurcher)>>
-			<span class='slave-name'>$Lurcher.slaveName</span> is no longer able to run @@.yellow;and cannot course as a lurcher.@@<br>
-			<<set $Lurcher = 0>>
-		<<elseif !canHold($Lurcher)>>
-			<span class='slave-name'>$Lurcher.slaveName</span> is no longer able to catch the hares @@.yellow;and cannot course as a lurcher.@@<br>
-			<<set $Lurcher = 0>>
-		<<elseif !canHear($Lurcher) && !canSee($Lurcher)>>
-			<span class='slave-name'>$Lurcher.slaveName</span> is no longer able to track the hares @@.yellow;and cannot course as a lurcher.@@<br>
-			<<set $Lurcher = 0>>
-		<<elseif $Lurcher.bellyPreg >= 60000>>
-			<span class='slave-name'>$Lurcher.slaveName</span> is too pregnant to run @@.yellow;and cannot course as a lurcher.@@
-			<<set $Lurcher = 0>>
-		<</if>>
-	<</if>>
-<</if>>
-
-<<if $Stud>>
-	<<if $slaves[$i].ID == $Stud.ID>>
+<<case "be a subordinate slave">>
+	<<if $slaves[$i].subTarget == -1>>
 		<<set $Stud = $slaves[$i]>>
 		<<if $slaves[$i].balls == 0>>
 			<span class='slave-name'>$Stud.slaveName</span> no longer has sperm @@.yellow;and cannot serve as a Stud any more.@@<br>
 			<<set $Stud = 0>>
-		<<elseif slave.ballType == "sterile">>
+		<<elseif $slaves[$i].ballType == "sterile">>
 			<span class='slave-name'>$Stud.slaveName</span> no longer produces potent sperm @@.yellow;and cannot serve as a Stud any more.@@<br>
 			<<set $Stud = 0>>
 		<<elseif $slaves[$i].pubertyXY != 1>>
@@ -825,11 +804,13 @@ $sexDemandResult.topClass = Math.trunc((($NPCSexSupply.topClass + $slaveJobValue
 		<<elseif $slaves[$i].vasectomy == 1>>
 			<span class='slave-name'>$Stud.slaveName</span> shoots blanks due to a vasectomy @@.yellow;and cannot serve as a Stud any more.@@<br>
 			<<set $Stud = 0>>
+		<<elseif $universalRulesImpregnation != "Stud">>
+			<span class='slave-name'>$Stud.slaveName</span> is @@.yellow;no longer needed as a Stud.@@
 		<</if>>
 		<<if $Stud == 0>>
 			<<set $slaves[$i].subTarget = 0>>
 		<<else>>
-			<<set $StudCum = 2+Math.trunc(($Stud.balls/5)+($Stud.energy/95)+($Stud.health.condition/95)+($Stud.devotion/95)+($reproductionFormula*5)-($Stud.tired/25))>>
+			<<set $StudCum = 2+Math.trunc(($Stud.balls/5)+($Stud.energy/95)+($Stud.health.condition/95)+($Stud.devotion/95)+($reproductionFormula*5)-($Stud.health.tired/25))>>
 			<<if $Stud.drugs == "hyper testicle enhancement">>
 				<<set $StudCum += 3>>
 			<<elseif $Stud.drugs == "testicle enhancement">>
@@ -840,6 +821,25 @@ $sexDemandResult.topClass = Math.trunc((($NPCSexSupply.topClass + $slaveJobValue
 			<</if>>
 		<</if>>
 	<</if>>
+<</switch>>
+
+<<if $Lurcher>>
+	<<if $slaves[$i].ID == $Lurcher.ID>>
+		<<set $Lurcher = $slaves[$i]>>
+		<<if !canWalk($Lurcher)>>
+			<span class='slave-name'>$Lurcher.slaveName</span> is no longer able to run @@.yellow;and cannot course as a lurcher.@@<br>
+			<<set $Lurcher = 0>>
+		<<elseif !canHold($Lurcher)>>
+			<span class='slave-name'>$Lurcher.slaveName</span> is no longer able to catch the hares @@.yellow;and cannot course as a lurcher.@@<br>
+			<<set $Lurcher = 0>>
+		<<elseif !canHear($Lurcher) && !canSee($Lurcher)>>
+			<span class='slave-name'>$Lurcher.slaveName</span> is no longer able to track the hares @@.yellow;and cannot course as a lurcher.@@<br>
+			<<set $Lurcher = 0>>
+		<<elseif $Lurcher.bellyPreg >= 60000>>
+			<span class='slave-name'>$Lurcher.slaveName</span> is too pregnant to run @@.yellow;and cannot course as a lurcher.@@
+			<<set $Lurcher = 0>>
+		<</if>>
+	<</if>>
 <</if>>
 
 <<if $fighterIDs.includes($slaves[$i])>>
diff --git a/src/uncategorized/slaveInteract.tw b/src/uncategorized/slaveInteract.tw
index 1d93f15f666db1692885033b5b7fbc16cba36cf6..9a5bdf98176b4cb31c6093077754a3df3a5d0026 100644
--- a/src/uncategorized/slaveInteract.tw
+++ b/src/uncategorized/slaveInteract.tw
@@ -395,11 +395,19 @@
 <div id="Rules" class="tabcontent">
 	<div class="content">
 		<p>
-			<<if $universalRulesImpregnation == "HG" && $seePreg != 0>>
-				<<if $slaves[_i].HGExclude == 0>>
-					Will be bred by the Head Girl when fertile. <<link "Exempt $him" "Slave Interact">><<set $slaves[_i].HGExclude = 1>><</link>>
-				<<else>>
-					Will not be bred by the Head Girl when fertile. <<link "Include $him" "Slave Interact">><<set $slaves[_i].HGExclude = 0>><</link>>
+			<<if $seePreg != 0>>
+				<<if $universalRulesImpregnation == "HG">>
+					<<if $slaves[_i].HGExclude == 0>>
+						Will be bred by the Head Girl when fertile. <<link "Exempt $him" "Slave Interact">><<set $slaves[_i].HGExclude = 1>><</link>>
+					<<else>>
+						Will not be bred by the Head Girl when fertile. <<link "Include $him" "Slave Interact">><<set $slaves[_i].HGExclude = 0>><</link>>
+					<</if>>
+				<<elseif $universalRulesImpregnation == "Stud">>
+					<<if $slaves[_i].StudExclude == 0>>
+						Will be bred by your Stud when fertile. <<link "Exempt $him" "Slave Interact">><<set $slaves[_i].StudExclude = 1>><</link>>
+					<<else>>
+						Will not be bred by your Stud when fertile. <<link "Include $him" "Slave Interact">><<set $slaves[_i].StudExclude = 0>><</link>>
+					<</if>>
 				<</if>>
 			<</if>>
 		</p>
diff --git a/src/uncategorized/subordinateTargeting.tw b/src/uncategorized/subordinateTargeting.tw
index 4bdf2c69c02e79182dbdd7680122e28799c111f5..b1ba28a55e75356685b1a37d7cd402a62fae4b2c 100644
--- a/src/uncategorized/subordinateTargeting.tw
+++ b/src/uncategorized/subordinateTargeting.tw
@@ -6,6 +6,10 @@
 
 <<if $activeSlave.subTarget == $activeSlave.ID>>
 	<<set $activeSlave.subTarget = 0>>
+<<elseif $activeSlave.subTarget == -1>>
+	<<if $universalRulesImpregnation != "Stud" || $activeSlave.ID != $Stud.ID>>
+		<<set $activeSlave.subTarget = 0>>
+	<</if>>
 <</if>>
 <<if $activeSlave.assignment !== "be a subordinate slave">>
 	<<= assignJob($activeSlave, "be a subordinate slave")>>
@@ -13,16 +17,24 @@
 <<set _st = $slaveIndices[$activeSlave.subTarget]>>
 <<if def _st>>
 	$activeSlave.slaveName will submit to <span class='slave-name'>$slaves[_st].slaveName</span> this week.
+<<elseif $activeSlave.subTarget == -1>>
+	$activeSlave.slaveName is acting as your Stud and is tasked with keeping your chattel pregnant.
 <<else>>
 	$activeSlave.slaveName has not been given to any particular slave, so $he will have to offer $himself to everyone this week.
 	<<set $activeSlave.subTarget = 0>>
 <</if>>
 
-<br><br>__Select a slave for $him to submit to, sexually:__
-<<= App.UI.SlaveList.slaveSelectionList(
-		s => s.devotion >= -20 && s.fuckdoll === 0 && State.variables.activeSlave.ID !== s.ID &&
-			(!isAmputee(State.variables.activeSlave) || !isAmputee(s)),
-		(s, i) => App.UI.DOM.passageLink(SlaveFullName(s), 'Subordinate Targeting', () => { V.activeSlave.subTarget = s.ID; }),
-	)>>
-
-<br><br>[[None|Subordinate Targeting][$activeSlave.subTarget = 0]]
+<<if $activeSlave.subTarget == -1>>
+	<br><br><<link"Reign $him in" "Subordinate Targeting">><<set $activeSlave.subTarget = 0, $Stud = 0>><</link>>
+<<else>>
+	<br><br>__Select a slave for $him to submit to, sexually:__
+	<<= App.UI.SlaveList.slaveSelectionList(
+			s => s.devotion >= -20 && s.fuckdoll === 0 && State.variables.activeSlave.ID !== s.ID &&
+				(!isAmputee(State.variables.activeSlave) || !isAmputee(s)),
+			(s, i) => App.UI.DOM.passageLink(SlaveFullName(s), 'Subordinate Targeting', () => { V.activeSlave.subTarget = s.ID; }),
+		)>>
+	<<if $universalRulesImpregnation == "Stud" && $Stud == 0>>
+		<br><br>[[Stud|Subordinate Targeting][$activeSlave.subTarget = -1, $Stud = $activeSlave]]
+	<</if>>
+	<br><br>[[None|Subordinate Targeting][$activeSlave.subTarget = 0]]
+<</if>>
diff --git a/src/uncategorized/universalRules.tw b/src/uncategorized/universalRules.tw
index c51580a3719bd69bf6f5e5ce0b8e9ec537ceaaad..eb8a56ad430f1dc62f97146cece4afbc93657c81 100644
--- a/src/uncategorized/universalRules.tw
+++ b/src/uncategorized/universalRules.tw
@@ -517,16 +517,54 @@ Slave nicknames are
 <br>
 <<if $universalRulesImpregnation == "HG">>
 	<<setLocalPronouns $HeadGirl>>
-	Fertile slaves will be ''systematically impregnated by your Head Girl,'' if $he is able to do so. [[Cancel insemination regime|Universal Rules][($universalRulesImpregnation = "none"),($universalHGImpregnateMasterSuiteToggle = 0)]]<<if $PC.dick > 0>> | [[Inseminate them yourself|Universal Rules][($universalRulesImpregnation = "PC"),($universalHGImpregnateMasterSuiteToggle = 0)]]<</if>> <br>
+	Fertile slaves will be ''systematically impregnated by your Head Girl,'' if $he is able to do so.
+	[[Cancel insemination regime|Universal Rules][($universalRulesImpregnation = "none"),($universalHGImpregnateMasterSuiteToggle = 0)]]
+	| [[Use a Stud for insemination|Universal Rules][($universalRulesImpregnation = "Stud")]]
+	<<if $PC.dick > 0>>
+		| [[Inseminate them yourself|Universal Rules][($universalRulesImpregnation = "PC"),($universalHGImpregnateMasterSuiteToggle = 0)]]
+	<</if>>
+	<br>
 	<<if $universalHGImpregnateMasterSuiteToggle == 1>>
 		Your Head Girl, if able, ''is not'' inseminating slaves in the Master Suite. [["Allow "+$him+" to inseminate Master Suite slaves"|Universal Rules][$universalHGImpregnateMasterSuiteToggle = 0]]
 	<<else>>
 		Your Head Girl, if able, ''is'' inseminating slaves in the Master Suite. [["Forbid "+$him+" from inseminating Master Suite slaves"|Universal Rules][$universalHGImpregnateMasterSuiteToggle = 1]]
 	<</if>>
+<<elseif $universalRulesImpregnation == "Stud">>
+	<<if $Stud == 0>>
+		Fertile slaves will be ''systematically impregnated by a Stud,'' once you designate a subordinate slave to act as such.
+	<<else>>
+		<<setLocalPronouns $Stud>>
+		Fertile slaves will be ''systematically impregnated by your Stud,'' if $he is able to do so.
+	<</if>>
+	[[Cancel insemination regime|Universal Rules][($universalRulesImpregnation = "none"),($universalHGImpregnateMasterSuiteToggle = 0)]]
+	<<if $PC.dick > 0>>
+		| [[Inseminate them yourself|Universal Rules][($universalRulesImpregnation = "PC"),($universalHGImpregnateMasterSuiteToggle = 0)]]
+	<</if>>
+	<<if $seeDicks != 0>>
+		| [[Delegate insemination to your Head Girl|Universal Rules][$universalRulesImpregnation = "HG"]]
+	<</if>>
+	<br>
+	<<if $universalHGImpregnateMasterSuiteToggle == 1>>
+		Your Stud, if able, ''is not'' inseminating slaves in the Master Suite. [["Allow "+$him+" to inseminate Master Suite slaves"|Universal Rules][$universalHGImpregnateMasterSuiteToggle = 0]]
+	<<else>>
+		Your Stud, if able, ''is'' inseminating slaves in the Master Suite. [["Forbid "+$him+" from inseminating Master Suite slaves"|Universal Rules][$universalHGImpregnateMasterSuiteToggle = 1]]
+	<</if>>
 <<elseif $universalRulesImpregnation == "PC">>
-	Fertile slaves will be ''systematically impregnated by you.'' [[Cancel insemination regime|Universal Rules][$universalRulesImpregnation = "none"]]<<if $seeDicks != 0>> | [[Delegate insemination to your Head Girl|Universal Rules][$universalRulesImpregnation = "HG"]]<</if>>
+	Fertile slaves will be ''systematically impregnated by you.''
+	[[Cancel insemination regime|Universal Rules][$universalRulesImpregnation = "none"]]
+	| [[Use a Stud for insemination|Universal Rules][($universalRulesImpregnation = "Stud")]]
+	<<if $seeDicks != 0>>
+		| [[Delegate insemination to your Head Girl|Universal Rules][$universalRulesImpregnation = "HG"]]
+	<</if>>
 <<elseif $seePreg != 0>>
-	Fertile slaves will ''not be systematically impregnated.'' <<if $PC.dick > 0>>[[Inseminate them yourself|Universal Rules][$universalRulesImpregnation = "PC"]]<</if>><<if ($PC.dick > 0) && ($seeDicks != 0)>> | <</if>><<if $seeDicks != 0>>[[Delegate insemination to your Head Girl|Universal Rules][$universalRulesImpregnation = "HG"]]<</if>>
+	Fertile slaves will ''not be systematically impregnated.''
+	<<if $PC.dick > 0>>
+		[[Inseminate them yourself|Universal Rules][$universalRulesImpregnation = "PC"]] |
+	<</if>>
+	<<if $seeDicks != 0>>
+		[[Delegate insemination to your Head Girl|Universal Rules][$universalRulesImpregnation = "HG"]] |
+	<</if>>
+	[[Use a Stud for insemination|Universal Rules][($universalRulesImpregnation = "Stud")]]
 <</if>>
 
 <br>