diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw index c7a1e1fdd834c3f5c353a8e12a398d206db9a4b8..c55c6481e9d6d5c6f057a4eadc738d167b6a606f 100644 --- a/src/init/storyInit.tw +++ b/src/init/storyInit.tw @@ -455,11 +455,14 @@ DairyRestraintsSetting($dairyRestraintsSetting) <<set $spaNameCaps = "The Spa">> <<set $incubator = 0>> <<set $incubatorSlaves = 0>> +<<set $incubatorOrgans = []>> +<<set $incubatorOldID = 0>> <<set $incubatorUpgradeSpeed = 5>> <<set $incubatorUpgradeWeight = 0>> <<set $incubatorUpgradeMuscles = 0>> <<set $incubatorUpgradeGrowthStims = 0>> <<set $incubatorUpgradeReproduction = 0>> +<<set $incubatorUpgradeOrgans = 0>> <<set $incubatorImprintSetting = 0>> <<set $incubatorWeightSetting = 0>> <<set $incubatorMusclesSetting = 0>> diff --git a/src/pregmod/incubator.tw b/src/pregmod/incubator.tw index 359f9e776ce50a9d09d4660556302cff3db56308..0f2a9172a6d5d0f22f35c1e46092dbfbf83e4758 100644 --- a/src/pregmod/incubator.tw +++ b/src/pregmod/incubator.tw @@ -193,6 +193,15 @@ Target age for release: <<textbox "$targetAge" $targetAge "Incubator">> [[Minimu There are no systems in place to control a growing child's reproductive capability. [[Upgrade the growth tanks with hormone monitoring systems|Incubator][$cash -= Math.trunc(50000*$upgradeMultiplierArcology), $incubatorUpgradeReproduction = 1]] //Costs ¤<<print Math.trunc(50000*$upgradeMultiplierArcology)>> and will increase upkeep costs// <</if>> +<br> +<<if $incubatorUpgradeOrgans == 1>> + Surgical tools have been added to the tank to be able to extract tissue samples from the occupant. +<<elseif $organFarmUpgrade >= 1>> + The tanks lack the ability to extract tissue samples to be used by the organ fabricator. [[Upgrade the growth tanks with surgical extraction tools|Incubator][$cash -= Math.trunc(10000*$upgradeMultiplierArcology), $incubatorUpgradeOrgans = 1]] //Costs ¤<<print Math.trunc(10000*$upgradeMultiplierArcology)>> and will increase upkeep costs// +<<else>> + The tanks lack the ability to extract tissue samples and the dispensary lacks the ability to make use of them to fabricate organs. +<</if>> + <br> <<if $incubatorUpgradeGrowthStims == 1>> Advanced monitoring and stimulant injection systems have been installed in the tanks to monitor and maintain a developing child's height. @@ -213,11 +222,92 @@ Target age for release: <<textbox "$targetAge" $targetAge "Incubator">> [[Minimu <<if $incubatorSlaves > 0>> <<for $i = 0; $i < $incubatorSlaves; $i++>> + <<capture $i>> + <br><br>@@.pink;$tanks[$i].slaveName@@ occupies this tank. She appears to be <<if $tanks[$i].genes == "XX">>a natural girl<<else>>a natural boy<</if>>, with $tanks[$i].hColor hair<<if $tanks[$i].eyes != -2>> and $tanks[$i].eyeColor eyes.<<else>>. She most likely will be blind.<</if>> + Statistical projections indicates that once released she will be around <<print $tanks[$i].height + random(-5,5)>> cm tall. Most likely she will be + <<if $tanks[$i].weight <= 30 && $tanks[$i].weight >= -30>> + at a healthy weight and + <<elseif $tanks[$i].weight >= 31 && $tanks[$i].weight <= 95>> + quite overweight and + <<elseif $tanks[$i].weight >= 96>> + very overweight and + <<elseif $tanks[$i].weight <= -31 && $tanks[$i].weight >= -95>> + quite thin and + <<elseif $tanks[$i].weight <= -96>> + very thin and + <</if>> + <<if $tanks[$i].muscles <= 5 && $tanks[$i].muscles >= -5>> + with a normal musculature. + <<elseif $tanks[$i].muscles >= 6 && $tanks[$i].muscles <= 30>> + quite toned. + <<elseif $tanks[$i].muscles >= 31 && $tanks[$i].muscles <= 95>> + quite muscular. + <<elseif $tanks[$i].muscles >= 96>> + with a powerful musculature. + <<elseif $tanks[$i].muscles <= -6 && $tanks[$i].muscles >= -30>> + quite weak. + <<elseif $tanks[$i].muscles <= -31 && $tanks[$i].muscles >= 95>> + very weak. + <<elseif $tanks[$i].muscles <= -96>> + extremely weak. + <</if>> + Her breasts are projected to be + <<if $tanks[$i].boobs >= 799>> + of normal size, + <<elseif $tanks[$i].boobs >= 1799>> + of generous size, + <<elseif $tanks[$i].boobs >= 3249>> + of incredible size, + <<else>> + of humongous size, + <</if>> + while her rear will be + <<if $tanks[$i].butt <= 3>> + an healthy size. + <<elseif $tanks[$i].butt <= 6>> + quite impressive. + <<elseif $tanks[$i].butt <= 9>> + very impressive. + <<else>> + immense. + <</if>> + <<if $tanks[$i].dick > 0>> + <<if $tanks[$i].dick <= 3>> + The latest analysis reported her dick will end up being around the average + <<elseif $tanks[$i].dick >= 4 && $tanks[$i].dick <= 6>> + The latest analysis reported her dick will end up being above average + <<elseif $tanks[$i].dick >= 7 && $tanks[$i].dick <= 9>> + The latest analysis reported her dick will end up being far above the average + <<else>> + The latest analysis reported her dick will end up being of monstrous size + <</if>> + <</if>> + <<if $tanks[$i].balls > 0>> + <<if $tanks[$i].balls <= 3>> + and her testicles will reach a normal size. + <<elseif $tanks[$i].balls >= 4 && $tanks[$i].balls <= 6>> + and her testicles will be of remarkable size. + <<elseif $tanks[$i].balls >= 7 && $tanks[$i].balls <= 9>> + and her testicles will reach an impressive size. + <<else>> + and her testicles will reach a monstrous size. + <</if>> + <</if>> + <<if $tanks[$i].pubertyXX == 1 && $tanks[$i].ovaries == 1>> + Scanners report her womb is fertile. + <<else>> + Scanners report she is not fertile, + <<if $tanks[$i].pubertyXX == 0>> + as she has not yet entered puberty. + <<else>> + it appears her womb is sterile. + <</if>> + <</if>> <<if $tanks[$i].growTime <= 0>> <<set $readySlaves = 1>> - <br><br>@@.pink;$tanks[$i].slaveName@@ is ready to be released from her tank. + <br>She is ready to be released from her tank. <<else>> - <br><br>@@.pink;<<print $tanks[$i].slaveName>>'s@@ growth is currently being accelerated. She will be ready for release in about <<print Math.round($tanks[$i].growTime/$incubatorUpgradeSpeed)>> weeks. + <br>Her growth is currently being accelerated. She will be ready for release in about <<print Math.round($tanks[$i].growTime/$incubatorUpgradeSpeed)>> weeks. <</if>> <br>The tank is imprinting her with basic life and sexual skills, though she will still be very naive and inexperienced on release. <<if $tanks[$i].origin == "Shortly after birth, she was sealed in an aging tank until she was of age. She knows only of the terror that awaits her should she not obey her master.">> @@ -265,10 +355,96 @@ Target age for release: <<textbox "$targetAge" $targetAge "Incubator">> [[Minimu Reproduction management systems are offline; she will undergo normal puberty. <</if>> <</if>> + <<if $incubatorUpgradeOrgans == 1>> + <br> + You can extract a sample and prepare a new organ for her to be implanted once she exits her tank. + <<set _newOrgan = 0>> + <<set $tankOrgans = { + ovaries: 0, + penis: 0, + testicles:0, + eyes: 0, + voiceBox: 0}>> + <<for _i = 0; _i < $incubatorOrgans.length; _i++>> + <<if $tanks[$i].ID == $incubatorOrgans[_i].ID>> + <<if $incubatorOrgans[_i].type == "ovaries">> + <<set $tankOrgans.ovaries = 1>> + <</if>> + <<if $incubatorOrgans[_i].type == "testicles">> + <<set $tankOrgans.testicles = 1>> + <</if>> + <<if $incubatorOrgans[_i].type == "penis">> + <<set $tankOrgans.penis = 1>> + <</if>> + <<if $incubatorOrgans[_i].type == "eyes">> + <<set $tankOrgans.eyes = 1>> + <</if>> + <<if $incubatorOrgans[_i].type == "voicebox">> + <<set $tankOrgans.voicebox = 1>> + <</if>> + <</if>> + <</for>> + <<if $tanks[$i].genes == "XX">> + Being a natural girl she possesses a functional vagina and ovaries, you can: + <<else>> + Being a natural boy he possesses a functional penis and balls, you can: + <</if>> + <br> + <<if $tanks[$i].ovaries == 0 && $tankOrgans.ovaries != 1>> + <<link "Prepare ovaries">> + <<set $cash -= 10000>> + <<set _newOrgan = {type: "ovaries", weeksToCompletion: "10", ID: 0}>> + <<set _newOrgan.ID = $tanks[$i].ID>> + <<set $incubatorOrgans.push(_newOrgan)>> + <<goto "Incubator">> + <</link>> + <</if>> + <<if $tanks[$i].dick == 0 && $tankOrgans.penis != 1>> + <<link "Prepare penis">> + <<set $cash -= 5000>> + <<set _newOrgan = {type: "penis", weeksToCompletion: "5", ID: 0}>> + <<set _newOrgan.ID = $tanks[$i].ID>> + <<set $incubatorOrgans.push(_newOrgan)>> + <<goto "Incubator">> + <</link>> + <</if>> + <<if $tanks[$i].balls == 0 && $tankOrgans.testicles != 1>> + | + <<link "Prepare testicles">> + <<set $cash -= 5000>> + <<set _newOrgan = {type: "testicles", weeksToCompletion: "10", ID: 0}>> + <<set _newOrgan.ID = $tanks[$i].ID>> + <<set $incubatorOrgans.push(_newOrgan)>> + <<goto "Incubator">> + <</link>> + <</if>> + <<if $tanks[$i].eyes == -2 && $tankOrgans.eyes != 1>> + <br>She appears to be blind: + <<link "Prepare eyes">> + <<set $cash -= 10000>> + <<set _newOrgan = {type: "eyes", weeksToCompletion: "10", ID: 0}>> + <<set _newOrgan.ID = $tanks[$i].ID>> + <<set $incubatorOrgans.push(_newOrgan)>> + <<goto "Incubator">> + <</link>> + <</if>> + <<if $tanks[$i].voice == 0 && $tankOrgans.voicebox != 1>> + <br>It appears she was born a mute: + <<link "Prepare vocal cords">> + <<set $cash -= 5000>> + <<set _newOrgan = {type: "voicebox", weeksToCompletion: "5", ID: 0}>> + <<set _newOrgan.ID = $tanks[$i].ID>> + <<set $incubatorOrgans.push(_newOrgan)>> + <<goto "Incubator">> + <</link>> + <</if>> + <</if>> + <</capture>> <</for>> <</if>> -<br><br> +<br> +<br> <<if $incubatorUpgradeWeight == 1>> <<if $incubatorWeightSetting == 1>> @@ -313,6 +489,7 @@ Target age for release: <<textbox "$targetAge" $targetAge "Incubator">> [[Minimu <<if $readySlaves == 1>> <<for $i = 0; $i < $incubatorSlaves; $i++>> <<if $tanks[$i].growTime <= 0>> + <<set $incubatorOldID = $tanks[$i].ID>> <<set $readySlave = $tanks.pluck([$i], [$i])>> <<break>> <</if>> diff --git a/src/pregmod/incubatorRetrievalWorkaround.tw b/src/pregmod/incubatorRetrievalWorkaround.tw index 167e218b419db5574d0355b07e7a268f2b7e3ab2..820da424a541e9f25e457d41a391b2c913278242 100644 --- a/src/pregmod/incubatorRetrievalWorkaround.tw +++ b/src/pregmod/incubatorRetrievalWorkaround.tw @@ -11,4 +11,16 @@ $readySlave.slaveName has been discharged from $incubatorName and is ready for h <<AddSlave $activeSlave>> <<set $nextLink = "AS Dump">> <<set $returnTo = "Main">> +<<if $incubatorOrgans.length > 0>> + <<for _i = 0; _i < $incubatorOrgans.length; _i++>> + <<if $incubatorOrgans[_i].ID == $incubatorOldID>> + <<set _newOrgan = {type: $incubatorOrgans[_i].type, weeksToCompletion: $incubatorOrgans[_i].weeksToCompletion, ID: $activeSlave.ID}>> + <<if _newOrgan.weeksToCompletion <= 0>> + <<set $organsCompleted++>> + <</if>> + <<set $organs.push(_newOrgan)>> + <<break>> + <</if>> + <</for>> +<</if>> <<include "New Child Intro">> \ No newline at end of file diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw index 03787c5a5c02b816e87f0d3693a75d97e8e924be..16f4bb024681e63d1b80586e9663e31a8ecec0bc 100644 --- a/src/uncategorized/BackwardsCompatibility.tw +++ b/src/uncategorized/BackwardsCompatibility.tw @@ -427,6 +427,12 @@ <<if ndef $incubatorSlaves>> <<set $incubatorSlaves = 0>> <</if>> +<<if ndef $incubatorOrgans>> +<<set $incubatorOrgans = []>> +<</if>> +<<if ndef $incubatorOldID>> +<<set $incubatorOldID = 0>> +<</if>> <<if ndef $incubatorUpgradeSpeed>> <<set $incubatorUpgradeSpeed = 5>> <</if>> @@ -442,6 +448,9 @@ <<if ndef $incubatorUpgradeGrowthStims>> <<set $incubatorUpgradeGrowthStims = 0>> <</if>> +<<if ndef $incubatorUpgradeOrgans>> +<<set $incubatorUpgradeOrgans = 0>> +<</if>> <<if ndef $incubatorImprintSetting>> <<set $incubatorImprintSetting = 0>> <</if>> diff --git a/src/uncategorized/dispensary.tw b/src/uncategorized/dispensary.tw index 83ef65a2153e96705b5105125686dd3392bac578..ade911a50d3d52c61445b6a66337a7d426e655fd 100644 --- a/src/uncategorized/dispensary.tw +++ b/src/uncategorized/dispensary.tw @@ -63,7 +63,6 @@ The Organ Farm The fabricator is capable of growing organs. <br> <</if>> - <<if $organs.length > 0>> It is currently working on the following organs: <<for $i = 0; $i < $organs.length; $i++>> @@ -88,6 +87,29 @@ It is currently working on the following organs: <</for>> <br> <</if>> +<<if $incubatorSlaves > 0>> + <<for $x = 0; $x < $incubatorOrgans.length; $x++>> + <<for _w = 0; _w < $incubatorSlaves; _w++>> + <<if $tanks[_w].ID == $incubatorOrgans[$x].ID>> + <br> + $tanks[_w].slaveName's $incubatorOrgans[$x].type, + <<if $incubatorOrgans[$x].weeksToCompletion <= 0>> + ready to be implanted as soon as she exits the incubator. + <<else>> + <<if $organFarmUpgrade == 1>> + <<print $incubatorOrgans[$x].weeksToCompletion>> + <<elseif $organFarmUpgrade == 2>> + <<print Math.ceil($incubatorOrgans[$x].weeksToCompletion/2)>> + <<elseif $organFarmUpgrade == 3>> + <<print Math.ceil($incubatorOrgans[$x].weeksToCompletion/4)>> + <</if>> weeks from completion. + <</if>> + <<break>> + <</if>> + <</for>> + <</for>> + <br> +<</if>> <br> Hormones Upgrades diff --git a/src/uncategorized/endWeek.tw b/src/uncategorized/endWeek.tw index 0f723654e6778a9928302c987146e3f0864d80c1..e85b5f13920bb6df08c034f6db452a4f558dee9b 100644 --- a/src/uncategorized/endWeek.tw +++ b/src/uncategorized/endWeek.tw @@ -66,6 +66,19 @@ <</if>> <</for>> <</if>> +<<if $incubatorOrgans.length > 0>> +<<for _i = 0; _i < $incubatorOrgans.length; _i++>> + <<if $incubatorOrgans[_i].weeksToCompletion > 0>> + <<if $organFarmUpgrade == 3>> + <<set $incubatorOrgans[_i].weeksToCompletion -= 4>> + <<elseif $organFarmUpgrade == 2>> + <<set $incubatorOrgans[_i].weeksToCompletion -= 2>> + <<else>> + <<set $incubatorOrgans[_i].weeksToCompletion-->> + <</if>> + <</if>> +<</for>> +<</if>> <<if $limbs.length > 0>> <<for _i = 0; _i < $limbs.length; _i++>>