diff --git a/src/data/backwardsCompatibility/datatypeCleanup.js b/src/data/backwardsCompatibility/datatypeCleanup.js index ea69170be00f33c51ea9a2fac4c6d66a35c88ba5..abd51e986ae67d213fe5cf67913833b2d431770d 100644 --- a/src/data/backwardsCompatibility/datatypeCleanup.js +++ b/src/data/backwardsCompatibility/datatypeCleanup.js @@ -30,9 +30,6 @@ App.Entity.Utils.SlaveDataSchemeCleanup = (function() { if (slave.hasOwnProperty("tired")) { delete slave.tired; } - delete slave.death; - delete slave.burst; - delete slave.labor; } /** @@ -666,12 +663,7 @@ globalThis.SlaveDatatypeCleanup = (function SlaveDatatypeCleanup() { */ function slavePregnancyDatatypeCleanup(slave) { slave.induce = Math.clamp(+slave.induce, 0, 1) || 0; - if (slave.hasOwnProperty("labor")) { - if (slave.labor) { - startLabor(slave); - } - delete slave.labor; - } + slave.labor = Math.clamp(+slave.labor, 0, 1) || 0; slave.prematureBirth = Math.clamp(+slave.prematureBirth, 0, 1) || 0; slave.ovaries = Math.clamp(+slave.ovaries, 0, 1) || 0; slave.vasectomy = Math.clamp(+slave.vasectomy, 0, 1) || 0; diff --git a/src/facilities/nursery/nurseryDatatypeCleanup.js b/src/facilities/nursery/nurseryDatatypeCleanup.js index 84d47b3b9988dc339671e6d59a68ee87bd984d0b..e2c0621bf5f2ad3f25a1ff826f1e50b7a77c6342 100644 --- a/src/facilities/nursery/nurseryDatatypeCleanup.js +++ b/src/facilities/nursery/nurseryDatatypeCleanup.js @@ -153,9 +153,7 @@ App.Facilities.Nursery.ChildDatatypeCleanup = function(child) { function childPregnancyDatatypeCleanup(child) { child.induce = Math.clamp(+child.induce, 0, 1) || 0; - if (child.hasOwnProperty("labor")) { - // Child labor, not sure how child IDs work. - } + child.labor = Math.clamp(+child.labor, 0, 1) || 0; if (child.hasOwnProperty("cSec")) { if (child.cSec > 0) { App.Medicine.Modification.addScar(child, "belly", "c-section"); diff --git a/src/facilities/nursery/utils/nurseryUtils.js b/src/facilities/nursery/utils/nurseryUtils.js index 266b58d81f713bc2c9b7103d017ac510c8eb995d..ad6acc9873ad10128595d225fc92b653529313d8 100644 --- a/src/facilities/nursery/utils/nurseryUtils.js +++ b/src/facilities/nursery/utils/nurseryUtils.js @@ -217,6 +217,7 @@ App.Facilities.Nursery.infantToChild = function infantToChild(child) { child.intelligence = 100; child.intelligenceImplant = 0; child.labia = jsRandom(0, 2); + child.labor = 0; child.lactation = 0; child.lactationAdaptation = 0; child.lactationDuration = 0; diff --git a/src/js/SlaveState.js b/src/js/SlaveState.js index 7c424621e422c71d4d41555a93a0a862ccf8fee9..a7d3dd2f015e31757ee2fe7f2498b6f595c232a0 100644 --- a/src/js/SlaveState.js +++ b/src/js/SlaveState.js @@ -1278,6 +1278,11 @@ App.Entity.SlaveState = class SlaveState { * Mainly informative only. Updated automatically at birth process based on remaining fetuses. 0 - 37 */ this.broodmotherCountDown = 0; + /** + * variable used to set off the birth events + * + * 1: birth this week; 0: not time yet */ + this.labor = 0; /** * may accept strings, use at own risk * @@ -2398,6 +2403,8 @@ App.Entity.SlaveState = class SlaveState { this.origBodyOwner = ""; /** Who, if relevant, the body belonged to. */ this.origBodyOwnerID = 0; + /** Cause of slave death. */ + this.death = ""; /** * Slave's current hormonal balance, directs saHormones changes * diff --git a/src/js/statsChecker/pregChecker.js b/src/js/statsChecker/pregChecker.js index 98958c620c39f73e4dfb6757c75cf05082779d9f..70b5e83a125a0dc4fd9e29199ddc5b1184460b5f 100644 --- a/src/js/statsChecker/pregChecker.js +++ b/src/js/statsChecker/pregChecker.js @@ -1,11 +1,16 @@ globalThis.isInLabor = function(slave) { - return V.birthIDs.includes(slave.ID); + return (slave.labor); + // return V.birthIDs.includes(slave.ID); }; globalThis.startLabor = function(slave) { + slave.labor = 1; + + /* if (typeof slave === "number") { V.birthIDs.push(slave); } else { V.birthIDs.push(slave.ID); } + */ }; diff --git a/src/npc/slaveStats.tw b/src/npc/slaveStats.tw index a28325d4adea22873a22b69ba3f50f625d95569e..40240ea24d7873fecf76c76bb0a958e38d1c2d84 100644 --- a/src/npc/slaveStats.tw +++ b/src/npc/slaveStats.tw @@ -462,6 +462,7 @@ Income: <<= num($activeSlave.lastWeeksRepIncome)>> PCChildren: $activeSlave.counter.PCChildrenFathered <br>KnockedUp: slaves: $activeSlave.counter.slavesKnockedUp, <br>PC: $activeSlave.counter.PCKnockedUp + <br>labor: $activeSlave.labor, Count: $activeSlave.counter.laborCount <br>Births: $activeSlave.counter.births, Total: $activeSlave.counter.birthsTotal diff --git a/src/player/js/PlayerState.js b/src/player/js/PlayerState.js index 313490edd3e551a1e351bfccd614cc78f33eedd7..6bd6c2b2649a2870d6a8edb57d437ad9b8938754 100644 --- a/src/player/js/PlayerState.js +++ b/src/player/js/PlayerState.js @@ -1050,6 +1050,11 @@ App.Entity.PlayerState = class PlayerState { * Mainly informative only. Updated automatically at birth process based on remaining fetuses. 0 - 37 */ this.broodmotherCountDown = 0; + /** + * variable used to set off the birth events + * + * 1: birth this week; 0: not time yet */ + this.labor = 0; /** * may accept strings, use at own risk * diff --git a/src/pregmod/widgets/bodyswapWidgets.tw b/src/pregmod/widgets/bodyswapWidgets.tw index ca0406d960e9714bd32b697302159ea7a3034fc4..54c9f0caa16a6ac6d0cd3571d7a3d0a9131260b4 100644 --- a/src/pregmod/widgets/bodyswapWidgets.tw +++ b/src/pregmod/widgets/bodyswapWidgets.tw @@ -188,6 +188,7 @@ <<set $args[0].preg = $args[1].preg>> <<set $args[0].pregSource = $args[1].pregSource>> <<set $args[0].pregType = $args[1].pregType>> + <<set $args[0].labor = $args[1].labor>> <<set $args[0].clitSetting = $args[1].clitSetting>> <<set $args[0].diet = $args[1].diet>> <<set $args[0].dietCum = $args[1].dietCum>>