diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt index dce11cbf61ec1ae390160eb8163f62df91d2e50d..37cde93cf35f3e5f292171a025e00e72240e13d2 100644 --- a/devNotes/twine JS.txt +++ b/devNotes/twine JS.txt @@ -1582,6 +1582,10 @@ window.setPregType = function(actor) { ovum = Math.clamp(ovum, 0, 8); } else if(actor.pregType == 0) { 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++; @@ -1619,9 +1623,17 @@ window.setPregType = function(actor) { } else { ovum += jsRandom(0, fertilityStack); } + if(actor.ovaImplant == "sympathy") { + ovum *= 2; + } } else { ovum += jsRandom(0, fertilityStack); - if(ovum > 12) { + if(actor.ovaImplant == "sympathy") { + ovum *= 2; + if(ovum > 12) { + ovum = jsEither([10, 12]); + } + } else if(ovum > 12) { ovum = jsRandom(6, 12); } } diff --git a/slave variables documentation - Pregmod.txt b/slave variables documentation - Pregmod.txt index ad48108bcd786ac73319f09b1d629094c61af43e..776c265a4e80d60a969e7ea0057c270d8bac3336 100644 --- a/slave variables documentation - Pregmod.txt +++ b/slave variables documentation - Pregmod.txt @@ -1780,12 +1780,11 @@ Number of ready to be impregnated ova (override normal cases), default - 0. For ovaImplant: (future usage) -Ovary implant state and type. +Ovary implant type. --1 - present, suppress natural superfetation (normalize slave with natural superfetation), still allow partial birth. -0 - no implant -1 - artificial superfetation and partial birth support. -2 - ova release on orgasm and partial birth support. +0 - no implants +"fertility" - higher chance of twins (or more) +"sympathy" - doubles eggs released wombImplant: diff --git a/src/js/pregJS.tw b/src/js/pregJS.tw index 402a1b7239aaf8960aa26efbc921a95edb1f7daf..2e41463211212efd89ccda2029c8a0eb7355feef 100644 --- a/src/js/pregJS.tw +++ b/src/js/pregJS.tw @@ -123,6 +123,10 @@ window.setPregType = function(actor) { ovum = Math.clamp(ovum, 0, 8); } else if(actor.pregType == 0) { 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++; @@ -160,9 +164,17 @@ window.setPregType = function(actor) { } else { ovum += jsRandom(0, fertilityStack); } + if(actor.ovaImplant == "sympathy") { + ovum *= 2; + } } else { ovum += jsRandom(0, fertilityStack); - if(ovum > 12) { + if(actor.ovaImplant == "sympathy") { + ovum *= 2; + if(ovum > 12) { + ovum = jsEither([10, 12]); + } + } else if(ovum > 12) { ovum = jsRandom(6, 12); } }