diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt index 4e8b4fb12c0f991c57674583400d0efbebb9607d..977b2532f3be32a57fbb63984b4dfbce109ea91a 100644 --- a/devNotes/twine JS.txt +++ b/devNotes/twine JS.txt @@ -1688,75 +1688,191 @@ window.setPregType = function(actor) { } ovum = Math.clamp(ovum, 0, 8); } else if(actor.pregType == 0) { - if(actor.geneticQuirks.fertility == 2 && actor.geneticQuirks.hyperFertility == 2) { // Do not mix with sperm - ovum += jsEither([1, 2, 2, 3]); - fertilityStack++; - fertilityStack++; - fertilityStack++; - fertilityStack++; - } else if(actor.geneticQuirks.hyperFertility == 2) { // Predisposed to multiples - ovum += jsEither([0, 1, 1, 2]); - fertilityStack++; - fertilityStack++; - } else if(actor.geneticQuirks.fertility == 2) { // Predisposed to twins - ovum += jsEither([0, 0, 0, 0, 1]); - fertilityStack++; - } else { - ovum += jsEither([0, 0, 0, 0, 0, 0, 0, 0, 0, 1]); //base chance for twins - } - if(actor.ovaImplant == "fertility") { - ovum += jsEither([0, 0, 0, 0, 0, 0, 0, 0, 0, 1]); - fertilityStack++; - } - if(actor.hormones == 2) { - ovum += jsEither([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2]); - fertilityStack++; - } - if(actor.hormoneBalance >= 200) { - ovum += jsEither([0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2]); - fertilityStack++; - } - if(actor.diet == "fertility") { - ovum += jsEither([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]); - fertilityStack++; - } - if(State.variables.masterSuitePregnancyFertilitySupplements == 1 && ((actor.assignment == "serve in the master suite" || actor.assignment == "be your Concubine"))) { - ovum += jsEither([0, 0, 0, 1, 1, 2, 2, 2, 3, 3]); - fertilityStack++; - fertilityStack++; - } - if(State.variables.reproductionFormula == 1 && (State.variables.week-actor.weekAcquired > 0)) { - fertilityStack++; - } - if(actor.drugs == "super fertility drugs") { - ovum += jsEither([1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5]); - fertilityStack++; - fertilityStack++; - fertilityStack++; - fertilityStack++; - fertilityStack++; - } else if(actor.drugs == "fertility drugs") { - ovum += jsEither([0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3]); - fertilityStack++; - } - if(State.variables.seeHyperPreg == 1) { + if(actor.eggType == "horse" || actor.eggType == "cow") { + if(actor.geneticQuirks.fertility == 2 && actor.geneticQuirks.hyperFertility == 2) { // Do not mix with sperm + ovum += jsEither([0, 0, 0, 0, 0, 0, 1]); + fertilityStack += .8; + } else if(actor.geneticQuirks.hyperFertility == 2) { // Predisposed to multiples + fertilityStack += .4; + } else if(actor.geneticQuirks.fertility == 2) { // Predisposed to twins + fertilityStack += .2; + } + if(actor.ovaImplant == "fertility") { + fertilityStack += .3; + } + if(actor.hormones == 2) { + fertilityStack += .2; + } + if(actor.hormoneBalance >= 200) { + fertilityStack += .3; + } + if(actor.diet == "fertility") { + fertilityStack += .3; + } + if(State.variables.masterSuitePregnancyFertilitySupplements == 1 && ((actor.assignment == "serve in the master suite" || actor.assignment == "be your Concubine"))) { + fertilityStack += .5; + } + if(State.variables.reproductionFormula == 1 && (State.variables.week-actor.weekAcquired > 0)) { + fertilityStack += .2; + } if(actor.drugs == "super fertility drugs") { - ovum += jsRandom(0, fertilityStack*2); + fertilityStack += 1.6; + } else if(actor.drugs == "fertility drugs") { + fertilityStack += .6; + } + fertilityStack = Math.floor(fertilityStack); + if(State.variables.seeHyperPreg == 1) { + if(actor.drugs == "super fertility drugs") { + ovum += jsRandom(0, fertilityStack*2); + } else { + ovum += jsRandom(0, fertilityStack); + } + if(actor.ovaImplant == "sympathy") { + ovum *= 2; + } } else { ovum += jsRandom(0, fertilityStack); + if(actor.ovaImplant == "sympathy") { + ovum *= 2; + if(ovum > 4) { + ovum = 4; + } + } else if(ovum > 3) { + ovum = 3; + } + } + } else if(actor.eggType == "pig") { + if(actor.geneticQuirks.fertility == 2 && actor.geneticQuirks.hyperFertility == 2) { // Do not mix with sperm + ovum += jsRandom(4, 8); + fertilityStack += 16; + } else if(actor.geneticQuirks.hyperFertility == 2) { // Predisposed to multiples + ovum += jsRandom(2, 6); + fertilityStack += 10; + } else if(actor.geneticQuirks.fertility == 2) { // Predisposed to twins + ovum += jsRandom(2, 4); + fertilityStack += 6; + } + if(actor.ovaImplant == "fertility") { + ovum += jsRandom(4, 12); + fertilityStack += 6; } - if(actor.ovaImplant == "sympathy") { - ovum *= 2; + if(actor.hormones == 2) { + ovum += jsRandom(0, 4); + fertilityStack += 3; + } + if(actor.hormoneBalance >= 200) { + ovum += jsRandom(0, 4); + fertilityStack += 3; + } + if(actor.diet == "fertility") { + ovum += jsRandom(4, 10); + fertilityStack += 6; + } + if(State.variables.masterSuitePregnancyFertilitySupplements == 1 && ((actor.assignment == "serve in the master suite" || actor.assignment == "be your Concubine"))) { + ovum += jsRandom(8, 16); + fertilityStack += 10; + } + if(State.variables.reproductionFormula == 1 && (State.variables.week-actor.weekAcquired > 0)) { + fertilityStack += 2; + } + if(actor.drugs == "super fertility drugs") { + ovum += jsRandom(10, 40); + fertilityStack += 32; + } else if(actor.drugs == "fertility drugs") { + ovum += jsRandom(10, 20); + fertilityStack += 16; + } + if(State.variables.seeHyperPreg == 1) { + if(actor.drugs == "super fertility drugs") { + ovum += jsRandom(fertilityStack/2, fertilityStack*2); + } else { + ovum += jsRandom(fertilityStack/4, fertilityStack); + } + if(actor.ovaImplant == "sympathy") { + ovum *= 2; + } + } else { + ovum += jsRandom(0, fertilityStack); + if(actor.ovaImplant == "sympathy") { + ovum *= 2; + if(ovum > 76) { + ovum = jsEither([70, 72, 74, 76]); + } + } else if(ovum > 75) { + ovum = jsRandom(60, 75); + } } } else { - ovum += jsRandom(0, fertilityStack); - if(actor.ovaImplant == "sympathy") { - ovum *= 2; - if(ovum > 12) { - ovum = jsEither([10, 12]); - } - } else if(ovum > 12) { - ovum = jsRandom(6, 12); + if(actor.geneticQuirks.fertility == 2 && actor.geneticQuirks.hyperFertility == 2) { // Do not mix with sperm + ovum += jsEither([1, 2, 2, 3]); + fertilityStack++; + fertilityStack++; + fertilityStack++; + fertilityStack++; + } else if(actor.geneticQuirks.hyperFertility == 2) { // Predisposed to multiples + ovum += jsEither([0, 1, 1, 2]); + fertilityStack++; + fertilityStack++; + } else if(actor.geneticQuirks.fertility == 2) { // Predisposed to twins + ovum += jsEither([0, 0, 0, 0, 1]); + fertilityStack++; + } else { + ovum += jsEither([0, 0, 0, 0, 0, 0, 0, 0, 0, 1]); //base chance for twins + } + if(actor.ovaImplant == "fertility") { + ovum += jsEither([0, 0, 0, 0, 0, 0, 0, 0, 0, 1]); + fertilityStack++; + } + if(actor.hormones == 2) { + ovum += jsEither([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2]); + fertilityStack++; + } + if(actor.hormoneBalance >= 200) { + ovum += jsEither([0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2]); + fertilityStack++; + } + if(actor.diet == "fertility") { + ovum += jsEither([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]); + fertilityStack++; + } + if(State.variables.masterSuitePregnancyFertilitySupplements == 1 && ((actor.assignment == "serve in the master suite" || actor.assignment == "be your Concubine"))) { + ovum += jsEither([0, 0, 0, 1, 1, 2, 2, 2, 3, 3]); + fertilityStack++; + fertilityStack++; + } + if(State.variables.reproductionFormula == 1 && (State.variables.week-actor.weekAcquired > 0)) { + fertilityStack++; + } + if(actor.drugs == "super fertility drugs") { + ovum += jsEither([1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5]); + fertilityStack++; + fertilityStack++; + fertilityStack++; + fertilityStack++; + fertilityStack++; + } else if(actor.drugs == "fertility drugs") { + ovum += jsEither([0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3]); + fertilityStack++; + } + if(State.variables.seeHyperPreg == 1) { + if(actor.drugs == "super fertility drugs") { + ovum += jsRandom(0, fertilityStack*2); + } else { + ovum += jsRandom(0, fertilityStack); + } + if(actor.ovaImplant == "sympathy") { + ovum *= 2; + } + } else { + ovum += jsRandom(0, fertilityStack); + if(actor.ovaImplant == "sympathy") { + ovum *= 2; + if(ovum > 12) { + ovum = jsEither([10, 12]); + } + } else if(ovum > 12) { + ovum = jsRandom(6, 12); + } } } } diff --git a/src/js/pregJS.tw b/src/js/pregJS.tw index ba5050d5b37c0858fe4e9ba0e85c99a6b3625579..24e623c7bd4b3200e916192c34641d9c3cea7edb 100644 --- a/src/js/pregJS.tw +++ b/src/js/pregJS.tw @@ -122,75 +122,191 @@ window.setPregType = function(actor) { } ovum = Math.clamp(ovum, 0, 8); } else if(actor.pregType == 0) { - if(actor.geneticQuirks.fertility == 2 && actor.geneticQuirks.hyperFertility == 2) { // Do not mix with sperm - ovum += jsEither([1, 2, 2, 3]); - fertilityStack++; - fertilityStack++; - fertilityStack++; - fertilityStack++; - } else if(actor.geneticQuirks.hyperFertility == 2) { // Predisposed to multiples - ovum += jsEither([0, 1, 1, 2]); - fertilityStack++; - fertilityStack++; - } else if(actor.geneticQuirks.fertility == 2) { // Predisposed to twins - ovum += jsEither([0, 0, 0, 0, 1]); - fertilityStack++; - } else { - ovum += jsEither([0, 0, 0, 0, 0, 0, 0, 0, 0, 1]); //base chance for twins - } - if(actor.ovaImplant == "fertility") { - ovum += jsEither([0, 0, 0, 0, 0, 0, 0, 0, 0, 1]); - fertilityStack++; - } - if(actor.hormones == 2) { - ovum += jsEither([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2]); - fertilityStack++; - } - if(actor.hormoneBalance >= 200) { - ovum += jsEither([0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2]); - fertilityStack++; - } - if(actor.diet == "fertility") { - ovum += jsEither([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]); - fertilityStack++; - } - if(State.variables.masterSuitePregnancyFertilitySupplements == 1 && ((actor.assignment == "serve in the master suite" || actor.assignment == "be your Concubine"))) { - ovum += jsEither([0, 0, 0, 1, 1, 2, 2, 2, 3, 3]); - fertilityStack++; - fertilityStack++; - } - if(State.variables.reproductionFormula == 1 && (State.variables.week-actor.weekAcquired > 0)) { - fertilityStack++; - } - if(actor.drugs == "super fertility drugs") { - ovum += jsEither([1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5]); - fertilityStack++; - fertilityStack++; - fertilityStack++; - fertilityStack++; - fertilityStack++; - } else if(actor.drugs == "fertility drugs") { - ovum += jsEither([0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3]); - fertilityStack++; - } - if(State.variables.seeHyperPreg == 1) { + if(actor.eggType == "horse" || actor.eggType == "cow") { + if(actor.geneticQuirks.fertility == 2 && actor.geneticQuirks.hyperFertility == 2) { // Do not mix with sperm + ovum += jsEither([0, 0, 0, 0, 0, 0, 1]); + fertilityStack += .8; + } else if(actor.geneticQuirks.hyperFertility == 2) { // Predisposed to multiples + fertilityStack += .4; + } else if(actor.geneticQuirks.fertility == 2) { // Predisposed to twins + fertilityStack += .2; + } + if(actor.ovaImplant == "fertility") { + fertilityStack += .3; + } + if(actor.hormones == 2) { + fertilityStack += .2; + } + if(actor.hormoneBalance >= 200) { + fertilityStack += .3; + } + if(actor.diet == "fertility") { + fertilityStack += .3; + } + if(State.variables.masterSuitePregnancyFertilitySupplements == 1 && ((actor.assignment == "serve in the master suite" || actor.assignment == "be your Concubine"))) { + fertilityStack += .5; + } + if(State.variables.reproductionFormula == 1 && (State.variables.week-actor.weekAcquired > 0)) { + fertilityStack += .2; + } if(actor.drugs == "super fertility drugs") { - ovum += jsRandom(0, fertilityStack*2); + fertilityStack += 1.6; + } else if(actor.drugs == "fertility drugs") { + fertilityStack += .6; + } + fertilityStack = Math.floor(fertilityStack); + if(State.variables.seeHyperPreg == 1) { + if(actor.drugs == "super fertility drugs") { + ovum += jsRandom(0, fertilityStack*2); + } else { + ovum += jsRandom(0, fertilityStack); + } + if(actor.ovaImplant == "sympathy") { + ovum *= 2; + } } else { ovum += jsRandom(0, fertilityStack); + if(actor.ovaImplant == "sympathy") { + ovum *= 2; + if(ovum > 4) { + ovum = 4; + } + } else if(ovum > 3) { + ovum = 3; + } + } + } else if(actor.eggType == "pig") { + if(actor.geneticQuirks.fertility == 2 && actor.geneticQuirks.hyperFertility == 2) { // Do not mix with sperm + ovum += jsRandom(4, 8); + fertilityStack += 16; + } else if(actor.geneticQuirks.hyperFertility == 2) { // Predisposed to multiples + ovum += jsRandom(2, 6); + fertilityStack += 10; + } else if(actor.geneticQuirks.fertility == 2) { // Predisposed to twins + ovum += jsRandom(2, 4); + fertilityStack += 6; + } + if(actor.ovaImplant == "fertility") { + ovum += jsRandom(4, 12); + fertilityStack += 6; + } + if(actor.hormones == 2) { + ovum += jsRandom(0, 4); + fertilityStack += 3; } - if(actor.ovaImplant == "sympathy") { - ovum *= 2; + if(actor.hormoneBalance >= 200) { + ovum += jsRandom(0, 4); + fertilityStack += 3; + } + if(actor.diet == "fertility") { + ovum += jsRandom(4, 10); + fertilityStack += 6; + } + if(State.variables.masterSuitePregnancyFertilitySupplements == 1 && ((actor.assignment == "serve in the master suite" || actor.assignment == "be your Concubine"))) { + ovum += jsRandom(8, 16); + fertilityStack += 10; + } + if(State.variables.reproductionFormula == 1 && (State.variables.week-actor.weekAcquired > 0)) { + fertilityStack += 2; + } + if(actor.drugs == "super fertility drugs") { + ovum += jsRandom(10, 40); + fertilityStack += 32; + } else if(actor.drugs == "fertility drugs") { + ovum += jsRandom(10, 20); + fertilityStack += 16; + } + if(State.variables.seeHyperPreg == 1) { + if(actor.drugs == "super fertility drugs") { + ovum += jsRandom(fertilityStack/2, fertilityStack*2); + } else { + ovum += jsRandom(fertilityStack/4, fertilityStack); + } + if(actor.ovaImplant == "sympathy") { + ovum *= 2; + } + } else { + ovum += jsRandom(0, fertilityStack); + if(actor.ovaImplant == "sympathy") { + ovum *= 2; + if(ovum > 76) { + ovum = jsEither([70, 72, 74, 76]); + } + } else if(ovum > 75) { + ovum = jsRandom(60, 75); + } } } else { - ovum += jsRandom(0, fertilityStack); - if(actor.ovaImplant == "sympathy") { - ovum *= 2; - if(ovum > 12) { - ovum = jsEither([10, 12]); + if(actor.geneticQuirks.fertility == 2 && actor.geneticQuirks.hyperFertility == 2) { // Do not mix with sperm + ovum += jsEither([1, 2, 2, 3]); + fertilityStack++; + fertilityStack++; + fertilityStack++; + fertilityStack++; + } else if(actor.geneticQuirks.hyperFertility == 2) { // Predisposed to multiples + ovum += jsEither([0, 1, 1, 2]); + fertilityStack++; + fertilityStack++; + } else if(actor.geneticQuirks.fertility == 2) { // Predisposed to twins + ovum += jsEither([0, 0, 0, 0, 1]); + fertilityStack++; + } else { + ovum += jsEither([0, 0, 0, 0, 0, 0, 0, 0, 0, 1]); //base chance for twins + } + if(actor.ovaImplant == "fertility") { + ovum += jsEither([0, 0, 0, 0, 0, 0, 0, 0, 0, 1]); + fertilityStack++; + } + if(actor.hormones == 2) { + ovum += jsEither([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2]); + fertilityStack++; + } + if(actor.hormoneBalance >= 200) { + ovum += jsEither([0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2]); + fertilityStack++; + } + if(actor.diet == "fertility") { + ovum += jsEither([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]); + fertilityStack++; + } + if(State.variables.masterSuitePregnancyFertilitySupplements == 1 && ((actor.assignment == "serve in the master suite" || actor.assignment == "be your Concubine"))) { + ovum += jsEither([0, 0, 0, 1, 1, 2, 2, 2, 3, 3]); + fertilityStack++; + fertilityStack++; + } + if(State.variables.reproductionFormula == 1 && (State.variables.week-actor.weekAcquired > 0)) { + fertilityStack++; + } + if(actor.drugs == "super fertility drugs") { + ovum += jsEither([1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5]); + fertilityStack++; + fertilityStack++; + fertilityStack++; + fertilityStack++; + fertilityStack++; + } else if(actor.drugs == "fertility drugs") { + ovum += jsEither([0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3]); + fertilityStack++; + } + if(State.variables.seeHyperPreg == 1) { + if(actor.drugs == "super fertility drugs") { + ovum += jsRandom(0, fertilityStack*2); + } else { + ovum += jsRandom(0, fertilityStack); + } + if(actor.ovaImplant == "sympathy") { + ovum *= 2; + } + } else { + ovum += jsRandom(0, fertilityStack); + if(actor.ovaImplant == "sympathy") { + ovum *= 2; + if(ovum > 12) { + ovum = jsEither([10, 12]); + } + } else if(ovum > 12) { + ovum = jsRandom(6, 12); } - } else if(ovum > 12) { - ovum = jsRandom(6, 12); } } }