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/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/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw index 9abc93bfb5e3ec15a635e55383d12325ff02d903..b7343443524b5dc4274161422649bee5fc1124b1 100644 --- a/src/uncategorized/saLongTermEffects.tw +++ b/src/uncategorized/saLongTermEffects.tw @@ -4382,7 +4382,7 @@ <</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 $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. @@ -4600,6 +4600,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 +4610,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 +4632,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 +4643,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 +4659,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 +4670,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 +4762,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 +4805,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 +4836,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 +4906,41 @@ <</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 = 1>> /* 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>> + <<set $slaves[$i].counter.anal += 10>> + <<set $analTotal += 10>> + <<else>> + <<set $slaves[$i].counter.vaginal += 10>> + <<set $vaginalTotal += 10>> + <</if>> + <</if>> + <</if>> + <<if _studVaginal>> + <<set $Stud.counter.vaginal += 10>> + <<set $vaginalTotal += 10>> + <<if $slaves[$i].mpreg == 1>> + <<set $slaves[$i].counter.anal += 10>> + <<set $analTotal += 10>> + <<else>> + <<set $slaves[$i].counter.vaginal += 10>> + <<set $vaginalTotal += 10>> + <</if>> + <</if>> <<set _saLTE = $slaveIndices[$Stud.ID]>> <<if def _saLTE>> <<set $slaves[_saLTE] = $Stud>>