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);
 				}
 			}