From 05e706812c42d140149807a774ca5f318f6e6ed9 Mon Sep 17 00:00:00 2001 From: kopareigns <kopareigns@gmail.com> Date: Wed, 21 Nov 2018 00:34:13 -0500 Subject: [PATCH] Possible fix --- src/pregmod/widgets/seBirthWidgets.tw | 40 ++++++++++----------------- 1 file changed, 15 insertions(+), 25 deletions(-) diff --git a/src/pregmod/widgets/seBirthWidgets.tw b/src/pregmod/widgets/seBirthWidgets.tw index fcaf933899d..5668b7e369b 100644 --- a/src/pregmod/widgets/seBirthWidgets.tw +++ b/src/pregmod/widgets/seBirthWidgets.tw @@ -844,44 +844,34 @@ 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])>> <<include "Incubator Workaround">> <<run $slaves[$i].curBabies.splice($slaves[$i].curBabies[_cb], 1)>> - <<set _cb--, _curBabies-->> + <<set _cb-->> <<elseif $slaves[$i].curBabies[_cb].reserve == "nursery">> <<set $activeSlave = applyGenetics($slaves[$i], $slaves[$i].curBabies[_cb])>> <<include "Nursery Workaround">> <<run $slaves[$i].curBabies.splice($slaves[$i].curBabies[_cb], 1)>> - <<set _cb--, _curBabies-->> + <<set _cb-->> <</if>> <</for>> <</if>> -- GitLab