From 698886403d14f4f2bb5f4a1bf541c8356a39d585 Mon Sep 17 00:00:00 2001 From: pregmodfan <pregmodfan@cock.li> Date: Thu, 15 Nov 2018 19:01:20 +0200 Subject: [PATCH] intergation of new fetus reserve system part1 --- src/js/pregJS.tw | 4 ++-- src/js/removeActiveSlave.tw | 8 ++++---- src/npc/abort.tw | 9 +++------ src/npc/agent/agentCompany.tw | 11 ++--------- src/npc/agent/agentWorkaround.tw | 11 ++--------- src/pregmod/csec.tw | 15 +++++++++++---- 6 files changed, 24 insertions(+), 34 deletions(-) diff --git a/src/js/pregJS.tw b/src/js/pregJS.tw index 1688a4707a2..3cbec66b5cd 100644 --- a/src/js/pregJS.tw +++ b/src/js/pregJS.tw @@ -213,12 +213,12 @@ window.knockMeUp = function(target, chance, hole, fatherID, displayOverride) { window.getIncubatorReserved = function(slaves) { - return WombGetGenericReserve("incubator"); + return FetusGlobalReserveCount("incubator"); } window.getNurseryReserved = function (slaves) { - return WombGetGenericReserve("nursery"); + return FetusGlobalReserveCount("nursery"); } /* not to be used until that last part is defined. It may become slave.boobWomb.volume or some shit */ diff --git a/src/js/removeActiveSlave.tw b/src/js/removeActiveSlave.tw index e8ea98fbe9a..61beadd6deb 100644 --- a/src/js/removeActiveSlave.tw +++ b/src/js/removeActiveSlave.tw @@ -13,10 +13,10 @@ window.removeActiveSlave = function removeActiveSlave() { if (V.PC.pregSource === V.missingParentID) { missing = true; } - if (V.activeSlave.reservedChildren > 0) { - V.reservedChildren -= V.activeSlave.reservedChildren; - V.reservedChildrenNursery -= V.activeSlave.reservedChildrenNursery; - } + + V.reservedChildren = FetusGlobalReserveCount("incubator"); + V.reservedChildrenNursery = FetusGlobalReserveCount("nursery"); + if (V.PC.mother === AS_ID) { V.PC.mother = V.missingParentID; missing = true; diff --git a/src/npc/abort.tw b/src/npc/abort.tw index cff6b49f636..124c46ac09f 100644 --- a/src/npc/abort.tw +++ b/src/npc/abort.tw @@ -32,12 +32,9 @@ The remote surgery makes aborting a pregnancy quick and efficient. $activeSlave. <<if lastPregRule($activeSlave,$defaultRules)>><<set $activeSlave.preg = -1>><<else>><<set $activeSlave.preg = 0>><</if>> -<<if $activeSlave.reservedChildren > 0>> - <<set $reservedChildren -= $activeSlave.reservedChildren>> -<</if>> -<<if $activeSlave.reservedChildrenNursery > 0>> - <<set $reservedChildrenNursery -= $activeSlave.reservedChildrenNursery>> -<</if>> +<<set $reservedChildren = FetusGlobalReserveCount("incubator")>> +<<set $reservedChildrenNursery = FetusGlobalReserveCount("nursery")>> + <<set $activeSlave.pregType = 0>> <<set $activeSlave.pregSource = 0>> <<set $activeSlave.pregKnown = 0>> diff --git a/src/npc/agent/agentCompany.tw b/src/npc/agent/agentCompany.tw index 367d627ffea..0bac9e041d3 100644 --- a/src/npc/agent/agentCompany.tw +++ b/src/npc/agent/agentCompany.tw @@ -4,15 +4,8 @@ <<= assignJob($activeSlave, "live with your agent")>> -<<if $activeSlave.reservedChildren > 0>> - <<set $reservedChildren -= $activeSlave.reservedChildren>> - <<set $activeSlave.reservedChildren = 0>> -<</if>> - -<<if $activeSlave.reservedChildrenNursery > 0>> - <<set $reservedChildrenNursery -= $activeSlave.reservedChildrenNursery>> - <<set $activeSlave.reservedChildrenNursery = 0>> -<</if>> +<<set $reservedChildren = FetusGlobalReserveCount("incubator")>> +<<set $reservedChildrenNursery = FetusGlobalReserveCount("nursery")>> <<if $activeSlave.rivalry > 0>> <<set _i = $slaveIndices[$activeSlave.rivalryTarget]>> diff --git a/src/npc/agent/agentWorkaround.tw b/src/npc/agent/agentWorkaround.tw index c4f8a66dc0d..f2796ae4c71 100644 --- a/src/npc/agent/agentWorkaround.tw +++ b/src/npc/agent/agentWorkaround.tw @@ -4,15 +4,8 @@ <<= assignJob($slaves[$i], "be your agent")>> -<<if $slaves[$i].reservedChildren > 0>> - <<set $reservedChildren -= $slaves[$i].reservedChildren>> - <<set $slaves[$i].reservedChildren = 0>> -<</if>> - -<<if $slaves[$i].reservedChildrenNursery > 0>> - <<set $reservedChildrenNursery -= $slaves[$i].reservedChildrenNursery>> - <<set $slaves[$i].reservedChildrenNursery = 0>> -<</if>> +<<set $reservedChildren = FetusGlobalReserveCount("incubator")>> +<<set $reservedChildrenNursery = FetusGlobalReserveCount("nursery")>> <<if $slaves[$i].rivalry > 0>> <<set _i = $slaveIndices[$slaves[$i].rivalryTarget]>> diff --git a/src/pregmod/csec.tw b/src/pregmod/csec.tw index 114b4239190..7641276b5f2 100644 --- a/src/pregmod/csec.tw +++ b/src/pregmod/csec.tw @@ -48,7 +48,7 @@ <<set _incubated = 0>> <<set _oldDevotion = $activeSlave.devotion>> -<<set _cToIncub = 0, _origReserve = $activeSlave.reservedChildren>> +<<set _cToIncub = 0, _origReserve = WombReserveCount($activeSlave, "incubator")>> <<if _origReserve > 0 && _curBabies > 0>> /*Do we need incubator checks?*/ <<if _curBabies >= _origReserve >> /*adding normal*/ @@ -63,7 +63,7 @@ <</if>> /*this block is the same as the one above, with variables for the nursery instead*/ -<<set _cToNursery = 0, _origReserveNursery = $activeSlave.reservedChildrenNursery>> +<<set _cToNursery = 0, _origReserveNursery = WombReserveCount($activeSlave, "nursery")>> <<if _origReserveNursery > 0 && _curBabies > 0>> <<if _curBabies >= _origReserveNursery >> <<set _cToNursery = _origReserveNursery >> @@ -146,6 +146,9 @@ Performing a cesarean section is trivial for the remote surgery to carry out. $a <<set $missingParent = $missingParentID>> <<set $missingParentID-->> <</if>> + + /* Two "for" blocks below can be simplier now, but leavig it as it's still working, just removing not needed. */ + <<for _cb = 0; _cb < _cToIncub; _cb++>> /* if there is no reserved children, code in loop will not trigger */ <<if _identicalChildGen == 0>> <<if _cb == $mom.curBabies.length-1 && $mom.curBabies.length > 1 && $mom.curBabies[_cb].identical == 1>> /* catch for improperly placed identical twin flag to still generate*/ @@ -169,8 +172,8 @@ Performing a cesarean section is trivial for the remote surgery to carry out. $a <<set _identicalChildGen = 0>> <</if>> <<set _shiftDegree++>> - <<set $reservedChildren-- >> <</for>> + /*copy of above block, with variables for nursery*/ <<for _cb = 0; _cb < _cToNursery; _cb++>> /* if there is no reserved children, code in loop will not trigger */ <<if _identicalChildGen == 0>> @@ -195,8 +198,8 @@ Performing a cesarean section is trivial for the remote surgery to carry out. $a <<set _identicalChildGen = 0>> <</if>> <<set _shiftDegree++>> - <<set $reservedChildren-- >> <</for>> + <<if _shiftDegree > 0>> <<for _csec = 0; _csec < _shiftDegree; _csec++>> /* For now, children only get full slave objects when they enter the incubator, and nothing from their unborn self is retained, so that's discarded here. Later we might transfer some data instead. */ @@ -207,6 +210,7 @@ Performing a cesarean section is trivial for the remote surgery to carry out. $a <<else>> /*No live babies. Placeholder */ <</if>> + <<set _curBabies = $activeSlave.curBabies.length >> <<if _incubated != 2 && _curBabies > 0 >> @@ -563,3 +567,6 @@ Since $his <<if $activeSlave.mpreg == 1>>ass<<else>>vagina<</if>> was spared fro <</if>> <<set $activeSlave.cSec = 1>> <<run SetBellySize($activeSlave)>> +<<set $reservedChildren = FetusGlobalReserveCount("incubator")>> +<<set $reservedChildrenNursery = FetusGlobalReserveCount("nursery")>> + -- GitLab