From 966b111909f8e0bc7b97d5f97bd4203bb704a066 Mon Sep 17 00:00:00 2001
From: Pregmodder <pregmodder@gmail.com>
Date: Sun, 30 Dec 2018 18:38:58 -0500
Subject: [PATCH] fert tweaks

---
 devNotes/twine JS.txt                       | 14 +++++++++++++-
 slave variables documentation - Pregmod.txt |  9 ++++-----
 src/js/pregJS.tw                            | 14 +++++++++++++-
 3 files changed, 30 insertions(+), 7 deletions(-)

diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt
index dce11cbf61e..37cde93cf35 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 ad48108bcd7..776c265a4e8 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 402a1b7239a..2e414632112 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);
 				}
 			}
-- 
GitLab