diff --git a/src/js/SlaveState.js b/src/js/SlaveState.js index 11531fc0a6a909da393ef2ab394205e9743a20c2..6cc977e2afeb08aa4280f101774c8210e0699fc8 100644 --- a/src/js/SlaveState.js +++ b/src/js/SlaveState.js @@ -1930,13 +1930,13 @@ App.Entity.SlaveState = class SlaveState { /** Has the slave gone through female puberty. * * 0: no; 1: yes */ - this.pubertyXX = undefined; + this.pubertyXX = 0; /** Target .physicalAge for male puberty to occur. */ this.pubertyAgeXY = 13; /** Has the slave gone through male puberty. * * 0: no; 1: yes */ - this.pubertyXY = undefined; + this.pubertyXY = 0; /** * not fully implemented. * * 0: no scars diff --git a/src/js/generateNewSlaveJS.js b/src/js/generateNewSlaveJS.js index f4dee9f0c0ae93aca3a1c856b740bf3b3d9db091..e6c91b9967380cd0f2242293e36bca44deb9c8b6 100644 --- a/src/js/generateNewSlaveJS.js +++ b/src/js/generateNewSlaveJS.js @@ -57,6 +57,7 @@ window.GenerateNewSlave = (function(){ } function postGenCleanup() { + generatePuberty(slave); generateBoobTweaks(); /* split this up for female vs. male? */ generateSkills(); generateDisabilities(); @@ -69,7 +70,6 @@ window.GenerateNewSlave = (function(){ function GenerateXXSlave() { slave.ovaries = 1; - slave.pubertyXY = 0; slave.energy = jsRandom(1,85); generateXXGeneticQuirks(); @@ -84,14 +84,12 @@ window.GenerateNewSlave = (function(){ generateXXTeeth(); generateXXMods(); generateXXBodyHair(); - generateXXPuberty(); } function GenerateXYSlave() { slave.genes = "XY"; slave.hLength = 10; slave.prostate = 1; - slave.pubertyXX = 0; slave.energy = jsRandom(15,90); generateXYGeneticQuirks(); @@ -107,7 +105,6 @@ window.GenerateNewSlave = (function(){ generateXYTeeth(); generateXYMods(); generateXYBodyHair(); - generateXYPuberty(); } function generateXXBodyProportions() { @@ -1050,26 +1047,6 @@ window.GenerateNewSlave = (function(){ slave.eyebrowFullness = jsEither(["bushy", "natural", "natural", "natural", "natural", "natural", "natural", "natural", "natural", "pencil-thin", "tapered", "tapered", "tapered", "thick", "thick", "thin", "thin", "threaded", "threaded", "threaded"]); } - function generateXXPuberty() { - if (slave.physicalAge >= slave.pubertyAgeXX) { - slave.pubertyXX = 1; - } else { - slave.pubertyXX = 0; - } - } - - function generateXYPuberty() { - if (slave.balls > 0) { - if (slave.physicalAge >= slave.pubertyAgeXY) { - slave.pubertyXY = 1; - } else { - slave.pubertyXY = 0; - } - } else { - slave.pubertyXY = 0; - } - } - function generateXXGeneticQuirks() { chance = jsRandom(1,1000); if (chance >= 980) { diff --git a/src/js/heroCreator.js b/src/js/heroCreator.js index 62194ac9182c3397b08e6dbdbba72a9106fbaa93..95f8d0ca54d067122cbbc1819603701b11f4fcc1 100644 --- a/src/js/heroCreator.js +++ b/src/js/heroCreator.js @@ -3,5 +3,6 @@ window.getHeroSlave = function (heroSlave, baseHeroSlave) { for (var attrname in heroSlave) { newSlave[attrname] = heroSlave[attrname]; } + generatePuberty(newSlave); return newSlave; }; diff --git a/src/js/slaveGenerationJS.js b/src/js/slaveGenerationJS.js index 6cbbe9b08178d4777ba52f9111495289936368d6..8a9f5c913f1546bc366c3901703c7feb5ac42092 100644 --- a/src/js/slaveGenerationJS.js +++ b/src/js/slaveGenerationJS.js @@ -1417,3 +1417,16 @@ window.generatePronouns = /** @param {App.Entity.SlaveState} slave*/ function ge slave.noun = "girl"; } }; + +window.generatePuberty = function(slave) { + if ((slave.ovaries === 1 || slave.mpreg === 1) && slave.physicalAge >= slave.pubertyAgeXX) { + slave.pubertyXX = 1; + } else { + slave.pubertyXX = 0; + } + if (slave.balls > 0 && slave.ballType !== "sterile" && slave.physicalAge >= slave.pubertyAgeXY) { + slave.pubertyXY = 1; + } else { + slave.pubertyXY = 0; + } +};