From 11d0446db80199ef899d3fb4ac21c941eddcdea0 Mon Sep 17 00:00:00 2001 From: Pregmodder <pregmodder@gmail.com> Date: Fri, 10 Aug 2018 03:02:36 -0400 Subject: [PATCH] major childgen fix --- devNotes/VersionChangeLog-Premod+LoliMod.txt | 3 +++ src/pregmod/csec.tw | 6 +++++- src/pregmod/generateChild.tw | 9 +++------ src/pregmod/sePlayerBirth.tw | 11 ++++++++++- src/pregmod/widgets/seBirthWidgets.tw | 4 ++++ 5 files changed, 25 insertions(+), 8 deletions(-) diff --git a/devNotes/VersionChangeLog-Premod+LoliMod.txt b/devNotes/VersionChangeLog-Premod+LoliMod.txt index 9ad4bc488c5..04528982f38 100644 --- a/devNotes/VersionChangeLog-Premod+LoliMod.txt +++ b/devNotes/VersionChangeLog-Premod+LoliMod.txt @@ -4,6 +4,9 @@ 8/10/2018 + 27 + -critical fix to missing parents in childgen (now only done once instead for each child) + 26 -skin color tweaking -fixes diff --git a/src/pregmod/csec.tw b/src/pregmod/csec.tw index 842e09dfd50..0347c6aedcd 100644 --- a/src/pregmod/csec.tw +++ b/src/pregmod/csec.tw @@ -114,7 +114,11 @@ Performing a cesarean section is trivial for the remote surgery to carry out. $a <<set _incubated = 1>> <</if>> <<set $mom = $activeSlave>> - <<set _identicalChildGen = 0, _shiftDegree = 0>> + <<set _identicalChildGen = 0, _shiftDegree = 0 && _cToIncub > 0>> + <<if $mom.pregSource < 1 && $mom.pregSource != -1>> + <<set $missingParent = $missingParentID>> + <<set $missingParentID-->> + <</if>> <<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*/ diff --git a/src/pregmod/generateChild.tw b/src/pregmod/generateChild.tw index 333ac352132..f97226511c5 100644 --- a/src/pregmod/generateChild.tw +++ b/src/pregmod/generateChild.tw @@ -29,8 +29,7 @@ <<set $activeSlave.slaveName = "Your daughter">> <<set $activeSlave.mother = -1>> <<if $PC.pregSource != -6>> - <<set $activeSlave.father = $missingParentID>> - <<set $missingParentID-->> + <<set $activeSlave.father = $missingParent>> <<set $activeSlave.nationality = "Stateless">> <<else>> <<set $activeSlave.father = -1>> @@ -160,8 +159,7 @@ <<set $activeSlave.slaveName = "Your son">> <<set $activeSlave.mother = -1>> <<if $PC.pregSource != -6>> - <<set $activeSlave.father = $missingParentID>> - <<set $missingParentID-->> + <<set $activeSlave.father = $missingParent>> <<set $activeSlave.nationality = "Stateless">> <<else>> <<set $activeSlave.father = -1>> @@ -302,8 +300,7 @@ <<set $activeSlave.slaveName = String($mom.slaveName + " and my child")>> <<set $activeSlave.slaveSurname = $PC.surname>> <<else>> - <<set $activeSlave.father = $missingParentID>> - <<set $missingParentID-->> + <<set $activeSlave.father = $missingParent>> <<set $activeSlave.slaveName = String($mom.slaveName + "'s slut child")>> <<if def $mom.slaveSurname && $mom.slaveSurname != "">><<set $activeSlave.slaveSurname = $mom.slaveSurname>><<else>><<set $activeSlave.slaveSurname = 0>><</if>> <</if>> diff --git a/src/pregmod/sePlayerBirth.tw b/src/pregmod/sePlayerBirth.tw index 7f3f7f9a0ce..c50ea37f684 100644 --- a/src/pregmod/sePlayerBirth.tw +++ b/src/pregmod/sePlayerBirth.tw @@ -404,6 +404,11 @@ You arrange yourself to give birth, relaxing until your body urges you to begin <<if _curBabies == 1>> + <<if $PC.pregSource < 1 && $PC.pregSource != -6 && $PC.reservedChildren > 0>> + <<set $missingParent = $missingParentID>> + <<set $missingParentID-->> + <</if>> + <<include "Generate Child">> <<if $activeSlave.race == $PC.race>> @@ -440,7 +445,11 @@ You arrange yourself to give birth, relaxing until your body urges you to begin <</if>> <<elseif _curBabies > 1>> - <<set _identicalChildGen = 0, _shiftDegree = 0>> + <<set _identicalChildGen = 0, _shiftDegree = 0 && $PC.reservedChildren > 0>> + <<if $PC.pregSource < 1 && $PC.pregSource != -6>> + <<set $missingParent = $missingParentID>> + <<set $missingParentID-->> + <</if>> <<for _p = 0; _p < _curBabies; _p++>> <<if _identicalChildGen == 0>> <<if _p == $PC.curBabies.length-1 && $PC.curBabies.length > 1 && $PC.curBabies[_p].identical == 1>> /* catch for improperly placed identical twin flag to still generate*/ diff --git a/src/pregmod/widgets/seBirthWidgets.tw b/src/pregmod/widgets/seBirthWidgets.tw index c506be3ec8f..b22a418b733 100644 --- a/src/pregmod/widgets/seBirthWidgets.tw +++ b/src/pregmod/widgets/seBirthWidgets.tw @@ -770,6 +770,10 @@ All in all, <<set _identicalChildGen = 0, _shiftDegree = 0>> <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 $slaves[$i].pregSource < 1 && $slaves[$i].pregSource != -1 && _cToIncub > 0>> + <<set $missingParent = $missingParentID>> + <<set $missingParentID-->> + <</if>> <<for _k = 0; _k < _cToIncub; _k++>> <<if _identicalChildGen == 0>> <<if _k == $slaves[$i].curBabies.length-1 && $slaves[$i].curBabies.length > 1 && $slaves[$i].curBabies[_k].identical == 1>> /* catch for improperly placed identical twin flag to still generate*/ -- GitLab