diff --git a/src/pregmod/csec.tw b/src/pregmod/csec.tw index dca1115cba753a609bb66cd5b0039a383eb7ab10..529814a1fad3ac24e2cfff3d6bad6d9650bae406 100644 --- a/src/pregmod/csec.tw +++ b/src/pregmod/csec.tw @@ -132,31 +132,14 @@ <<set _incubated = 0>> <<set _oldDevotion = $activeSlave.devotion>> -<<set _cToIncub = 0, _origReserve = WombReserveCount($activeSlave, "incubator")>> -<<if _origReserve > 0 && _curBabies > 0>> /*Do we need incubator checks?*/ - <<if _curBabies >= _origReserve>> - /*adding normal*/ - <<set _cToIncub = _origReserve>> - <<elseif _curBabies < _origReserve && $activeSlave.womb.length > 0>> - /*broodmother or partial birth, we will wait for next time to get remaining children*/ - <<set _cToIncub = _curBabies>> - <<else>> - /*Stillbirth or something other go wrong. Correcting children count.*/ - <<set _cToIncub = _curBabies>> +<<set _cToIncub = 0, _cToNursery = 0>> +<<for _csec = 0; _csec < _curBabies; _csec++>> + <<if $slaves[$i].curBabies[_csec].reserve === "incubator">> + <<set _cToIncub++>> + <<elseif $slaves[$i].curBabies[_csec].reserve === "nursery">> + <<set _cToNursery++>> <</if>> -<</if>> - -/*this block is the same as the one above, with variables for the nursery instead*/ -<<set _cToNursery = 0, _origReserveNursery = WombReserveCount($activeSlave, "nursery")>> -<<if _origReserveNursery > 0 && _curBabies > 0>> - <<if _curBabies >= _origReserveNursery >> - <<set _cToNursery = _origReserveNursery >> - <<elseif _curBabies < _origReserveNursery && $activeSlave.womb.length > 0>> - <<set _cToNursery = _curBabies>> - <<else>> - <<set _cToNursery = _curBabies>> - <</if>> -<</if>> +<</for>> /* ------------------------------------------------ */ @@ -179,7 +162,7 @@ Performing a cesarean section is trivial for the remote surgery to carry out. $a <<if _curBabies <= 1>>has<<else>>have<</if>> already been - <<if _cToIncub == _curBabies && _cToIncub > 0 >> + <<if _cToIncub == _curBabies>> taken to $incubatorName. <<set _incubated = 2>> <<elseif _cToIncub < _curBabies && _cToIncub > 0>> @@ -187,7 +170,7 @@ Performing a cesarean section is trivial for the remote surgery to carry out. $a <<set _incubated = 1>> <</if>> - <<if _cToNursery == _curBabies && _cToNursery > 0>> + <<if _cToNursery == _curBabies>> taken to $nurseryName. <<set _nursed = 2>> <<elseif _cToNursery < _curBabies && _cToNursery > 0>> diff --git a/src/pregmod/sePlayerBirth.tw b/src/pregmod/sePlayerBirth.tw index 0078a256926cc594c7b02dff657b3d79ac9889b3..2ecdfed62ffdaf0ef90d08a148b6430b4c628acb 100644 --- a/src/pregmod/sePlayerBirth.tw +++ b/src/pregmod/sePlayerBirth.tw @@ -473,10 +473,10 @@ You arrange yourself to give birth, relaxing until your body urges you to begin looks nothing like you; it's hard to believe <<if _gender == "XX">>she's your daughter<<else>>he's you son<</if>> <</if>> - <<if $PC.reservedChildren > 0>> + <<if $PC.curBabies[0].reserve === "incubator">> You set <<if _gender == "XX">>her<<else>>him<</if>> aside for incubation. <<include "Incubator Workaround">> - <<elseif $PC.reservedChildrenNursery > 0>> + <<elseif $PC.curBabies[0].reserve === "nursery">> You set <<if _gender == "XX">>her<<else>>him<</if>> aside for incubation. <<include "Nursery Workaround">> <</if>> @@ -520,13 +520,13 @@ You arrange yourself to give birth, relaxing until your body urges you to begin <<include "Incubator Workaround">> <<run $PC.curBabies.splice($PC.curBabies[_p], 1)>> <<set _p--, _curBabies-->> - <<set $PC.reservedChildren-- >> + <<set $PC.reservedChildren-->> <<elseif $PC.curBabies[_p].reserve == "incubator">> You set <<if $PC.curBabies[_p].genetics.gender == "XX">>her<<else>>him<</if>> aside for incubation. <<include "Nursery Workaround">> <<run $PC.curBabies.splice($PC.curBabies[_p], 1)>> <<set _p--, _curBabies-->> - <<set $PC.reservedChildrenNursery-- >> + <<set $PC.reservedChildrenNursery-->> <</if>> <</for>> diff --git a/src/pregmod/widgets/seBirthWidgets.tw b/src/pregmod/widgets/seBirthWidgets.tw index fcaf933899d7156cd3517a8ba416c62be4b53714..439f7091816d4efc6de226a628424ee02f55f498 100644 --- a/src/pregmod/widgets/seBirthWidgets.tw +++ b/src/pregmod/widgets/seBirthWidgets.tw @@ -844,33 +844,23 @@ All in all, /*===============================================================================================*/ <<widget "seBirthBabies">> -<<set _curBabies = $slaves[$i].curBabies.length, _cToIncub = 0, _origReserve = WombReserveCount($slaves[$i], "incubator"), _cToNursery = 0, _origReserveNursery = WombReserveCount($slaves[$i], "nursery")>> +<<set _curBabies = $slaves[$i].curBabies.length, _cToIncub = 0, _cToNursery = 0>> +<<for _sebw = 0; _sebw < _curBabies; _sebw++>> + <<if $slaves[$i].curBabies[_sebw].reserve === "incubator">> + <<set _cToIncub++>> + <<elseif $slaves[$i].curBabies[_sebw].reserve === "nursery">> + <<set _cToNursery++>> + <</if>> +<</for>> /* ----------------------- incubator/nursery adding subsection. There is support for broodmothers too. */ -<<if (_origReserve > 0 || _origReserveNursery > 0) && _curBabies > 0>> /*Do we need keep child checks?*/ - <<if _curBabies >= _origReserve>> - /*adding normal*/ - <<set _cToIncub = _origReserve, $slaves[$i].reservedChildren = 0>> - <<elseif _curBabies < _origReserve && $slaves[$i].womb.length > 0>> - /*broodmother or partial birth, we will wait for next time to get remaining children*/ - <<set $slaves[$i].reservedChildren -= _curBabies, _cToIncub = _curBabies>> - <<else>> - /*Stillbirth or something other go wrong. Correcting children count.*/ - <<set $slaves[$i].reservedChildren = 0, _cToIncub = 0>> - <</if>> - <<if _curBabies >= _origReserveNursery>> - /*adding normal*/ - <<set _cToNursery = _origReserveNursery, $slaves[$i].reservedChildrenNursery = 0>> - <<elseif _curBabies < _origReserveNursery && $slaves[$i].womb.length > 0>> - /*broodmother or partial birth, we will wait for next time to get remaining children*/ - <<set $slaves[$i].reservedChildrenNursery -= _curBabies, _cToNursery = _curBabies>> - <<else>> - <<set $slaves[$i].reservedChildrenNursery = 0, _cToNursery = _curBabies>> - <</if>> +<<if (_cToIncub + _cToNursery > 0) && _curBabies > 0>> /*Do we need keep child checks?*/ + <<set $slaves[$i].reservedChildren -= _cToIncub>> + <<set $slaves[$i].reservedChildrenNursery -= _cToNursery>> <br><br> - Of $his _curBabies child<<if $slaves[$i].pregType > 1>>ren<</if>>, _cToIncub <<if $slaves[$i].reservedChildren > 1>>were<<else>>was<</if>> taken to $incubatorName. - <<if _cToIncub > 0 || _cToNursery > 0>> + Of $his _curBabies child<<if _curBabies > 1>>ren<</if>>, _cToIncub <<if _curBabies === 1>>was<<else>>were<</if>> taken to $incubatorName<<if $nursery > 0>>, and _cToNursery <<if _cToNursery === 1>>was<<else>>were<</if>> taken to $nurseryName<</if>>. + <<if _cToIncub + _cToNursery > 0>> <<for _cb = 0; _cb < _curBabies; _cb++>> /* if there is no reserved children, code in loop will not trigger */ <<if $slaves[$i].curBabies[_cb].reserve == "incubator">> <<set $activeSlave = applyGenetics($slaves[$i], $slaves[$i].curBabies[_cb])>> diff --git a/src/uncategorized/slaveInteract.tw b/src/uncategorized/slaveInteract.tw index 0adb1e89b51c9e3fd189046bdac9b34ae7b057ae..74bda916a1f05b2a7f8c8921692f34fe1c8c3aa8 100644 --- a/src/uncategorized/slaveInteract.tw +++ b/src/uncategorized/slaveInteract.tw @@ -1352,49 +1352,52 @@ Aphrodisiacs: <span id="aphrodisiacs"><strong><<if $activeSlave.aphrodisiacs > 1 </span> <<set $reservedChildren = FetusGlobalReserveCount("incubator")>> <<set $reservedChildrenNursery = FetusGlobalReserveCount("nursery")>> -<<set $activeSlave.reservedChildren = WombReserveCount($activeSlave, "incubator")>> -<<set $activeSlave.reservedChildrenNursery = WombReserveCount($activeSlave, "nursery")>> +<<set _reservedIncubator = WombReserveCount($activeSlave, "incubator")>> +<<set _reservedNursery = WombReserveCount($activeSlave, "nursery")>> +<<set _WL = $activeSlave.womb.length>> +<<set $activeSlave.reservedChildren = _reservedIncubator>> /* should be removed eventually, for now keep updated */ +<<set $activeSlave.reservedChildrenNursery = _reservedNursery>> /* should be removed eventually, for now keep updated */ <<if $incubator > 0>> <<if $activeSlave.preg > 0 && $activeSlave.broodmother == 0 && $activeSlave.pregKnown == 1 && $activeSlave.eggType == "human">> <<if $activeSlave.assignment == "work in the dairy" && $dairyPregSetting > 0>> <<else>> <br> - <<if $activeSlave.pregType - $activeSlave.reservedChildrenNursery == 0>> + <<if _WL - _reservedNursery == 0>> //$His children are already reserved for $nurseryName// <<else>> <<set $freeTanks = ($incubator-$tanks.length)>> - <<if $activeSlave.reservedChildren > 0>> - <<if $activeSlave.pregType == 1>> + <<if _reservedIncubator > 0>> + <<if _WL == 1>> $His child will be placed in $incubatorName. - <<elseif $activeSlave.reservedChildren < $activeSlave.pregType>> - $activeSlave.reservedChildren of $his children will be placed in $incubatorName. - <<elseif $activeSlave.pregType == 2>> + <<elseif _reservedIncubator < _WL>> + _reservedIncubator of $his children will be placed in $incubatorName. + <<elseif _WL == 2>> Both of $his children will be placed in $incubatorName. <<else>> - All $activeSlave.reservedChildren of $his children will be placed in $incubatorName. + All _reservedIncubator of $his children will be placed in $incubatorName. <</if>> - <<if ($activeSlave.reservedChildren + $activeSlave.reservedChildrenNursery < $activeSlave.pregType) && ($reservedChildren < $freeTanks)>> + <<if (_reservedIncubator + _reservedNursery < _WL) && ($reservedChildren < $freeTanks)>> <<link "Keep another child" "Slave Interact">><<set WombAddToGenericReserve($activeSlave, "incubator", 1)>><</link>> - <<if $activeSlave.reservedChildren > 0>> + <<if _reservedIncubator > 0>> | <<link "Keep one less child" "Slave Interact">><<set WombCleanGenericReserve($activeSlave, "incubator", 1)>><</link>> <</if>> - <<if $activeSlave.reservedChildren > 1>> + <<if _reservedIncubator > 1>> | <<link "Keep none of $his children" "Slave Interact">><<set WombCleanGenericReserve($activeSlave, "incubator", 9999)>><</link>> <</if>> - <<if ($reservedChildren + $activeSlave.pregType - $activeSlave.reservedChildren) <= $freeTanks>> + <<if ($reservedChildren + _WL - _reservedIncubator) <= $freeTanks>> | <<link "Keep the rest of $his children" "Slave Interact">><<set WombAddToGenericReserve($activeSlave, "incubator", 9999)>><</link>> <</if>> - <<elseif ($activeSlave.reservedChildren == $activeSlave.pregType) || ($reservedChildren == $freeTanks) || ($activeSlave.reservedChildren - $activeSlave.reservedChildrenNursery >= 0)>> + <<elseif (_reservedIncubator == _WL) || ($reservedChildren == $freeTanks) || (_reservedIncubator - _reservedNursery >= 0)>> <<link "Keep one less child" "Slave Interact">><<set WombCleanGenericReserve($activeSlave, "incubator", 1)>><</link>> - <<if $activeSlave.reservedChildren > 1>> + <<if _reservedIncubator > 1>> | <<link "Keep none of $his children" "Slave Interact">><<set WombCleanGenericReserve($activeSlave, "incubator", 9999)>><</link>> <</if>> <</if>> <<elseif $reservedChildren < $freeTanks>> $He is pregnant and you have <<if $freeTanks == 1>>an<</if>> @@.lime;available aging tank<<if $freeTanks > 1>>s<</if>>.@@ - <<print "[[Keep "+ (($activeSlave.pregType > 1) ? "a" : "the") +" child|Slave Interact][WombAddToGenericReserve($activeSlave, 'incubator', 1)]]">> - <<if ($activeSlave.pregType > 1) && ($reservedChildren + $activeSlave.pregType) <= $freeTanks>> + <<print "[[Keep "+ ((_WL > 1) ? "a" : "the") +" child|Slave Interact][WombAddToGenericReserve($activeSlave, 'incubator', 1)]]">> + <<if (_WL > 1) && ($reservedChildren + _WL) <= $freeTanks>> | <<link "Keep all of $his children" "Slave Interact">><<set WombAddToGenericReserve($activeSlave, "incubator", 9999)>><</link>> <</if>> <<elseif $reservedChildren == $freeTanks>> @@ -1410,42 +1413,42 @@ Aphrodisiacs: <span id="aphrodisiacs"><strong><<if $activeSlave.aphrodisiacs > 1 <<if $activeSlave.assignment == "work in the dairy" && $dairyPregSetting > 0>> <<else>> <br> - <<if $activeSlave.pregType - $activeSlave.reservedChildren == 0>> + <<if _WL - _reservedIncubator == 0>> <<set $reservedChildren = 0>> //$His children are already reserved for $incubatorName// <<else>> <<set $freeCribs = ($nursery-$cribs.length)>> - <<if $activeSlave.reservedChildrenNursery > 0>> - <<if $activeSlave.pregType == 1>> + <<if _reservedNursery > 0>> + <<if _WL == 1>> $His child will be placed in $nurseryName. - <<elseif $activeSlave.reservedChildrenNursery < $activeSlave.pregType>> - $activeSlave.reservedChildrenNursery of $his children will be placed in $nurseryName. - <<elseif $activeSlave.pregType == 2>> + <<elseif _reservedNursery < _WL>> + _reservedNursery of $his children will be placed in $nurseryName. + <<elseif _WL == 2>> Both of $his children will be placed in $nurseryName. <<else>> - All $activeSlave.reservedChildrenNursery of $his children will be placed in $nurseryName. + All _reservedNursery of $his children will be placed in $nurseryName. <</if>> - <<if (($activeSlave.reservedChildren + $activeSlave.reservedChildrenNursery < $activeSlave.pregType) && ($reservedChildrenNursery < $freeCribs))>> + <<if ((_reservedIncubator + _reservedNursery < _WL) && ($reservedChildrenNursery < $freeCribs))>> <<link "Keep another child" "Slave Interact">><<set WombAddToGenericReserve($activeSlave, "nursery", 1)>><</link>> - <<if $activeSlave.reservedChildrenNursery > 0>> + <<if _reservedNursery > 0>> | <<link "Keep one less child" "Slave Interact">><<set WombCleanGenericReserve($activeSlave, "nursery", 1)>><</link>> <</if>> - <<if $activeSlave.reservedChildrenNursery > 1>> + <<if _reservedNursery > 1>> | <<link "Keep none of $his children" "Slave Interact">><<set WombCleanGenericReserve($activeSlave, "nursery", 9999)>><</link>> <</if>> - <<if ($reservedChildrenNursery + $activeSlave.pregType - $activeSlave.reservedChildrenNursery) <= $freeCribs>> + <<if ($reservedChildrenNursery + _WL - _reservedNursery) <= $freeCribs>> | <<link "Keep the rest of $his children" "Slave Interact">><<set WombAddToGenericReserve($activeSlave, "nursery", 9999)>><</link>> <</if>> - <<elseif ($activeSlave.reservedChildrenNursery == $activeSlave.pregType) || ($reservedChildrenNursery == $freeCribs) || ($activeSlave.reservedChildrenNursery - $activeSlave.reservedChildren >= 0)>> + <<elseif (_reservedNursery == _WL) || ($reservedChildrenNursery == $freeCribs) || (_reservedNursery - _reservedIncubator >= 0)>> <<link "Keep one less child" "Slave Interact">><<set WombCleanGenericReserve($activeSlave, "nursery", 1)>><</link>> - <<if $activeSlave.reservedChildrenNursery > 1>> + <<if _reservedNursery > 1>> | <<link "Keep none of $his children" "Slave Interact">><<set WombCleanGenericReserve($activeSlave, "nursery", 9999)>><</link>> <</if>> <</if>> <<elseif $reservedChildrenNursery < $freeCribs>> $He is pregnant and you have <<if $freeCribs == 1>>an<</if>> @@.lime;available room<<if $freeCribs > 1>>s<</if>>.@@ - <<print "[[Keep "+ (($activeSlave.pregType > 1) ? "a" : "the") +" child|Slave Interact][WombAddToGenericReserve($activeSlave, 'nursery', 1)]]">> - <<if ($activeSlave.pregType > 1) && ($reservedChildrenNursery + $activeSlave.pregType) <= $freeCribs>> + <<print "[[Keep "+ ((_WL > 1) ? "a" : "the") +" child|Slave Interact][WombAddToGenericReserve($activeSlave, 'nursery', 1)]]">> + <<if (_WL > 1) && ($reservedChildrenNursery + _WL) <= $freeCribs>> | <<link "Keep all of $his children" "Slave Interact">><<set WombAddToGenericReserve($activeSlave, "nursery", 9999)>><</link>> <</if>> <<elseif $reservedChildrenNursery == $freeCribs>>