diff --git a/devNotes/VersionChangeLog-Premod+LoliMod.txt b/devNotes/VersionChangeLog-Premod+LoliMod.txt index 635cfb69c904563d20887fcf642d8ac15ffa8a86..be69cc62ca63bb7bf24139909dd9b16bba24562c 100644 --- a/devNotes/VersionChangeLog-Premod+LoliMod.txt +++ b/devNotes/VersionChangeLog-Premod+LoliMod.txt @@ -2,8 +2,25 @@ 0.10.7.1-0.3.x +6/01/2018 + + 6 + -added artificial insemination + -various SF related fixes from SFanon + -fixes to braces to age interaction + + 5 + -various minor text corrections + -catches to advertisements not getting cleared upon facility decommision + -corp fixed race setting should now apply to XY genned slaves + 5/31/2018 + 4 + -fixes + -fixes to crazy devotion gains from bodyswapping, hopefully + -colored slave summary to make it more obvious if something is on a slave + 3 -remove all slaves facility option -BC now properly applies pronouns to hero slaves diff --git a/src/pregmod/artificialInsemination.tw b/src/pregmod/artificialInsemination.tw new file mode 100644 index 0000000000000000000000000000000000000000..63b2e122c860e2839bcd679c14a913e36afc7986 --- /dev/null +++ b/src/pregmod/artificialInsemination.tw @@ -0,0 +1,49 @@ +:: Artificial Insemination [nobr] + +<<set $nextButton = "Back", $nextLink = "Remote Surgery", $impregnatrix = 0, _eligibility = 0, _eligibilityI = 0>> + +//$activeSlave.slaveName is prepped for fertilization; now you must select a target to harvest sperm from.// + +<br><br> + +__Select an eligible slave to serve as the semen donatrix:__ + +<br> + +<<for _ai = 0; _ai < $slaves.length; _ai++>> + <<if $slaves[_ai].balls > 0 && $slaves[_ai].pubertyXY == 1 && canBreed($activeSlave, $slaves[_ai])>> + <br><<print "[[$slaves[_ai].slaveName|Surgery Degradation][$impregnatrix = $slaves[" + _ai + "], $cash -= $surgeryCost, $surgeryType = 'insemination']]">> + <<set _eligibility = 1>> + <</if>> +<</for>> +<<if (_eligibility == 0)>> + <br>//You have no slaves with potent sperm.// +<</if>> + +/* Disabled until .pregSource can manage to comprehend this +<<if $incubatorSlaves > 0 && $incubatorReproductionSetting == 2>> + <br><br> + + __Incubator settings are resulting in large-scale fluid secretion. Select an eligible incubatee to milk for semen:__ + + <br> + <<for _ai = 0; _ai < $tanks.length; _ai++>> + <<if $tanks[_ai].balls > 0 && $tanks[_ai].dick > 0 && canBreed($activeSlave, $tanks[_ai])>> + <br><<print "[[$tanks[_ai].slaveName|Surgery Degradation][$impregnatrix = $tanks[" + _ai + "], $cash -= $surgeryCost, $surgeryType = 'insemination']]">> + <<set _eligibilityI = 1>> + <</if>> + <</for>> + <<if (_eligibilityI == 0)>> + <br>//You have no growing slaves producing sperm.// + <</if>> +<</if>> +*/ + +<<if $PC.dick == 1>> + <br> + [[Use your own|Surgery Degradation][$impregnatrix = $PC, $cash -= $surgeryCost, $surgeryType = "insemination"]] +<<elseif $PC.storedCum > 0>> + <br> + [[Use a vial of your own|Surgery Degradation][$impregnatrix = $PC, $cash -= $surgeryCost, $surgeryType = "insemination", $PC.storedCum--]] + //You have enough sperm stored away to inseminate $PC.storedCum more slave<<if $PC.storedCum > 1>>s<</if>>.// +<</if>> \ No newline at end of file diff --git a/src/pregmod/electiveSurgery.tw b/src/pregmod/electiveSurgery.tw index 3400ddacaf3fbfccb549b37ca51d5cf14da45c87..0b0906e73ba25b3c7371f4994691d14ed8a75f66 100644 --- a/src/pregmod/electiveSurgery.tw +++ b/src/pregmod/electiveSurgery.tw @@ -323,22 +323,22 @@ You have @@.orange;$PC.skin skin.@@<<if $PC.skin != $PC.origSkin>> Your original She pokes your belly. "You're pregnant. What did I tell you?" <<else>> <<if $PC.dick == 1 && $PC.vagina == 1>> - You have working @@.orange;male and female reproductive organs@@ and a @@.orange;<<if $PC.title > 0>>masculine<<else>>feminine<</if>> appearance.@@ + You have working @@.orange;male and female reproductive organs@@ and a @@.orange;<<if $PC.title > 0>>masculine<<else>>feminine<</if>> appearance.@@ "We'll store some of your sperm for you, should you decide to lose your maleness, and have it shipped to your arcology. Who you decide to use it on, well... That's up to you!" <br> - [[Remove your male half|PC Surgery Degradation][$PC.ballsImplant = 0, $PC.balls = 0, $PC.dick = 0, $cash -= 25000, $surgeryType = "herm2female"]] | + [[Remove your male half|PC Surgery Degradation][$PC.ballsImplant = 0, $PC.balls = 0, $PC.dick = 0, $PC.storedCum += 10, $cash -= 25000, $surgeryType = "herm2female"]] | [[Remove your female half|PC Surgery Degradation][$PC.vagina = 0, $PC.preg = 0, WombFlush($PC), $cash -= 25000, $surgeryType = "herm2male"]] <<if $PC.title > 0>> - | [[Remove your male half completely|PC Surgery Degradation][$PC.ballsImplant = 0, $PC.balls = 0, $PC.dick = 0, $PC.title = 0, $PC.pronoun = "she", $PC.object = "her", $PC.possessive = "her", $cash -= 25000, $surgeryType = "herm2truefemale"]] + | [[Remove your male half completely|PC Surgery Degradation][$PC.ballsImplant = 0, $PC.balls = 0, $PC.dick = 0, $PC.storedCum += 10, $PC.title = 0, $PC.pronoun = "she", $PC.object = "her", $PC.possessive = "her", $cash -= 25000, $surgeryType = "herm2truefemale"]] <<else>> | [[Remove your female half completely|PC Surgery Degradation][$PC.vagina = 0, $PC.preg = 0, WombFlush($PC), $PC.boobs = 0, $PC.boobsBonus = 0, $PC.boobsImplant = 0, $PC.title = 1, $PC.pronoun = "he", $PC.object = "him", $PC.possessive = "his", $cash -= 25000, $surgeryType = "herm2truemale"]] <</if>> <<elseif $PC.dick == 1>> - You have @@.orange;male genitalia@@ and a @@.orange;<<if $PC.title > 0>>masculine<<else>>feminine<</if>> appearance.@@ + You have @@.orange;male genitalia@@ and a @@.orange;<<if $PC.title > 0>>masculine<<else>>feminine<</if>> appearance.@@ "We'll store some of your sperm for you, should you decide to lose your maleness, and have it shipped to your arcology. Who you decide to use it on, well... That's up to you!" <br> [[Have your male organs replaced with female ones|PC Surgery Degradation][$PC.ballsImplant = 0, $PC.balls = 0, $PC.dick = 0, $PC.vagina = 1, $PC.newVag = 1, $cash -= 50000, $surgeryType = "male2female"]] | [[Add a female reproductive tract|PC Surgery Degradation][$PC.vagina = 1, $PC.newVag = 1, $PC.preg = 0, WombFlush($PC), $cash -= 150000, $surgeryType = "male2herm"]] <<if $PC.title > 0>> - | [[Become a woman|PC Surgery Degradation][$PC.ballsImplant = 0, $PC.balls = 0, $PC.dick = 0, $PC.vagina = 1, $PC.newVag = 1, $PC.preg = 0, $PC.title = 0, $PC.pronoun = "she", $PC.object = "her", $PC.possessive = "her", $cash -= 50000, $surgeryType = "male2truefemale"]] | + | [[Become a woman|PC Surgery Degradation][$PC.ballsImplant = 0, $PC.balls = 0, $PC.dick = 0, $PC.storedCum += 10, $PC.vagina = 1, $PC.newVag = 1, $PC.preg = 0, $PC.title = 0, $PC.pronoun = "she", $PC.object = "her", $PC.possessive = "her", $cash -= 50000, $surgeryType = "male2truefemale"]] | | [[Become a hermaphrodite girl|PC Surgery Degradation][$PC.vagina = 1, $PC.newVag = 1, $PC.preg = 0, WombFlush($PC), $PC.title = 0, $PC.pronoun = "she", $PC.object = "her", $PC.possessive = "her", $cash -= 150000, $surgeryType = "male2hermfemale"]] <</if>> <<else>> diff --git a/src/pregmod/incubator.tw b/src/pregmod/incubator.tw index 94f76266cef71dda26e95683e2614de732232896..1603f1ad913f10200deea42b988577b88d0cc404 100644 --- a/src/pregmod/incubator.tw +++ b/src/pregmod/incubator.tw @@ -73,13 +73,13 @@ Reserve an eligible mother-to-be's child to be placed in a tank upon birth. Of $ <<if $slaves[_u].preg > 0 && $slaves[_u].broodmother == 0 && $slaves[_u].pregKnown == 1 && $slaves[_u].eggType == "human">> <<if $slaves[_u].assignment == "work in the dairy" && $dairyPregSetting > 0>> <<else>> - <<set _slaveId = "slave-" + $slaves[_u].ID>> - <<set _pregCount = $slaves[_u].pregType>> - <<set _reservedSpots = $slaves[_u].reservedChildren>> - <<set _pregWeek = $slaves[_u].pregWeek>> - <<set _slaveName = getSlaveDisplayName($slaves[_u])>> - <div class="possible" @id="_slaveId" @data-preg-count="_pregCount" @data-reserved-spots="_reservedSpots" @data-preg-week="_pregWeek" @data-name="_slaveName"> - <<print "[[_slaveName|Long Slave Description][$activeSlave = $slaves[" + _u + "], $nextLink = passage()]]">> is $slaves[_u].pregWeek weeks pregnant with + <<set _slaveId = "slave-" + $slaves[_u].ID>> + <<set _pregCount = $slaves[_u].pregType>> + <<set _reservedSpots = $slaves[_u].reservedChildren>> + <<set _pregWeek = $slaves[_u].pregWeek>> + <<set _slaveName = getSlaveDisplayName($slaves[_u])>> + <div class="possible" @id="_slaveId" @data-preg-count="_pregCount" @data-reserved-spots="_reservedSpots" @data-preg-week="_pregWeek" @data-name="_slaveName"> + <<print "[[_slaveName|Long Slave Description][$activeSlave = $slaves[" + _u + "], $nextLink = passage()]]">> is $slaves[_u].pregWeek weeks pregnant with <<if $slaves[_u].pregSource == 0 || $slaves[_u].preg <= 5>>someone's<<if $slaves[_u].preg <= 5>>, though it is too early to tell whose,<</if>> <<elseif $slaves[_u].pregSource == -1>>your <<elseif $slaves[_u].pregSource == -2>>a citizen's @@ -132,7 +132,7 @@ Reserve an eligible mother-to-be's child to be placed in a tank upon birth. Of $ You have @@.red;no room for her offspring.@@ <</if>> <<set _eligibility = 1>> - </div> + </div> <</if>> <</if>> <</for>> diff --git a/src/pregmod/widgets/pregmodWidgets.tw b/src/pregmod/widgets/pregmodWidgets.tw index a7fca1dc21a19b3c5d22f75d84141feb9a98edaa..8dbb7b40a768af6749d63bcafb7eabeff2b70133 100644 --- a/src/pregmod/widgets/pregmodWidgets.tw +++ b/src/pregmod/widgets/pregmodWidgets.tw @@ -1,7 +1,7 @@ :: pregmod widgets [nobr widget] <<widget "initPC">> - <<set $PC = {name: "Anonymous", surname: 0, title: 1, ID: -1, pronoun: "he", possessive: "him", object: "his", dick: 1, vagina: 0, preg: 0, pregType: 0, pregWeek: 0, pregKnown: 0, belly: 0, bellyPreg: 0, mpreg: 0, pregSource: 0, pregMood: 0, labor: 0, births: 0, boobsBonus: 0, degeneracy: 0, voiceImplant: 0, accent: 0, shoulders: 0, shouldersImplant: 0, boobs: 0, career: "capitalist", rumor: "wealth", indenture: -1, indentureRestrictions: 0, birthWeek: random(0,51), age: 2, sexualEnergy: 4, refreshment: "cigar", refreshmentType: 0, trading: 0, warfare: 0, slaving: 0, engineering: 0, medicine: 0, hacking: 0, cumTap: 0, race: "white", origRace: "white", skin: "white", origSkin: "white", markings: "none", eyeColor: "blue", origEye: "blue", hColor: "blonde", origHColor: "blonde", nationality: "Stateless", father: 0, mother: 0, sisters: 0, daughters: 0, birthElite: 0, birthMaster: 0, birthDegenerate: 0, birthClient: 0, birthOther: 0, birthArcOwner: 0, birthCitizen: 0, birthSelf: 0, slavesFathered: 0, slavesKnockedUp: 0, intelligence: 3, face: 100, actualAge: 35, physicalAge: 35, visualAge: 35, birthWeek: 0, boobsImplant: 0, butt: 0, buttImplant: 0, balls: 0, ballsImplant: 0, ageImplant: 0, newVag: 0, reservedChildren: 0, fertDrugs: 0, forcedFertDrugs: 0, staminaPills: 0, ovaryAge: 35}>> + <<set $PC = {name: "Anonymous", surname: 0, title: 1, ID: -1, pronoun: "he", possessive: "him", object: "his", dick: 1, vagina: 0, preg: 0, pregType: 0, pregWeek: 0, pregKnown: 0, belly: 0, bellyPreg: 0, mpreg: 0, pregSource: 0, pregMood: 0, labor: 0, births: 0, boobsBonus: 0, degeneracy: 0, voiceImplant: 0, accent: 0, shoulders: 0, shouldersImplant: 0, boobs: 0, career: "capitalist", rumor: "wealth", indenture: -1, indentureRestrictions: 0, birthWeek: random(0,51), age: 2, sexualEnergy: 4, refreshment: "cigar", refreshmentType: 0, trading: 0, warfare: 0, slaving: 0, engineering: 0, medicine: 0, hacking: 0, cumTap: 0, race: "white", origRace: "white", skin: "white", origSkin: "white", markings: "none", eyeColor: "blue", origEye: "blue", hColor: "blonde", origHColor: "blonde", nationality: "Stateless", father: 0, mother: 0, sisters: 0, daughters: 0, birthElite: 0, birthMaster: 0, birthDegenerate: 0, birthClient: 0, birthOther: 0, birthArcOwner: 0, birthCitizen: 0, birthSelf: 0, slavesFathered: 0, slavesKnockedUp: 0, intelligence: 3, face: 100, actualAge: 35, physicalAge: 35, visualAge: 35, birthWeek: 0, boobsImplant: 0, butt: 0, buttImplant: 0, balls: 0, ballsImplant: 0, ageImplant: 0, newVag: 0, reservedChildren: 0, fertDrugs: 0, forcedFertDrugs: 0, staminaPills: 0, ovaryAge: 35, storedCum: 0}>> <<set WombInit($PC)>> diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw index b13bf0e3f879799793b88a2eee130fb4c7e5e4d8..4a232d52d0e3475c35775313ecaaedcdf8746165 100644 --- a/src/uncategorized/BackwardsCompatibility.tw +++ b/src/uncategorized/BackwardsCompatibility.tw @@ -300,6 +300,9 @@ <<if ndef $PC.degeneracy>> <<set $PC.degeneracy = 0>> <</if>> +<<if ndef $PC.storedCum>> + <<set $PC.storedCum = 0>> +<</if>> <<if ndef $universalRulesImmobileSlavesMaintainMuscles>> <<set $universalRulesImmobileSlavesMaintainMuscles = 0>> @@ -3138,6 +3141,6 @@ Done! <<if $clubAdsSpending > 0 && $club == 0>> <<set $clubAdsSpending = 0>> <</if>> -<<if $brothelAdsSpending > 0 && brothel == 0>> +<<if $brothelAdsSpending > 0 && $brothel == 0>> <<set $brothelAdsSpending = 0>> <</if>> diff --git a/src/uncategorized/reBusyArcade.tw b/src/uncategorized/reBusyArcade.tw index c30622691e99abb8d380a40ff6142b4f91466a9d..2da960dff381892b7037505fbc156cc1a4f18068 100644 --- a/src/uncategorized/reBusyArcade.tw +++ b/src/uncategorized/reBusyArcade.tw @@ -14,6 +14,7 @@ <<else>> <<set $nextButton = "Continue", $nextLink = "AS Dump", $returnTo = "RIE Eligibility Check">> +<<Enunciate $activeSlave>> Slaves in your arcade are not immured in the facility permanently, since holding them in one position at all times would negatively impact their health. They are released to exercise, eat, bathe, and sleep, though for nothing else. You occasionally inspect them when they do so, to see that their harsh lives are not inappropriately difficult for them. One day when you are doing so, <<EventNameLink $activeSlave>> flings herself on the ground in front of you the instant she sees you. diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw index a84078f5f5308309e66faca32e05815e1de2e640..b3bb5da0801726d7023d42ec02950ba77c3a6c2a 100644 --- a/src/uncategorized/remoteSurgery.tw +++ b/src/uncategorized/remoteSurgery.tw @@ -742,6 +742,11 @@ Work on her sex: <br> $pronounCap has a sterile womb. <</if>> + +<<if isFertile($activeSlave) && $activeSlave.preg == 0>> + [[Artificially inseminate|Artificial Insemination]] | +<</if>> + <<if ($activeSlave.preg > -2) && ($activeSlave.preg < 1) && ($activeSlave.vagina > -1) && ($activeSlave.ovaries != 0)>> <<if $activeSlave.indentureRestrictions < 1 && $activeSlave.breedingMark != 1>> [[Sterilize|Surgery Degradation][$activeSlave.preg = -2,$cash -= $surgeryCost, $activeSlave.health -= 10,$surgeryType = "ster"]] diff --git a/src/uncategorized/surgeryDegradation.tw b/src/uncategorized/surgeryDegradation.tw index 99a179e7cf2c9037044b8df96ac10eeed157a632..df750b7a44f1ab994a3df044f424fb3d97a8519c 100644 --- a/src/uncategorized/surgeryDegradation.tw +++ b/src/uncategorized/surgeryDegradation.tw @@ -25,7 +25,7 @@ <<set $seed = $activeSlave.devotion>> -<<if ($activeSlave.health < random(-100,-80)) && !["braces", "removeBraces", "basicPLimbs", "sexPLimbs", "beautyPLimbs", "combatPLimbs", "cyberPLimbs"].includes($surgeryType)>> +<<if ($activeSlave.health < random(-100,-80)) && !["braces", "removeBraces", "basicPLimbs", "sexPLimbs", "beautyPLimbs", "combatPLimbs", "cyberPLimbs", "insemination"].includes($surgeryType)>> $activeSlave.slaveName @@.red;has died from complications of surgery.@@ <<if $surgeryType == "ocular implant">>At least the ocular implants are still good.<<set $stockpile.ocularImplant++>><</if>> <<include "Remove activeSlave">> @@ -429,6 +429,47 @@ As the remote surgery's long recovery cycle completes, <<set $activeSlave.devotion -= 15>> <</if>> +<<case "insemination">> + <<set $activeSlave.preg = 1>> + <<set $activeSlave.pregType = setPregType($activeSlave)>> + <<set $activeSlave.pregWeek = 1>> + <<set $activeSlave.pregKnown = 1>> + <<set $activeSlave.pregSource = $impregnatrix.ID>> + <<set WombImpregnate($activeSlave, $activeSlave.pregType, $activeSlave.pregSource, 1)>> + <<if ($activeSlave.fetish == "pregnancy") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1)>> + <<if canSee($activeSlave)>> + Since the surgery required only a local anesthetic, she remained fully aware throughout the procedure. From the selection of the sperm, to its introduction to her waiting egg<<if $activeSlave.pregType > 1>>s<</if>>, she was eagerly watching. + <<else>> + She leaves the surgery with a certain warmth in her lower abdomen, she knows that she has been impregnated. + <</if>> + She is @@.hotpink; filled with joy@@ over the life settling into her womb and can't wait to see the result. She's so pleased that she now @@.mediumaquamarine;trusts@@ your plans for her body. + <<set $activeSlave.trust += 4, $activeSlave.devotion += 10>> + <<elseif ($activeSlave.devotion > 50)>> + <<if canSee($activeSlave)>> + Since the surgery required only a local anesthetic, she remained fully aware throughout the procedure. From the selection of the sperm, to its delivery into her womb, she was watching with rapt attention. + <<else>> + She leaves the surgery with a certain warmth in her lower abdomen, she knows that she has been impregnated. + <</if>> + She's @@.hotpink;grateful@@ that you think her worthy of carrying <<if $activeSlave.pregSource == -1>>your<<else>><<print $impregnatrix.slaveName>>'s<</if>> child<<if $activeSlave.pregType > 1>>ren<</if>>, and a little nervous about how she'll perform as a mother. + <<set $activeSlave.devotion += 4>> + <<elseif ($activeSlave.devotion >= -20)>> + <<if canSee($activeSlave)>> + Since the surgery required only a local anesthetic, she remained fully aware throughout the procedure. From the selection of the sperm, to its delivery into her womb and her subsequent impregnation, she couldn't look away. + <<else>> + She leaves the surgery with a certain warmth in her lower abdomen, she knows that she has been impregnated. + <</if>> + She understands the realities of her life as a slave, so it isn't much of a shock. She is @@.gold;sensibly fearful@@ of your total power over her body. + <<set $activeSlave.trust -= 10>> + <<else>> + <<if canSee($activeSlave)>> + Since the surgery required only a local anesthetic, she remained fully aware throughout the procedure. The moment she realized what was happening, she shut her eyes tight, only opening them again as she feels the slight tingle of the injector exiting her lower abdomen. + <<else>> + She leaves the surgery with a certain warmth in her lower abdomen, she knows that she has been impregnated. + <</if>> + She does not understand the realities of her life as a slave at a core level, so she's @@.mediumorchid;terrified and angry@@ that you have forced her to become a mother, even more so as she realizes she doesn't know who the father is. She is @@.gold;sensibly fearful@@ of your total power over her body and the future of the life she now harbors within her. + <<set $activeSlave.trust -= 15, $activeSlave.devotion -= 15>> + <</if>> + <<case "freshOvaries">> <<if $activeSlave.ovaryAge >= 45>> @@ -2185,7 +2226,7 @@ As the remote surgery's long recovery cycle completes, <<if ($PC.medicine >= 100) && !["basicPLimbs", "sexPLimbs", "beautyPLimbs", "combatPLimbs", "cyberPLimbs"].includes($surgeryType)>> <br><br> - <<if ($surgeryType != "braces") && ($surgeryType != "removeBraces")>> + <<if !["insemination", "braces", "removeBraces"].includes($surgeryType)>> Since you @@.springgreen;performed the surgery yourself,@@ and you do artist's work, her health is @@.green;less affected@@ by the surgery than it would have been if you'd paid some hack to do it remotely. <<set $activeSlave.health += 5>> <</if>> @@ -2201,7 +2242,7 @@ As the remote surgery's long recovery cycle completes, She is @@.mediumorchid;even more hateful@@ of you afterward than she would otherwise be. It must seem to her that she's nothing more than a test subject to you. <<set $activeSlave.devotion -= 5>> <</if>> - <<elseif ($surgeryType != "braces") && ($surgeryType != "removeBraces")>> + <<elseif !["insemination", "braces", "removeBraces"].includes($surgeryType)>> <<if ($activeSlave.devotion > 50)>> Since she's happy with the results, she's almost beside herself with @@.hotpink;gratitude,@@ and filled with @@.mediumaquamarine;admiration@@ of your skill. <<set $activeSlave.devotion += 4, $activeSlave.trust += 4>>