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>