From 0e35fe503659021e57e0722d6540a26b3a33eea3 Mon Sep 17 00:00:00 2001
From: LollipopScythe <11764-LollipopScythe@users.noreply.gitgud.io>
Date: Wed, 16 Nov 2022 01:42:04 +0000
Subject: [PATCH] Modernized way too much old parasite pregnancy code

---
 DolSettingsExport.json                        |   2 +-
 game/01-config/sugarcubeConfig.js             |  72 +--
 game/03-JavaScript/02-Helpers/macros.js       |   2 +-
 .../04-Pregnancy/childrenStoryFunctions.js    |  26 +
 game/03-JavaScript/04-Pregnancy/parasite.js   | 111 ++++
 game/03-JavaScript/04-Pregnancy/pregnancy.js  |  69 ++-
 .../04-Pregnancy/pregnancyTypes.js            | 235 +++++++--
 .../04-Pregnancy/storyFunctions.js            |  91 +++-
 game/03-JavaScript/UI.js                      |  20 +-
 game/03-JavaScript/bedroomPills.js            | 108 +++-
 game/03-JavaScript/debugMenu.js               |  38 +-
 game/03-JavaScript/save.js                    |   4 +-
 game/04-Variables/pregnancyVar.twee           |  47 +-
 game/04-Variables/presets.twee                |  16 +-
 game/04-Variables/variables-static.twee       |   5 +
 .../04-Variables/variables-versionUpdate.twee |  57 +--
 game/base-combat/actions-anus.twee            |   2 +-
 game/base-combat/actions-vagina.twee          |   3 +
 game/base-combat/actionsGeneration.twee       |   1 +
 game/base-combat/effects.twee                 |   9 +-
 game/base-combat/ejaculation-eden.twee        |   6 +
 game/base-combat/ejaculation-gloryhole.twee   |   3 +
 game/base-combat/ejaculation-kylar.twee       |   8 +-
 game/base-combat/ejaculation-leighton.twee    |   6 +
 game/base-combat/ejaculation-pillory.twee     |   4 +
 game/base-combat/ejaculation-plant.twee       |  14 +-
 game/base-combat/ejaculation-robin.twee       |   1 +
 game/base-combat/ejaculation-sydney.twee      |   7 +
 game/base-combat/ejaculation-wall.twee        |   4 +
 game/base-combat/ejaculation.twee             |  10 +-
 game/base-combat/man-combat.twee              |  15 +-
 game/base-combat/speech.twee                  |   6 +-
 game/base-combat/struggle.twee                |  12 +-
 game/base-combat/swarms.twee                  |   6 +-
 game/base-combat/tentacles/tentacle-adv.twee  |  52 +-
 game/base-system/bodywriting.twee             |   7 +-
 game/base-system/clamp.twee                   |   2 +-
 game/base-system/effects.twee                 |  80 +--
 game/base-system/fame.twee                    |   2 +-
 game/base-system/feats.twee                   | 166 ++++--
 game/base-system/mirror.twee                  |   2 +-
 game/base-system/orgasm.twee                  |   2 +-
 .../base-system/overlays/characteristics.twee |  24 +-
 game/base-system/overlays/cheats.twee         | 202 ++++----
 game/base-system/overlays/featsUI.twee        |  48 +-
 game/base-system/overlays/options.twee        |   2 +-
 game/base-system/overlays/statistics.twee     | 182 +++++--
 game/base-system/overlays/traits.twee         |   8 +-
 game/base-system/physicalAdjustments.twee     | 211 ++++----
 game/base-system/pregnancy/children.twee      |  26 +
 .../base-system/pregnancy/childrenEvents.twee |   1 +
 game/base-system/pregnancy/containers.twee    |  79 +--
 game/base-system/pregnancy/events.twee        | 217 ++++----
 game/base-system/pregnancy/pregnancy.twee     | 483 ++++--------------
 game/base-system/settings.twee                |  40 +-
 game/base-system/text.twee                    |   8 +
 game/base-system/time.twee                    |   2 +-
 game/base-system/widgets.twee                 |   9 +-
 game/overworld-forest/loc-asylum/widgets.twee |   2 +-
 game/overworld-forest/loc-cabin/main.twee     |   4 +-
 .../loc-churchyard/widgets.twee               |   2 +-
 game/overworld-forest/loc-forest/widgets.twee |   2 +-
 .../loc-lake/ivory/snatched.twee              |   1 -
 game/overworld-forest/loc-lake/main.twee      |   2 +-
 game/overworld-forest/loc-lake/widgets.twee   |   2 +-
 .../loc-tentacle-world/main.twee              |   2 +-
 game/overworld-forest/loc-wolfpack/main.twee  |   9 +-
 game/overworld-plains/loc-estate/cards.twee   |   1 +
 game/overworld-plains/loc-farm/upgrades.twee  |   2 +-
 game/overworld-plains/loc-farm/widgets.twee   |   4 +-
 game/overworld-plains/loc-livestock/jobs.twee |  12 +-
 .../loc-livestock/widgets.twee                |   2 +-
 game/overworld-plains/loc-moor/abduction.twee |   4 +-
 game/overworld-plains/loc-moor/widgets.twee   |   2 +-
 .../overworld-town/loc-adultshop/widgets.twee |   2 +-
 game/overworld-town/loc-alley/widgets.twee    |   2 +-
 game/overworld-town/loc-arcade/widgets.twee   |   2 +-
 game/overworld-town/loc-beach/events.twee     |   2 +-
 game/overworld-town/loc-beach/widgets.twee    |   2 +-
 game/overworld-town/loc-brothel/shows.twee    |   4 +-
 game/overworld-town/loc-bus/widgets.twee      |   2 +-
 .../overworld-town/loc-docks/skulduggery.twee |   2 +-
 game/overworld-town/loc-docks/widgets.twee    |   2 +-
 game/overworld-town/loc-home/main.twee        |   4 +-
 game/overworld-town/loc-hospital/main.twee    |  25 +-
 .../overworld-town/loc-hospital/pharmacy.twee |   9 +-
 game/overworld-town/loc-landfill/widgets.twee |   2 +-
 game/overworld-town/loc-park/main.twee        |   2 +-
 game/overworld-town/loc-prison/widgets.twee   |   2 +-
 game/overworld-town/loc-pub/fame.twee         |   4 +-
 game/overworld-town/loc-pub/main.twee         |   2 +-
 game/overworld-town/loc-pub/seduction.twee    |   2 +-
 game/overworld-town/loc-school/library.twee   |   4 +-
 game/overworld-town/loc-school/main.twee      |   2 +-
 game/overworld-town/loc-sea/widgets.twee      |   2 +-
 game/overworld-town/loc-shop/main.twee        |   2 +-
 game/overworld-town/loc-shop/petShop.twee     |  23 +-
 game/overworld-town/loc-street/events.twee    |   2 +-
 game/overworld-town/loc-street/widgets.twee   |   4 +-
 game/overworld-town/loc-temple/widgets.twee   |   2 +-
 game/overworld-town/special-kylar/main.twee   |   4 +-
 .../special-nightmares/widgets.twee           |   6 +-
 .../loc-cave/widgets.twee                     |   2 +-
 .../loc-sewers/main.twee                      |   4 +-
 .../loc-sewers/widgets.twee                   |   2 +-
 game/special-masturbation/effects.twee        |   6 +
 game/special-masturbation/widgets.twee        |   6 +
 img/misc/icon/antiParasiteCream.png           | Bin 0 -> 651 bytes
 img/misc/icon/antiParasiteCreamWithout.png    | Bin 0 -> 546 bytes
 img/ui/CheatCoin.gif                          | Bin 0 -> 29169 bytes
 img/ui/CheatCoin.png                          | Bin 0 -> 1419 bytes
 img/ui/CheatCoinDull.png                      | Bin 0 -> 1314 bytes
 img/ui/CheatCoinFake.gif                      | Bin 0 -> 53724 bytes
 img/ui/DiamondCoin.gif                        | Bin 0 -> 29169 bytes
 img/ui/DiamondCoin.png                        | Bin 0 -> 1419 bytes
 img/ui/DiamondCoinDull.png                    | Bin 0 -> 1317 bytes
 img/ui/DiamondCoinFake.gif                    | Bin 0 -> 53724 bytes
 img/ui/RubyCoin.gif                           | Bin 0 -> 29169 bytes
 img/ui/RubyCoin.png                           | Bin 0 -> 1407 bytes
 img/ui/RubyCoinDull.png                       | Bin 0 -> 1302 bytes
 img/ui/RubyCoinFake.gif                       | Bin 0 -> 53664 bytes
 modules/css/base.css                          |  33 +-
 122 files changed, 1885 insertions(+), 1219 deletions(-)
 create mode 100644 game/03-JavaScript/04-Pregnancy/childrenStoryFunctions.js
 create mode 100644 game/03-JavaScript/04-Pregnancy/parasite.js
 create mode 100644 img/misc/icon/antiParasiteCream.png
 create mode 100644 img/misc/icon/antiParasiteCreamWithout.png
 create mode 100644 img/ui/CheatCoin.gif
 create mode 100644 img/ui/CheatCoin.png
 create mode 100644 img/ui/CheatCoinDull.png
 create mode 100644 img/ui/CheatCoinFake.gif
 create mode 100644 img/ui/DiamondCoin.gif
 create mode 100644 img/ui/DiamondCoin.png
 create mode 100644 img/ui/DiamondCoinDull.png
 create mode 100644 img/ui/DiamondCoinFake.gif
 create mode 100644 img/ui/RubyCoin.gif
 create mode 100644 img/ui/RubyCoin.png
 create mode 100644 img/ui/RubyCoinDull.png
 create mode 100644 img/ui/RubyCoinFake.gif

diff --git a/DolSettingsExport.json b/DolSettingsExport.json
index 439af31aab..34ac885ad7 100644
--- a/DolSettingsExport.json
+++ b/DolSettingsExport.json
@@ -61,7 +61,7 @@ DolSettingsExport = {
 		"hirsutedisable":true,
 		"pbdisable":true,
 		"breastfeedingdisable":false,
-		"analpregdisable":false,
+		"parasitepregdisable":false,
 		"watersportsdisable":false,
 		"spiderdisable":false,
 		"bodywritingdisable":false,
diff --git a/game/01-config/sugarcubeConfig.js b/game/01-config/sugarcubeConfig.js
index 9be6797d2c..a7ff7e7e35 100644
--- a/game/01-config/sugarcubeConfig.js
+++ b/game/01-config/sugarcubeConfig.js
@@ -23,48 +23,13 @@ Save.onSave.add(save => {
 	Wikifier.wikifyEval("<<updateFeats>>");
 	save.state.history.forEach(h => {
 		h.variables.saveDetails = defaultSaveDetails(h.variables.saveDetails);
-		h.variables.saveDetails.playTime += (new Date() - h.variables.saveDetails.loadTime ? h.variables.saveDetails.loadTime : 0);
+		h.variables.saveDetails.playTime += (h.variables.saveDetails.loadTime ? new Date() - h.variables.saveDetails.loadTime : 0);
 		h.variables.saveDetails.loadCount++;
 	});
 	// eslint-disable-next-line no-undef
 	prepareSaveDetails(); // defined in save.js
 });
 
-function defaultSaveDetails(input){
-	let saveDetails = input;
-	if(!saveDetails){
-		//In the rare case the variable doesnt exist
-		saveDetails = {
-			exported:{
-				days: clone(variables.days),
-				frequency: 15,
-				count: 0,
-				dayCount: 0,
-			},
-			auto:{
-				count: 0
-			},
-			slot:{
-				count: 0,
-				dayCount: 0,
-			}
-		}
-	}
-	if(!saveDetails.playTime){
-		saveDetails.playTime = 0;
-		saveDetails.loadCount = 0;
-	}
-	if(saveDetails.f !== 1){
-		saveDetails.f = 1;
-		saveDetails.playTime = 0;
-	}
-	if(saveDetails.f !== 2 && saveDetails.playTime > 1000000000){
-		saveDetails.playTime = 0;
-	}
-	saveDetails.f = 2;
-	return saveDetails;
-}
-
 /* LinkNumberify and images will enable or disable the feature completely */
 /* debug will enable or disable the feature only for new games */
 /* sneaky will enable the Sneaky notice banner on the opening screen and save display */
@@ -130,6 +95,41 @@ importScripts([
 	console.log(err);
 }); */
 
+function defaultSaveDetails(input){
+	let saveDetails = input;
+	if(!saveDetails){
+		//In the rare case the variable doesnt exist
+		saveDetails = {
+			exported:{
+				days: clone(variables.days),
+				frequency: 15,
+				count: 0,
+				dayCount: 0,
+			},
+			auto:{
+				count: 0
+			},
+			slot:{
+				count: 0,
+				dayCount: 0,
+			}
+		}
+	}
+	if(!saveDetails.playTime){
+		saveDetails.playTime = 0;
+		saveDetails.loadCount = 0;
+	}
+	if(saveDetails.f !== 1){
+		saveDetails.f = 1;
+		saveDetails.playTime = 0;
+	}
+	if(saveDetails.f !== 3){
+		saveDetails.playTime = 0;
+		saveDetails.f = 3;
+	}
+	return saveDetails;
+}
+
 // Runs before a passage load, returning a string redirects to the new passage name.
 Config.navigation.override = function (dest) {
 	const isLoading = pageLoading; // if page is freshly loading (after a refresh etc), we hold its value in a temporary variable
diff --git a/game/03-JavaScript/02-Helpers/macros.js b/game/03-JavaScript/02-Helpers/macros.js
index 8fc483687d..376a86591a 100644
--- a/game/03-JavaScript/02-Helpers/macros.js
+++ b/game/03-JavaScript/02-Helpers/macros.js
@@ -162,7 +162,7 @@ var General = ((Macro, SexTypes) => {
 		handler() {
 			const type = getGooTypes(...this.args)[0];
 			if (type === "cum" || type === "both") {
-				Wikifier.wikifyEval("<<fertilise>>");
+				Wikifier.wikifyEval("<<fertiliseParasites>><<fertiliseParasites 'vagina'>>");
 			}
 		},
 	});
diff --git a/game/03-JavaScript/04-Pregnancy/childrenStoryFunctions.js b/game/03-JavaScript/04-Pregnancy/childrenStoryFunctions.js
new file mode 100644
index 0000000000..539cee0878
--- /dev/null
+++ b/game/03-JavaScript/04-Pregnancy/childrenStoryFunctions.js
@@ -0,0 +1,26 @@
+
+const setChildFirstWord = (childId, word, playerAbsent = false) => {
+
+	if (!childId && V.childSelected) childId = V.childSelected.childId;
+	if(!childId && !V.childSelected) return false;
+
+	let child = V.children[childId];
+
+	//First word already set
+	if(child.localVariables.firstWord) return false;
+
+	if(!word){
+		let wordList = ["mama", "mommy", "dada", "daddy", "papa", "no", "nana", "yes", "uh oh", "bye", "bye-bye", "hello"];
+		if(random(0,10000) === 0){
+			wordList.push("Brouzof");
+		}
+		word = wordList[random(0, wordList.length - 1)];
+	};
+	child.localVariables.firstWord = {
+		word: word,
+		date: {"day":V.monthday, "month":V.month.toUpperFirst(), "year":V.year},
+		playerAbsent: playerAbsent,
+	};
+	return true;
+}
+DefineMacro("setChildFirstWord", setChildFirstWord);
diff --git a/game/03-JavaScript/04-Pregnancy/parasite.js b/game/03-JavaScript/04-Pregnancy/parasite.js
new file mode 100644
index 0000000000..f7444191f5
--- /dev/null
+++ b/game/03-JavaScript/04-Pregnancy/parasite.js
@@ -0,0 +1,111 @@
+
+const fertiliseParasites = (genital = "anus") => {
+	//Runs whenever someone ejaculates in your `genital`
+	let pregnancy = V.sexStats[genital].pregnancy;
+	if(pregnancy.type === "parasite"){
+		pregnancy.fetus.forEach(parasite => {
+			parasite.fertilised = true;
+			parasite.daysLeft = parasite.stats.growth;
+			if(parasite.stats.gender === "Hermaphrodite"){
+				pregnancy.motherStatus = 2;
+			}
+		});
+	}
+}
+DefineMacro("fertiliseParasites", fertiliseParasites);
+
+const parasiteProgressDay = (genital = "anus") => {
+	let pregnancy = V.sexStats[genital].pregnancy;
+	V.pregnancyStats.namesParasitesChild = V.deviancy >= 75;
+	if(pregnancy.type === "parasite"){
+		pregnancy.fetus.forEach(parasite => {
+			if(parasite.daysLeft > 0) parasite.daysLeft--;
+			if(parasite.stats.gender === "Hermaphrodite" && parasite.daysLeft <= 3){
+				if(parasite.stats.lastEgg > 0){
+					parasite.stats.lastEgg--;
+				} else if(V.sexStats[genital].pregnancy.fetus.length < maxParasites(genital)) {
+					impregnateParasite(parasite.creature, true, genital, parasite);
+				}
+			}
+		});
+		pregnancy.fetus = pregnancy.fetus.filter(parasite => parasite.daysLeft > 0 || parasite.fertilised);
+	}
+}
+DefineMacro("parasiteProgressDay", () => {parasiteProgressDay(); parasiteProgressDay("vagina");});
+
+const parasiteProgressTime = (pass, genital = "anus") => {
+	let pregnancy = V.sexStats[genital].pregnancy;
+	if(pregnancy.type === "parasite"){
+		pregnancy.fetus.forEach(parasite => {
+			if(parasite.fertilised){
+				if(parasite.timeLeft === null) parasite.timeLeft = parasite.stats.speed;
+				parasite.timeLeft -= pass;
+				if(parasite.timeLeft <= 0){
+					parasite.timeLeft = parasite.stats.speed;
+					if(!V.daily.parasiteEvent){
+						V.daily.parasiteEvent = [];
+					}
+					if(parasite.stats.gender === "Hermaphrodite" && parasite.daysLeft <= 3){
+						if((parasite.daysLeft <= 3 && random(0,100) < 20) || (parasite.daysLeft === 0 && random(0,100) < 50)){
+							V.daily.parasiteEvent.pushUnique(genital + 0);
+							if(V.pregnancyStats.parasiteDoctorEvents === 2) V.pregnancyStats.parasiteDoctorEvents = 3;
+						} else if(parasite.daysLeft === 0 || random(0,100) < 60){
+							V.daily.parasiteEvent.pushUnique(genital + 2);
+						}
+					} else {
+						if((parasite.daysLeft === 0 && random(0,100) < 50) || (parasite.daysLeft <= 3 && random(0,100) < 20)){
+							V.daily.parasiteEvent.pushUnique(genital + 1);
+							if(V.pregnancyStats.parasiteDoctorEvents === 0) V.pregnancyStats.parasiteDoctorEvents = 1;
+							if(V.pregnancyStats.parasiteDoctorEvents >= 2) pregnancy.parasiteFeltMovement = true;
+						} else if(parasite.daysLeft === 0 || (parasite.daysLeft <= 3 && random(0,100) < 60)){
+							V.daily.parasiteEvent.pushUnique(genital + 2);
+						} else if(parasite.daysLeft < 7 && random(0,100) < 50){
+							V.daily.parasiteEvent.pushUnique(genital + 3);
+						}
+					}
+				}
+			}
+		});
+	}
+}
+DefineMacro("parasiteProgressTime", (pass) => {parasiteProgressTime(pass); parasiteProgressTime(pass, "vagina");});
+
+const impregnateParasite = (parasiteType, chance, genital = "anus", hermParasite) => {
+	if(V.parasitepregdisable === "t" || !parasiteType || (!V.player.vaginaExist && genital === "vagina")) return false;
+	if(V.sexStats.pills.pills["Anti-Parasite Cream"] && V.sexStats.pills.pills["Anti-Parasite Cream"].doseTaken && !hermParasite) return false;
+
+	let pregnancy = V.sexStats[genital].pregnancy;
+
+	if(pregnancy.fetus.length >= maxParasites(genital) || (pregnancy.type !== null && pregnancy.type !== "parasite")) return false;
+
+	let rngCheck = chance === true || random(0,100) <= (1 + chance / (pregnancy.fetus.length + 1));
+
+	if(pregnancy && rngCheck || true){
+		switch(parasiteType){
+			case "slimes": case "eels": case "worms": case "snakes": case "spiders": case "slugs": case "maggots":
+				parasiteType = toTitleCase(parasiteType);
+				parasiteType = parasiteType.substring(0,parasiteType.length - 1);
+			break;
+			default:
+				parasiteType = toTitleCase(parasiteType);
+			break;
+		}
+
+		let newPregnancy = pregnancyGenerator.parasite({
+			mother: "pc",
+			parasiteType: parasiteType,
+			genital: genital,
+			hermParasite: hermParasite,
+		});
+		if(newPregnancy){
+			V.sexStats[genital].pregnancy = {
+				...pregnancy,
+				...newPregnancy,
+			}
+		}
+		if(!hermParasite) T.impreg = true;
+		return true;
+	}
+	return false;
+}
+DefineMacro("impregnateParasite", impregnateParasite);
diff --git a/game/03-JavaScript/04-Pregnancy/pregnancy.js b/game/03-JavaScript/04-Pregnancy/pregnancy.js
index a249e7addb..27a05f697a 100644
--- a/game/03-JavaScript/04-Pregnancy/pregnancy.js
+++ b/game/03-JavaScript/04-Pregnancy/pregnancy.js
@@ -37,23 +37,26 @@ function generateBabyName(name, gender, childId) {
 }
 window.generateBabyName = generateBabyName;
 
-const spermObjectToArray = (spermObject = {}) => {
+window.spermObjectToArray = (spermObject = {}) => {
 	let spermArray = [];
 	let trackedNPCs = [];
 
 	for(let npc in spermObject){
 		if(V.NPCNameList.includes(npc) && !setup.npcPregnancy.canImpregnatePlayer.includes(npc)) continue;
 		let sperm = spermObject[npc];
+		let spermType;
 		switch(sperm.type){
 			case "human":
 				if(V.playerPregnancyHumanDisable === "t") continue;
+				spermType = "human";
 			break;
 			case "wolf": case "wolfboy": case "wolfgirl":
 				if(V.playerPregnancyBeastDisable === "t") continue;
+				spermType = "wolf";
 			break;
 			default: continue;
 		}
-		if(!trackedNPCs.includes(npc)) trackedNPCs.push(npc);
+		if(!trackedNPCs.includes(npc)) trackedNPCs.push([spermType, npc]);
 		let count = sperm.count.length < 500 ? sperm.count.length : 500;
 		for(let i = 0; i < count; i++){
 			let count2 = sperm.count[i][1] < 500 ? sperm.count[i][1] : 500;
@@ -66,22 +69,27 @@ const spermObjectToArray = (spermObject = {}) => {
 }
 
 /*ToDo: Pregnancy - remove the ` || !V.pregnancyTesting` part of the check*/
-const playerPregnancyAttempt = (baseMulti = 1) => {
-	let pregnancy = clone(V.sexStats.vagina.pregnancy);
-	if(!V.player.vaginaExist || pregnancy.fetus.length || isNaN(baseMulti) || baseMulti < 1 || !V.pregnancyTesting) return false;
-	let [trackedNPCs, spermArray] = spermObjectToArray(V.sexStats.vagina.sperm);
+const playerPregnancyAttempt = (baseMulti = 1, genital = "vagina") => {
+	console.log('playerPregnancyAttempt',baseMulti, genital)
+	//Male pregnancy requests the magic pubic tattoo
+	if(!V.player.vaginaExist && V.skin.pubic.pen !== "magic" && V.skin.pubic.special !== "pregnancy") return false;
+
+	let pregnancy = clone(V.sexStats[genital].pregnancy);
+
+	if(pregnancy.fetus.length || isNaN(baseMulti) || baseMulti < 1 || !V.pregnancyTesting) return false;
+
+	let [trackedNPCs, spermArray] = spermObjectToArray(V.sexStats[genital].sperm);
 
 	let pills = V.sexStats.pills;
 	let lastPillsTaken = pills.lastTaken.pregnancy;
 	let contraceptive = lastPillsTaken === "contraceptive" ? pills.pills[lastPillsTaken].doseTaken : 0;
 
 	if(spermArray.length === 0 || (contraceptive && (random(0,100) >= 10 || contraceptive > 1))) return false;
-
 	let fertilityBoost = 1;
 	if(lastPillsTaken === "fertility booster"){
 		fertilityBoost -= Math.clamp((boosterPillsTaken * 0.2), 0, 0.7);
 	}
-	if(V.skin.pubic.type === "magic" && V.skin.pubic.special === "pregnancy"){
+	if(V.skin.pubic.pen === "magic" && V.skin.pubic.special === "pregnancy"){
 		fertilityBoost -= 0.4;
 	}
 	let baseChance = Math.floor((100 - V.baseVaginalPregnancyChance) * Math.clamp(fertilityBoost, 0.1, 1) * baseMulti);
@@ -90,24 +98,26 @@ const playerPregnancyAttempt = (baseMulti = 1) => {
 	if(spermArray[rng]){
 		//Player becomes pregnant
 		let newPregnancy;
+		
 		let fatherKnown = Object.keys(trackedNPCs).length === 1;
 		switch(spermArray[rng][0]){
 			case "human":
-				newPregnancy = pregnancyGenerator.human("pc", spermArray[rng][1], fatherKnown);
+				newPregnancy = pregnancyGenerator.human("pc", spermArray[rng][1], fatherKnown, genital);
 			break;
 			case "wolf":
-				newPregnancy = pregnancyGenerator.wolf("pc", spermArray[rng][1], fatherKnown);
+				newPregnancy = pregnancyGenerator.wolf("pc", spermArray[rng][1], fatherKnown, genital);
 			break;
 			case "wolfboy": case "wolfgirl":
-				newPregnancy = pregnancyGenerator.wolf("pc", spermArray[rng][1], fatherKnown, true);
+				newPregnancy = pregnancyGenerator.wolf("pc", spermArray[rng][1], fatherKnown, genital, true);
 			break;
 		}
 		if(newPregnancy && newPregnancy.fetus.length){
-			V.sexStats.vagina.pregnancy = {
+			V.sexStats[genital].pregnancy = {
 				...pregnancy,
 				...newPregnancy,
 				potentialFathers: trackedNPCs,
 				waterBreakingTimer: random(0,24),
+				waterBreaking: false,
 				awareOf: false,
 			}
 			V.sexStats.vagina.menstruation.currentState = "pregnant";
@@ -117,7 +127,7 @@ const playerPregnancyAttempt = (baseMulti = 1) => {
 	return false;
 }
 DefineMacro("playerPregnancyAttempt", playerPregnancyAttempt);
-window.playerPregnancyAttempt = (baseMulti) => {if(V.pregnancyTesting) playerPregnancyAttempt(baseMulti);};//V.pregnancyTesting Check should not be removed, debugging purposes only
+window.playerPregnancyAttempt = (baseMulti, genital) => {if(V.pregnancyTesting) playerPregnancyAttempt(baseMulti, genital);};//V.pregnancyTesting Check should not be removed, debugging purposes only
 
 /*ToDo: NPC Pregnancy - run in time.twee, should only run once per day, update where required*/
 const npcPregnancyCycle = () => {
@@ -181,13 +191,13 @@ const npcPregnancyAttempt = (npcName) => {
 		let fatherKnown = Object.keys(trackedNPCs).length === 1;
 		switch(spermArray[rng][0]){
 			case "human":
-				newPregnancy = pregnancyGenerator.human(npcName, spermArray[rng][1], fatherKnown);
+				newPregnancy = pregnancyGenerator.human(npcName, spermArray[rng][1], fatherKnown, "vagina");
 			break;
 			case "wolf":
-				newPregnancy = pregnancyGenerator.wolf(npcName, spermArray[rng][1], fatherKnown);
+				newPregnancy = pregnancyGenerator.wolf(npcName, spermArray[rng][1], fatherKnown, "vagina");
 			break;
 			case "wolfboy": case "wolfgirl":
-				newPregnancy = pregnancyGenerator.wolf(npcName, spermArray[rng][1], fatherKnown, true);
+				newPregnancy = pregnancyGenerator.wolf(npcName, spermArray[rng][1], fatherKnown, "vagina", true);
 			break;
 		}
 		if(newPregnancy && newPregnancy.fetus.length){
@@ -205,25 +215,38 @@ const npcPregnancyAttempt = (npcName) => {
 }
 
 const endPlayerPregnancy = (location) => {
-	let pregnancy = V.sexStats.vagina.pregnancy;
+	let type;
+	if(V.player.vaginaExist){
+		type = "vagina"
+	}else{
+		type = "anus"
+	}
+	let pregnancy = V.sexStats[type].pregnancy;
 	let menstruation = V.sexStats.vagina.menstruation;
 
 	if(!pregnancy || !pregnancy.fetus.length) return false;
 
 	giveBirthToChildren("pc", location);
+
+	if(pregnancy.potentialFathers.filter(npc => npc[0] === pregnancy.type).length >= 5) Wikifier.wikifyEval('<<earnFeat "Bicycle Mother">>');
+
 	switch(pregnancy.type){
 		case "human":
 			V.pregnancyStats.humanToysUnlocked = true;
 			menstruation.recoveryTime = random(2,3) * V.humanPregnancyMonths;
+			if(pregnancy.fetus.length === 3) Wikifier.wikifyEval('<<earnFeat "Life Comes in Threes">>');
 		break;
 		case "wolf":
 			V.pregnancyStats.wolfToysUnlocked = true;
 			menstruation.recoveryTime = random(1,2) * V.wolfPregnancyWeeks;
 		break;
 	}
-	let birthEvents = clone(pregnancy.totalBirthEvents) + 1;
+	let birthEvents = clone(pregnancy.totalBirthEvents || 0) + 1;
 
-	V.sexStats.vagina.pregnancy = {
+	if((V.player.virginity.anal === true && !V.player.vaginaExist) || (V.player.virginity.vaginal === true && V.player.vaginaExist)) Wikifier.wikifyEval('<<earnFeat "Miracle of Life">>');
+	if(!V.player.vaginaExist) Wikifier.wikifyEval('<<earnFeat "Life begins when you least expect">>');
+
+	V.sexStats[type].pregnancy = {
 		...pregnancy,
 		totalBirthEvents: birthEvents,
 		fetus: [],
@@ -236,7 +259,6 @@ const endPlayerPregnancy = (location) => {
 		awareOf: null,
 		potentialFathers: [],
 	}
-	delete V.sexStats.vagina.pregnancy.awareOfPeriodDelay;
 
 	V.sexStats.vagina.menstruation = {
 		...menstruation,
@@ -244,6 +266,7 @@ const endPlayerPregnancy = (location) => {
 		recoveryTimeStart: menstruation.recoveryTime,
 		recoveryStage: 0,
 		periodEnabled: false,
+		awareOfPeriodDelay: false,
 	}
 	return true;
 }
@@ -296,7 +319,11 @@ window.endNPCPregnancy = (npcName, location) => {if(V.pregnancyTesting && npcNam
 const giveBirthToChildren = (mother, location) => {
 	let pregnancy;
 	if(mother === "pc"){
-		pregnancy = V.sexStats.vagina.pregnancy;
+		if(V.player.vaginaExist){
+			pregnancy = V.sexStats.vagina.pregnancy;
+		}else{
+			pregnancy = V.sexStats.anus.pregnancy;
+		}
 	} else if(C.npc[mother]) {
 		pregnancy = C.npc[mother].pregnancy;
 	}
diff --git a/game/03-JavaScript/04-Pregnancy/pregnancyTypes.js b/game/03-JavaScript/04-Pregnancy/pregnancyTypes.js
index 3eab44c8d1..5bb3563971 100644
--- a/game/03-JavaScript/04-Pregnancy/pregnancyTypes.js
+++ b/game/03-JavaScript/04-Pregnancy/pregnancyTypes.js
@@ -1,23 +1,55 @@
+window.maxParasites = (genital = "anus") => {
+	switch(V.sexStats[genital].pregnancy.motherStatus){
+		case 1: return 2;
+		case 2: return 4;
+		default: return 1;
+	}
+}
+
+window.canImpregnateParasite = (genital = "anus") => {
+	if(V.parasitepregdisable === "t" || (genital === "vagina" && !player.vaginaExist)) return false;
+	if(V.sexStats.pills.pills["Anti-Parasite Cream"] && V.sexStats.pills.pills["Anti-Parasite Cream"].doseTaken) return false;
+	let pregnancy = V.sexStats[genital].pregnancy;
+
+	if((pregnancy.type !== null && pregnancy.type !== "parasite") || pregnancy.fetus.length >= maxParasites(genital)) return false;
+
+	return true;
+}
+
+window.canBeMPregnant = () => !V.player.vaginaExist && V.skin.pubic.pen === "magic" && V.skin.pubic.special === "pregnancy";
+
 //When adding new types, be sure to adjust related checks in other pregnancy code that check for "human","wolf","wolfboy","wolfgirl" etc
-const pregPrep = (mother, father) => {
+const pregPrep = ({mother = null, parasiteType = null, genital = null}) => {
 	let pregnancy;
 	let fertility = 0;
-	let magicTattoo = false;
-	let alwaysIdentical = mother === father;
-	if(!mother) {
+	let magicTattoo = 0;
+	if(!mother || !genital){
 		return [null];
 	} else if(mother === "pc"){
-		pregnancy = V.sexStats.vagina.pregnancy;
-		if(!V.player.vaginaExist || pregnancy.fetus.length){
-			return [null];
+		if((genital === "vagina" && !V.player.vaginaExist)) return [null];
+
+		if(V.skin.pubic.pen === "magic" && V.skin.pubic.special === "pregnancy"){
+			magicTattoo = 1;
 		}
+
+		//Prevent Non-parasitic pregnancy in the anus unless the player is male with a magic tattoo
+		if(genital === "anus" && canBeMPregnant()) return [null];
+
+		pregnancy = V.sexStats[genital].pregnancy;
+
+		//Prevent any pregnancy if a Non-parasitic pregnancy already exists
+		if(pregnancy.type !== "parasite" && pregnancy.fetus.length) return [null];
+
+		//Prevent any non-parasitic pregnancy a parasitic pregnancy already exists
+		if(pregnancy.type === "parasite" && !parasiteType) return [null];
+
+		//Prevent a parasitic pregnancy if there is not enough space
+		if(parasiteType && pregnancy.fetus.length >= maxParasites(genital)) return [null];
+
 		if(V.sexStats.pills.lastTaken.pregnancy === "fertility booster"){
 			fertility = V.sexStats.pills.pills["fertility booster"].doseTaken;
 		}
-		if(V.skin.pubic.type === "magic" && V.skin.pubic.special === "pregnancy"){
-			magicTattoo = true;
-		}
-	} else {
+	} else if(!parasiteType){
 		if(!C.npc[mother] || C.npc[mother].vagina === "none"){
 			/*Only female named npc's are supported*/
 			return [null];
@@ -31,16 +63,16 @@ const pregPrep = (mother, father) => {
 			fertility = 1;
 		}
 	}
-	return [pregnancy, fertility, magicTattoo, alwaysIdentical];
+	return [pregnancy, fertility, magicTattoo];
 }
 
 const bodySizeCalc = (devlevel) => {
 	switch(devlevel){
-		case 6: return ["tiny","tiny","tiny","small","small","normal","large"].pluck();
-		case 10: return ["tiny","tiny","small","small","small","normal","normal","large"].pluck();
-		case 12: return ["tiny","small","small","normal","normal","normal","large","large"].pluck();
-		case 16: return ["tiny","small","normal","normal","large","large","large"].pluck();
-		default: return ["tiny","small","normal","large"].pluck();
+		case 6: return ["tiny","tiny","tiny","small","small","normal","large"][random(0,6)];
+		case 10: return ["tiny","tiny","small","small","small","normal","normal","large"][random(0,7)];
+		case 12: return ["tiny","small","small","normal","normal","normal","large","large"][random(0,7)];
+		case 16: return ["tiny","small","normal","normal","large","large","large"][random(0,6)];
+		default: return ["tiny","small","normal","large"][random(0,3)];
 	}
 }
 
@@ -54,7 +86,37 @@ const sizeName = (devlevel) => {
 	}
 }
 
-const babyBase = ({mother = null, motherKnown = true, father = null, fatherKnown = false, birthId = null, type = null, gender = "f", identical = null, size = null, hairColour = null, monster = null, skinColour = null, clothes = null}) => {
+const eyeColourCalc = (name) => {
+	if(name === "pc"){
+		return V.eyeselected;
+	}else if(C.npc[name] && C.npc[name].eyeColour){
+		return C.npc[name].eyeColour;
+	} else {
+		return ["purple", "dark blue", "light blue", "amber", "hazel", "green", "lime green", "red", "pink", "grey", "light grey"][random(0,10)];
+	}
+}
+
+const hairColourCalc = (name) => {
+	if(name === "pc"){
+		return V.naturalhaircolour;
+	}else if(C.npc[name] && C.npc[name].hairColour){
+		return C.npc[name].hairColour;
+	} else {
+		return ["red", "jetblack", "black", "brown", "softbrown", "lightbrown", "burntorange", "blond", "softblond", "platinumblond", "ashyblond", "strawberryblond", "ginger", "dark brown"][random(0,13)];
+	}
+}
+
+const skinColourCalc = (name) => {
+	if(name === "pc"){
+		return V.skinColor.natural;
+	}else if(C.npc[name] && C.npc[name].skinColour){
+		return C.npc[name].skinColour;
+	} else {
+		return ["light", "medium", "dark", "ylight", "ymedium", "ydark"][random(0,5)];
+	}
+}
+
+const babyBase = ({mother = null, motherKnown = true, father = null, fatherKnown = false, birthId = null, type = null, gender = "f", identical = null, size = null, hairColour = null, eyeColour = null, monster = null, skinColour = null, clothes = null}) => {
 	return {
 		"type": type,
 		"mother": mother,
@@ -64,7 +126,7 @@ const babyBase = ({mother = null, motherKnown = true, father = null, fatherKnown
 		"born": {"day":null, "month":null, "year":null},
 		"concieved": {"day":V.monthday, "month":V.month.toUpperFirst(), "year":V.year},
 		"gender": gender,
-		"features": {"size":size, "hairColour":hairColour, "identical":identical, "monster":monster, "clothes":clothes, "skinColour": skinColour},
+		"features": {"size":size, "hairColour":hairColour, "eyeColour":eyeColour, "identical":identical, "monster":monster, "clothes":clothes, "skinColour": skinColour},
 		"name":null,
 		"birthId": birthId,
 		"childId": null,
@@ -75,57 +137,56 @@ const babyBase = ({mother = null, motherKnown = true, father = null, fatherKnown
 }
 
 window.pregnancyGenerator = {
-	human: (mother, father, fatherKnown = false) => {
-		let [pregnancy, fertility, magicTattoo, alwaysIdentical] = pregPrep(mother, father);
+	human: (mother, father, fatherKnown = false, genital = "vagina") => {
+		const [pregnancy, fertility, magicTattoo] = pregPrep({mother, genital});
 		if(pregnancy){
 			let result = {fetus: [], type: "human", timer: 0};
 			let count = 1;
+			const alwaysIdentical = mother === father;
 			let identical = alwaysIdentical || random(0,100) > 66;
-			let twinBoost = 20 * fertility;
-			let tripletBoost = 5 * fertility;
-			if(magicTattoo){
-				twinBoost += 20;
-				tripletBoost += 10;
-			}
+			let twinBoost = (20 * fertility) + (20 * magicTattoo);
+			let tripletBoost = (5 * fertility) + (10 * magicTattoo);
+
 			if(random(0,100) > 94 - twinBoost) count++;
 			if(random(0,100) > 98 - tripletBoost) count++;
 			/*Ready for the cloning of PurityGuy to begin*/
 			for(let i = 0; i < count; i++){
 				if(identical && result.fetus.length){
-					result.push(result[0]);
-				} else {
-					let gender = random(0,100) > 50 ? "f" : "m";
-					if((mother.gender === "h" || father.gender === "h") && (mother === father || random(0,100) >= 75)) gender = "h";
-					let baby = babyBase({
-						mother: mother,
-						father: father,
-						fatherKnown: fatherKnown,
-						type: "human",
-						gender: gender,
-						identical: count > 1 ? identical : null,
-						size: alwaysIdentical ? sizeName(V.devlevel) : bodySizeCalc(V.devlevel),
-						hairColour: alwaysIdentical ? V.naturalhaircolour : [V.naturalhaircolour, V.naturalhaircolour, V.naturalhaircolour, V.naturalhaircolour, "red", "jetblack","black", "brown" ,"burntorange" ,"platinumblond" ,"strawberryblond" ,"ginger" ,"ashyblond" ,"blond"].pluck(),
-						skinColour: V.skinColor.natural,
-						clothes: "naked",
-					});
-					result.fetus.push(baby);
+					result.fetus.push(result[0]);
+					continue;
 				}
+				let gender = random(0,100) > 50 ? "f" : "m";
+				if((mother.gender === "h" || father.gender === "h") && (mother === father || random(0,100) >= 75)) gender = "h";
+				let baby = babyBase({
+					mother: mother,
+					father: father,
+					fatherKnown: fatherKnown,
+					type: "human",
+					gender: gender,
+					identical: count > 1 ? identical : null,
+					size: alwaysIdentical ? sizeName(V.devlevel) : bodySizeCalc(V.devlevel),
+					eyeColour: [eyeColourCalc(mother), eyeColourCalc(father)][random(0,1)],
+					hairColour: [hairColourCalc(mother), hairColourCalc(father)][random(0,1)],
+					skinColour: [skinColourCalc(mother), skinColourCalc(father)][random(0,1)],
+					clothes: "naked",
+				});
+				result.fetus.push(baby);
 			}
 			result.timerEnd = random(255,305) - (count * 10);
 
 			return result;
 		}
-		return null;
+		return false;
 	},
-	wolf: (mother, father, fatherKnown = false, monster = false) => {
-		let [pregnancy, fertility, magicTattoo] = pregPrep(mother);
+	wolf: (mother, father, fatherKnown = false, genital = "vagina", monster = false) => {
+		const [pregnancy, fertility, magicTattoo] = pregPrep({mother, genital});
 		if(pregnancy){
 			let result = {fetus: [], type: "wolf", timer: 0};
+			let furColour = ["gray", "brown", "tan", "white"];
+			if(mother === "Black Wolf" || father === "Black Wolf"){
+				furColour.concat(["black","black","black"]);
+			}
 			for(let i = 0; i < 8; i++){
-				let furColour = ["gray", "brown", "tan", "white"];
-				if(mother === "Black Wolf" || father === "Black Wolf"){
-					furColour.concat(["black","black","black"]);
-				}
 				let gender = random(0,100) > 50 ? "f" : "m";
 				if((mother === "pc" || father === "pc") && V.player.gender === "h" && random(0,100) >= 75) gender = "h";
 				let baby = babyBase({
@@ -136,7 +197,8 @@ window.pregnancyGenerator = {
 					monster: monster ? "monster" : 0,
 					gender: gender,
 					size: bodySizeCalc(V.devlevel),
-					hairColour: furColour.pluck(),
+					eyeColour: [eyeColourCalc(mother), eyeColourCalc(father)][random(0,1)],
+					hairColour: furColour[random(0,furColour.length - 1)],
 				});
 				result.fetus.push(baby);
 				if(i > 4 && random(0,100) > 100 - (i * Math.clamp(4 - fertility,0,4)) && !magicTattoo) break;
@@ -145,6 +207,73 @@ window.pregnancyGenerator = {
 
 			return result;
 		}
-		return null;
+		return false;
 	},
+	parasite: ({mother = null, parasiteType = null, hermParasite = null, genital = "anus"}) => {
+		const [pregnancy, fertility, magicTattoo] = pregPrep({mother, parasiteType, genital});
+		if(pregnancy){
+			/*
+				creature: the type of creature it is. "Lurker", "Slime", "Pale Tentacle", etc
+				fertilised: whether it's fertilised or not. Parasites need to be fertilised before they can be birthed
+				daysLeft: how long until it can be birthed. Birthing is possible when it's 3 or less, but significantly more likely at 0
+				timeLeft: how long until it prompts a daily event. Speed impacts how fast it goes down
+				stats.growth: how long it takes to birth, and how much the parasite is worth when selling
+				stats.speed: how often it prompts a daily event. Also determines the parasite's activity
+			*/
+			let result = {fetus: clone(pregnancy.fetus), type: "parasite"};
+			let parasite = {
+				creature: parasiteType,
+				fertilised: !!hermParasite,
+				daysLeft: 1,
+				timeLeft: null,
+				stats:{
+					growth: random(7,14),
+					speed: random(60,360)
+				}
+			}
+			if(hermParasite){
+				parasite.daysLeft = Math.floor(hermParasite.stats.growth * 0.8);
+				parasite.stats.growth = Math.floor(hermParasite.stats.growth * 0.8);
+				parasite.stats.speed = Math.floor(hermParasite.stats.speed * 0.8);
+			} else {
+				if(parasiteType.includes("Pale")){
+					//Pale parasites have significantly better activity
+					parasite.stats.speed *= 0.6;
+				} else if(parasiteType.includes("Tentacle") || parasiteType.includes("Vine")){
+					//Tentacles and vines have better activity. Done in an elseif so pale tentacles don't get the calculation twice
+					parasite.stats.speed *= 0.9;
+				}
+				if(parasiteType.includes("Vine") && random(0,100) > 99){
+					//Vine Vine easter egg lol
+					parasite.creature += " Vine";
+					parasite.stats.growth--;
+				}
+				if(parasiteType.includes("Lurker")){
+					//Lurkers have better activity, but sell for less and take longer to birth
+					parasite.stats.growth += 14;
+					for(let i = 0; i < 3; i++){
+						if(parasite.stats.speed >= 100){
+							parasite.stats.speed -= 50;
+						}
+					}
+				}
+			}
+
+			let genderCheck = random(0,100);
+			if(genderCheck < 70){
+				//Female parasites are most likely
+				parasite.stats.gender = "Female";
+			} else if(genderCheck > 90 && maxParasites(genital) > 1 && !pregnancy.fetus.find(currentParasite => currentParasite.stats.gender === "Hermaphrodite")) {
+				//You can only get a futa if you're ready for a futa and don't currently have one
+				parasite.stats.gender = "Hermaphrodite";
+				parasite.stats.lastEgg = Math.floor(parasite.stats.growth / 3);
+			} else {
+				parasite.stats.gender = "Male";
+			}
+			result.fetus.push(clone(parasite));
+			
+			return result;
+		}
+		return false;
+	}
 }
\ No newline at end of file
diff --git a/game/03-JavaScript/04-Pregnancy/storyFunctions.js b/game/03-JavaScript/04-Pregnancy/storyFunctions.js
index 9563fe01c2..48a7de7ec9 100644
--- a/game/03-JavaScript/04-Pregnancy/storyFunctions.js
+++ b/game/03-JavaScript/04-Pregnancy/storyFunctions.js
@@ -1,22 +1,44 @@
+
 //Determins how used to being pregnant the player is
 window.playerVaginalPregnancyCheck = () => Math.clamp(V.sexStats.vagina.pregnancy.totalBirthEvents, 0, 4);
 
 //`pregnancyOnly` is there intentially, please make use of it if you add to this function
 window.playerBellySize = (pregnancyOnly = false) => {
+	if(!V.pregnancyTesting) return 0;//ToDo: Pregnancy, remove line
 	let bellySize = 0;
-	let pregnancy = V.sexStats.vagina.pregnancy;
-	if(pregnancy.fetus.length){
-		let pregnancyProgress = Math.clamp(pregnancy.timer / pregnancy.timerEnd, 0, 1)
-		let maxSize;
-		switch(pregnancy.type){
+	let vpregnancy = V.sexStats.vagina.pregnancy;
+	let apregnancy = V.sexStats.anus.pregnancy;
+	if(vpregnancy.fetus.length || apregnancy.fetus.length){
+		let pregnancyProgress = 0;
+		if(vpregnancy.timerEnd) pregnancyProgress = Math.clamp(vpregnancy.timer / vpregnancy.timerEnd, 0, 1);
+		if(apregnancy.timerEnd) pregnancyProgress = Math.clamp(apregnancy.timer / apregnancy.timerEnd, 0, 1);
+		let maxSize = 0;
+		switch(vpregnancy.type){
+			case "parasite":
+				maxSize += vpregnancy.fetus.length;
+			break;
+			case "human":
+				maxSize += 18 + Math.clamp(vpregnancy.fetus.length,1,3);
+			break;
+			case "wolf":
+				maxSize += 16 + Math.clamp(vpregnancy.fetus.length / 2,1,4);
+			break;
+			default:
+				maxSize += 20;
+			break;
+		}
+		switch(apregnancy.type){
+			case "parasite":
+				maxSize += apregnancy.fetus.length;
+			break;
 			case "human":
-				maxSize = 18 + Math.clamp(pregnancy.fetus.length,1,3);
+				maxSize += 18 + Math.clamp(apregnancy.fetus.length,1,3);
 			break;
 			case "wolf":
-				maxSize = 16 + Math.clamp(pregnancy.fetus.length / 2,1,4);
+				maxSize += 16 + Math.clamp(apregnancy.fetus.length / 2,1,4);
 			break;
 			default:
-				maxSize = 20;
+				maxSize += 20;
 			break;
 		}
 		bellySize += pregnancyProgress * maxSize;
@@ -25,7 +47,12 @@ window.playerBellySize = (pregnancyOnly = false) => {
 }
 
 const playerEndWaterProgress = () => {
-	let pregnancy = V.sexStats.vagina.pregnancy;
+	let pregnancy;
+	if(V.player.vaginaExist){
+		pregnancy = V.sexStats.vagina.pregnancy;
+	}else{
+		pregnancy = V.sexStats.anus.pregnancy;
+	}
 	if(!pregnancy.fetus.length || pregnancy.timer < pregnancy.timerEnd) return false;
 	if(!isNaN(pregnancy.waterBreakingTimer) && pregnancy.waterBreakingTimer > 0){
 		pregnancy.waterBreakingTimer--;
@@ -38,15 +65,34 @@ const playerEndWaterProgress = () => {
 }
 DefineMacro("playerEndWaterProgress", playerEndWaterProgress);
 
+window.isPlayerNonparasitePregnancyEnding = () => {
+	return V.sexStats.vagina.pregnancy.waterBreaking || V.sexStats.anus.pregnancy.waterBreaking || false;
+}
+
+window.nonparasitePregnancyType = () => {
+	if(V.player.vaginaExist){
+		return V.sexStats.vagina.pregnancy.type;
+	}else{
+		return V.sexStats.anus.pregnancy.type;
+	}
+}
+
 //Used only when the player is about to give birth to their children and the player can name them
 const playerEndWaterBreaking = () => {
 	V.sexStats.vagina.pregnancy.waterBreaking = null;
 	V.sexStats.vagina.pregnancy.waterBreakingTimer = null;
+	V.sexStats.anus.pregnancy.waterBreaking = null;
+	V.sexStats.anus.pregnancy.waterBreakingTimer = null;
 }
 DefineMacro("playerEndWaterBreaking", playerEndWaterBreaking);
 
 window.wakingPregnancyEvent = (rng) => {
-	const pregnancy = V.sexStats.vagina.pregnancy;
+	let pregnancy;
+	if(V.player.vaginaExist){
+		pregnancy = V.sexStats.vagina.pregnancy;
+	}else{
+		pregnancy = V.sexStats.anus.pregnancy;
+	}
 	const menstruation = V.sexStats.vagina.menstruation;
 	const pills = V.sexStats.pills;
 	const lastPregPill = pills.lastTaken.pregnancy;
@@ -55,7 +101,7 @@ window.wakingPregnancyEvent = (rng) => {
 
 	if(playerBellySize(true) >= 8 && !pregnancy.awareOf){
 		return "bellySize";
-	} else if(!pregnancy.awareOfPeriodDelay && V.awareness >= 100 && V.sciencetrait >= 3 && !pregnancy.awareOf && pregnancyStage !== false && between(pregnancy.timer - (menstruation.currentDaysMax - menstruation.currentDay), 4, 8)){
+	} else if(!menstruation.awareOfPeriodDelay && V.awareness >= 100 && V.sciencetrait >= 3 && !pregnancy.awareOf && pregnancyStage !== false && between(pregnancy.timer - (menstruation.currentDaysMax - menstruation.currentDay), 4, 8)){
 		return "missedPeriod";
 	} else if(between(pregnancyStage, 0.9, 1)){
 		wakingEffects = "nearBirthEvent";
@@ -63,12 +109,12 @@ window.wakingPregnancyEvent = (rng) => {
 		wakingEffects = "nearBirth";
 	} else if(between(pregnancyStage, 0.4, 0.7) && rng > 50){
 		wakingEffects = "midPregnancy";
-	} else if(pregnancy.morningSicknessWaking >= 2){
+	} else if(V.pregnancyStats.morningSicknessWaking >= 2){
 		wakingEffects = "morningSicknessOnly";
-		pregnancy.morningSicknessWaking = 0;
-	} else if(pregnancy.morningSicknessWaking >= 1 && rng >= 50){
+		V.pregnancyStats.morningSicknessWaking = 0;
+	} else if(V.pregnancyStats.morningSicknessWaking >= 1 && rng >= 50){
 		wakingEffects = "morningSicknessPills";
-		pregnancy.morningSicknessWaking = 0;
+		V.pregnancyStats.morningSicknessWaking = 0;
 	} else if(["contraceptive","fertility booster"].includes(lastPregPill) && pills.pills[lastPregPill].doseTaken >= 2 && rng >= 50){
 		wakingEffects = "morningSicknessPills";
 	} else if(["contraceptive","fertility booster"].includes(lastPregPill) && pills.pills[lastPregPill].doseTaken >= 1 && rng >= 75){
@@ -98,7 +144,12 @@ window.wakingPregnancyEvent = (rng) => {
 }
 
 window.dailyPregnancyEvent = (rng) => {
-	const pregnancy = V.sexStats.vagina.pregnancy;
+	let pregnancy;
+	if(V.player.vaginaExist){
+		pregnancy = V.sexStats.vagina.pregnancy;
+	}else{
+		pregnancy = V.sexStats.anus.pregnancy;
+	}
 	const menstruation = V.sexStats.vagina.menstruation;
 	const pills = V.sexStats.pills;
 	const lastPregPill = pills.lastTaken.pregnancy;
@@ -111,12 +162,12 @@ window.dailyPregnancyEvent = (rng) => {
 		dailyEffects = "nearBirth";
 	} else if((between(pregnancyStage, 0.4, 0.5) && rng > 90) || (between(pregnancyStage, 0.5, 0.7) && rng >= 85)){
 		dailyEffects = "midPregnancy";
-	} else if(pregnancy.morningSicknessGeneral >= 2 && rng >= 85){
+	} else if(V.pregnancyStats.morningSicknessGeneral >= 2 && rng >= 85){
 		dailyEffects = "morningSicknessOnly";
-		pregnancy.morningSicknessGeneral--;
-	} else if(pregnancy.morningSicknessGeneral >= 1 && rng >= 90){
+		V.pregnancyStats.morningSicknessGeneral--;
+	} else if(V.pregnancyStats.morningSicknessGeneral >= 1 && rng >= 90){
 		dailyEffects = "morningSicknessPills";
-		pregnancy.morningSicknessGeneral--;
+		V.pregnancyStats.morningSicknessGeneral--;
 	} else if(["contraceptive","fertility booster"].includes(lastPregPill) && pills.pills[lastPregPill].doseTaken >= 2 && rng >= 90){
 		dailyEffects = "morningSicknessPills";
 	} else if(["contraceptive","fertility booster"].includes(lastPregPill) && pills.pills[lastPregPill].doseTaken >= 1 && rng >= 95){
diff --git a/game/03-JavaScript/UI.js b/game/03-JavaScript/UI.js
index ac1bd4e385..8c65a55ee1 100644
--- a/game/03-JavaScript/UI.js
+++ b/game/03-JavaScript/UI.js
@@ -224,6 +224,24 @@ function closeFeats(id) {
 	const div2 = document.getElementById("closeFeat-" + id);
 	div1.style.display = "none";
 	div2.style.display = "none";
+	let otherFeatDisplay;
+	let elementId = id + 1;
+	let newId = parseInt(div1.classList.value.replace("feat feat", ""));
+	do {
+		otherFeatDisplay = document.getElementById("feat-" + elementId);
+		if(otherFeatDisplay){
+			if(otherFeatDisplay.style.display !== "none" && !isNaN(newId)){
+				otherFeatDisplay.removeAttribute("class");
+				otherFeatDisplay.classList.add("feat");
+				otherFeatDisplay.classList.add("feat" + newId);
+				if(newId >= 3){
+					otherFeatDisplay.classList.add("hiddenFeat");
+				}
+				newId++;
+			}
+			elementId++;
+		}
+	} while(otherFeatDisplay);
 }
 window.closeFeats = closeFeats;
 
@@ -282,7 +300,7 @@ function beastTogglesCheck() {
 		"bestialitydisable",
 		"swarmdisable",
 		"parasitedisable",
-		"analpregdisable",
+		"parasitepregdisable",
 		"tentacledisable",
 		"slimedisable",
 		"voredisable",
diff --git a/game/03-JavaScript/bedroomPills.js b/game/03-JavaScript/bedroomPills.js
index 45fa2ecf40..bfec02440c 100644
--- a/game/03-JavaScript/bedroomPills.js
+++ b/game/03-JavaScript/bedroomPills.js
@@ -409,6 +409,48 @@ setup.pills = [
 		},
 		effects: [],
 	},
+	{
+		name: "Anti-Parasite Cream",
+		description: "A parasite-repelling cream containing Permethrin. When applied, it prevents new parasitic infestation from occurring, although it has no effect on any ongoing parasitic infections. Effective for 14 days on application.",
+		onTakeMessage: "You apply the cream around your genitals. You hope it prevents them from leaving any offspring behind.",
+		warning_label: "Warning: Please consult your doctor if they are not reachable or you have an allergic reaction shortly after application. Please contact your doctor immediately if you get cream in your mouth or eyes.",
+		autoTake() {
+			return false;
+		},
+		doseTaken() {
+			return V.sexStats.pills["pills"][this.name].doseTaken;
+		},
+		owned() {
+			return V.sexStats.pills["pills"][this.name].owned;
+		},
+		hpi_take_pills() {
+			return "Apply to skin";
+		},
+		hpi_doseTaken() {
+			if(V.sexStats.pills["pills"][this.name].doseTaken){
+				return "Effective for " + V.sexStats.pills["pills"][this.name].doseTaken + " day" + (V.sexStats.pills["pills"][this.name].doseTaken > 1 ? "s" : "");
+			}else{
+				return "Not Applied";
+			}
+		},
+		hpi_take_every_morning() {
+			return "";
+		},
+		type: "parasite",
+		subtype: "Anti-Parasite Cream",
+		shape: "cream",
+		overdose() {
+			return V.sexStats.pills["pills"][this.name].overdose;
+		},
+		icon: "img/misc/icon/antiParasiteCream.png",
+		display_condition() {
+			return this.owned() > 0 ? 1 : 0;
+		},
+		take_condition() {
+			return this.doseTaken() === 0 ? 1 : 0;
+		},
+		effects: [],
+	},
 	{
 		name: "asylum's prescription",
 		description: "A powerful antipsychotic.",
@@ -566,7 +608,11 @@ window.addIndicators = addIndicators;
 
 function initPillContextButtons(item) {
 	// create button to "Take everyone morning" / "Stop taking them" (every morning)
-	document.getElementById("hpi_take_every_morning").innerHTML = item.autoTake() ? "Stop taking them" : "Take every morning";
+	if(item.hpi_take_every_morning){
+		document.getElementById("hpi_take_every_morning").innerHTML = item.hpi_take_every_morning();
+	}else{
+		document.getElementById("hpi_take_every_morning").innerHTML = item.autoTake() ? "Stop taking them" : "Take every morning";
+	}
 
 	// special case if pill type is "asylum" or "harper"
 	if (item.type === "asylum" || item.type === "harper") {
@@ -574,18 +620,28 @@ function initPillContextButtons(item) {
 		document.getElementById("hpi_take_pills").classList.add("hpi_take_me_single"); // readapt css since there's only one button now
 	}
 	//  Add 'Take pill' button
-	document.getElementById("hpi_take_pills").innerHTML = "Take pill";
+	document.getElementById("hpi_take_pills").innerHTML = item.hpi_take_pills ? item.hpi_take_pills() : "Take pill";
 
 	// If the button doesnt exist, create it. If it exists, display the right dose Taken for that pill
-	if (document.getElementById("hpi_doseTaken") != null)
-		// todo: replace style with a proper css class
-		document.getElementById("hpi_doseTaken").outerHTML =
-			"<span id='hpi_doseTaken' style='font-size: 0.88em;color: #979797;'> [" + item.doseTaken() + " Taken]</span>";
+	if (document.getElementById("hpi_doseTaken") != null) {
+		if(item.hpi_doseTaken){
+			document.getElementById("hpi_doseTaken").outerHTML =
+				"<span id='hpi_doseTaken' style='font-size: 0.88em;color: #979797;'> [" + item.hpi_doseTaken() + "]</span>";
+		} else{
+			// todo: replace style with a proper css class
+			document.getElementById("hpi_doseTaken").outerHTML =
+				"<span id='hpi_doseTaken' style='font-size: 0.88em;color: #979797;'> [" + item.doseTaken() + " Taken]</span>";
+		}
 	// Display today taken doses for specific pill
-	else
-		document.getElementById("hpi_take_pills").outerHTML +=
-			`<span id="hpi_doseTaken" style="font-size: 0.88em;color: #979797;"> [` + item.doseTaken() + ` Taken]</span>`; // Display today taken doses for specific pill
-
+	} else {
+		if(item.hpi_doseTaken){
+			document.getElementById("hpi_take_pills").outerHTML +=
+				`<span id="hpi_doseTaken" style="font-size: 0.88em;color: #979797;"> [` + item.hpi_doseTaken() + `]</span>`; // Display today taken doses for specific pill
+		} else {
+			document.getElementById("hpi_take_pills").outerHTML +=
+				`<span id="hpi_doseTaken" style="font-size: 0.88em;color: #979797;"> [` + item.doseTaken() + ` Taken]</span>`; // Display today taken doses for specific pill
+		}
+	}
 	// Check if the player meets the criteria to take the pill.
 	if (item.take_condition() === 0) {
 		document.getElementById("hpi_take_pills").classList.add("hpi_greyed_out"); // grey the "Take Pill" button out
@@ -650,7 +706,12 @@ window.redetermineMostTaken = redetermineMostTaken;
 
 function onTakeClick(itemName) {
 	V.sexStats.pills["pills"][itemName].owned -= 1;
-	V.sexStats.pills["pills"][itemName].doseTaken += 1; // Stat for specific pill consumption
+
+	switch(itemName){
+		case "Anti-Parasite Cream": V.sexStats.pills["pills"][itemName].doseTaken += 14; break;
+		default: V.sexStats.pills["pills"][itemName].doseTaken += 1; break; // Stat for specific pill consumptionbreak;
+	}
+
 	V.pillsConsumed = typeof V.pillsConsumed === "undefined" || V.pillsConsumed == null ? 1 : V.pillsConsumed + 1; // Stat for total pills consumption
 	for (const item of setup.pills) {
 		if (item.name === itemName) {
@@ -659,12 +720,10 @@ function onTakeClick(itemName) {
 			V.sexStats.pills.lastTaken[item.type] = item.subtype; // keep track of the category of pill we last took
 			V.sexStats.pills.mostTaken[item.type] = window.redetermineMostTaken(item.type, item.subtype);
 			if (item.doseTaken() > 1 && item.name.contains("blocker") === false) {
-				if (item.type === "pregnancy") {
-					Engine.play("PillCollectionSecondDosePregnancy");
-					return;
-				} else {
-					Engine.play("PillCollectionSecondDose");
-					return;
+				switch(item.type){
+					case "parasite": break;
+					case "pregnancy": Engine.play("PillCollectionSecondDosePregnancy"); return;
+					default: Engine.play("PillCollectionSecondDose"); return;
 				}
 			}
 			V.lastPillTakenDescription = item.onTakeMessage;
@@ -748,6 +807,7 @@ function backCompPillsInventory() {
 	const pills = {};
 	if (typeof oPills === "object") {
 		/* If our $sexStats.pills is an object and has this property, it is ready for production. */
+		if (!oPills.pills["anti-parasite"])
 		if (oPills.hasOwnProperty("mostTaken")) return;
 		try {
 			pillsObjectRepair(oPills, pills);
@@ -765,10 +825,12 @@ function backCompPillsInventory() {
 		"penis reduction": { autoTake: false, doseTaken: 0, owned: 0, overdose: 0 },
 		"penis growth": { autoTake: false, doseTaken: 0, owned: 0, overdose: 0 },
 		"penis blocker": { autoTake: false, doseTaken: 0, owned: 0, overdose: 0 },
+		"anti-parasite": { autoTake: false, doseTaken: 0, owned: 0, overdose: 0 },
 		"fertility booster": { autoTake: false, doseTaken: 0, owned: 0, overdose: 0 },
 		contraceptive: { autoTake: false, doseTaken: 0, owned: 0, overdose: 0 },
 		"asylum's prescription": { autoTake: false, doseTaken: 0, owned: 0, overdose: 0 },
 		"Dr Harper's prescription": { autoTake: false, doseTaken: 0, owned: 0, overdose: 0 },
+		"Anti-Parasite Cream": { autoTake: false, doseTaken: 0, owned: 0, overdose: 0 },
 	});
 	if (typeof oPills === "undefined") {
 		/* If our $sexStats.pills was empty, simply set the object in preparation to assign. */
@@ -836,7 +898,17 @@ function determineAutoTakePill(category) {
 window.determineAutoTakePill = determineAutoTakePill;
 
 function resetAllDoseTaken() {
-	for (const pill in V.sexStats.pills["pills"]) V.sexStats.pills["pills"][pill].doseTaken = 0;
+	for (const pill in V.sexStats.pills["pills"]) {
+		switch(pill){
+			case "Anti-Parasite Cream":
+				if(V.sexStats.pills["pills"][pill].doseTaken > 0){
+					V.sexStats.pills["pills"][pill].doseTaken--;
+				}
+			break;
+			default: V.sexStats.pills["pills"][pill].doseTaken = 0; break;
+		}
+		
+	}
 }
 window.resetAllDoseTaken = resetAllDoseTaken;
 
diff --git a/game/03-JavaScript/debugMenu.js b/game/03-JavaScript/debugMenu.js
index 418079bbdf..95cc3381ce 100644
--- a/game/03-JavaScript/debugMenu.js
+++ b/game/03-JavaScript/debugMenu.js
@@ -248,7 +248,7 @@ setup.debugMenu.eventList = {
 		},
 		{
 			link: [`Enable basic Pregnancy features`, stayOnPassageFn],
-			widgets: [`<<set $sexStats.anus.pregnancy.seenDoctor to 2>>`, `<<set $sexStats.anus.pregnancy.maxCount to 2>>`],
+			widgets: [`<<set $pregnancyStats.parasiteDoctorEvents to 2>>`],
 		},
 		{
 			link: [`Get Initial Mother Trait`, stayOnPassageFn],
@@ -256,33 +256,33 @@ setup.debugMenu.eventList = {
 		},
 		{
 			link: [`Fertilise New Eggs`, stayOnPassageFn],
-			widgets: [`<<fertilise>>`],
+			widgets: [`<<fertiliseParasites>>`,`<<fertiliseParasites "vagina">>`],
 		},
 		{
 			link: [`Pregnancy Progress Day`, stayOnPassageFn],
-			widgets: [`<<pregProgressDay>>`],
+			widgets: [`<<parasiteProgressDay>>`],
 		},
 		{
 			link: [`Pregnancy Progress Week`, stayOnPassageFn],
 			widgets: [
-				`<<pregProgressDay>>`,
-				`<<pregProgressDay>>`,
-				`<<pregProgressDay>>`,
-				`<<pregProgressDay>>`,
-				`<<pregProgressDay>>`,
-				`<<pregProgressDay>>`,
-				`<<pregProgressDay>>`,
-				`<<pregProgressDay>>`,
+				`<<parasiteProgressDay>>`,
+				`<<parasiteProgressDay>>`,
+				`<<parasiteProgressDay>>`,
+				`<<parasiteProgressDay>>`,
+				`<<parasiteProgressDay>>`,
+				`<<parasiteProgressDay>>`,
+				`<<parasiteProgressDay>>`,
+				`<<parasiteProgressDay>>`,
 			],
 		},
 		{
 			link: [() => `Set all pregnancy events to next ` + V.pass, stayOnPassageFn],
 			widgets: [
 				`<<set _pregnancy to $sexStats.anus.pregnancy>>`,
-				() => (T.pregnancy[0] == null ? "" : `<<set _pregnancy[0].timeLeft to 1>>`),
-				() => (T.pregnancy[1] == null ? "" : `<<set _pregnancy[1].timeLeft to 1>>`),
-				() => (T.pregnancy[2] == null ? "" : `<<set _pregnancy[2].timeLeft to 1>>`),
-				() => (T.pregnancy[3] == null ? "" : `<<set _pregnancy[3].timeLeft to 1>>`),
+				() => (T.pregnancy[0] == null ? "" : `<<set _pregnancy.fetus[0].timeLeft to 1>>`),
+				() => (T.pregnancy[1] == null ? "" : `<<set _pregnancy.fetus[1].timeLeft to 1>>`),
+				() => (T.pregnancy[2] == null ? "" : `<<set _pregnancy.fetus[2].timeLeft to 1>>`),
+				() => (T.pregnancy[3] == null ? "" : `<<set _pregnancy.fetus[3].timeLeft to 1>>`),
 			],
 		},
 		{
@@ -290,19 +290,19 @@ setup.debugMenu.eventList = {
 		},
 		{
 			link: [`Get Pregnant with an eel`, stayOnPassageFn],
-			widgets: [`<<impregnate "eels" 1000>>`],
+			widgets: [`<<impregnateParasite "eels" 1000>>`],
 		},
 		{
 			link: [`Get Pregnant with an slime`, stayOnPassageFn],
-			widgets: [`<<impregnate "slimes" 1000>>`],
+			widgets: [`<<impregnateParasite "slimes" 1000>>`],
 		},
 		{
 			link: [`Get Pregnant with an worm`, stayOnPassageFn],
-			widgets: [`<<impregnate "worms" 1000>>`],
+			widgets: [`<<impregnateParasite "worms" 1000>>`],
 		},
 		{
 			link: [`Get Pregnant with an tentacle`, stayOnPassageFn],
-			widgets: [`<<impregnate "tentacle" 1000>>`],
+			widgets: [`<<impregnateParasite "tentacle" 1000>>`],
 		},
 		{
 			text_only: `\n`,
diff --git a/game/03-JavaScript/save.js b/game/03-JavaScript/save.js
index 6ed4f3fa96..78ff18446d 100644
--- a/game/03-JavaScript/save.js
+++ b/game/03-JavaScript/save.js
@@ -738,7 +738,7 @@ function settingsObjects(type) {
 					randomize: "characterTrait",
 				},
 				gamemode: { strings: ["normal", "soft", "hard"] },
-				startingseason: { strings: ["autumn", "winter", "spring", "summer", "random"] },
+				startingseason: { strings: ["autumn", "winter", "spring", "summer", "random"], randomize: "gameplay" },
 				ironmanmode: { bool: false },
 				player: {
 					gender: { strings: ["m", "f", "h"], randomize: "characterAppearance" },
@@ -799,7 +799,7 @@ function settingsObjects(type) {
 				hirsutedisable: { boolLetter: true, bool: true },
 				pbdisable: { boolLetter: true, bool: true },
 				breastfeedingdisable: { boolLetter: true, bool: true },
-				analpregdisable: { boolLetter: true, bool: true },
+				parasitepregdisable: { boolLetter: true, bool: true },
 				watersportsdisable: { boolLetter: true, bool: true },
 				facesitdisable: { boolLetter: true, bool: true },
 				spiderdisable: { boolLetter: true, bool: true },
diff --git a/game/04-Variables/pregnancyVar.twee b/game/04-Variables/pregnancyVar.twee
index bc25612aaf..bd7cbb9e3e 100644
--- a/game/04-Variables/pregnancyVar.twee
+++ b/game/04-Variables/pregnancyVar.twee
@@ -18,8 +18,16 @@
 			mother: 0,
 			aftermorningpills: 0,
 			pregnancyTestsTaken: 0,
+			parasiteBook: 0,
+			parasiteDoctorEvents: 0,
 		}>>
 	<</if>>
+	<<if !$pregnancyStats.morningSicknessGeneral>>
+		<<set $pregnancyStats.morningSicknessGeneral to 0>>
+		<<set $pregnancyStats.morningSicknessWaking to 0>>
+		<<set $pregnancyStats.parasiteDoctorEvents to 0>>
+		<<set $pregnancyStats.parasiteBook to 0>>
+	<</if>>
 <</widget>>
 
 <<widget "containersInit">>
@@ -96,24 +104,25 @@
 	<<set $container.list.pushUnique("farm")>>
 <</if>>
 
-<<if $sexStats.anus.pregnancy.typesSeen is undefined or $sexStats.anus.pregnancy.variantsSeen is undefined>>
-	<<set $sexStats.anus.pregnancy.typesSeen to []>><<set $sexStats.anus.pregnancy.variantsSeen to []>>
+<<if $pregnancyStats is undefined>>
+<<elseif $pregnancyStats.parasiteTypesSeen is undefined or $pregnancyStats.parasiteVariantsSeen is undefined>>
+	<<set $pregnancyStats.parasiteTypesSeen to []>><<set $pregnancyStats.parasiteVariantsSeen to []>>
 	<<for _i range $container.list>>
 		<<for _o to 0; _o lt $container[_i].maxCount; _o++>>
 			<<if $container[_i].creatures[_o] isnot undefined and $container[_i].creatures[_o] isnot null>>
 				<<if $container[_i].creatures[_o].creature.includes("Tentacle")>>
-					<<set $sexStats.anus.pregnancy.typesSeen.pushUnique("Tentacle")>>
+					<<set $pregnancyStats.parasiteTypesSeen.pushUnique("Tentacle")>>
 				<<elseif $container[_i].creatures[_o].creature.includes("Vine")>>
-					<<set $sexStats.anus.pregnancy.typesSeen.pushUnique("Vine")>>
+					<<set $pregnancyStats.parasiteTypesSeen.pushUnique("Vine")>>
 				<<elseif $container[_i].creatures[_o].creature.includes("Slime")>>
-					<<set $sexStats.anus.pregnancy.typesSeen.pushUnique("Slime")>>
+					<<set $pregnancyStats.parasiteTypesSeen.pushUnique("Slime")>>
 				<<else>>
-					<<set $sexStats.anus.pregnancy.typesSeen.pushUnique($container[_i].creatures[_o].creature)>>
+					<<set $pregnancyStats.parasiteTypesSeen.pushUnique($container[_i].creatures[_o].creature)>>
 				<</if>>
 				<<if $container[_i].creatures[_o].creature.includes("Pale")>>
-					<<set $sexStats.anus.pregnancy.variantsSeen.pushUnique("Pale")>>
+					<<set $pregnancyStats.parasiteVariantsSeen.pushUnique("Pale")>>
 				<<elseif $container[_i].creatures[_o].creature.includes("Metal")>>
-					<<set $sexStats.anus.pregnancy.variantsSeen.pushUnique("Metal")>>
+					<<set $pregnancyStats.parasiteVariantsSeen.pushUnique("Metal")>>
 				<</if>>
 			<<else>>
 				<<break>>
@@ -129,17 +138,14 @@
 
 <<widget "prenancyObjectRepair">>
 	<<set _pregnancy to $sexStats.anus.pregnancy>>
-	<<set _trueCount to 0>>
-	<<for _i to 0; _i lt 4; _i++>>
-		<<if _pregnancy[_i] isnot null>>
-			<<set _trueCount++>>
-			<<if _pregnancy[_i].creature is undefined>>
-				<<set _pregnancy[_i].creature to either("Tentacle","Spider","Fish","Snake","Eel")>>
+	<<if _pregnancy.type is "parasite">>
+		<<for _i to 0; _i lt 4; _i++>>
+			<<if _pregnancy.fetus[_i]>>
+				<<if _pregnancy.fetus[_i].creature is undefined>>
+					<<set _pregnancy.fetus[_i].creature to either("Tentacle","Spider","Fish","Snake","Eel")>>
+				<</if>>
 			<</if>>
-		<</if>>
-	<</for>>
-	<<if _trueCount isnot _pregnancy.count>>
-		<<set _pregnancy.count to clone(_trueCount)>>
+		<</for>>
 	<</if>>
 	<<set _list to ["home", "lake", "farm", "portable"]>>
 	<<for _i to 0; _i lt _list.length; _i++>>
@@ -155,8 +161,7 @@
 			<</if>>
 		<</for>>
 	<</for>>
-	<<if _pregnancy.motherStatus is 2 and _pregnancy.seenDoctor is 1>>
-		<<set _pregnancy.seenDoctor to 2>>
-		<<set _pregnancy.maxCount to 4>>
+	<<if _pregnancy.motherStatus is 2 and $pregnancyStats.parasiteDoctorEvents is 1>>
+		<<set $pregnancyStats.parasiteDoctorEvents to 2>>
 	<</if>>
 <</widget>>
\ No newline at end of file
diff --git a/game/04-Variables/presets.twee b/game/04-Variables/presets.twee
index 63fcea9b07..2c0bfa1dc0 100644
--- a/game/04-Variables/presets.twee
+++ b/game/04-Variables/presets.twee
@@ -5,13 +5,13 @@
 	<<set _preset to "">>
 	<<switch _args[0]>>
 		<<case "vrelDefault">>
-			<<set _preset to '{"general":{"options":{"showCaptionText":true,"sidebarStats":"disabled","sidebarTime":"disabled","combatControls":"radio","images":1,"silhouetteEnabled":true,"tanImgEnabled":true,"tanningEnabled":true,"sidebarAnimations":true,"blinkingEnabled":true,"combatAnimations":true},{"map":{"movement":true,"top":false,"markers":false},"malechance":50,"dgchance":0,"cbchance":0,"malevictimchance":50,"homochance":4,"breast_mod":0,"penis_mod":0,"whitechance":90,"blackchance":10,"straponchance":0,"alluremod":1,"beastmalechance":80,"monsterchance":50,"monsterhallucinations":"t","blackwolfmonster":0,"bestialitydisable":"f","swarmdisable":"f","slimedisable":"f","voredisable":"f","tentacledisable":"f","analdisable":"f","analdoubledisable":"f","footdisable":"f","analingusdisablegiving":"f","analingusdisablereceiving":"f","vaginaldoubledisable":"f","transformdisable":"f","transformdisabledivine":"f","breastfeedingdisable":"f","analpregdisable":"f","watersportsdisable":"f","facesitdisable":"f","spiderdisable":"f","bodywritingdisable":"f","parasitedisable":"f","slugdisable":"f","waspdisable":"f","lurkerdisable":"f","beedisable":"f","horsedisable":"f","pregnancyspeechdisable":"f","breastsizemax":12,"bottomsizemax":8,"penissizemax":4,"penissizemin":-1,"numberify_enabled":1,"timestyle":"military","tipdisable":"f","debugdisable":"t","statdisable":"f","cheatdisabletoggle":"t","confirmSave":false,"confirmLoad":false,"confirmDelete":true,"reducedLineHeight":false},"npc":{"Avery":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Bailey":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Briar":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Charlie":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Darryl":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Doren":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Eden":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Gwylan":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Harper":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Jordan":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Kylar":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Landry":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Leighton":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Mason":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Morgan":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"River":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Robin":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Sam":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Sirris":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Whitney":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Winter":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Black Wolf":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Niki":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Quinn":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Remy":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Alex":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Great Hawk":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0}},"starting":{"player":{"gender":"f","gender_body":"a","ballsExist":false,"freckles":false,"breastsize":0,"penissize":1,"bottomsize":0},"skinColor":{"natural":"light","range":0},"bodysize":2,"breastsensitivity":1,"genitalsensitivity":1,"eyeselect":"purple","hairselect":"red","hairlength":200,"awareselect":"innocent","background":"waif","gamemode":"normal","asphyxiaLvl":3,"pbdisable":"t"}}'>>
+			<<set _preset to '{"general":{"options":{"showCaptionText":true,"sidebarStats":"disabled","sidebarTime":"disabled","combatControls":"radio","images":1,"silhouetteEnabled":true,"tanImgEnabled":true,"tanningEnabled":true,"sidebarAnimations":true,"blinkingEnabled":true,"combatAnimations":true},{"map":{"movement":true,"top":false,"markers":false},"malechance":50,"dgchance":0,"cbchance":0,"malevictimchance":50,"homochance":4,"breast_mod":0,"penis_mod":0,"whitechance":90,"blackchance":10,"straponchance":0,"alluremod":1,"beastmalechance":80,"monsterchance":50,"monsterhallucinations":"t","blackwolfmonster":0,"bestialitydisable":"f","swarmdisable":"f","slimedisable":"f","voredisable":"f","tentacledisable":"f","analdisable":"f","analdoubledisable":"f","footdisable":"f","analingusdisablegiving":"f","analingusdisablereceiving":"f","vaginaldoubledisable":"f","transformdisable":"f","transformdisabledivine":"f","breastfeedingdisable":"f","parasitepregdisable":"f","watersportsdisable":"f","facesitdisable":"f","spiderdisable":"f","bodywritingdisable":"f","parasitedisable":"f","slugdisable":"f","waspdisable":"f","lurkerdisable":"f","beedisable":"f","horsedisable":"f","pregnancyspeechdisable":"f","breastsizemax":12,"bottomsizemax":8,"penissizemax":4,"penissizemin":-1,"numberify_enabled":1,"timestyle":"military","tipdisable":"f","debugdisable":"t","statdisable":"f","cheatdisabletoggle":"t","confirmSave":false,"confirmLoad":false,"confirmDelete":true,"reducedLineHeight":false},"npc":{"Avery":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Bailey":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Briar":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Charlie":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Darryl":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Doren":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Eden":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Gwylan":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Harper":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Jordan":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Kylar":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Landry":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Leighton":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Mason":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Morgan":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"River":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Robin":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Sam":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Sirris":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Whitney":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Winter":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Black Wolf":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Niki":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Quinn":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Remy":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Alex":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0},"Great Hawk":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0}},"starting":{"player":{"gender":"f","gender_body":"a","ballsExist":false,"freckles":false,"breastsize":0,"penissize":1,"bottomsize":0},"skinColor":{"natural":"light","range":0},"bodysize":2,"breastsensitivity":1,"genitalsensitivity":1,"eyeselect":"purple","hairselect":"red","hairlength":200,"awareselect":"innocent","background":"waif","gamemode":"normal","asphyxiaLvl":3,"pbdisable":"t"}}'>>
 		<<case "lollipopScythe">>
-			<<set _preset to '{"general":{"options":{"showCaptionText":true,"sidebarStats":"disabled","sidebarTime":"disabled","combatControls":"radio","images":1,"silhouetteEnabled":true,"tanImgEnabled":true,"tanningEnabled":true,"sidebarAnimations":true,"blinkingEnabled":true,"combatAnimations":true},"map":{"movement":true,"top":true,"markers":true},"malechance":75,"dgchance":25,"cbchance":0,"malevictimchance":90,"homochance":75,"breast_mod":0,"penis_mod":2,"whitechance":90,"blackchance":10,"straponchance":25,"alluremod":1,"beastmalechance":100,"monsterchance":0,"monsterhallucinations":"t","blackwolfmonster":0,"bestialitydisable":"f","swarmdisable":"f","slimedisable":"f","voredisable":"f","tentacledisable":"f","analdisable":"f","analdoubledisable":"t","footdisable":"f","analingusdisablegiving":"f","analingusdisablereceiving":"f","vaginaldoubledisable":"t","transformdisable":"f","transformdisabledivine":"f","breastfeedingdisable":"f","analpregdisable":"f","watersportsdisable":"f","facesitdisable":"f","spiderdisable":"f","bodywritingdisable":"f","parasitedisable":"f", "slugdisable":"f", "waspdisable":"f", "lurkerdisable":"f", "beedisable":"f","horsedisable":"f","pregnancyspeechdisable":"f","breastsizemax":12,"bottomsizemax":8,"penissizemax":4,"penissizemin":-1,"numberify_enabled":1,"timestyle":"military","tipdisable":"t","debugdisable":"f","statdisable":"f","cheatdisabletoggle":"t","confirmSave":false,"confirmLoad":false,"confirmDelete":true,"reducedLineHeight":true},"npc":{"Avery":{"pronoun":"m","gender":"m","penissize":4,"breastsize":0},"Bailey":{"pronoun":"m","gender":"m","penissize":1,"breastsize":0},"Briar":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Charlie":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Darryl":{"pronoun":"m","gender":"m","penissize":2,"breastsize":0},"Doren":{"pronoun":"m","gender":"m","penissize":2,"breastsize":0},"Eden":{"pronoun":"m","gender":"m","penissize":4,"breastsize":0},"Gwylan":{"pronoun":"f","gender":"f","penissize":0,"breastsize":5},"Harper":{"pronoun":"m","gender":"m","penissize":4,"breastsize":0},"Jordan":{"pronoun":"m","gender":"m","penissize":1,"breastsize":0},"Kylar":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Landry":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Leighton":{"pronoun":"m","gender":"m","penissize":1,"breastsize":0},"Mason":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Morgan":{"pronoun":"f","gender":"f","penissize":0,"breastsize":5},"River":{"pronoun":"m","gender":"m","penissize":2,"breastsize":0},"Robin":{"pronoun":"m","gender":"m","penissize":2,"breastsize":0},"Sam":{"pronoun":"m","gender":"m","penissize":2,"breastsize":0},"Sirris":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Whitney":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Winter":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Black Wolf":{"pronoun":"m","gender":"m","penissize":4,"breastsize":0},"Niki":{"pronoun":"f","gender":"f","penissize":0,"breastsize":3},"Quinn":{"pronoun":"m","gender":"m","penissize":4,"breastsize":0},"Remy":{"pronoun":"m","gender":"m","penissize":2,"breastsize":0},"Alex":{"pronoun":"m","gender":"m","penissize":4,"breastsize":0},"Great Hawk":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0}},"starting":{"player":{"gender":"h","gender_body":"f","ballsExist":true,"freckles":false,"breastsize":4,"penissize":0,"bottomsize":0},"skinColor":{"natural":"light","range":40},"bodysize":0,"breastsensitivity":3,"genitalsensitivity":3,"eyeselect":"pink","hairselect":"platinumblond","hairlength":400,"awareselect":"innocent","background":"beautiful","gamemode":"hard","asphyxiaLvl":3,"pbdisable":"t"}}'>>
+			<<set _preset to '{"general":{"options":{"showCaptionText":true,"sidebarStats":"disabled","sidebarTime":"disabled","combatControls":"radio","images":1,"silhouetteEnabled":true,"tanImgEnabled":true,"tanningEnabled":true,"sidebarAnimations":true,"blinkingEnabled":true,"combatAnimations":true},"map":{"movement":true,"top":true,"markers":true},"malechance":75,"dgchance":25,"cbchance":0,"malevictimchance":90,"homochance":75,"breast_mod":0,"penis_mod":2,"whitechance":90,"blackchance":10,"straponchance":25,"alluremod":1,"beastmalechance":100,"monsterchance":0,"monsterhallucinations":"t","blackwolfmonster":0,"bestialitydisable":"f","swarmdisable":"f","slimedisable":"f","voredisable":"f","tentacledisable":"f","analdisable":"f","analdoubledisable":"t","footdisable":"f","analingusdisablegiving":"f","analingusdisablereceiving":"f","vaginaldoubledisable":"t","transformdisable":"f","transformdisabledivine":"f","breastfeedingdisable":"f","parasitepregdisable":"f","watersportsdisable":"f","facesitdisable":"f","spiderdisable":"f","bodywritingdisable":"f","parasitedisable":"f", "slugdisable":"f", "waspdisable":"f", "lurkerdisable":"f", "beedisable":"f","horsedisable":"f","pregnancyspeechdisable":"f","breastsizemax":12,"bottomsizemax":8,"penissizemax":4,"penissizemin":-1,"numberify_enabled":1,"timestyle":"military","tipdisable":"t","debugdisable":"f","statdisable":"f","cheatdisabletoggle":"t","confirmSave":false,"confirmLoad":false,"confirmDelete":true,"reducedLineHeight":true},"npc":{"Avery":{"pronoun":"m","gender":"m","penissize":4,"breastsize":0},"Bailey":{"pronoun":"m","gender":"m","penissize":1,"breastsize":0},"Briar":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Charlie":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Darryl":{"pronoun":"m","gender":"m","penissize":2,"breastsize":0},"Doren":{"pronoun":"m","gender":"m","penissize":2,"breastsize":0},"Eden":{"pronoun":"m","gender":"m","penissize":4,"breastsize":0},"Gwylan":{"pronoun":"f","gender":"f","penissize":0,"breastsize":5},"Harper":{"pronoun":"m","gender":"m","penissize":4,"breastsize":0},"Jordan":{"pronoun":"m","gender":"m","penissize":1,"breastsize":0},"Kylar":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Landry":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Leighton":{"pronoun":"m","gender":"m","penissize":1,"breastsize":0},"Mason":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Morgan":{"pronoun":"f","gender":"f","penissize":0,"breastsize":5},"River":{"pronoun":"m","gender":"m","penissize":2,"breastsize":0},"Robin":{"pronoun":"m","gender":"m","penissize":2,"breastsize":0},"Sam":{"pronoun":"m","gender":"m","penissize":2,"breastsize":0},"Sirris":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Whitney":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Winter":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Black Wolf":{"pronoun":"m","gender":"m","penissize":4,"breastsize":0},"Niki":{"pronoun":"f","gender":"f","penissize":0,"breastsize":3},"Quinn":{"pronoun":"m","gender":"m","penissize":4,"breastsize":0},"Remy":{"pronoun":"m","gender":"m","penissize":2,"breastsize":0},"Alex":{"pronoun":"m","gender":"m","penissize":4,"breastsize":0},"Great Hawk":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0}},"starting":{"player":{"gender":"h","gender_body":"f","ballsExist":true,"freckles":false,"breastsize":4,"penissize":0,"bottomsize":0},"skinColor":{"natural":"light","range":40},"bodysize":0,"breastsensitivity":3,"genitalsensitivity":3,"eyeselect":"pink","hairselect":"platinumblond","hairlength":400,"awareselect":"innocent","background":"beautiful","gamemode":"hard","asphyxiaLvl":3,"pbdisable":"t"}}'>>
 		<<case "purityGuy">>
-			<<set _preset to '{"general":{"options":{"showCaptionText":true,"sidebarStats":"all","sidebarTime":"top","combatControls":"radio","images":1,"silhouetteEnabled":true,"tanImgEnabled":true,"tanningEnabled":true,"sidebarAnimations":true,"blinkingEnabled":true,"combatAnimations":true},"map":{"movement":true,"top":false,"markers":true},"malechance":50,"dgchance":0,"cbchance":0,"malevictimchance":10,"homochance":10,"breast_mod":0,"penis_mod":0,"whitechance":100,"blackchance":0,"straponchance":0,"alluremod":1.2,"beastmalechance":50,"monsterchance":100,"monsterhallucinations":"f","blackwolfmonster":2,"bestialitydisable":"f","swarmdisable":"t","slimedisable":"f","voredisable":"f","tentacledisable":"f","analdisable":"f","analdoubledisable":"t","footdisable":"f","analingusdisablegiving":"f","analingusdisablereceiving":"f","vaginaldoubledisable":"t","transformdisable":"f","transformdisabledivine":"f","breastfeedingdisable":"f","analpregdisable":"f","watersportsdisable":"t","facesitdisable":"f","spiderdisable":"f","bodywritingdisable":"f","parasitedisable":"f","slugdisable":"f","waspdisable":"f","lurkerdisable":"f","beedisable":"f","horsedisable":"f","pregnancyspeechdisable":"f","breastsizemax":6,"bottomsizemax":4,"penissizemax":4,"penissizemin":-1,"numberify_enabled":1,"timestyle":"ampm","tipdisable":"f","debugdisable":"f","statdisable":"f","cheatdisabletoggle":"t","confirmSave":true,"confirmLoad":true,"confirmDelete":true,"reducedLineHeight":false},"npc":{"Avery":{"pronoun":"f","gender":"f","penissize":1,"breastsize":4},"Bailey":{"pronoun":"m","gender":"m","penissize":3,"breastsize":2},"Briar":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Charlie":{"pronoun":"m","gender":"m","penissize":2,"breastsize":0},"Darryl":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Doren":{"pronoun":"m","gender":"m","penissize":1,"breastsize":0},"Eden":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Gwylan":{"pronoun":"f","gender":"f","penissize":1,"breastsize":0},"Harper":{"pronoun":"m","gender":"m","penissize":2,"breastsize":0},"Jordan":{"pronoun":"f","gender":"f","penissize":3,"breastsize":5},"Kylar":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Landry":{"pronoun":"m","gender":"m","penissize":2,"breastsize":0},"Leighton":{"pronoun":"m","gender":"m","penissize":2,"breastsize":0},"Mason":{"pronoun":"f","gender":"f","penissize":3,"breastsize":2},"Morgan":{"pronoun":"f","gender":"f","penissize":3,"breastsize":3},"River":{"pronoun":"f","gender":"f","penissize":3,"breastsize":0},"Robin":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Sam":{"pronoun":"f","gender":"f","penissize":1,"breastsize":3},"Sirris":{"pronoun":"f","gender":"f","penissize":3,"breastsize":0},"Whitney":{"pronoun":"f","gender":"f","penissize":4,"breastsize":0},"Winter":{"pronoun":"m","gender":"m","penissize":2,"breastsize":0},"Black Wolf":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Niki":{"pronoun":"f","gender":"f","penissize":3,"breastsize":2},"Quinn":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Remy":{"pronoun":"m","gender":"m","penissize":2,"breastsize":0},"Alex":{"pronoun":"f","gender":"f","penissize":1,"breastsize":0},"Great Hawk":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0}},"starting":{"player":{"gender":"f","gender_body":"f","ballsExist":false,"freckles":false,"breastsize":3,"penissize":1,"bottomsize":1},"skinColor":{"natural":"light","range":0},"bodysize":2,"breastsensitivity":1,"genitalsensitivity":1,"eyeselect":"amber","hairselect":"blond","hairlength":400,"awareselect":"innocent","background":"beautiful","gamemode":"normal","asphyxiaLvl":3,"pbdisable":"t"}}'>>
+			<<set _preset to '{"general":{"options":{"showCaptionText":true,"sidebarStats":"all","sidebarTime":"top","combatControls":"radio","images":1,"silhouetteEnabled":true,"tanImgEnabled":true,"tanningEnabled":true,"sidebarAnimations":true,"blinkingEnabled":true,"combatAnimations":true},"map":{"movement":true,"top":false,"markers":true},"malechance":50,"dgchance":0,"cbchance":0,"malevictimchance":10,"homochance":10,"breast_mod":0,"penis_mod":0,"whitechance":100,"blackchance":0,"straponchance":0,"alluremod":1.2,"beastmalechance":50,"monsterchance":100,"monsterhallucinations":"f","blackwolfmonster":2,"bestialitydisable":"f","swarmdisable":"t","slimedisable":"f","voredisable":"f","tentacledisable":"f","analdisable":"f","analdoubledisable":"t","footdisable":"f","analingusdisablegiving":"f","analingusdisablereceiving":"f","vaginaldoubledisable":"t","transformdisable":"f","transformdisabledivine":"f","breastfeedingdisable":"f","parasitepregdisable":"f","watersportsdisable":"t","facesitdisable":"f","spiderdisable":"f","bodywritingdisable":"f","parasitedisable":"f","slugdisable":"f","waspdisable":"f","lurkerdisable":"f","beedisable":"f","horsedisable":"f","pregnancyspeechdisable":"f","breastsizemax":6,"bottomsizemax":4,"penissizemax":4,"penissizemin":-1,"numberify_enabled":1,"timestyle":"ampm","tipdisable":"f","debugdisable":"f","statdisable":"f","cheatdisabletoggle":"t","confirmSave":true,"confirmLoad":true,"confirmDelete":true,"reducedLineHeight":false},"npc":{"Avery":{"pronoun":"f","gender":"f","penissize":1,"breastsize":4},"Bailey":{"pronoun":"m","gender":"m","penissize":3,"breastsize":2},"Briar":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Charlie":{"pronoun":"m","gender":"m","penissize":2,"breastsize":0},"Darryl":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Doren":{"pronoun":"m","gender":"m","penissize":1,"breastsize":0},"Eden":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Gwylan":{"pronoun":"f","gender":"f","penissize":1,"breastsize":0},"Harper":{"pronoun":"m","gender":"m","penissize":2,"breastsize":0},"Jordan":{"pronoun":"f","gender":"f","penissize":3,"breastsize":5},"Kylar":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Landry":{"pronoun":"m","gender":"m","penissize":2,"breastsize":0},"Leighton":{"pronoun":"m","gender":"m","penissize":2,"breastsize":0},"Mason":{"pronoun":"f","gender":"f","penissize":3,"breastsize":2},"Morgan":{"pronoun":"f","gender":"f","penissize":3,"breastsize":3},"River":{"pronoun":"f","gender":"f","penissize":3,"breastsize":0},"Robin":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Sam":{"pronoun":"f","gender":"f","penissize":1,"breastsize":3},"Sirris":{"pronoun":"f","gender":"f","penissize":3,"breastsize":0},"Whitney":{"pronoun":"f","gender":"f","penissize":4,"breastsize":0},"Winter":{"pronoun":"m","gender":"m","penissize":2,"breastsize":0},"Black Wolf":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Niki":{"pronoun":"f","gender":"f","penissize":3,"breastsize":2},"Quinn":{"pronoun":"m","gender":"m","penissize":3,"breastsize":0},"Remy":{"pronoun":"m","gender":"m","penissize":2,"breastsize":0},"Alex":{"pronoun":"f","gender":"f","penissize":1,"breastsize":0},"Great Hawk":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0}},"starting":{"player":{"gender":"f","gender_body":"f","ballsExist":false,"freckles":false,"breastsize":3,"penissize":1,"bottomsize":1},"skinColor":{"natural":"light","range":0},"bodysize":2,"breastsensitivity":1,"genitalsensitivity":1,"eyeselect":"amber","hairselect":"blond","hairlength":400,"awareselect":"innocent","background":"beautiful","gamemode":"normal","asphyxiaLvl":3,"pbdisable":"t"}}'>>
 		<<case "fangi">>
-			<<set _preset to '{"general":{"options":{"showCaptionText":true,"sidebarStats":"disabled","sidebarTime":"disabled","combatControls":"radio","images":1,"silhouetteEnabled":true,"tanImgEnabled":true,"tanningEnabled":true,"blinkingEnabled":true,"sidebarAnimations":true,"combatAnimations":true},"map":{"movement":true,"top":false,"markers":false},"malechance":0,"dgchance":0,"cbchance":0,"malevictimchance":1,"homochance":75,"breast_mod":0,"penis_mod":0,"whitechance":90,"blackchance":10,"straponchance":0,"alluremod":1,"beastmalechance":0,"monsterchance":100,"monsterhallucinations":"f","blackwolfmonster":1,"bestialitydisable":"f","swarmdisable":"f","slimedisable":"f","voredisable":"f","tentacledisable":"f","analdisable":"f","analdoubledisable":"t","footdisable":"f","analingusdisablegiving":"f","analingusdisablereceiving":"f","vaginaldoubledisable":"t","transformdisable":"f","transformdisabledivine":"f","breastfeedingdisable":"f","analpregdisable":"f","watersportsdisable":"f","facesitdisable":"f","spiderdisable":"f","bodywritingdisable":"f","parasitedisable":"f","slugdisable":"f","waspdisable":"f","lurkerdisable":"f","beedisable":"f","horsedisable":"f","pregnancyspeechdisable":"f","breastsizemax":12,"bottomsizemax":8,"penissizemax":4,"penissizemin":-1,"numberify_enabled":1,"timestyle":"military","tipdisable":"f","debugdisable":"f","statdisable":"f","cheatdisabletoggle":"f","confirmSave":false,"confirmLoad":false,"confirmDelete":true,"reducedLineHeight":false},"npc":{"Avery":{"pronoun":"f","gender":"f","penissize":0,"breastsize":4},"Bailey":{"pronoun":"f","gender":"f","penissize":0,"breastsize":4},"Briar":{"pronoun":"f","gender":"f","penissize":0,"breastsize":4},"Charlie":{"pronoun":"f","gender":"f","penissize":0,"breastsize":1},"Darryl":{"pronoun":"f","gender":"f","penissize":0,"breastsize":3},"Doren":{"pronoun":"f","gender":"f","penissize":0,"breastsize":3},"Eden":{"pronoun":"f","gender":"f","penissize":0,"breastsize":4},"Gwylan":{"pronoun":"f","gender":"f","penissize":0,"breastsize":1},"Harper":{"pronoun":"f","gender":"f","penissize":0,"breastsize":4},"Jordan":{"pronoun":"f","gender":"f","penissize":0,"breastsize":1},"Kylar":{"pronoun":"f","gender":"f","penissize":0,"breastsize":1},"Landry":{"pronoun":"f","gender":"f","penissize":0,"breastsize":3},"Leighton":{"pronoun":"f","gender":"f","penissize":0,"breastsize":4},"Mason":{"pronoun":"f","gender":"f","penissize":0,"breastsize":2},"Morgan":{"pronoun":"f","gender":"f","penissize":0,"breastsize":5},"River":{"pronoun":"f","gender":"f","penissize":0,"breastsize":3},"Robin":{"pronoun":"f","gender":"f","penissize":0,"breastsize":1},"Sam":{"pronoun":"f","gender":"f","penissize":0,"breastsize":4},"Sirris":{"pronoun":"f","gender":"f","penissize":0,"breastsize":3},"Whitney":{"pronoun":"f","gender":"f","penissize":0,"breastsize":3},"Winter":{"pronoun":"f","gender":"f","penissize":0,"breastsize":3},"Black Wolf":{"pronoun":"f","gender":"f","penissize":0,"breastsize":3},"Niki":{"pronoun":"f","gender":"f","penissize":0,"breastsize":3},"Quinn":{"pronoun":"f","gender":"f","penissize":0,"breastsize":3},"Remy":{"pronoun":"f","gender":"f","penissize":0,"breastsize":3},"Alex":{"pronoun":"f","gender":"f","penissize":0,"breastsize":1},"Great Hawk":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0}},"starting":{"player":{"gender":"f","gender_body":"f","ballsExist":false,"freckles":false,"breastsize":3,"penissize":1,"bottomsize":0},"skinColor":{"natural":"light","range":0},"bodysize":3,"breastsensitivity":1,"genitalsensitivity":1,"eyeselect":"purple","hairselect":"red","hairlength":200,"awareselect":"innocent","background":"waif","gamemode":"normal","asphyxiaLvl":3,"pbdisable":"t"}}'>>
+			<<set _preset to '{"general":{"options":{"showCaptionText":true,"sidebarStats":"disabled","sidebarTime":"disabled","combatControls":"radio","images":1,"silhouetteEnabled":true,"tanImgEnabled":true,"tanningEnabled":true,"blinkingEnabled":true,"sidebarAnimations":true,"combatAnimations":true},"map":{"movement":true,"top":false,"markers":false},"malechance":0,"dgchance":0,"cbchance":0,"malevictimchance":1,"homochance":75,"breast_mod":0,"penis_mod":0,"whitechance":90,"blackchance":10,"straponchance":0,"alluremod":1,"beastmalechance":0,"monsterchance":100,"monsterhallucinations":"f","blackwolfmonster":1,"bestialitydisable":"f","swarmdisable":"f","slimedisable":"f","voredisable":"f","tentacledisable":"f","analdisable":"f","analdoubledisable":"t","footdisable":"f","analingusdisablegiving":"f","analingusdisablereceiving":"f","vaginaldoubledisable":"t","transformdisable":"f","transformdisabledivine":"f","breastfeedingdisable":"f","parasitepregdisable":"f","watersportsdisable":"f","facesitdisable":"f","spiderdisable":"f","bodywritingdisable":"f","parasitedisable":"f","slugdisable":"f","waspdisable":"f","lurkerdisable":"f","beedisable":"f","horsedisable":"f","pregnancyspeechdisable":"f","breastsizemax":12,"bottomsizemax":8,"penissizemax":4,"penissizemin":-1,"numberify_enabled":1,"timestyle":"military","tipdisable":"f","debugdisable":"f","statdisable":"f","cheatdisabletoggle":"f","confirmSave":false,"confirmLoad":false,"confirmDelete":true,"reducedLineHeight":false},"npc":{"Avery":{"pronoun":"f","gender":"f","penissize":0,"breastsize":4},"Bailey":{"pronoun":"f","gender":"f","penissize":0,"breastsize":4},"Briar":{"pronoun":"f","gender":"f","penissize":0,"breastsize":4},"Charlie":{"pronoun":"f","gender":"f","penissize":0,"breastsize":1},"Darryl":{"pronoun":"f","gender":"f","penissize":0,"breastsize":3},"Doren":{"pronoun":"f","gender":"f","penissize":0,"breastsize":3},"Eden":{"pronoun":"f","gender":"f","penissize":0,"breastsize":4},"Gwylan":{"pronoun":"f","gender":"f","penissize":0,"breastsize":1},"Harper":{"pronoun":"f","gender":"f","penissize":0,"breastsize":4},"Jordan":{"pronoun":"f","gender":"f","penissize":0,"breastsize":1},"Kylar":{"pronoun":"f","gender":"f","penissize":0,"breastsize":1},"Landry":{"pronoun":"f","gender":"f","penissize":0,"breastsize":3},"Leighton":{"pronoun":"f","gender":"f","penissize":0,"breastsize":4},"Mason":{"pronoun":"f","gender":"f","penissize":0,"breastsize":2},"Morgan":{"pronoun":"f","gender":"f","penissize":0,"breastsize":5},"River":{"pronoun":"f","gender":"f","penissize":0,"breastsize":3},"Robin":{"pronoun":"f","gender":"f","penissize":0,"breastsize":1},"Sam":{"pronoun":"f","gender":"f","penissize":0,"breastsize":4},"Sirris":{"pronoun":"f","gender":"f","penissize":0,"breastsize":3},"Whitney":{"pronoun":"f","gender":"f","penissize":0,"breastsize":3},"Winter":{"pronoun":"f","gender":"f","penissize":0,"breastsize":3},"Black Wolf":{"pronoun":"f","gender":"f","penissize":0,"breastsize":3},"Niki":{"pronoun":"f","gender":"f","penissize":0,"breastsize":3},"Quinn":{"pronoun":"f","gender":"f","penissize":0,"breastsize":3},"Remy":{"pronoun":"f","gender":"f","penissize":0,"breastsize":3},"Alex":{"pronoun":"f","gender":"f","penissize":0,"breastsize":1},"Great Hawk":{"pronoun":"none","gender":"none","penissize":0,"breastsize":0}},"starting":{"player":{"gender":"f","gender_body":"f","ballsExist":false,"freckles":false,"breastsize":3,"penissize":1,"bottomsize":0},"skinColor":{"natural":"light","range":0},"bodysize":3,"breastsensitivity":1,"genitalsensitivity":1,"eyeselect":"purple","hairselect":"red","hairlength":200,"awareselect":"innocent","background":"waif","gamemode":"normal","asphyxiaLvl":3,"pbdisable":"t"}}'>>
 		<<case "femaleWaif">>
 			<<set _preset to '{"starting":{"player":{"gender":"f","gender_body":"f","ballsExist":false,"freckles":false,"breastsize":3,"penissize":1,"bottomsize":0},"skinColor":{"natural":"light","range":0},"bodysize":3,"breastsensitivity":1,"genitalsensitivity":1,"eyeselect":"purple","hairselect":"red","hairlength":200,"awareselect":"innocent","background":"waif"}}'>>
 		<<case "maleWaif">>
@@ -51,13 +51,13 @@
 		<<case "monstersAll">>
 			<<set _preset to '{"general":{"monsterchance":100,"monsterhallucinations":"f","blackwolfmonster":2,"greathawkmonster":2,"bestialitydisable":"f"}}'>>
 		<<case "kinkDefault">>
-			<<set _preset to '{"general":{"bestialitydisable":"f","swarmdisable":"f","swarmdisable":"f","slimedisable":"f","voredisable":"f","tentacledisable":"f","plantdisable":"f","analdisable":"f","analdoubledisable":"f","footdisable":"f","analingusdisablegiving":"f","analingusdisablereceiving":"f","vaginaldoubledisable":"f","transformdisable":"f","transformdisabledivine":"f","breastfeedingdisable":"f","analpregdisable":"f","watersportsdisable":"f","facesitdisable":"f","spiderdisable":"f","bodywritingdisable":"f","parasitedisable":"f","slugdisable":"f","waspdisable":"f","lurkerdisable":"f","beedisable":"f","horsedisable":"f","pregnancyspeechdisable":"f","toydildodisable":"f","toywhipdisable":"f"}}'>>
+			<<set _preset to '{"general":{"bestialitydisable":"f","swarmdisable":"f","swarmdisable":"f","slimedisable":"f","voredisable":"f","tentacledisable":"f","plantdisable":"f","analdisable":"f","analdoubledisable":"f","footdisable":"f","analingusdisablegiving":"f","analingusdisablereceiving":"f","vaginaldoubledisable":"f","transformdisable":"f","transformdisabledivine":"f","breastfeedingdisable":"f","parasitepregdisable":"f","watersportsdisable":"f","facesitdisable":"f","spiderdisable":"f","bodywritingdisable":"f","parasitedisable":"f","slugdisable":"f","waspdisable":"f","lurkerdisable":"f","beedisable":"f","horsedisable":"f","pregnancyspeechdisable":"f","toydildodisable":"f","toywhipdisable":"f"}}'>>
 		<<case "kinkVanilla">>
-			<<set _preset to '{"general":{"bestialitydisable":"t","swarmdisable":"t","swarmdisable":"t","slimedisable":"t","voredisable":"t","tentacledisable":"t","plantdisable":"t","analdisable":"f","analdoubledisable":"t","footdisable":"f","analingusdisablegiving":"f","analingusdisablereceiving":"f","vaginaldoubledisable":"t","transformdisable":"f","transformdisabledivine":"f","breastfeedingdisable":"t","analpregdisable":"t","watersportsdisable":"t","facesitdisable":"t","spiderdisable":"t","bodywritingdisable":"f","parasitedisable":"t", "slugdisable":"t","waspdisable":"t","lurkerdisable":"t","beedisable":"t","horsedisable":"t","pregnancyspeechdisable":"f","toydildodisable":"f","toywhipdisable":"f"}}'>>
+			<<set _preset to '{"general":{"bestialitydisable":"t","swarmdisable":"t","swarmdisable":"t","slimedisable":"t","voredisable":"t","tentacledisable":"t","plantdisable":"t","analdisable":"f","analdoubledisable":"t","footdisable":"f","analingusdisablegiving":"f","analingusdisablereceiving":"f","vaginaldoubledisable":"t","transformdisable":"f","transformdisabledivine":"f","breastfeedingdisable":"t","parasitepregdisable":"t","watersportsdisable":"t","facesitdisable":"t","spiderdisable":"t","bodywritingdisable":"f","parasitedisable":"t", "slugdisable":"t","waspdisable":"t","lurkerdisable":"t","beedisable":"t","horsedisable":"t","pregnancyspeechdisable":"f","toydildodisable":"f","toywhipdisable":"f"}}'>>
 		<<case "kinkNoBeasts">>
-			<<set _preset to '{"general":{"bestialitydisable":"t","swarmdisable":"t","swarmdisable":"t","slimedisable":"f","voredisable":"t","tentacledisable":"f","plantdisable":"f","analdisable":"f","analdoubledisable":"f","footdisable":"f","analingusdisablegiving":"f","analingusdisablereceiving":"f","vaginaldoubledisable":"f","transformdisable":"f","transformdisabledivine":"f","breastfeedingdisable":"f","analpregdisable":"t","watersportsdisable":"f","facesitdisable":"f","spiderdisable":"t","bodywritingdisable":"f","parasitedisable":"t","slugdisable":"t","waspdisable":"t","lurkerdisable":"t","beedisable":"t","horsedisable":"t","pregnancyspeechdisable":"f","toydildodisable":"f","toywhipdisable":"f"}}'>>
+			<<set _preset to '{"general":{"bestialitydisable":"t","swarmdisable":"t","swarmdisable":"t","slimedisable":"f","voredisable":"t","tentacledisable":"f","plantdisable":"f","analdisable":"f","analdoubledisable":"f","footdisable":"f","analingusdisablegiving":"f","analingusdisablereceiving":"f","vaginaldoubledisable":"f","transformdisable":"f","transformdisabledivine":"f","breastfeedingdisable":"f","parasitepregdisable":"t","watersportsdisable":"f","facesitdisable":"f","spiderdisable":"t","bodywritingdisable":"f","parasitedisable":"t","slugdisable":"t","waspdisable":"t","lurkerdisable":"t","beedisable":"t","horsedisable":"t","pregnancyspeechdisable":"f","toydildodisable":"f","toywhipdisable":"f"}}'>>
 		<<case "kinkEverything">>
-			<<set _preset to '{"general":{"bestialitydisable":"f","swarmdisable":"f","swarmdisable":"f","slimedisable":"f","voredisable":"f","tentacledisable":"f","plantdisable":"f","analdisable":"f","analdoubledisable":"f","footdisable":"f","analingusdisablegiving":"f","analingusdisablereceiving":"f","vaginaldoubledisable":"f","transformdisable":"f","transformdisabledivine":"f","breastfeedingdisable":"f","analpregdisable":"f","watersportsdisable":"f","facesitdisable":"f","spiderdisable":"f","bodywritingdisable":"f","parasitedisable":"f","slugdisable":"f","waspdisable":"f","lurkerdisable":"f","beedisable":"f","horsedisable":"f","pregnancyspeechdisable":"f","toydildodisable":"f","toywhipdisable":"f"}}'>>
+			<<set _preset to '{"general":{"bestialitydisable":"f","swarmdisable":"f","swarmdisable":"f","slimedisable":"f","voredisable":"f","tentacledisable":"f","plantdisable":"f","analdisable":"f","analdoubledisable":"f","footdisable":"f","analingusdisablegiving":"f","analingusdisablereceiving":"f","vaginaldoubledisable":"f","transformdisable":"f","transformdisabledivine":"f","breastfeedingdisable":"f","parasitepregdisable":"f","watersportsdisable":"f","facesitdisable":"f","spiderdisable":"f","bodywritingdisable":"f","parasitedisable":"f","slugdisable":"f","waspdisable":"f","lurkerdisable":"f","beedisable":"f","horsedisable":"f","pregnancyspeechdisable":"f","toydildodisable":"f","toywhipdisable":"f"}}'>>
 		<<case "gameNormal">>
 			<<set _preset to '{"general":{"alluremod":1,"cheatdisabletoggle":"t","checkstyle":"words","clothesPrice":1,"multipleWardrobes":"isolated"},"starting":{"gamemode":"normal"}}'>>
 		<<case "gameSoft">>
diff --git a/game/04-Variables/variables-static.twee b/game/04-Variables/variables-static.twee
index 32558c95e8..3ae19aceff 100644
--- a/game/04-Variables/variables-static.twee
+++ b/game/04-Variables/variables-static.twee
@@ -596,6 +596,11 @@ and are required for processing for loops, default objects, etc.*/
 		"name": "bottom growth blocker pills",
 		"price": 20000,
 	},
+	"Anti-Parasite Cream": {
+		"type": "Anti-Parasite Cream",
+		"name": "Anti-parasite Cream",
+		"price": 25000,
+	},
 	"condoms": {
 		"type": "condoms",
 		"name": "condoms",
diff --git a/game/04-Variables/variables-versionUpdate.twee b/game/04-Variables/variables-versionUpdate.twee
index 48bdd32199..79697ed21e 100644
--- a/game/04-Variables/variables-versionUpdate.twee
+++ b/game/04-Variables/variables-versionUpdate.twee
@@ -234,10 +234,6 @@
 	<<set $transformdisable to "f">>
 <</if>>
 
-<<if $analpregdisable is undefined>>
-	<<set $analpregdisable to "f">>
-<</if>>
-
 <<if $robindebtlimit is undefined and $docksrobinintro is 1>>
 	<<set $robindebtlimit to 5>>
 	<<if $robindebt gte $robindebtlimit>>
@@ -3039,35 +3035,32 @@
 	<!-- v0.3.7.4: An old pregnancy code issue where .fertilize was used and not updated. -->
 	<<script>>
 		const pregnancy = V.sexStats.anus.pregnancy;
-		if (pregnancy.hasOwnProperty('fertilized')) {
-			pregnancy.fertilised = pregnancy.fertilized;
-			delete pregnancy.fertilized;
-		}
-		for (let i = 0; i < pregnancy.maxCount; i++) {
-			const slot = pregnancy[i];
-			if (slot != null && slot.hasOwnProperty('fertilized')) {
-				slot.fertilised = slot.fertilized;
-				delete slot.fertilized;
+		if(Array.isArray(pregnancy.fetus)){
+			for (let i = 0; i < pregnancy.fetus.length; i++) {
+				const slot = pregnancy.fetus[i];
+				if (slot != undefined && slot.hasOwnProperty('fertilized')) {
+					slot.fertilised = slot.fertilized;
+					delete slot.fertilized;
+				}
 			}
-		}
-		/* Part 2: Futa manipulation. */
-		let hasFuta = false;
-		for (let i = 0; i < pregnancy.maxCount; i++) {
-			const slot = pregnancy[i];
-			if (slot != null && slot.stats != null && slot.stats.gender === 'Futa') {
-				if (hasFuta) {
-					/* Abort the futa. */
-					pregnancy[i] = null;
-					pregnancy.count -= 1;
-				} else {
-					hasFuta = true;
-					if (pregnancy.seenDoctor < 2) {
-						pregnancy.seenDoctor = 2;
+			/* Part 2: Futa manipulation. */
+			let hasFuta = false;
+			for (let i = 0; i < pregnancy.fetus.length; i++) {
+				const slot = pregnancy.fetus[i];
+				if (slot != undefined && slot.stats != null && slot.stats.gender === 'Futa') {
+					if (hasFuta) {
+						/* Abort the futa. */
+						pregnancy.fetus[i].toDelete = true;
+					} else {
+						hasFuta = true;
+						if (V.pregnancyStats.parasiteDoctorEvents < 2) {
+							V.pregnancyStats.parasiteDoctorEvents = 2;
+						}
+						pregnancy.motherStatus = 2;
 					}
-					pregnancy.motherStatus = 2;
-					pregnancy.maxCount = 4;
 				}
 			}
+			V.sexStats.anus.pregnancy.fetus = V.sexStats.anus.pregnancy.fetus.filter(p => p && !p.toDelete);
 		}
 	<</script>>
 
@@ -3688,10 +3681,14 @@
 	<</if>>
 
 	<!-- To update the player and named npc pregnancy objects from numbers to a single array -->
-	<<if $sexStats.vagina.pregnancy.fetus is undefined>>
+	<<if $sexStats.vagina.pregnancy.fetus is undefined || $sexStats.vagina.pregnancy.anus is undefined>>
 		<<physicalAdjustmentsInit>>
 	<</if>>
 	<<npcPregnancyUpdater>><!--Has checks to make sure it only changes data when required, don't block behind a check-->
+	<<if $parasitepregdisable is undefined>>
+		<<set $parasitepregdisable to $analpregdisable>>
+		<<unset $analpregdisable>>
+	<</if>>
 
 	<!-- v0.3.12.4: zoom fix-->
 	<<if $zoom is undefined>>
diff --git a/game/base-combat/actions-anus.twee b/game/base-combat/actions-anus.twee
index 62ab633725..0309a23c6d 100644
--- a/game/base-combat/actions-anus.twee
+++ b/game/base-combat/actions-anus.twee
@@ -261,7 +261,7 @@
 					<<set $rightarm to 0>>
 				<</if>>
 				<span class="lblue">You straddle <<combatperson>> and press <<his>> <<npcPenis $anustarget>> with your <<bottom>>.</span>
-				<<if $NPCList[$anustarget].type is "plant" and $NPCList[$anustarget].penissize gte 4>>
+				<<if $NPCList[$anustarget].type is "plant" and $NPCList[$anustarget].penissize gte 4 and canImpregnateParasite("anus")>>
 					<span class="red">Something about it scares you.</span>
 				<</if>>
 				<<if $condomUse is false>>
diff --git a/game/base-combat/actions-vagina.twee b/game/base-combat/actions-vagina.twee
index 580cdf1f2e..93e4a60578 100644
--- a/game/base-combat/actions-vagina.twee
+++ b/game/base-combat/actions-vagina.twee
@@ -349,6 +349,9 @@
 					<span class="green"><<He>> slips a condom on <<his>> penis.</span>
 				<</if>>
 				<span class="lblue">You straddle <<combatperson>> and kiss <<his>> $NPCList[$vaginatarget].penisdesc with your <<pussy>><<if $NPCList[$vaginatarget].chastity.penis.includes("chastity")>> through <<his>> $NPCList[$vaginatarget].chastity.penis<</if>>.</span>
+				<<if $NPCList[$vaginatarget].type is "plant" and $NPCList[$vaginatarget].penissize gte 4 and canImpregnateParasite("vagina")>>
+					<span class="red">Something about it scares you.</span>
+				<</if>>
 				<<if $enemytype is "beast">><<set $NPCList[$vaginatarget].stance to "top">><</if>>
 				<<set $NPCList[$vaginatarget].location.genitals to "genitals">>
 			<<else>>
diff --git a/game/base-combat/actionsGeneration.twee b/game/base-combat/actionsGeneration.twee
index b0a547790a..a9a61e0fa5 100644
--- a/game/base-combat/actionsGeneration.twee
+++ b/game/base-combat/actionsGeneration.twee
@@ -2843,6 +2843,7 @@
 <<widget "actionsOmni">>
 <<exposure>>
 
+/*ToDo: Pregnancy, remove to properly enable*/
 <<if $pregnancyTesting is undefined>>
 	<<set $condomUse to false>>
 <</if>>
diff --git a/game/base-combat/effects.twee b/game/base-combat/effects.twee
index deb841aee6..7b0b7d097f 100644
--- a/game/base-combat/effects.twee
+++ b/game/base-combat/effects.twee
@@ -4585,7 +4585,7 @@
 		<<if combatSkillCheck("anal", $vaginatarget)>>
 			<<personselect $vaginatarget>>
 			<span class="blue">You give your <<bottom>> a little wiggle, <<combatperson>> responds to the provocation and moves <<his>> <<npcPenisSimple $vaginatarget>> in front of your butt.</span>
-			<<if $NPCList[$vaginatarget].type is "plant" and $NPCList[$vaginatarget].penissize gte 4>>
+			<<if $NPCList[$vaginatarget].type is "plant" and $NPCList[$vaginatarget].penissize gte 4 and canImpregnateParasite("vagina")>>
 				<span class="red">Something about it scares you.</span>
 			<</if>>
 			<<submission 2>><<set $anususe to "penis">><<set $NPCList[$vaginatarget].penis to "anusentrance">><<set $vaginause to 0>><<set $anusstate to "entrance">><<set $vaginastate to 0>>
@@ -4627,7 +4627,7 @@
 			<</if>>
 			<<personselect _npcA>>
 			<span class="blue">You give your <<bottom>> a little wiggle, <<combatperson>> responds to the provocation and moves <<his>> penis in front of your butt.</span>
-			<<if $NPCList[_npcA].type is "plant" and $NPCList[_npcA].penissize gte 4>>
+			<<if $NPCList[_npcA].type is "plant" and $NPCList[_npcA].penissize gte 4 and canImpregnateParasite("anus")>>
 				<span class="red">Something about it scares you.</span>
 			<</if>>
 			<<submission 2>><<set $anususe to "penis">><<set $NPCList[_npcA].penis to "anusentrance">><<set $vaginause to "penis">><<set $anusstate to "entrance">>
@@ -4962,6 +4962,9 @@
 		<<personselect _j>>
 		<<submission 2 _j>><<set $vaginause to "penisdouble">><<set $NPCList[_j].penis to "vaginaentrancedouble">><<set $anususe to 0>><<set $vaginastate to "double" + $vaginastate>><<set $anusstate to 0>>
 		<span class="lblue">You spread your thighs, giving clear access to your pussy, and <<combatperson>> takes advantage and moves <<his>> penis away from your butt to join the phallus in front of your pussy.</span>
+		<<if $NPCList[_j].type is "plant" and $NPCList[_j].penissize gte 4 and canImpregnateParasite("vagina")>>
+			<span class="red">Something about it scares you.</span>
+		<</if>>
 
 		<<set $vaginadoubletarget to _j>>
 		<<unset _npc>>
@@ -5621,7 +5624,7 @@
 	<<if combatSkillCheck("anal", $penistarget)>>
 		<<personselect $penistarget>><<set $anustarget to $penistarget>>
 		<span class="blue">You give your <<bottom>> a little wiggle, <<combatperson>> responds to the provocation and moves <<his>> <<npcPenis $penistarget>> in front of your butt.</span>
-		<<if $NPCList[$penistarget].type is "plant" and $NPCList[$penistarget].penissize gte 4>>
+		<<if $NPCList[$penistarget].type is "plant" and $NPCList[$penistarget].penissize gte 4 and canImpregnateParasite("anus")>>
 			<span class="red">Something about it scares you.</span>
 		<</if>>
 		<<submission 2>><<set $anususe to "penis">><<set $NPCList[$penistarget].penis to "anusentrance">><<set $penisuse to 0>><<set $anusstate to "entrance">><<set $penisstate to 0>>
diff --git a/game/base-combat/ejaculation-eden.twee b/game/base-combat/ejaculation-eden.twee
index 845256a870..f11acc5dd9 100644
--- a/game/base-combat/ejaculation-eden.twee
+++ b/game/base-combat/ejaculation-eden.twee
@@ -424,14 +424,17 @@
 		<<case 1 2 3>>
 			<<He>> moans and thrusts <<his>> $NPCList[_nn].penisdesc deep into your <<bottom>> as <<he>> cums. You gasp as you take <<his>> entire length, <<his>> warm semen filling you.
 			<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
+			<<recordAnusSperm "pc" $NPCList[_nn].fullDescription "human">>
 		<<case 4 5 6>>
 			<<He>> grasps your shoulders and pulls you against <<his>> $NPCList[_nn].penisdesc as <<he>> cums. <<His>> cock twitches as it fills you.
 			<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
+			<<recordAnusSperm "pc" $NPCList[_nn].fullDescription "human">>
 		<<case 7>>
 			<<He>> convulses and, with a final thrust, cums in your ass. Thick waves of semen pump into you. It drips down your thighs
 
 			<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
 			<<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">>
+			<<recordAnusSperm "pc" $NPCList[_nn].fullDescription "human">>
 		<</switch>>
 	<<elseif $NPCList[_nn].penis is "chest">>
 		<<switch random(1, 7)>>
@@ -736,14 +739,17 @@
 		<<case 1 2 3>>
 			<<He>> moans as <<he>> cums, <<his>> $NPCList[_nn].penisdesc pounding your <<bottom>> without mercy. <<His>> entire length fills you, pumping warm semen deep within.
 			<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
+			<<recordAnusSperm "pc" $NPCList[_nn].fullDescription "human">>
 		<<case 4 5 6>>
 			<<He>> grasps your shoulders and pulls you against <<his>> $NPCList[_nn].penisdesc as <<he>> cums, pushing <<his>> entire length into you. Semen fills you as you cry out.
 			<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
+			<<recordAnusSperm "pc" $NPCList[_nn].fullDescription "human">>
 		<<case 7>>
 			<<He>> convulses and, with a final thrust, cums into your ass. Thick waves of semen pump into you. Semen drips over your thighs. "You're a mess," <<he>> gasps. "Go clean yourself up."
 
 			<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
 			<<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">>
+			<<recordAnusSperm "pc" $NPCList[_nn].fullDescription "human">>
 		<</switch>>
 	<<elseif $NPCList[_nn].penis is "chest">>
 		<<switch random(1, 7)>>
diff --git a/game/base-combat/ejaculation-gloryhole.twee b/game/base-combat/ejaculation-gloryhole.twee
index da38051f3c..fc1e856633 100644
--- a/game/base-combat/ejaculation-gloryhole.twee
+++ b/game/base-combat/ejaculation-gloryhole.twee
@@ -416,14 +416,17 @@
 				<<He>> moans, pounding your ass as <<he>> cums. You groan as semen streams into your asshole.
 				<br><br>
 				<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
+				<<recordAnusSperm "pc" $NPCList[0].fullDescription "human">>
 			<<case 4 5 6>>
 				<<He>> pushes hard into your <<bottom>> as <<he>> cums, and you mash your <<bottom>> against the wall in response. Semen fills you as moan with pleasure.
 				<br><br>
 				<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
+				<<recordAnusSperm "pc" $NPCList[0].fullDescription "human">>
 			<<case 7>>
 				<<He>> convulses and with a final shove, cums in your ass. Thick waves of semen pump into you. <span class="blue">You gasp as your ass overflows;</span> cum oozes from your ass and runs down your legs. "I can't see your face, but I bet you love being fucked in the ass."
 				<br><br>
 				<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
+				<<recordAnusSperm "pc" $NPCList[0].fullDescription "human">>
 				<<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">>
 			<</switch>>
 		<<elseif $NPCList[0].penis is "chest">>
diff --git a/game/base-combat/ejaculation-kylar.twee b/game/base-combat/ejaculation-kylar.twee
index 026e93bfd1..7f202003e8 100644
--- a/game/base-combat/ejaculation-kylar.twee
+++ b/game/base-combat/ejaculation-kylar.twee
@@ -453,15 +453,18 @@
 			<<He>> moans and thrusts into your ass as <<he>> cums. You gasp as you feel semen filling you.
 
 			<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
+			<<recordAnusSperm "pc" $NPCList[_nn].fullDescription "human">>
 		<<case 4 5 6>>
 			<<He>> wordlessly grabs your shoulders, pulling you back onto <<his>> cock as <<he>> cums. Semen fills your ass as you moan with pleasure.
 
 			<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
+			<<recordAnusSperm "pc" $NPCList[_nn].fullDescription "human">>
 		<<case 7>>
 			<<He>> convulses and, with a final shove, cums in your ass. Thick waves of semen pump into you. You're surprised at the amount; cum oozes from your ass and runs down your legs.
 
 			<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
 			<<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">>
+			<<recordAnusSperm "pc" $NPCList[_nn].fullDescription "human">>
 		<</switch>>
 	<<elseif $NPCList[_nn].penis is "chest">>
 		<<switch random(1, 7)>>
@@ -865,18 +868,21 @@
 		<<case 1 2 3>>
 			<<He>> moans, pounding your ass mercilessly as <<he>> cums. You whimper as you feel unwelcome semen streaming in your asshole.
 
-			<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
+			<<analejacstat>><<ejacstat>><<set $hygiene += 500>>
+			<<recordAnusSperm "pc" $NPCList[_nn].fullDescription "human">>
 		<<case 4 5 6>>
 			<<He>> wordlessly grabs your hair, pulling you hard onto <<his>> cock as <<he>> cums. Semen fills you as you cry out. "I know you'll come to love me as much as I love you."
 
 			<<set $kylarSeen.pushUnique("saidLove")>>
 			<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
+			<<recordAnusSperm "pc" $NPCList[_nn].fullDescription "human">>
 		<<case 7>>
 			<<He>> convulses and with a final shove, cums in your ass. Thick waves of semen pump into you. <span class="blue">You gasp as your ass overflows;</span> cum oozes from your ass and runs down your legs. "No one will ever love you as much as I do."
 
 			<<set $kylarSeen.pushUnique("saidLove")>>
 			<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
 			<<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">>
+			<<recordAnusSperm "pc" $NPCList[_nn].fullDescription "human">>
 		<</switch>>
 	<<elseif $NPCList[_nn].penis is "chest">>
 		<<switch random(1, 7)>>
diff --git a/game/base-combat/ejaculation-leighton.twee b/game/base-combat/ejaculation-leighton.twee
index 6ea4cabdb0..1f83e958d8 100644
--- a/game/base-combat/ejaculation-leighton.twee
+++ b/game/base-combat/ejaculation-leighton.twee
@@ -428,15 +428,18 @@
 			<<He>> moans and thrusts deeply into your ass as <<he>> cums. You gasp as you take <<his>> entire length, and feel semen filling your insides.
 
 			<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
+			<<recordAnusSperm "pc" $NPCList[_nn].fullDescription "human">>
 		<<case 4 5 6>>
 			<<He>> wordlessly grabs your shoulders, pulling you back onto <<his>> cock as <<he>> cums. Semen fills your ass as you moan with pleasure.
 
 			<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
+			<<recordAnusSperm "pc" $NPCList[_nn].fullDescription "human">>
 		<<case 7>>
 			<<He>> convulses and, with a final shove, cums in your ass. Thick waves of semen pump into you. It's more than you can hold; cum oozes from your ass and runs down your legs.
 
 			<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
 			<<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">>
+			<<recordAnusSperm "pc" $NPCList[_nn].fullDescription "human">>
 		<</switch>>
 	<<elseif $NPCList[_nn].penis is "chest">>
 		<<switch random(1, 7)>>
@@ -778,15 +781,18 @@
 			<<He>> moans, pounding your ass mercilessly as <<he>> cums. You whimper as you take <<his>> entire length, and feel unwelcome semen streaming in your asshole.
 
 			<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
+			<<recordAnusSperm "pc" $NPCList[_nn].fullDescription "human">>
 		<<case 4 5 6>>
 			<<He>> wordlessly grabs your hair, pulling you hard onto <<his>> cock as <<he>> cums. Semen fills you as you cry out, <<his>> girth stretching your anus.
 
 			<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
+			<<recordAnusSperm "pc" $NPCList[_nn].fullDescription "human">>
 		<<case 7>>
 			<<He>> convulses and with a final shove, cums in your ass. Thick waves of semen pump into you. <span class="blue">You gasp as your ass overflows;</span> cum oozes from your ass and runs down your legs. "Such a mess. With more training, you'll be able to better control yourself."
 
 			<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
 			<<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">>
+			<<recordAnusSperm "pc" $NPCList[_nn].fullDescription "human">>
 		<</switch>>
 	<<elseif $NPCList[_nn].penis is "chest">>
 		<<switch random(1, 7)>>
diff --git a/game/base-combat/ejaculation-pillory.twee b/game/base-combat/ejaculation-pillory.twee
index ffa8d939d7..4f1b2245b6 100644
--- a/game/base-combat/ejaculation-pillory.twee
+++ b/game/base-combat/ejaculation-pillory.twee
@@ -316,6 +316,7 @@
 				<<He>> convulses and, with a final shove of <<his>> $NPCList[_nn].penisdesc cums in your ass. Thick waves of semen pump into you. <span class="blue">You gasp as your ass overflows;</span> cum oozes from your <<bottom>> and runs down your legs. "You need to learn how to take a cock, you sloppy pig."
 				<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
 				<<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">>
+				<<recordAnusSperm "pc" $NPCList[_nn].fullDescription "human">>
 				<br><br>
 			<<case 1>>
 				<<He>> moans as a pathetic dribble of cum leaks from <<his>> $NPCList[_nn].penisdesc and onto your <<bottom>>.
@@ -326,15 +327,18 @@
 					<<He>> moans, pounding your ass mercilessly as <<he>> cums. You whimper as you take <<his>> entire length, and feel unwelcome semen streaming in your asshole.
 					<br><br>
 					<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
+					<<recordAnusSperm "pc" $NPCList[_nn].fullDescription "human">>
 				<<case 4 5 6>>
 					<<He>> grabs the stocks for better grip, pushing hard into your <<bottom>> as <<he>> cums, mashing your body into the pillory. Semen fills you as you cry out, <<his>> girth stretching your anus.
 					<br><br>
 					<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
+					<<recordAnusSperm "pc" $NPCList[_nn].fullDescription "human">>
 				<<case 7>>
 					<<He>> convulses and with a final shove, cums in your ass. Thick waves of semen pump into you. <span class="blue">You gasp as your ass overflows;</span> cum oozes from your <<bottom>> and runs down your legs. "Ass fucked in public like the whore you are, with your <<lewdness>> for all to see."
 					<br><br>
 					<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
 					<<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">>
+					<<recordAnusSperm "pc" $NPCList[_nn].fullDescription "human">>
 				<</switch>>
 			<</switch>>
 		<<elseif $NPCList[_nn].penis is "chest">>
diff --git a/game/base-combat/ejaculation-plant.twee b/game/base-combat/ejaculation-plant.twee
index 82d9406536..97f454e628 100644
--- a/game/base-combat/ejaculation-plant.twee
+++ b/game/base-combat/ejaculation-plant.twee
@@ -289,12 +289,13 @@
 		<<if $NPCList[_nn].mouth is "kissimminent" or $NPCList[_nn].mouth is "kiss">>
 			<<switch $NPCList[_nn].penissize>>
 				<<case 4>>
-					<<He>> convulses and grinds into your crotch as <<he>> cums, <<his>> $NPCList[_nn].penisdesc sending sticky waves of nectar deep into your <<pussy>>. "You're way better than a vine," <<he>> murmurs into your mouth.
+					<<He>> convulses and grinds into your crotch as <<he>> cums, <<his>> $NPCList[_nn].penisdesc sending sticky waves of nectar <<if canImpregnateParasite("vagina")>><span class="red">alongside something else </span><</if>>deep into your <<pussy>>. "You're way better than a vine," <<he>> murmurs into your mouth.
 					<<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "nectar">>
 					/* ToDo: Pregnancy, figure out how plantpeople interact with pregnancy
 					<<recordVaginalSperm "pc" $NPCList[_nn].fullDescription "plant">> */
 					<<vaginalentranceejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "nectar">>
 					<<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "nectar">>
+					<<impregnateParasite "vine" 400 "vagina">><<fertiliseParasites "vagina">>
 				<<case 1>>
 					<<He>> moans as a dribble of nectar leaks from <<his>> $NPCList[_nn].penisdesc into your <<pussy>>. You snicker into <<his>> mouth. "Shut up," <<he>> mumbles into yours. "Don't laugh."
 				<<default>>
@@ -310,12 +311,13 @@
 		<<else>>
 			<<switch $NPCList[_nn].penissize>>
 				<<case 4>>
-					<<He>> convulses and grinds into your crotch as <<he>> cums, <<his>> $NPCList[_nn].penisdesc sending sticky waves of nectar deep into your <<pussy>>. "You're way better than a vine," <<he>> murmurs in your ear.
+					<<He>> convulses and grinds into your crotch as <<he>> cums, <<his>> $NPCList[_nn].penisdesc sending sticky waves of nectar <<if canImpregnateParasite("vagina")>><span class="red">alongside something else </span><</if>>deep into your <<pussy>>. "You're way better than a vine," <<he>> murmurs in your ear.
 					<<vaginalejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "vagina" "nectar">>
 					/* ToDo: Pregnancy, figure out how plantpeople interact with pregnancy
 					<<recordVaginalSperm "pc" $NPCList[_nn].fullDescription "plant">> */
 					<<vaginalentranceejacstat>><<set $hygiene += 500>><<bodyliquid "vaginaoutside" "nectar">>
 					<<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "nectar">>
+					<<impregnateParasite "vine" 400 "vagina">><<fertiliseParasites "vagina">>
 				<<case 1>>
 					<<He>> moans as a dribble of nectar leaks from <<his>> $NPCList[_nn].penisdesc into your <<pussy>>. You restrain a snicker. "Shut up," <<he>> mutters. "I-I have vines, okay? Don't laugh."
 				<<default>>
@@ -393,9 +395,9 @@
 		<<if $NPCList[_nn].mouth is "kissimminent" or $NPCList[_nn].mouth is "kiss">>
 			<<switch $NPCList[_nn].penissize>>
 				<<case 4>>
-					<<He>> convulses and grinds into your crotch as <<he>> cums, <<his>> $NPCList[_nn].penisdesc sending sticky waves of nectar <span class="red">alongside something else</span> deep into your anus. "Something to remember me by," <<he>> murmurs, biting your lip.
+					<<He>> convulses and grinds into your crotch as <<he>> cums, <<his>> $NPCList[_nn].penisdesc sending sticky waves of nectar <<if canImpregnateParasite("anus")>><span class="red">alongside something else </span><</if>>deep into your anus. "Something to remember me by," <<he>> murmurs, biting your lip.
 					<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "nectar">>
-					<<impregnate "vine" 400>><<fertilise>>
+					<<impregnateParasite "vine" 400>><<fertiliseParasites>>
 				<<case 1>>
 					<<He>> moans as a dribble of nectar leaks from <<his>> $NPCList[_nn].penisdesc into your anus. "Shut up," <<he>> mumbles into your mouth. "Don't laugh."
 				<<default>>
@@ -409,9 +411,9 @@
 		<<else>>
 			<<switch $NPCList[_nn].penissize>>
 				<<case 4>>
-					<<He>> convulses and, with a final shove of <<his>> $NPCList[_nn].penisdesc, cums in your ass. You gasp as sticky waves of nectar <span class="red">alongside something else</span> pump into you. "Something to remember me by," <<he>> whispers huskily.
+					<<He>> convulses and, with a final shove of <<his>> $NPCList[_nn].penisdesc, cums in your ass. You gasp as sticky waves of nectar <<if canImpregnateParasite("anus")>><span class="red">alongside something else </span><</if>>pump into you. "Something to remember me by," <<he>> whispers huskily.
 					<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "nectar">>
-					<<impregnate "vine" 400>><<fertilise>>
+					<<impregnateParasite "vine" 400>><<fertiliseParasites>>
 				<<case 1>>
 					<<He>> moans as a dribble of nectar leaks from <<his>> $NPCList[_nn].penisdesc into your anus. "Shut up," <<he>> mutters. "I-I have vines, okay? Don't laugh."
 				<<default>>
diff --git a/game/base-combat/ejaculation-robin.twee b/game/base-combat/ejaculation-robin.twee
index c6ae16530a..e55d4a0492 100644
--- a/game/base-combat/ejaculation-robin.twee
+++ b/game/base-combat/ejaculation-robin.twee
@@ -348,6 +348,7 @@
 				<<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">>
 		<</switch>>
 		<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
+		<<recordAnusSperm "pc" $NPCList[_nn].fullDescription "human">>
 	<<elseif $NPCList[_nn].penis is "chest">>
 		<<switch random(1, 7)>>
 			<<case 1 2 3>>
diff --git a/game/base-combat/ejaculation-sydney.twee b/game/base-combat/ejaculation-sydney.twee
index 9a7df2f059..fcb0f03d67 100644
--- a/game/base-combat/ejaculation-sydney.twee
+++ b/game/base-combat/ejaculation-sydney.twee
@@ -726,21 +726,25 @@
 			<<He>> moans loudly as <<he>> releases a full load into your bowels. "Well... at least you can still be considered pure." <<npcincr Sydney purity -5>><<llspurity>>
 			<br><br>
 			<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
+			<<recordAnusSperm "pc" $NPCList[_nn].fullDescription "human">>
 		<<else>>
 			<<switch _sydneyStatus>>
 				<<case "pure" "pureLust">>
 					<<He>> moans and instinctively thrusts into your ass as <<he>> cums. You gasp as you feel semen filling you. "Th...this can't be done for procreation..." <<npcincr Sydney purity -5>><<llspurity>>
 					<br><br>
 					<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
+					<<recordAnusSperm "pc" $NPCList[_nn].fullDescription "human">>
 				<<case "corrupt" "corruptLust">>
 					<<He>> convulses and, with a final shove, cums in your ass. Thick waves of semen pump into you. You're surprised at the amount; cum oozes from your ass and runs down your legs. <<npcincr Sydney purity -5>><<llspurity>>
 					<br><br>
 					<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
+					<<recordAnusSperm "pc" $NPCList[_nn].fullDescription "human">>
 				<<default>>
 					<<He>> grabs your shoulders, pulling you back onto <<his>> cock as <<he>> cums. Semen fills your ass as you both moan with pleasure. <<npcincr Sydney purity -5>><<llspurity>>
 					<br><br>
 					<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
 					<<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">>
+					<<recordAnusSperm "pc" $NPCList[_nn].fullDescription "human">>
 			<</switch>>
 		<</if>>
 	<<elseif $NPCList[_nn].penis is "chest">>
@@ -1193,15 +1197,18 @@
 			<<He>> moans, pounding your ass mercilessly as <<he>> cums. You whimper as you feel unwelcome semen streaming in your asshole.
 			<br><br>
 			<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
+			<<recordAnusSperm "pc" $NPCList[_nn].fullDescription "human">>
 		<<case 4 5 6>>
 			<<He>> wordlessly grabs your hair, pulling you hard onto <<his>> cock as <<he>> cums. Semen fills you as you cry out. "Shhh... it's all okay... just enjoy the warmth."
 			<br><br>
 			<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
+			<<recordAnusSperm "pc" $NPCList[_nn].fullDescription "human">>
 		<<case 7>>
 			<<He>> convulses and with a final shove, cums in your ass. Thick waves of semen pump into you. <span class="blue">You gasp as your ass overflows.</span> Cum oozes from your ass and runs down your legs. "I've marked you as mine."
 			<br><br>
 			<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
 			<<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">>
+			<<recordAnusSperm "pc" $NPCList[_nn].fullDescription "human">>
 		<</switch>>
 	<<elseif $NPCList[_nn].penis is "chest">>
 		<<switch random(1, 7)>>
diff --git a/game/base-combat/ejaculation-wall.twee b/game/base-combat/ejaculation-wall.twee
index 2fcb8144ef..71e27929e1 100644
--- a/game/base-combat/ejaculation-wall.twee
+++ b/game/base-combat/ejaculation-wall.twee
@@ -338,6 +338,7 @@
 			<<He>> convulses and, with a final shove of <<his>> $NPCList[_nn].penisdesc cums in your ass. Thick waves of semen pump into you. <span class="blue">You gasp as your ass overflows;</span> cum oozes from your <<bottom>> and runs down your legs. "You need to learn how to take a cock, you sloppy pig."
 			<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
 			<<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">>
+			<<recordAnusSperm "pc" $NPCList[_nn].fullDescription "human">>
 			<br><br>
 		<<case 1>>
 			<<He>> moans as a pathetic dribble of cum leaks from <<his>> $NPCList[_nn].penisdesc and onto your <<bottom>>.
@@ -348,15 +349,18 @@
 				<<He>> moans, pounding your ass mercilessly as <<he>> cums. You whimper as you take <<his>> entire length, and feel unwelcome semen streaming in your asshole.
 				<br><br>
 				<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
+				<<recordAnusSperm "pc" $NPCList[_nn].fullDescription "human">>
 			<<case 4 5 6>>
 				<<He>> grabs your hips for leverage, pushing hard into your <<bottom>> as <<he>> cums, mashing your thighs into the wall. Semen fills you as you cry out, <<his>> girth stretching your anus.
 				<br><br>
 				<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
+				<<recordAnusSperm "pc" $NPCList[_nn].fullDescription "human">>
 			<<case 7>>
 				<<He>> convulses and with a final shove, cums in your ass. Thick waves of semen pump into you. <span class="blue">You gasp as your ass overflows;</span> cum oozes from your <<bottom>> and runs down your legs. "I can't see your face, but I bet you love being fucked in the ass."
 				<br><br>
 				<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
 				<<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">>
+				<<recordAnusSperm "pc" $NPCList[_nn].fullDescription "human">>
 			<</switch>>
 		<</switch>>
 	<<elseif $NPCList[_nn].penis is "chest">>
diff --git a/game/base-combat/ejaculation.twee b/game/base-combat/ejaculation.twee
index d5100128d5..953ebff34e 100644
--- a/game/base-combat/ejaculation.twee
+++ b/game/base-combat/ejaculation.twee
@@ -199,6 +199,7 @@
 				<<if $NPCList[_nn].penis is "anus">>
 					<<He>> ejaculates into your bowels.
 					<<analejacstat>><<ejacstat>><<set $hunger -= 200>><<set $thirst -= 200>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
+					<<recordAnusSperm "pc" $NPCList[_nn].fullDescription `($enemytype is "man" ? "human" : $NPCList[_nn].type)`>>
 				<</if>>
 
 				<<if $NPCList[_nn].penis is "chest">>
@@ -1292,6 +1293,7 @@
 							<<He>> convulses and, with a final shove of <<his>> $NPCList[_nn].penisdesc, cums in your ass. You gasp as thick waves of semen pump into you. It's more than you can hold. Cum runs from your <<bottom>> and down your thighs.
 							<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
 							<<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">>
+							<<recordAnusSperm "pc" $NPCList[_nn].fullDescription `($enemytype is "man" ? "human" : $NPCList[_nn].type)`>>
 						<<case 1>>
 							<<He>> moans as a pathetic dribble of cum leaks from <<his>> $NPCList[_nn].penisdesc and over your <<bottom>>. You manage to hold in your laughter.
 						<<default>>
@@ -1305,6 +1307,7 @@
 								<<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">>
 							<</switch>>
 							<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
+							<<recordAnusSperm "pc" $NPCList[_nn].fullDescription `($enemytype is "man" ? "human" : $NPCList[_nn].type)`>>
 						<</switch>>
 
 					<<elseif $NPCList[_nn].penis is "anusdouble">>
@@ -1345,6 +1348,7 @@
 							<<violence 3>>
 						<</if>>
 						<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
+						<<recordAnusSperm "pc" $NPCList[_nn].fullDescription `($enemytype is "man" ? "human" : $NPCList[_nn].type)`>>
 
 					<<elseif $NPCList[_nn].penis is "anusimminentdouble" or $NPCList[_nn].penis is "anusentrancedouble">>
 						<<set _otherNPCindex to 0>>
@@ -1847,6 +1851,7 @@
 							<<set _postOrgasmSpeech to `"You need to learn how to take a cock. Don't worry, I'm sure you'll get lots of practice."`>>
 							<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
 							<<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">>
+							<<recordAnusSperm "pc" $NPCList[_nn].fullDescription `($enemytype is "man" ? "human" : $NPCList[_nn].type)`>>
 
 						<<case 1>>
 							<<He>> moans as a pathetic dribble of cum leaks from <<his>> $NPCList[_nn].penisdesc and onto your <<bottom>>.
@@ -1863,6 +1868,7 @@
 								<<thighejacstat>><<set $hygiene += 500>><<bodyliquid "thigh" "semen">>
 							<</switch>>
 							<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
+							<<recordAnusSperm "pc" $NPCList[_nn].fullDescription `($enemytype is "man" ? "human" : $NPCList[_nn].type)`>>
 						<</switch>>
 
 					<<elseif $NPCList[_nn].penis is "anusdouble">>
@@ -1906,6 +1912,7 @@
 						<</if>>
 						<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">>
 						<<gstress>><<gtrauma>><<gpain>><<violence 5>><<bruise bottom>><<hitstat>>
+						<<recordAnusSperm "pc" $NPCList[_nn].fullDescription `($enemytype is "man" ? "human" : $NPCList[_nn].type)`>>
 
 					<<elseif $NPCList[_nn].penis is "anusimminentdouble" or $NPCList[_nn].penis is "anusentrancedouble">>
 						<<set _otherNPCindex to 0>>
@@ -2568,6 +2575,7 @@
 		<<bHe>> ejaculates into your bowels.
 	<</if>>
 	<<analejacstat>><<ejacstat>><<set $hygiene += 500>><<bodyliquid "anus" "semen">><<set $hunger -= 200>><<set $thirst -= 200>>
+	<<recordAnusSperm "pc" $NPCList[_jj].fullDescription `($enemytype is "man" ? "human" : $NPCList[_jj].type)`>>
 	<<if _npciswolftype>><<transform wolf 1>><</if>>
 <</if>>
 
@@ -2975,7 +2983,7 @@
 <</widget>>
 
 <<widget "genericCondomEjaculation">>
-<<if $npc isnot $NPCList[_nn].fullDescription>>The <</if>><<print $NPCList[_nn].fullDescription>> ejaculates into the condom.
+<<He>><<print $NPCList[_nn].fullDescription>> ejaculates into the condom.
 <<rng>>
 <<if $rng gte 96>>
 	<<personselect _nn>>
diff --git a/game/base-combat/man-combat.twee b/game/base-combat/man-combat.twee
index 92fc9f290b..bcf73a9732 100644
--- a/game/base-combat/man-combat.twee
+++ b/game/base-combat/man-combat.twee
@@ -2466,6 +2466,9 @@ Hands are 'inverted': NPC holds PC's left hand with their right one, and vice ve
 					<span class="green"><<He>> slips a condom on <<his>> penis.</span>
 				<</if>>
 				<span class="blue"><<He>> angles <<his>> $NPCList[_n].penisdesc towards your <<pussy>>.</span>
+				<<if $NPCList[_n].type is "plant" and $NPCList[_n].penissize gte 4 and canImpregnateParasite("vagina")>>
+					<span class="red">Something about it scares you.</span>
+				<</if>>
 				<<set $thighuse to 0>><<set $NPCList[_n].penis to "vaginaentrance">><<set $vaginause to "penis">><<set $vaginastate to "entrance">><<set $vaginatarget to _n>><<set $speechvaginaentrance to 1>>
 			<<else>>
 				<<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].penisdesc between your thighs and <<pussy>>.
@@ -2491,6 +2494,9 @@ Hands are 'inverted': NPC holds PC's left hand with their right one, and vice ve
 				<span class="green"><<He>> slips a condom on <<his>> penis.</span>
 			<</if>>
 			<span class="blue"><<He>> angles <<his>> $NPCList[_n].penisdesc towards your anus.</span>
+			<<if $NPCList[_n].type is "plant" and $NPCList[_n].penissize gte 4 and canImpregnateParasite("anus")>>
+				<span class="red">Something about it scares you.</span>
+			<</if>>
 			<<set $NPCList[_n].penis to "anusentrance">><<set $anusstate to "entrance">><<set $anustarget to _n>><<set $bottomuse to 0>><<set $cheekactiondefault to "cheeks">><<set $speechanusentrance to 1>>
 		<<else>>
 			<<if $npcSub>>You rub<<else>><<He>> rubs<</if>> <<his>> $NPCList[_n].penisdesc between your cheeks.
@@ -5806,7 +5812,7 @@ Hands are 'inverted': NPC holds PC's left hand with their right one, and vice ve
 				<span class="green"><<He>> slips a condom on <<his>> penis.</span>
 			<</if>>
 			<span class="blue"><<He>> moves between your legs, positioning <<his>> $NPCList[_n].penisdesc in front of your <<bottom>>.</span>
-			<<if $NPCList[_n].type is "plant" and $NPCList[_n].penissize gte 4>>
+			<<if $NPCList[_n].type is "plant" and $NPCList[_n].penissize gte 4 and canImpregnateParasite("anus")>>
 				<span class="red">Something about it scares you.</span>
 			<</if>>
 			<<neutral 5>><<set $anususe to "penis">><<set $NPCList[_n].penis to "anusentrance">><<set $anusstate to "entrance">><<set $speechanusentrance to 1>><<set $anustarget to _n>>
@@ -5946,7 +5952,7 @@ Hands are 'inverted': NPC holds PC's left hand with their right one, and vice ve
 				<span class="blue"><<He>> presses <<his>> $NPCList[_n].penisdesc against your anus through your $worn.lower.name.</span>
 				<<sex 2 "anal" _n>><<set $NPCList[_n].penis to "anusentrance">><<set $anususe to "penis">><<set $worn.lower.integrity -= 10>><<set $anusstate to "entrance">><<set $speechanusentrance to 1>><<set $anustarget to _n>>
 			<</if>>
-			<<if $NPCList[_n].type is "plant" and $NPCList[_n].penissize gte 4>>
+			<<if $NPCList[_n].type is "plant" and $NPCList[_n].penissize gte 4 and canImpregnateParasite("anus")>>
 				<span class="red">Something about it scares you.</span>
 			<</if>>
 			<<set $NPCList[_n].location.genitals = "genitals">>
@@ -5976,6 +5982,9 @@ Hands are 'inverted': NPC holds PC's left hand with their right one, and vice ve
 				<span class="blue"><<He>> presses <<his>> $NPCList[_n].penisdesc against your <<pussy>> through your $worn.lower.name.</span>
 				<<sex 2 "genital" _n>><<set $NPCList[_n].penis to "vaginaentrance">><<set $vaginause to "penis">><<set $worn.lower.integrity -= 10>><<set $vaginastate to "entrance">><<set $speechvaginaentrance to 1>><<set $vaginatarget to _n>>
 			<</if>>
+			<<if $NPCList[_n].type is "plant" and $NPCList[_n].penissize gte 4 and canImpregnateParasite("vagina")>>
+				<span class="red">Something about it scares you.</span>
+			<</if>>
 			<<set $NPCList[_n].location.genitals to "genitals">>
 		<<elseif $player.penisExist>>
 			<<if $anususe is 0 and $analdisable is "f">>
@@ -6002,7 +6011,7 @@ Hands are 'inverted': NPC holds PC's left hand with their right one, and vice ve
 					<span class="blue"><<He>> presses <<his>> $NPCList[_n].penisdesc against your anus through your $worn.lower.name.</span>
 					<<sex 2 "anal" _n>><<set $NPCList[_n].penis to "anusentrance">><<set $anususe to "penis">><<set $worn.lower.integrity -= 10>><<set $anusstate to "entrance">><<set $speechanusentrance to 1>><<set $anustarget to _n>>
 				<</if>>
-				<<if $NPCList[_n].type is "plant" and $NPCList[_n].penissize gte 4>>
+				<<if $NPCList[_n].type is "plant" and $NPCList[_n].penissize gte 4 and canImpregnateParasite("anus")>>
 					<span class="red">Something about it scares you.</span>
 				<</if>>
 				<<set $NPCList[_n].location.genitals = "genitals">>
diff --git a/game/base-combat/speech.twee b/game/base-combat/speech.twee
index 42689ba5be..21b0abfd5b 100644
--- a/game/base-combat/speech.twee
+++ b/game/base-combat/speech.twee
@@ -5248,14 +5248,14 @@
 					<<He>> grins. "If I had my way, you'd be here forever."
 				<</if>>
 			<<case 4>>
-				<<if $anususe is "tentacle" and $tentacleAnusBaby and $analpregdisable is "f">>
+				<<if $anususe is "tentacle" and $tentacleAnusBaby and $parasitepregdisable is "f">>
 					<<He>> grins. "I'll leave you with something to remember me."
 					<span class="purple">The $tentacleAnus pounding your <<bottom>> speeds up.</span>
-				<<if $NPCList[_n].penis is "anus" and $NPCList[_n].penissize gte 4 and $analpregdisable is "f">>
+				<<if $NPCList[_n].penis is "anus" and $NPCList[_n].penissize gte 4 and $parasitepregdisable is "f">>
 					<<He>> grins. "I'll leave you with something to remember me."
 					<span class="purple"><<He>> thrusts faster into your <<bottom>>.</span>
 				<</if>>
-				<<elseif $noanal is 1 and $analpregdisable is "f">>
+				<<elseif $noanal is 1 and $parasitepregdisable is "f">>
 					<<He>> pouts. "Shame you don't want it in the ass. I could've given you something to remember me by."
 				<<elseif $rng gte 51>>
 					<<He>> grins. "I just want to pollinate you."
diff --git a/game/base-combat/struggle.twee b/game/base-combat/struggle.twee
index d7c23c192c..69767714ba 100644
--- a/game/base-combat/struggle.twee
+++ b/game/base-combat/struggle.twee
@@ -1394,7 +1394,7 @@ and $orgasmdown lte 0 and ($pain lt 100 or $willpowerpain is undefined) and $opt
 				The <<print $struggle.mouth.creature>> <span class="pink">shudders as it begins to pump a sweet fluid down your throat.</span><<neutral 5 "mouth">><<struggle_fluid mouth>><<purity -1>><<internalejac>><<bodyliquid "mouth" "goo">><<oralejacstat>><<ejacstat>>
 			<<case 13>>
 				<<if $struggle.creature is "lurker">>
-					<<impregnate "Lurker" 400>><<fertilise>>
+					<<impregnateParasite "Lurker" 400>><<fertiliseParasites>>
 					<<if _impreg is true>>
 						The <<print $struggle.mouth.creature>>'s <<struggle_appendage mouth>> <span class="red">expands again</span>, but the extra pressure disappears quickly. It feels like it left something behind. <<neutral 5 "mouth">><<struggle_fluid mouth>><<purity -1>><<internalejac>><<bodyliquid "mouth" "goo">>
 					<<else>>
@@ -1471,6 +1471,14 @@ and $orgasmdown lte 0 and ($pain lt 100 or $willpowerpain is undefined) and $opt
 				The <<print $struggle.vagina.creature>>'s <<struggle_appendage vagina>> begins to thrust into your <<pussy>>.<<neutral 5 "genitals">>
 			<<case 7>>
 				The <<print $struggle.vagina.creature>> <span class="pink">shudders and pumps a warm fluid into your <<pussy>>.</span><<neutral 5 "genitals">><<struggle_fluid vagina>><<purity -1>><<internalejac>><<bodyliquid "vagina" "goo">><<vaginalejacstat>><<ejacstat>>
+			<<case 13>>
+				<<impregnateParasite $struggle.vagina.creature 50 "vagina">>
+				<<if _impreg is true>>
+					The <<print $struggle.vagina.creature>>'s <<struggle_appendage mouth>> <span class="red">expands again</span>, but the extra pressure disappears quickly. It feels like it left something behind.<<neutral 5 "vagina">><<bodyliquid "vagina" "goo">><<struggle_fluid vagina>><<purity -1>><<internalejac>><<bodyliquid "vagina" "goo">>
+					<<set _impreg to false>>
+				<<else>>
+					The <<print $struggle.vagina.creature>>'s <<struggle_appendage vagina>> thrusts into your <<pussy>>.<<neutral 5 "vagina">><<bodyliquid "vagina" "goo">><<struggle_fluid vagina>><<purity -1>><<internalejac>><<bodyliquid "vagina" "goo">>
+				<</if>>
 			<<case 14>>
 				The <<print $struggle.vagina.creature>> shudders, <span class="blue">and withdraws its <<struggle_appendage vagina>> from your <<pussy>>.</span> It leaps from your pelvis.<<neutral 5 "genitals">><<struggle_fluid vagina>>
 				<<set $vaginause to 0>>
@@ -1563,7 +1571,7 @@ and $orgasmdown lte 0 and ($pain lt 100 or $willpowerpain is undefined) and $opt
 		<<case 7>>
 			The <<print $struggle.anus.creature>> <span class="pink">shudders as it pumps a warm fluid into your <<bottom>>.</span><<neutral 5 "anus">><<struggle_fluid anus>><<purity -1>><<internalejac>><<bodyliquid "anus" "goo">><<analejacstat>><<ejacstat>>
 		<<case 13>>
-			<<impregnate $struggle.anus.creature 50>>
+			<<impregnateParasite $struggle.anus.creature 50>>
 			<<if _impreg is true>>
 				The <<print $struggle.anus.creature>>'s <<struggle_appendage mouth>> <span class="red">expands again</span>, but the extra pressure disappears quickly. It feels like it left something behind.<<neutral 5 "anus">><<bodyliquid "anus" "goo">><<struggle_fluid anus>><<purity -1>><<internalejac>><<bodyliquid "anus" "goo">>
 				<<set _impreg to false>>
diff --git a/game/base-combat/swarms.twee b/game/base-combat/swarms.twee
index 6aeb1bec7c..7c81e45a1e 100644
--- a/game/base-combat/swarms.twee
+++ b/game/base-combat/swarms.twee
@@ -461,7 +461,7 @@
 <</if>>
 
 <<if _swarmamounts.butt[1] gte 1>>
-	<<neutral 10 "bottom">><<impregnate $swarm["type"] _swarmamounts.butt[1]>>
+	<<neutral 10 "bottom">><<impregnateParasite $swarm["type"] _swarmamounts.butt[1]>>
 	They writhe inside your lower intestine<<if $player.penisExist>>, blindly teasing your prostate<</if>><<if _impreg is true>>, and <span class="red">attempt to move further inside you</span><</if>>.
 	<<set _impreg to false>>
 	<<arousal `_swarmamounts.butt[1] * 20`>>
@@ -549,7 +549,9 @@
 
 <<if _swarmamounts.genital[1] gte 1>>
 	<<if $player.vaginaExist>>
-		They writhe and squirm inside your vagina, probing and teasing without mercy.
+		<<impregnateParasite $swarm["type"] _swarmamounts.genital[1] "vagina">>
+		They writhe and squirm inside your vagina, probing and teasing without mercy<<if _impreg is true>>, and <span class="red">attempt to move further inside you</span><</if>>.
+		<<set _impreg to false>>
 		<<arousal `_swarmamounts.genital[1] * 20 * $genitalsensitivity`>>
 		<<neutral 10 "genitals">>
 	<<elseif $player.penisExist>>
diff --git a/game/base-combat/tentacles/tentacle-adv.twee b/game/base-combat/tentacles/tentacle-adv.twee
index 0f662f003b..57c3f25f11 100644
--- a/game/base-combat/tentacles/tentacle-adv.twee
+++ b/game/base-combat/tentacles/tentacle-adv.twee
@@ -15,10 +15,15 @@
 <<if $abomination is 1 and $ejaculating is 1>>
 	<<statetentacles>>
 	<<if (_tentacle.head is "anus" or _tentacle.head is "anusdeep") and _tentacle.baby isnot 0>>
-		<<impregnate _tentacle.baby _tentacle.babychance>>
-		<<fertilise>>
+		<<impregnateParasite _tentacle.baby _tentacle.babychance>>
+		<<fertiliseParasites>>
 		<<set _tentacleAnus to $tentacleAnus>>
 	<</if>>
+	<<if (_tentacle.head is "vagina" or _tentacle.head is "vaginadeep") and _tentacle.baby isnot 0>>
+		<<impregnateParasite _tentacle.baby _tentacle.babychance "vagina">>
+		<<fertiliseParasites "vagina">>
+		<<set _tentacleVagina to $_tentacleVagina>>
+	<</if>>
 	<<if _tentacle.shaft isnot "finished" and _tentacle.head isnot "finished">>
 		<<if _firsttentacle isnot 1>><<set _firsttentacle to 1>>_The<</if>>
 		<<if $tentacles.active is 1>>
@@ -30,7 +35,9 @@
 			<<else>>
 				and <<print _tentacle.fullDesc>>s all retract
 			<</if>>
-			<<if _tentacleAnus>>
+			<<if _tentacleVagina>>
+				away from you,<<if _retract isnot 1>> the _tentacleVagina<</if>> <span class="red">pumping something into your vagina</span> before leaving.
+			<<elseif _tentacleAnus>>
 				away from you,<<if _retract isnot 1>> the _tentacleAnus<</if>> <span class="red">pumping something into your anus</span> before leaving.
 			<<else>>
 				away from you.
@@ -227,7 +234,13 @@ _The _tentacle.fullDesc writhes between your feet.
 <</if>>
 
 <<if _tentacle.head is "vaginadeep">>
-	and <<slithers>> into your <<pussy>> where it pumps a viscous _fluid at the apex of each thrust.
+	<<if _tentacle.baby isnot 0>>
+		and <<slithers>> into your <<pussy>> where it pumps a viscous _fluid <<if canImpregnateParasite("vagina")>><span class="red">alongside something else </span><</if>>at the apex of each thrust.
+		<<impregnateParasite _tentacle.baby _tentacle.babychance "vagina">>
+		<<fertiliseParasites "vagina">>
+	<<else>>
+		and <<slithers>> into your <<pussy>> where it pumps a viscous _fluid at the apex of each thrust.
+	<</if>>
 	<<tentacle_skin "vagina">>
 	<br>
 	<<purity -1>><<internalejac>><<sex 5 "genitals">>
@@ -242,7 +255,12 @@ _The _tentacle.fullDesc writhes between your feet.
 <</if>>
 
 <<if _tentacle.head is "vagina">>
-	and continues thrusting into your <<pussy>>.<span class="pink"> The tip opens and begins oozing a viscous _fluid.</span>
+	<<if _tentacle.baby isnot 0 and canImpregnateParasite("vagina")>>
+		and continues thrusting into your <<pussy>>.<span class="pink"> The tip opens and begins oozing a viscous _fluid <span class="red">alongside something else</span>.</span>
+		<span class="red"> Something about it scares you.</span>
+	<<else>>
+		and continues thrusting into your <<pussy>>.<span class="pink"> The tip opens and begins oozing a viscous _fluid.</span>
+	<</if>>
 	<<tentacle_skin "vagina">>
 	<br>
 	<<purity -1>><<internalejac>>
@@ -363,9 +381,9 @@ _The _tentacle.fullDesc writhes between your feet.
 
 <<if _tentacle.head is "anusdeep">>
 	<<if _tentacle.baby isnot 0>>
-		and <<slithers>> into your <<bottom>> where it pumps a viscous _fluid <span class="red">alongside something else</span> at the apex of each thrust.
-		<<impregnate _tentacle.baby _tentacle.babychance>>
-		<<fertilise>>
+		and <<slithers>> into your <<bottom>> where it pumps a viscous _fluid <<if canImpregnateParasite("anus")>><span class="red">alongside something else</span><</if>>at the apex of each thrust.
+		<<impregnateParasite _tentacle.baby _tentacle.babychance>>
+		<<fertiliseParasites>>
 		<<set _tentacle.baby to 0>><<set $tentacleAnusBaby to _tentacle.baby>>
 	<<else>>
 		and <<slithers>> into your <<bottom>> where it pumps a viscous _fluid at the apex of each thrust.
@@ -384,8 +402,8 @@ _The _tentacle.fullDesc writhes between your feet.
 <</if>>
 
 <<if _tentacle.head is "anus">>
-	<<if _tentacle.baby isnot 0>>
-		and continues thrusting into your <<bottom>>.<span class="pink"> The tip opens and begins oozing a viscous _fluid alongside something else.</span>
+	<<if _tentacle.baby isnot 0 and canImpregnateParasite("anus")>>
+		and continues thrusting into your <<bottom>>.<span class="pink"> The tip opens and begins oozing a viscous <<print _fluid>><<if canImpregnateParasite("anus")>><span class="red">alongside something else</span><</if>>.</span>
 		<span class="red"> Something about it scares you.</span>
 	<<else>>
 		and continues thrusting into your <<bottom>>.<span class="pink"> The tip opens and begins oozing a viscous _fluid.</span>
@@ -471,6 +489,9 @@ _The _tentacle.fullDesc writhes between your feet.
 		<<else>>
 			and<<if _tentacle.shaft is "breasts">> <<slithers>><</if>> between your thighs <span class="blue">where it <<slithers>> toward your <<pussy>>.</span>
 		<</if>>
+		<<if _tentacle.baby isnot 0 and canImpregnateParasite("vagina")>>
+			<span class="red"> Something about it scares you.</span>
+		<</if>>
 		<<set $vaginause to "tentacle">><<set $vaginastate to "tentacleentrance">><<set _tentacle.head to "vaginaentrance">><<set $thighuse to 0>><<set $vaginatarget to "tentacles">>
 	<</if>>
 	<br>
@@ -512,9 +533,9 @@ _The _tentacle.fullDesc writhes between your feet.
 	<<elseif $noanal is 1>>
 		and <<slithers>> toward your <<bottom>>. The <<personsimple>> clicks <<his>> tongue, and <span class="lblue">it retracts,</span> <<slithering>> between your <<bottom>> cheeks instead.
 	<<else>>
-		<<if _tentacle.baby isnot 0>>
+		<<if _tentacle.baby isnot 0 and canImpregnateParasite("anus")>>
 			<span class="blue">and <<slithers>> toward your <<bottom>>.</span>
-			<span class="green"> Something about it scares you.</span>
+			<span class="red"> Something about it scares you.</span>
 		<<else>>
 			and<<if _tentacle.shaft is "breasts">> <<slithers>><</if>> between your <<bottom>> cheeks, <span class="blue"> toward your anus.</span>
 			<<neutral 3 "anus">>
@@ -733,8 +754,8 @@ _The _tentacle.fullDesc writhes between your feet.
 	<<elseif $rng lte 50>>
 		<<if $anususe is 0 and $analdisable is "f" and $noanal is 0>>
 			<<underslither>> <span class="blue">and <<slithers>> toward your <<bottom>>.</span>
-			<<if _tentacle.baby isnot 0>>
-				<span class="green"> Something about it scares you.</span>
+			<<if _tentacle.baby isnot 0 and canImpregnateParasite("anus")>>
+				<span class="red"> Something about it scares you.</span>
 			<</if>>
 			<<neutral 2 "bottom">>
 			<<set $anususe to "tentacle">><<set $anusstate to "tentacleentrance">><<set _tentacle.head to "anusentrance">><<set $anustarget to "tentacles">>
@@ -746,6 +767,9 @@ _The _tentacle.fullDesc writhes between your feet.
 	<<elseif $rng lte 60>>
 		<<if $player.vaginaExist and $vaginause is 0 and $novaginal is 0>>
 			<<underslither>> <span class="blue">and <<slithers>> toward your <<pussy>>.</span>
+			<<if _tentacle.baby isnot 0 and canImpregnateParasite("vagina")>>
+				<span class="red"> Something about it scares you.</span>
+			<</if>>
 			<<neutralgenitals 2>>
 			<<set $vaginause to "tentacle">><<set $vaginastate to "tentacleentrance">><<set _tentacle.head to "vaginaentrance">><<set $vaginatarget to "tentacles">>
 			<<tentacle_skin "pubic">>
diff --git a/game/base-system/bodywriting.twee b/game/base-system/bodywriting.twee
index 3723a3bcd5..33c3ad1e8d 100755
--- a/game/base-system/bodywriting.twee
+++ b/game/base-system/bodywriting.twee
@@ -969,8 +969,8 @@ Second arg: tool */
 			<<set $NPCList[_n].location.head to "genitals">><<set $anustarget to _n>>
 		<<elseif $NPCList[_n].penis is 0>>
 			<<He>> follows the arrow's instruction, <span class="blue">and positions <<his>> penis in front of your <<bottom>>.</span>
-			<<if $NPCList[_n].type is "plant" and $NPCList[_n].penissize gte 4>>
-				<span class="green">Something about it scares you.</span>
+			<<if $NPCList[_n].type is "plant" and $NPCList[_n].penissize gte 4 and canImpregnateParasite("anus")>>
+				<span class="red">Something about it scares you.</span>
 			<</if>>
 			<<neutral 5>><<set $anususe to "penis">><<set $NPCList[_n].penis to "anusentrance">><<set $anusstate to "entrance">><<set $speechanusentrance to 1>>
 			<<set $NPCList[_n].location.genitals to "genitals">><<set $anustarget to _n>>
@@ -999,6 +999,9 @@ Second arg: tool */
 				<<set $NPCList[_n].location.head to "genitals">><<set $vaginatarget to _n>>
 			<<elseif $NPCList[_n].penis is 0>>
 				<<He>> follows the arrow's instruction, <span class="blue">and moves between your legs, positioning <<his>> $NPCList[_n].penisdesc in front of your <<pussy>>.</span>
+				<<if $NPCList[_n].type is "plant" and $NPCList[_n].penissize gte 4 and canImpregnateParasite("vagina")>>
+					<span class="red">Something about it scares you.</span>
+				<</if>>
 				<<neutral 5>><<set $NPCList[_n].penis to "vaginaentrance">><<set $vaginause to "penis">><<set $vaginastate to "entrance">>
 				<<set $NPCList[_n].location.genitals to "genitals">><<set $vaginatarget to _n>><<set $speechvaginaentrance to 1>>
 			<<elseif $NPCList[_n].vagina is 0>>
diff --git a/game/base-system/clamp.twee b/game/base-system/clamp.twee
index 1f7606680e..6e6bc19f58 100644
--- a/game/base-system/clamp.twee
+++ b/game/base-system/clamp.twee
@@ -134,7 +134,7 @@
 		<<set $fame[_t] to Math.clamp($fame[_t], 0, 2000)>>
 	<</for>>
 	<!-- limit preg fame growth by the number of actual pregnancies -->
-	<<set $fame.pregnancy to Math.clamp($fame.pregnancy, 0, Math.clamp($sexStats.vagina.pregnancy.totalBirthEvents,1,20) * 100)>>
+	<<set $fame.pregnancy to Math.clamp($fame.pregnancy, 0, Math.clamp($sexStats.vagina.pregnancy.totalBirthEvents + $sexStats.anus.pregnancy.totalBirthEvents,1,20) * 100)>>
 	<<set $fame.scrap to Math.clamp($fame.scrap, 0, 2000)>>
 	<<set $fame.good to Math.clamp($fame.good, 0, 2000)>>
 	<<set $fame.business to Math.clamp($fame.business, 0, 2000)>>
diff --git a/game/base-system/effects.twee b/game/base-system/effects.twee
index 2421fdc63b..55acf91fdb 100644
--- a/game/base-system/effects.twee
+++ b/game/base-system/effects.twee
@@ -285,7 +285,7 @@
 		<<flashbackschool>>
 	<</if>>
 <</if>>
-<<if $sexStats.vagina.pregnancy && $sexStats.vagina.pregnancy.waterBreaking>>
+<<if isPlayerNonparasitePregnancyEnding()>>
 	<span class="red">Your water has broken. You need to head to the hospital, fast!</span><<ggstress>>
 <</if>>
 <<if $effectsmessage is 1>><<set $effectsmessage to 0>>
@@ -722,44 +722,52 @@
 	<<pregnancyDailyEvent>>
 	<<unset $pregnancyDailyEvent>>
 <</if>>
-<<if $dailyEvent>>
-	<<set _pregnancy to $sexStats.anus.pregnancy>>
-	<<set _stressMulti to 2 - _pregnancy.motherStatus>>
-	<<set _arousalMulti to 1 + _pregnancy.motherStatus>>
-	<<for _i to 0; _i lt $dailyEvent.length; _i++>>
-		<<switch $dailyEvent[_i]>>
-		<<case 0>>
-			<<if _pregnancy.seenDoctor gte 4>>
-				You feel <<if _pregnancy.namesChildren is true>>your grown child<<else>>the grown parasite<</if>> in your stomach.
-				<<ggarousal>>
-			<<else>>
-				You feel something large move around in your stomach. Might be best to go to the hospital again.
-				<<ggarousal>>
-			<</if>>
-			<<arousal 2000>>
-		<<case 1>>
-			<<if _pregnancy.seenDoctor gte 2>>
-				You feel one of <<if _pregnancy.namesChildren is true>>your children<<else>>the parasites<</if>> move around in your stomach.
-				<<ggarousal>><<if _stressMulti gt 0>><<gstress>><</if>>
-			<<else>>
-				You feel something move around in your stomach. Might be best to go to the hospital.
-				<<ggarousal>><<if _stressMulti gt 0>><<gstress>><</if>>
-			<</if>>
-			<<set _arousal to _arousalMulti * 500 / (_pregnancy.lowestDaysLeft + 1)>><<set $stress += 300 * _stressMulti>>
-			<<arousal _arousal>>
-		<<case 2>>
-			Your stomach rumbles a little. You hope the noise hasn't attracted any attention.
-			<<if _stressMulti gt 0>><<gstress>><</if>>
-			<<set _arousal to _arousalMulti * 250 / (_pregnancy.lowestDaysLeft + 1)>><<set $stress += 200 * _stressMulti>>
-			<<arousal _arousal>>
-		<<case 3>>
-			You feel a little lightheaded for a moment.
-			<<if _stressMulti gt 0>><<gstress>><</if>>
-			<<set $stress += 100 * _stressMulti>>
+<<if $daily.parasiteEvent>>
+	<<if $sexStats.vagina.pregnancy.type is "parasite">>
+		<<set $_minDaysLeft to $sexStats.vagina.pregnancy.fetus.reduce((prev,curr) => prev.daysLeft < curr.daysLeft ? prev.daysLeft : curr.daysLeft)>>
+	<</if>>
+	<<if $sexStats.anus.pregnancy.type is "parasite">>
+		<<set $_minDaysLeft to $sexStats.anus.pregnancy.fetus.reduce((prev,curr) => prev.daysLeft < curr.daysLeft ? prev.daysLeft : curr.daysLeft, $_minDaysLeft || 30)>>
+	<</if>>
+	<<set _stressMulti to Math.clamp(2 - $sexStats.anus.pregnancy.motherStatus + $sexStats.vagina.pregnancy.motherStatus, 0, 2)>>
+	<<set _arousalMulti to Math.clamp(1 + $sexStats.anus.pregnancy.motherStatus + $sexStats.vagina.pregnancy.motherStatus, 1, 3)>>
+	<<set $_arousalGain to 0>>
+	<<if $daily.parasiteEvent.includes("anal3") && $daily.parasiteEvent.includes("vagina3")>><<run $daily.parasiteEvent.delete("vagina3")>><</if>>
+	<<for _i to 0; _i lt $daily.parasiteEvent.length; _i++>>
+		<<switch $daily.parasiteEvent[_i]>>
+			<<case "anal0" "vagina0">>
+				<<if $pregnancyStats.parasiteDoctorEvents gte 4>>
+					You feel <<if $pregnancyStats.namesParasitesChild is true>>your grown child<<else>>the grown parasite<</if>> in your <<print $daily.parasiteEvent[_i] === "anal0" ? "stomach" : "uterus">>.
+					<<ggarousal>>
+				<<else>>
+					You feel something large move around in your <<print $daily.parasiteEvent[_i] === "anal0" ? "stomach" : "uterus">>. Might be best to go to the hospital again.
+					<<ggarousal>>
+				<</if>>
+				<<set $_arousalGain += 2000>>
+			<<case "anal1" "vagina1">>
+				<<if $pregnancyStats.parasiteDoctorEvents gte 2>>
+					You feel one of <<if $pregnancyStats.namesParasitesChild is true>>your children<<else>>the parasites<</if>> move around in your <<print $daily.parasiteEvent[_i] === "anal1" ? "stomach" : "uterus">>.
+					<<ggarousal>><<if _stressMulti gt 0>><<gstress>><</if>>
+				<<else>>
+					You feel something move around in your <<print $daily.parasiteEvent[_i] === "anal1" ? "stomach" : "uterus">>. Might be best to go to the hospital.
+					<<ggarousal>><<if _stressMulti gt 0>><<gstress>><</if>>
+				<</if>>
+				<<set _arousal to _arousalMulti * 500 / ($_minDaysLeft + 1)>><<set $stress += 300 * _stressMulti>>
+				<<set $_arousalGain += _arousal>>
+			<<case "anal2" "vagina2">>
+				Your <<print $daily.parasiteEvent[_i] === "anal2" ? "stomach" : "uterus">> rumbles a little. You hope the noise hasn't attracted any attention.
+				<<if _stressMulti gt 0>><<gstress>><</if>>
+				<<set _arousal to _arousalMulti * 250 / ($_minDaysLeft + 1)>><<set $stress += 200 * _stressMulti>>
+				<<set $_arousalGain += _arousal>>
+			<<case "anal3" "vagina3">>
+				You feel a little lightheaded for a moment.
+				<<if _stressMulti gt 0>><<gstress>><</if>>
+				<<set $stress += 100 * _stressMulti>>
 		<</switch>>
 	<</for>>
+	<<if $_arousalGain>><<arousal `Math.clamp($_arousalGain, 0, 10000)`>><</if>>
 	<br>
-	<<unset $dailyEvent>>
+	<<run delete $daily.parasiteEvent>>
 <</if>>
 
 <<if $slimeEvent isnot undefined and $daystate isnot "night">>
diff --git a/game/base-system/fame.twee b/game/base-system/fame.twee
index 9c4a6f686d..f0128cb489 100644
--- a/game/base-system/fame.twee
+++ b/game/base-system/fame.twee
@@ -57,7 +57,7 @@
 	<<if _args[0] and $statFreeze isnot true and pregnancyBellyVisible()>>
 		<<if $face isnot "covered" and !$worn.face.type.includes("mask") and !$gloryhole or _args[1] is true>>
 			<<set $fame.pregnancy += _args[0]>>
-			<<set $fame.pregnancy to Math.clamp($fame.pregnancy, 0, Math.clamp($sexStats.vagina.pregnancy.totalBirthEvents,1,20) * 100)>>
+			<<set $fame.pregnancy to Math.clamp($fame.pregnancy, 0, Math.clamp($sexStats.vagina.pregnancy.totalBirthEvents + $sexStats.anus.pregnancy.totalBirthEvents,1,20) * 100)>>
 		<</if>>
 	<</if>>
 <</widget>>
diff --git a/game/base-system/feats.twee b/game/base-system/feats.twee
index 830b9e4e5f..d3d8cecd6e 100644
--- a/game/base-system/feats.twee
+++ b/game/base-system/feats.twee
@@ -5,7 +5,7 @@
 	<<if _feats is undefined>>
 		<<featsData>>
 	<</if>>
-	<<if $feats.currentSave[_args[0]] is undefined and ($feats.soft isnot true or _feats[_args[0]].softLockable isnot true)>>
+	<<if $feats.currentSave[_args[0]] is undefined and (!$feats.soft or !_feats[_args[0]].softLockable) and (!$feats.pregnancyLocked or !_feats[_args[0]].pregnancyLockable)>>
 		<<set $feats.currentSave[_args[0]] to Date()>>
 
 		<<displayFeat _args[0]>>
@@ -235,19 +235,18 @@
 <<if _upgrades.impurity gt 0>>
 	<<set $featsPurityBoost to _upgrades.impurity / _details.impurity.cost * -1>>
 <</if>>
-<<if _upgrades.newLife gt 0 and $analpregdisable is "f">>
-	<<impregnate "tentacle" 400>>
-	<<fertilise>>
+<<if _upgrades.newLife gt 0 and $parasitepregdisable is "f">>
+	<<impregnateParasite "tentacle" 400>>
+	<<fertiliseParasites>>
 	<<set _pregnancy to $sexStats.anus.pregnancy>>
 	<<set _pregnancy.motherStatus to 2>>
-	<<set _pregnancy.seenDoctor to 2>>
-	<<set _pregnancy.maxCount to 4>>
-	<<set _pregnancy[0].stats.gender to "Futa">>
+	<<set $pregnancyStats.parasiteDoctorEvents to 2>>
+	<<set _pregnancy.fetus[0].stats.gender to "Hermaphrodite">>
 	<<if _upgrades.newLife is 40>>
-		<<set _pregnancy[0].stats.growth to 7>>
-		<<set _pregnancy[0].stats.speed to 54>>
+		<<set _pregnancy.fetus[0].stats.growth to 7>>
+		<<set _pregnancy.fetus[0].stats.speed to 54>>
 	<</if>>
-	<<set _pregnancy[0].stats.lastEgg to Math.floor(_pregnancy[0].stats.growth / 3)>>
+	<<set _pregnancy.fetus[0].stats.lastEgg to Math.floor(_pregnancy.fetus[0].stats.growth / 3)>>
 <</if>>
 <<if _upgrades.aNewBestFriend gt 0>>
 	<<parasite left_ear slime>>
@@ -500,7 +499,7 @@
 		<<if $sexStats.anus.pregnancy.motherStatus is 2>>
 			<<earnFeat "Broodmother Host">>
 		<</if>>
-		<<if $sexStats.anus.pregnancy.typesSeen.length gte 14 and $sexStats.anus.pregnancy.variantsSeen.length gte 2 and $sexStats.anus.pregnancy.book is 3>>
+		<<if $pregnancyStats.parasiteTypesSeen && $pregnancyStats.parasiteTypesSeen.length gte 14 and $pregnancyStats.parasiteVariantsSeen.length gte 2 and $pregnancyStats.parasiteBook is 3>>
 			<!-- typesSeen: fish, snake, slime, spider, maggot, worm, eel, wasp, bee, lurker, squid, slug, tentacle, vine -->
 			<!-- variantsSeen: pale, metal -->
 			<<earnFeat "Broodmother Zoologist">>
@@ -523,9 +522,6 @@
 		<<elseif $delinquency gte 1000>>
 			<<earnFeat "Teachers Nightmare">>
 		<</if>>
-		<<if $feats.allSaves.points gte 150>>
-			<<earnFeat "My Collection of Feats">>
-		<</if>>
 		<<if $skin.forehead.writing and $skin.left_cheek.writing and $skin.right_cheek.writing and $skin.left_shoulder.writing and $skin.right_shoulder.writing
 		and $skin.breasts.writing and $skin.back.writing and $skin.pubic.writing and $skin.left_thigh.writing and $skin.right_thigh.writing>>
 			<<earnFeat "A Living Canvas">>
@@ -567,6 +563,18 @@
 		and $fame.scrap gte 1000 and $fame.good gte 1000 and $fame.business gte 1000 and $fame.social gte 1000 and $fame.model gte 1000 /* and $fame.pimp gte 1000 */>>
 			<<earnFeat "Shining Reputation">>
 		<</if>>
+
+		<<if Object.values($children).reduce((prev,curr) => prev.pushUnique(curr.type), []).length gte Object.keys(pregnancyGenerator).filter(type => type !== "parasite").length>>
+			<<earnFeat "Diversity of Life">>
+		<</if>>
+
+		<!-- Should be last -->
+		<<if $feats.allSaves.points gte 150>>
+			<<earnFeat "My Collection of Feats">>
+		<</if>>
+		<<if $feats.allSaves.points gte 300>>
+			<<earnFeat "My Timeless Collection of Feats">>
+		<</if>>
 		<<specialClothesUpdate>>
 	<</if>>
 	<<if $money gte 100000>>
@@ -615,6 +623,13 @@
 <</if>>
 <</widget>>
 
+/*
+	Key points
+	series: "seriesName", //Will only show the first locked feat in a series to the player
+	softLockable: true, //Will disable the unlocking of the feat if softmode is enabled
+	pregnancyLockable: true, //Will disable the unlocking of the feat if certain pregnancy settings are too low
+	hidden: true, //Will hide the feat at all times unless unlocked, best for feats for unreleased content
+*/
 <<widget "featsData">>
 <<if _feats is undefined>>
 	<<set _feats to {
@@ -1284,6 +1299,70 @@
 			filter: ["All", "Special"],
 			hint: "Hint: Everything left behind, carefully detailed."
 		},
+		"Bicycle Mother":{
+			title: "Bicycle Mother",
+			desc: "Got impregnated without knowing who the father is.",
+			difficulty: 2,
+			series: "",
+			filter: ["All", "Special"],
+			hint: "Hint: Do you know who did it?",
+			hidden: true,
+		},
+		"Miracle of Life":{
+			title: "Miracle of Life",
+			desc: "Gave birth as a virgin.",
+			difficulty: 4,
+			series: "",
+			filter: ["All", "Special"],
+			hint: "Hint: Gained something but not at the cost of something else.",
+			pregnancyLockable: true,
+			hidden: true,
+		},
+		/*"Broken Dam":{ //Not in the code right now
+			title: "Broken Dam",
+			desc: "Get impregnated thanks to a broken condom.",
+			difficulty: 2,
+			series: "",
+			filter: ["All", "Special"],
+			hint: "Hint: ."
+		},*/
+		/*"Seed Spreader":{ //Not in the code right now
+			title: "Seed Spreader",
+			desc: "Impregnate three NPCs in a single day.",
+			difficulty: 1,
+			series: "",
+			filter: ["All", "Special"],
+			hint: "Hint: ."
+		},*/
+		"Life Comes in Threes":{
+			title: "Life Comes in Threes",
+			desc: "Gave birth to triplets.",
+			difficulty: 2,
+			series: "",
+			filter: ["All", "Special"],
+			hint: "Hint: Three of a kind.",
+			pregnancyLockable: true,
+			hidden: true,
+		},
+		"Diversity of Life":{
+			title: "Diversity of Life",
+			desc: "Gave birth to chidren of many different species.",
+			difficulty: 4,
+			series: "",
+			filter: ["All", "Special"],
+			hint: "Hint: Many forms of existence.",
+			pregnancyLockable: true,
+			hidden: true,
+		},
+		"Life begins when you least expect":{
+			title: "Life begins when you least expect",
+			desc: "Gave birth to children as a male.",
+			difficulty: 2,
+			series: "",
+			filter: ["All", "Special"],
+			hint: "Hint: The Magic that helps creates that what should not be.",
+			hidden: true,
+		},
 		"Producer of Lewd Fluids":{
 			title: "Producer of Lewd Fluids",
 			desc: "Those tentacles know who's boss.",
@@ -1434,7 +1513,8 @@
 			difficulty: 1,
 			series: "",
 			filter: ["All", "Discoveries"],
-			hint: "Hint: Harvest nature's secrets."
+			hint: "Hint: Harvest nature's secrets.",
+			softLockable: true,
 		},
 		"Pride of the Farm":{
 			title: "Pride of the Farm",
@@ -1458,7 +1538,8 @@
 			difficulty: 1,
 			series: "",
 			filter: ["All", "Discoveries"],
-			hint: "Hint: No pen can hold you."
+			hint: "Hint: No pen can hold you.",
+			softLockable: true,
 		},
 		"Equine Rescue":{
 			title: "Equine Rescue",
@@ -1482,7 +1563,8 @@
 			difficulty: 1,
 			series: "",
 			filter: ["All", "Discoveries"],
-			hint: "Hint: Make a daring journey."
+			hint: "Hint: Make a daring journey.",
+			softLockable: true,
 		},
 		"Sour Dealing":{
 			title: "Sour Dealing",
@@ -1490,7 +1572,8 @@
 			difficulty: 1,
 			series: "",
 			filter: ["All", "Discoveries"],
-			hint: "Hint: Make some unscrupulous acquaintances."
+			hint: "Hint: Make some unscrupulous acquaintances.",
+			softLockable: true,
 		},
 		"Rear Passenger":{
 			title: "Rear Passenger",
@@ -1506,7 +1589,8 @@
 			difficulty: 1,
 			series: "",
 			filter: ["All", "Discoveries"],
-			hint: "Hint: Outfox a mischievous rogue."
+			hint: "Hint: Outfox a mischievous rogue.",
+			softLockable: true,
 		},
 		"Pain Rider":{
 			title: "Pain Rider",
@@ -1514,7 +1598,8 @@
 			difficulty: 2,
 			series: "",
 			filter: ["All", "Discoveries"],
-			hint: "Hint: Ride a wooden horse to completion."
+			hint: "Hint: Ride a wooden horse to completion.",
+			softLockable: true,
 		},
 		"Submerged":{
 			title: "Submerged",
@@ -1522,7 +1607,8 @@
 			difficulty: 2,
 			series: "",
 			filter: ["All", "Discoveries"],
-			hint: "Hint: Be ducked to completion."
+			hint: "Hint: Be ducked to completion.",
+			softLockable: true,
 		},
 		"Farm Protector":{
 			title: "Farm Protector",
@@ -1530,7 +1616,8 @@
 			difficulty: 2,
 			series: "",
 			filter: ["All", "Discoveries"],
-			hint: "Hint: Trespassers will be kicked."
+			hint: "Hint: Trespassers will be kicked.",
+			softLockable: true,
 		},
 		"A Knot to Remember":{
 			title: "A Knot to Remember",
@@ -1562,7 +1649,8 @@
 			difficulty: 2,
 			series: "",
 			filter: ["All", "Discoveries"],
-			hint: "Hint: Briar has something for everyone."
+			hint: "Hint: Briar has something for everyone.",
+			softLockable: true,
 		},
 		"Spelunking":{
 			title: "Spelunking",
@@ -1570,7 +1658,8 @@
 			difficulty: 1,
 			series: "beach cave",
 			filter: ["All", "Discoveries"],
-			hint: "Hint: Find the old smuggler route."
+			hint: "Hint: Find the old smuggler route.",
+			softLockable: true,
 		},
 		"X Marks the Spot":{
 			title: "X Marks the Spot",
@@ -1578,7 +1667,8 @@
 			difficulty: 2,
 			series: "beach cave",
 			filter: ["All", "Discoveries"],
-			hint: "Hint: Hidden deep."
+			hint: "Hint: Hidden deep.",
+			softLockable: true,
 		},
 		"Buried Treasure":{
 			title: "Buried Treasure",
@@ -1586,7 +1676,8 @@
 			difficulty: 3,
 			series: "beach cave",
 			filter: ["All", "Discoveries"],
-			hint: "Hint: Follow the map."
+			hint: "Hint: Follow the map.",
+			softLockable: true,
 		},
 		"Abnormal Mollusc":{
 			title: "Abnormal Mollusc",
@@ -1594,7 +1685,8 @@
 			difficulty: 2,
 			series: "",
 			filter: ["All", "Discoveries"],
-			hint: "Hint: Lurking below the surf."
+			hint: "Hint: Lurking below the surf.",
+			softLockable: true,
 		},
 		"Leverage":{
 			title: "Leverage",
@@ -1602,7 +1694,8 @@
 			difficulty: 3,
 			series: "",
 			filter: ["All", "Discoveries"],
-			hint: "Hint: Defy the rogues."
+			hint: "Hint: Defy the rogues.",
+			softLockable: true,
 		},
 		"Flurry":{
 			title: "Flurry",
@@ -1618,7 +1711,8 @@
 			difficulty: 1,
 			series: "",
 			filter: ["All", "Discoveries"],
-			hint: "Hint: Break free."
+			hint: "Hint: Break free.",
+			softLockable: true,
 		},
 		"A Festive Home":{
 			title: "A Festive Home",
@@ -1689,6 +1783,7 @@
 			series: "",
 			hint: "Hint: Witness a history washed away.",
 			filter: ["All", "Discoveries"],
+			softLockable: true,
 		},
 		"Catch the Wind":{
 			title: "Catch the Wind",
@@ -1996,11 +2091,18 @@
 			title: "My Collection of Feats",
 			desc: "Too many to count.",
 			difficulty: 3,
-			series: "",
+			series: "collection",
 			filter: ["All", "Special"],
 			hint: "Hint: A collection of something."
-		}
-
+		},
+		"My Timeless Collection of Feats":{
+			title: "My Timeless Collection of Feats",
+			desc: "Feats being worth more than time itself.",
+			difficulty: 5,
+			series: "collection",
+			filter: ["All", "Special"],
+			hint: "Hint: Time and effort."
+		},
 	}>>
 <</if>>
 <</widget>>
diff --git a/game/base-system/mirror.twee b/game/base-system/mirror.twee
index c2af0edb3a..583f67abf5 100644
--- a/game/base-system/mirror.twee
+++ b/game/base-system/mirror.twee
@@ -931,7 +931,7 @@ __Body Writing__<br>
 	<</if>>
 <</if>>
 /*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-<<if $player.vaginaExist and $promiscuity gte 75 and $pregnancyTesting>>
+<<if ($player.vaginaExist or (canBeMPregnant() and $sexStats.anus.pregnancy.givenBirth >= 1)) and $promiscuity gte 75 and $pregnancyTesting>>
 	<<set _bodyWritingOptions.Pregnancy to {}>>
 	<<set _bodyWritingOptions.Pregnancy["Brood mother"] to "brood_mother">>
 	<<set _bodyWritingOptions.Pregnancy["Inseminate me"] to "inseminate_me">>
diff --git a/game/base-system/orgasm.twee b/game/base-system/orgasm.twee
index 09d4c62d90..40642ecb4a 100644
--- a/game/base-system/orgasm.twee
+++ b/game/base-system/orgasm.twee
@@ -42,7 +42,7 @@
 						<<if $abomination is 1>>
 							/*ToDo: Pregnancy, figure out how the Wraith, plantpeople, etc will handle pregnancy.*/
 						<<else>>
-							<<recordVaginalSperm $NPCList[$_i].fullDescription "pc" "human">>
+							<<recordVaginalSperm $NPCList[$_i].fullDescription "pc" $NPCList[$_i].type>>
 						<</if>>
 					<<elseif $NPCList[$_i].vagina is "penisimminent" or $NPCList[$_i].vagina is "penisentrance">>
 						<<personselect $_i>>
diff --git a/game/base-system/overlays/characteristics.twee b/game/base-system/overlays/characteristics.twee
index 0079f6f46e..6cb5b6afae 100644
--- a/game/base-system/overlays/characteristics.twee
+++ b/game/base-system/overlays/characteristics.twee
@@ -113,21 +113,25 @@ You have a <<bottom>>.
 }>>
 <<characteristic-text _hairTextConfig>>
 <br><br>
-<<if $sexStats.vagina.pregnancy.awareOf is true>>
-	<<set _pregnancy to $sexStats.vagina.pregnancy>>
-	<<if _pregnancy.timer / _pregnancy.timerEnd lte 0.33>>
+<<if $player.vaginaExist>>
+	<<set $_pregnancy to $sexStats.vagina.pregnancy>>
+<<else>>
+	<<set $_pregnancy to $sexStats.anus.pregnancy>>
+<</if>>
+<<if $_pregnancy.awareOf is true>>
+	<<if $_pregnancy.timer / $_pregnancy.timerEnd lte 0.33>>
 		You know you're in the first trimester of your pregnancy.
-	<<elseif _pregnancy.timer / _pregnancy.timerEnd lte 0.66>>
+	<<elseif $_pregnancy.timer / $_pregnancy.timerEnd lte 0.66>>
 		You know you're in the second trimester of your pregnancy.
 	<<else>>
 		You know you're in the third trimester of your pregnancy.
 	<</if>>
-	<<if _pregnancy.potentialFathers.length is 1>>
-		You're sure the father is <<print _pregnancy.potentialFathers[0]>>.
-	<<elseif _pregnancy.potentialFathers.length is 2>>
-		You're pretty sure the father is either <<print _pregnancy.potentialFathers[0]>> or <<print _pregnancy.potentialFathers[1]>>.
-	<<elseif _pregnancy.potentialFathers.length is 3>>
-		You're pretty sure the father is either <<print _pregnancy.potentialFathers[0]>>, <<print _pregnancy.potentialFathers[1]>> or <<print _pregnancy.potentialFathers[2]>>.
+	<<if $_pregnancy.potentialFathers.length is 1>>
+		You're sure the father is <<print $_pregnancy.potentialFathers[0][1]>>.
+	<<elseif $_pregnancy.potentialFathers.length is 2>>
+		You're pretty sure the father is either <<print $_pregnancy.potentialFathers[0][1]>> or <<print $_pregnancy.potentialFathers[1][1]>>.
+	<<elseif $_pregnancy.potentialFathers.length is 3>>
+		You're pretty sure the father is either <<print $_pregnancy.potentialFathers[0][1]>>, <<print $_pregnancy.potentialFathers[1][1]>> or <<print $_pregnancy.potentialFathers[2][1]>>.
 	<<else>>
 		You're unsure on who the father is.
 	<</if>>
diff --git a/game/base-system/overlays/cheats.twee b/game/base-system/overlays/cheats.twee
index 3ab6d0a6dd..0416bd3624 100644
--- a/game/base-system/overlays/cheats.twee
+++ b/game/base-system/overlays/cheats.twee
@@ -132,8 +132,8 @@ Infinite spray: <span id="statsinfinitespray"><<print ($infinitespray ? "on" : "
 	/*passage change is intentional to allow the players to quickly see the visual differences*/
 	Current Gender: <<gender>>
 	<br>
-	Change to:
-	<<if $player.gender isnot "m" and $sexStats.vagina.menstruation.currentState isnot "pregnant">>
+	<<if $sexStats.vagina.menstruation.currentState is "pregnant">>
+		Change to:
 		<<link [[Become boy|$passage]]>>
 			<<set $vaginause to "none">>
 			<<set $vaginastate to "none">>
@@ -146,35 +146,35 @@ Infinite spray: <span id="statsinfinitespray"><<print ($infinitespray ? "on" : "
 			<<set $player.vaginaExist to false>>
 			<<set $sexStats.vagina.menstruation.running = false>>
 		<</link>> |
-	<<elseif $player.gender isnot "m" and $sexStats.vagina.menstruation.currentState is "pregnant">>
-		Gender can only be changed to male when you're not pregnant to prevent potential issues. |
-	<</if>>
-	<<if $player.gender isnot "f">>
-		<<link [[Become girl|$passage]]>>
-			<<set $vaginause to 0>>
-			<<set $vaginastate to 0>>
-			<<set $penisuse to "none">>
-			<<set $penisstate to "none">>
-			<<set $player.gender to "f">>
-			<<set $player.sex to "f">>
-			<<set $player.ballsExist to false>>
-			<<set $player.penisExist to false>>
-			<<set $player.vaginaExist to true>>
-			<<set $sexStats.vagina.menstruation.running = true>>
-		<</link>> |
-	<</if>>
-	<<if $player.gender isnot "h">>
-		<<link [[Become hermaphrodite|$passage]]>>
-			<<set $vaginause to 0>>
-			<<set $vaginastate to 0>>
-			<<set $penisuse to 0>>
-			<<set $penisstate to 0>>
-			<<set $player.gender to "h">>
-			<<set $player.sex to "h">>
-			<<set $player.penisExist to true>>
-			<<set $player.vaginaExist to true>>
-			<<set $sexStats.vagina.menstruation.running = true>>
-		<</link>> |
+		<<if $player.gender isnot "f">>
+			<<link [[Become girl|$passage]]>>
+				<<set $vaginause to 0>>
+				<<set $vaginastate to 0>>
+				<<set $penisuse to "none">>
+				<<set $penisstate to "none">>
+				<<set $player.gender to "f">>
+				<<set $player.sex to "f">>
+				<<set $player.ballsExist to false>>
+				<<set $player.penisExist to false>>
+				<<set $player.vaginaExist to true>>
+				<<set $sexStats.vagina.menstruation.running = true>>
+			<</link>> |
+		<</if>>
+		<<if $player.gender isnot "h">>
+			<<link [[Become hermaphrodite|$passage]]>>
+				<<set $vaginause to 0>>
+				<<set $vaginastate to 0>>
+				<<set $penisuse to 0>>
+				<<set $penisstate to 0>>
+				<<set $player.gender to "h">>
+				<<set $player.sex to "h">>
+				<<set $player.penisExist to true>>
+				<<set $player.vaginaExist to true>>
+				<<set $sexStats.vagina.menstruation.running = true>>
+			<</link>> |
+		<</if>>
+	<<else>>
+		Gender can only be changed when you're not pregnant to prevent potential issues.
 	<</if>>
 	<<if $player.gender is "h">>
 		<br><br>
@@ -2127,89 +2127,89 @@ Change to:
 	<br><br>
 <</if>>
 
-<<if $analpregdisable is "f">>
-	<<set _pregnancy to $sexStats.anus.pregnancy>>
-	<div id="cheatsImpregOptions"><<cheatsImpregOptions>></div>
+<<if $parasitepregdisable is "f" && ($sexStats.anus.pregnancy.type is "parasite" or $sexStats.anus.pregnancy.type is null)>>
+	<div id="cheatsImpregOptions-anus"><<cheatsImpregOptions "anus">></div>
+<<elseif !($sexStats.anus.pregnancy.type is "parasite" or $sexStats.anus.pregnancy.type is null)>>
+	Your current pregnant with "<<print $sexStats.anus.pregnancy.type>>" children and cant access these settings.
+<<else>>
+	You need to enable anal pregnancy in the settings to access these settings.
+<</if>>
+
+<<if $parasitepregdisable is "f" && ($sexStats.vagina.pregnancy.type is "parasite" or $sexStats.vagina.pregnancy.type is null)>>
+	<div id="cheatsImpregOptions-vagina"><<cheatsImpregOptions "vagina">></div>
+<<elseif !($sexStats.vagina.pregnancy.type is "parasite" or $sexStats.vagina.pregnancy.type is null)>>
+	Your current pregnant with "<<print $sexStats.vagina.pregnancy.type>>" children and cant access these settings.
 <<else>>
 	You need to enable anal pregnancy in the settings to access these settings.
 <</if>>
 <</widget>>
 
 <<widget "cheatsImpregOptions">>
-<span class="gold">Anal Pregnancy</span>
-<br>
-<<if _pregnancy.count lt _pregnancy.maxCount>>
-	Get Pregnant with a |
-	<<link "eel">><<impregnate "eels" 1000>><<cheatsImpreg>><</link>> |
-	<<link "slime">><<impregnate "slimes" 1000>><<cheatsImpreg>><</link>> |
-	<<link "Fish">><<impregnate "fish" 1000>><<cheatsImpreg>><</link>> |
-	<<link "Snake">><<impregnate "snake" 1000>><<cheatsImpreg>><</link>> |
-	<<link "worm">><<impregnate "worms" 1000>><<cheatsImpreg>><</link>> |
-	<<link "tentacle">><<impregnate "tentacle" 1000>><<cheatsImpreg>><</link>> |
-	<<link "lurker">><<impregnate "lurker" 1000>><<cheatsImpreg>><</link>> |
-	<<link "wasp">><<impregnate "wasp" 1000>><<cheatsImpreg>><</link>> |
-	<<link "squid">><<impregnate "squid" 1000>><<cheatsImpreg>><</link>> |
-	<<link "vine">><<impregnate "vine" 1000>><<cheatsImpreg>><</link>> |
-	<br>
-	<<if _pregnancy.motherStatus lt 2>>
-		Get Pregnant with a Hermaphrodite |
-		<<link "eel">><<cheatsImpregPre>><<impregnate "eels" 1000>><<cheatsImpreg true>><</link>> |
-		<<link "slime">><<cheatsImpregPre>><<impregnate "slimes" 1000>><<cheatsImpreg true>><</link>> |
-		<<link "Fish">><<cheatsImpregPre>><<impregnate "fish" 1000>><<cheatsImpreg true>><</link>> |
-		<<link "Snake">><<cheatsImpregPre>><<impregnate "snake" 1000>><<cheatsImpreg true>><</link>> |
-		<<link "worm">><<cheatsImpregPre>><<impregnate "worms" 1000>><<cheatsImpreg true>><</link>> |
-		<<link "tentacle">><<cheatsImpregPre>><<impregnate "tentacle" 1000>><<cheatsImpreg true>><</link>> |
-		<<link "lurker">><<cheatsImpregPre>><<impregnate "lurker" 1000>><<cheatsImpreg true>><</link>> |
-		<<link "wasp">><<cheatsImpregPre>><<impregnate "wasp" 1000>><<cheatsImpreg true>><</link>> |
-		<<link "squid">><<cheatsImpregPre>><<impregnate "squid" 1000>><<cheatsImpreg true>><</link>> |
-		<<link "vine">><<cheatsImpregPre>><<impregnate "vine" 1000>><<cheatsImpreg true>><</link>> |
+<<capture _args>>
+	<<set $_pregnancy to $sexStats[_args[0]].pregnancy>>
+	<span class="gold"><<print (_args[0] is "anus" ? "Anal" : "Vaginal")>> Parasite Pregnancy</span>
+	<br>
+	<<if $_pregnancy.fetus.length lt maxParasites(_args[0])>>
+		Get Pregnant with a |
+		<<link "eel">><<impregnateParasite "eels" 1000 undefined _args[0]>><<cheatsImpreg _args[0]>><</link>> |
+		<<link "slime">><<impregnateParasite "slimes" 1000 undefined _args[0]>><<cheatsImpreg _args[0]>><</link>> |
+		<<link "Fish">><<impregnateParasite "fish" 1000 undefined _args[0]>><<cheatsImpreg _args[0]>><</link>> |
+		<<link "Snake">><<impregnateParasite "snake" 1000 undefined _args[0]>><<cheatsImpreg _args[0]>><</link>> |
+		<<link "worm">><<impregnateParasite "worms" 1000 undefined _args[0]>><<cheatsImpreg _args[0]>><</link>> |
+		<<link "tentacle">><<impregnateParasite "tentacle" 1000 undefined _args[0]>><<cheatsImpreg _args[0]>><</link>> |
+		<<link "lurker">><<impregnateParasite "lurker" 1000 undefined _args[0]>><<cheatsImpreg _args[0]>><</link>> |
+		<<link "wasp">><<impregnateParasite "wasp" 1000 undefined _args[0]>><<cheatsImpreg _args[0]>><</link>> |
+		<<link "squid">><<impregnateParasite "squid" 1000 undefined _args[0]>><<cheatsImpreg _args[0]>><</link>> |
+		<<link "vine">><<impregnateParasite "vine" 1000 undefined _args[0]>><<cheatsImpreg _args[0]>><</link>> |
+		<br>
+		<<if $_pregnancy.motherStatus lt 2>>
+			Get Pregnant with a Hermaphrodite |
+			<<link "eel">><<impregnateParasite "eels" 1000 undefined _args[0]>><<cheatsImpreg _args[0] true>><</link>> |
+			<<link "slime">><<impregnateParasite "slimes" 1000 undefined _args[0]>><<cheatsImpreg _args[0] true>><</link>> |
+			<<link "Fish">><<impregnateParasite "fish" 1000 undefined _args[0]>><<cheatsImpreg _args[0] true>><</link>> |
+			<<link "Snake">><<impregnateParasite "snake" 1000 undefined _args[0]>><<cheatsImpreg _args[0] true>><</link>> |
+			<<link "worm">><<impregnateParasite "worms" 1000 undefined _args[0]>><<cheatsImpreg _args[0] true>><</link>> |
+			<<link "tentacle">><<impregnateParasite "tentacle" 1000 undefined _args[0]>><<cheatsImpreg _args[0] true>><</link>> |
+			<<link "lurker">><<impregnateParasite "lurker" 1000 undefined _args[0]>><<cheatsImpreg _args[0] true>><</link>> |
+			<<link "wasp">><<impregnateParasite "wasp" 1000 undefined _args[0]>><<cheatsImpreg _args[0] true>><</link>> |
+			<<link "squid">><<impregnateParasite "squid" 1000 undefined _args[0]>><<cheatsImpreg _args[0] true>><</link>> |
+			<<link "vine">><<impregnateParasite "vine" 1000 undefined _args[0]>><<cheatsImpreg _args[0] true>><</link>> |
+		<<else>>
+			Can only have one Hermaphrodite at a time.
+		<</if>>
 	<<else>>
-		Can only have one Hermaphrodite at a time.
-	<</if>>
-<<else>>
-	You have hit the maximum number of anal pregnancies at one time.
-<</if>>
-<br><br>
-<<link "Clear Current Pregnancies">>
-	<<set _pregnancy[0] to null>>
-	<<set _pregnancy[1] to null>>
-	<<set _pregnancy[2] to null>>
-	<<set _pregnancy[3] to null>>
-	<<set _pregnancy.lowestDaysLeft to null>>
-	<<set _pregnancy.count to 0>>
-	<<if _pregnancy.motherStatus is 2>>
-		<<set _pregnancy.motherStatus to 1>>
-		<<set _pregnancy.maxCount to 2>>
+		You have hit the maximum number of <<print (_args[0] is "anus" ? "Anal" : "Vaginal")>> pregnancies at one time.
 	<</if>>
-	<<replace #cheatsImpregOptions>><<cheatsImpregOptions>><</replace>>
-<</link>>
+	<br><br>
+	<<set $_linkName to "Clear Current " + (_args[0] is "anus" ? "Anal" : "Vaginal") + " Pregnancies">>
+	<<link $_linkName>>
+		<<if $sexStats[_args[0]].pregnancy.type is "parasite">>
+			<<set $sexStats[_args[0]].pregnancy.fetus to []>>
+			<<set $sexStats[_args[0]].pregnancy.type to null>>
+			<<if $sexStats[_args[0]].pregnancy.motherStatus is 2>>
+				<<set $sexStats[_args[0]].pregnancy.motherStatus to 1>>
+			<</if>>
+		<</if>>
+		<<replace `"#cheatsImpregOptions-" + _args[0]`>><<cheatsImpregOptions _args[0]>><</replace>>
+	<</link>>
+	<br><br>
+<</capture>>
 <</widget>>
 
 <<widget "cheatsImpreg">>
-<<if _pregnancy.seenDoctor lt 2>>
-	<<set _pregnancy.seenDoctor to 2>>
+<<set $_pregnancy to $sexStats[_args[0]].pregnancy>>
+<<if $pregnancyStats.parasiteDoctorEvents lt 2>>
+	<<set $pregnancyStats.parasiteDoctorEvents to 2>>
 <</if>>
-<<if _args[0]>>
-	<<set _pregnancy.motherStatus to 2>>
-	<<set _pregnancy.maxCount to 4>>
-	<<set _pregnancy[_pregPre].stats.gender to "Futa">>
-	<<set _pregnancy[_pregPre].stats.lastEgg to Math.floor(_pregnancy[0].stats.growth / 3)>>
+<<if _args[1]>>
+	<<set $_pregnancy.motherStatus to 2>>
+	<<set $_pregnancy.fetus.last().stats.gender to "Hermaphrodite">>
+	<<set $_pregnancy.fetus.last().stats.lastEgg to Math.floor($_pregnancy.fetus.last().stats.growth / 3)>>
 <<else>>
-	<<if _pregnancy.motherStatus is 0>>
-		<<set _pregnancy.motherStatus to 1>>
-		<<set _pregnancy.maxCount to 2>>
+	<<if $_pregnancy.motherStatus is 0>>
+		<<set $_pregnancy.motherStatus to 1>>
 	<</if>>
 <</if>>
-<<fertilise>>
-<<replace #cheatsImpregOptions>><<cheatsImpregOptions>><</replace>>
-<</widget>>
-
-<<widget "cheatsImpregPre">>
-<<unset _pregPre>>
-<<for $_i to 0; $_i lt _pregnancy.maxCount; $_i++>>
-	<<if _pregnancy[$_i] is null>>
-		<<set _pregPre to clone($_i)>>
-		<<break>>
-	<</if>>
-<</for>>
+<<fertiliseParasites _args[0]>>
+<<replace `"#cheatsImpregOptions-" + _args[0]`>><<cheatsImpregOptions _args[0]>><</replace>>
 <</widget>>
diff --git a/game/base-system/overlays/featsUI.twee b/game/base-system/overlays/featsUI.twee
index d085ea2049..a0f705b0c0 100644
--- a/game/base-system/overlays/featsUI.twee
+++ b/game/base-system/overlays/featsUI.twee
@@ -4,27 +4,18 @@
 <br>
 Here you can earn VrelCoins by completing different tasks, each requiring you to meet the requirements in a single save. These will transfer to new games and allow optional bonuses. This will work even if cookies are cleared, however, you have to load your most recent save before starting a new game. Most feats will be earned at midnight, in a specific scene, or when specific text is shown. However, a handful will be unlocked by the hour.
 <br><br>
-Playing on softmode or having the "The rate that events are triggered by allure" setting below 1 will prevent you from earning feats.
-Enabling cheats at any point will prevent you from earning feats permanently in your current game.
-The other mentioned settings will also cause some feats to be locked permanently for your current game.
-Locked feats will have a red title.
-<<if $feats.locked is false>>
-	<<if $gamemode is "soft" or $alluremod lt 1>>
-		<br>
-		<span class="red">You are either on softmode or have the allure modifier below 1.</span>
-		<br>
-		<<if $feats.soft is true>>
-			<span class="red">Some feats are locked in this current game.</span>
-		<</if>>
-	<<elseif $debug is 1>>
-		<span class="red">Disabled by debug mode.</span>
-	<<elseif $replayScene isnot undefined>>
-		<span class="red">Disabled by replay mode.</span>
-	<<else>>
-		<span class="green">You can earn feats.</span>
-	<</if>>
-<<else>>
+Playing on softmode or changing settings in specific ways may prevent you from earning some feats in your current game. Enabling cheats at any point will prevent you from earning feats permanently in your current game. You will be warned if you are about to change any setting that does this. Locked feats will have a red title.
+
+<<if $feats.locked>>
 	<span class="red">You can't earn feats as you have enabled cheats at some point.</span>
+<<elseif $debug is 1>>
+	<span class="red">Disabled by debug mode.</span>
+<<elseif $replayScene isnot undefined>>
+	<span class="red">Disabled by replay mode.</span>
+<<elseif $feats.soft or $feats.pregnancyLocked>>
+	<span class="red">Some feats are locked in this current game.</span>
+<<else>>
+	<span class="green">You can earn feats.</span>
 <</if>>
 <br><br>
 You currently have <<if $feats.allSaves.point is undefined>><<print $feats.allSaves.points>><<else>>0<</if>> VrelCoins.
@@ -53,7 +44,7 @@ Filter by:
 <<set _filter to "All">>
 <<set _keys to Object.keys(_feats)>>
 <<for _i to 0; _i lt _keys.length; _i++>>
-	<<if (_skip.includes(_feats[_keys[_i]].series) and _feats[_keys[_i]].hint is undefined) or !_feats[_keys[_i]].filter.includes($feats.filter)>>
+	<<if _skip.includes(_feats[_keys[_i]].series) or !_feats[_keys[_i]].filter.includes($feats.filter)>>
 		<<continue>>
 	<</if>>
 	<<if Object.keys($feats.currentSave).includes(_keys[_i])>>
@@ -62,6 +53,9 @@ Filter by:
 		<<set _owned to 1>>
 	<<else>>
 		<<set _owned to 0>>
+		<<if _feats[_keys[_i]].hidden>>
+			<<continue>>
+		<</if>>
 		<<if _feats[_keys[_i]].series isnot "">>
 			<<set _skip.push(_feats[_keys[_i]].series)>>
 		<</if>>
@@ -73,13 +67,15 @@ Filter by:
 					<<case 1>><img @src="'img/ui/CopperCoin'+(_owned is 1 ? 'Dull':'')+'.png'" class="featCoin" @style="(_owned is 1 ? 'filter:brightness(65%) contrast(85%);':'')">
 					<<case 2>><img @src="'img/ui/SilverCoin'+(_owned is 1 ? 'Dull':'')+'.png'" class="featCoin" @style="(_owned is 1 ? 'filter:brightness(75%) contrast(85%);':'')">
 					<<case 3>><img @src="'img/ui/GoldCoin'+(_owned is 1 ? 'Dull':'')+'.png'" class="featCoin" @style="(_owned is 1 ? 'filter:brightness(65%) contrast(85%);':'')">
+					<<case 4>><img @src="'img/ui/DiamondCoin'+(_owned is 1 ? 'Dull':'')+'.png'" class="featCoin" @style="(_owned is 1 ? 'filter:brightness(65%) contrast(85%);':'')">
+					<<case 5>><img @src="'img/ui/RubyCoin'+(_owned is 1 ? 'Dull':'')+'.png'" class="featCoin" @style="(_owned is 1 ? 'filter:brightness(65%) contrast(85%);':'')">
 				<</switch>>
 			<<else>>
 				<span class="dot"></span>
 			<</if>>
 		</div>
 		<div class="featText">
-			<<if ($feats.soft is true and _feats[_keys[_i]].softLockable is true) or $feats.locked is true or ($gamemode is "soft" or $alluremod lt 1)>>
+			<<if ($feats.pregnancyLocked and _feats[_keys[_i]].pregnancyLockable) or ($feats.soft and _feats[_keys[_i]].softLockable) or $feats.locked or ($gamemode is "soft" or $alluremod lt 1)>>
 				<<set _titleColor to " red">>
 			<<else>>
 				<<set _titleColor to "">>
@@ -115,12 +111,15 @@ Filter by:
 		<<set _featsCount++>>
 	<</if>>
 <</silently>>
-<div @id="'feat-' + _featsCount" class="feat">
+<<capture _featsCount>>
+<div @id="'feat-' + _featsCount" @class="'feat feat' + _featsCount + (_featsCount gte 3 ? ' hiddenFeat' : '')">
 	<div class="featImage">
 		<<switch _feats[_args[0]].difficulty>>
 			<<case 1>><img src="img/ui/CopperCoin.gif" class="featCoin">
 			<<case 2>><img src="img/ui/SilverCoin.gif" class="featCoin">
 			<<case 3>><img src="img/ui/GoldCoin.gif" class="featCoin">
+			<<case 4>><img src="img/ui/DiamondCoin.gif" class="featCoin">
+			<<case 5>><img src="img/ui/RubyCoin.gif" class="featCoin">
 		<</switch>>
 	</div>
 	<div class="featText">
@@ -130,6 +129,7 @@ Filter by:
 	</div>
 	<div @id="'closeFeat-' + _featsCount" class="closeFeat" @onclick="'closeFeats('+ _featsCount +')'"></div>
 </div>
+<</capture>>
 <</widget>>
 
 /*Feat Points Menu*/
@@ -416,6 +416,8 @@ Filter by:
 				<<case 1>><img src="img/ui/CopperCoinFake.gif" class="featCoin">
 				<<case 2>><img src="img/ui/SilverCoinFake.gif" class="featCoin">
 				<<case 3>><img src="img/ui/GoldCoinFake.gif" class="featCoin">
+				<<case 3>><img src="img/ui/DiamondCoinFake.gif" class="featCoin">
+				<<case 3>><img src="img/ui/RubyCoinFake.gif" class="featCoin">
 			<</switch>>
 		</div>
 		<div class="featText">
diff --git a/game/base-system/overlays/options.twee b/game/base-system/overlays/options.twee
index d2383a4d8d..689980e100 100644
--- a/game/base-system/overlays/options.twee
+++ b/game/base-system/overlays/options.twee
@@ -151,7 +151,7 @@
 	<br>
 	<br>
 	Display play time in the top right of the screen
-	<mouse class="tooltip linkBlue">(?)<span>Formatted into 'h:mm:ss'. Be aware that leaving the game for hours alone, then saving will have it's time tracked, to avoid, save the game before ending play and then load the save when you resume play. Not tracked in versions '0.3.12.X' and older</span></mouse>
+	<mouse class="tooltip linkBlue">(?)<span>Formatted into 'h:mm:ss'. Be aware that leaving the game for hours alone, then saving will have it's time tracked, to avoid, save the game before ending play and then load the save when you resume play. Not tracked in versions '0.3.13.X' and older</span></mouse>
 	<br>
 	<label><<radiobutton "$options.playtime" false autocheck>> Disable</label> |
 	<label><<radiobutton "$options.playtime" true autocheck>> Enable</label>
diff --git a/game/base-system/overlays/statistics.twee b/game/base-system/overlays/statistics.twee
index 523f6d671f..3ee59eb64f 100644
--- a/game/base-system/overlays/statistics.twee
+++ b/game/base-system/overlays/statistics.twee
@@ -319,23 +319,23 @@
 <<if $pregnancyTesting>>
 	<<foldout false "_pregnancyFoldout">>
 		<span class="gold">Pregnancy</span>
+		Times given birth: <<print $sexStats.vagina.pregnancy.totalBirthEvents + $sexStats.anus.pregnancy.totalBirthEvents>>
+		<br>
+		Total number of children: <<print $pregnancyStats.playerChildren>>
+		<br>
+		Total number of human children: <<print $pregnancyStats.humanChildren>>
+		<br>
+		Total number of wolf children: <<print $pregnancyStats.wolfChildren>>
+		<br>
+		After Morning pills taken: <<print $pregnancyStats.aftermorningpills>>
+		<br>
+		Pregnancy tests taken: <<print $pregnancyStats.pregnancyTestsTaken>>
+		<br>
 		<<if $player.vaginaExist>>
-			Times given birth: <<print $sexStats.vagina.pregnancy.totalBirthEvents>>
-			<br>
-			Total number of children: <<print $pregnancyStats.playerChildren>>
-			<br>
-			Total number of human children: <<print $pregnancyStats.humanChildren>>
-			<br>
-			Total number of wolf children: <<print $pregnancyStats.wolfChildren>>
+			Vaginal Parasite Born: <<print $sexStats.vagina.pregnancy.parasiteBirthEvents>>
 			<br>
-			After Morning pills taken: <<print $pregnancyStats.aftermorningpills>>
-			<br>
-		<</if>>
-		<<if $player.vaginaExist or $pregnancyStats.pregnancyTestsTaken gt 0>>
-			Pregnancy tests taken: <<print $pregnancyStats.pregnancyTestsTaken>>
 		<</if>>
-		<br>
-		Anal Pregnancy Births: <<print $sexStats.anus.pregnancy.givenBirth>>
+		Anal Parasite Born: <<print $sexStats.anus.pregnancy.parasiteBirthEvents>>
 		<br><br>
 	<</foldout>>
 <</if>>
@@ -385,8 +385,12 @@
 	Passed out: $passoutstat
 	<br>
 	/*ToDo: Pregnancy, remove the duplicate stat*/
-	<<if $analpregdisable is "f">>
-		Anal Pregnancy Births: <<print $sexStats.anus.pregnancy.givenBirth>>
+	<<if $parasitepregdisable is "f">>
+		<<if $player.vaginaExist>>
+		Vaginal Pregnancy Births: <<print $sexStats.vagina.pregnancy.parasiteBirthEvents>>
+		<br>
+		<</if>>
+		Anal Pregnancy Births: <<print $sexStats.anus.pregnancy.parasiteBirthEvents>>
 		<br>
 	<</if>>
 	Crime History: $crimehistory
@@ -434,7 +438,7 @@
 		<mouse class="tooltip linkBlue">(?)<span>Total number of times a save has been loaded, does not track repeated load times of the same save. Not tracked in versions '0.3.12.X' and older</span></mouse>
 		<br>
 		Play Time: <<print msToTime(($saveDetails.playTime ? $saveDetails.playTime : 0) + (new Date() - ($saveDetails.loadTime ? $saveDetails.loadTime : 0)))>>
-		<mouse class="tooltip linkBlue">(?)<span>Formatted into 'h:mm:ss'. Be aware that leaving the game for hours alone, then saving will have it's time tracked, to avoid, save the game before ending play and then load the save when you resume play. Not tracked in versions '0.3.12.X' and older</span></mouse>
+		<mouse class="tooltip linkBlue">(?)<span>Formatted into 'h:mm:ss'. Be aware that leaving the game for hours alone, then saving will have it's time tracked, to avoid, save the game before ending play and then load the save when you resume play. Not tracked in versions '0.3.13.X' and older</span></mouse>
 		<br>
 	<</if>>
 	<<if $saveVersions isnot undefined>>
@@ -637,7 +641,7 @@
 		<br><br>
 	<</foldout>>
 
-	<<foldout false "_violenceFoldout">>
+	<<foldout false "_transformationFoldout">>
 		<span class="gold">Transformations</span>
 		Wolfiness: <<print Math.trunc($wolfbuild)>> (30+ for full transformation)
 		<br>
@@ -668,20 +672,140 @@
 		<br><br>
 	<</foldout>>
 
-	<<foldout false "_violenceFoldout">>
-		<span class="gold">Anal Pregnancy</span>
-		<<set _pregnancy to $sexStats.anus.pregnancy>>
-		<<for _i to 0; _i lt _pregnancy.maxCount; _i++>>
-		<<if _pregnancy[_i] isnot null>>
-		<<if _pregnancy[_i].fertilised>>
-		Anal slot <<=_i+1>> is pregnant with a _pregnancy[_i].stats.gender _pregnancy[_i].creature, and will be ready to deliver in less than <<=_pregnancy[_i].daysLeft + 1>> days.<br>
+	<<foldout false "_parasitePregnancyFoldout">>
+		<span class="gold">Parasite Pregnancy</span>
+		<<set _aPregnancy to $sexStats.anus.pregnancy>>
+		<<if _aPregnancy.type is "parasite" or _aPregnancy.type is null>>
+			<<for _i to 0; _i lt maxParasites("anus"); _i++>>
+				<<if _aPregnancy.fetus[_i] isnot undefined>>
+					<<if _aPregnancy.fetus[_i].fertilised>>
+						Anal slot <<=_i+1>> is pregnant with a _aPregnancy.fetus[_i].stats.gender _aPregnancy.fetus[_i].creature,
+						<<if _aPregnancy.fetus[_i].stats.gender is "Hermaphrodite">>
+							<<if $pregnancyStats.parasiteDoctorEvents gte 4 and _aPregnancy.fetus[_i].daysLeft is 0>>
+								Dr Harper will be able to help you to deliver at any time.
+							<<elseif $pregnancyStats.parasiteDoctorEvents gte 4>>
+								Dr Harper will be able to help you to deliver in <<=_aPregnancy.fetus[_i].daysLeft>> days.
+							<<else>>
+								You will need to see Dr Harper to deliver.
+							<</if>>
+						<<else>>
+							<<if _aPregnancy.fetus[_i].daysLeft is 0>>
+								and will be ready to deliver at any time soon.
+							<<else>>
+								and will be ready to deliver in less than <<=_aPregnancy.fetus[_i].daysLeft>> days.
+							<</if>>
+						<</if>>
+						<br>
+					<<else>>
+						Anal slot <<=_i+1>> has a _aPregnancy.fetus[_i].stats.gender _aPregnancy.fetus[_i].creature egg ready to be fertilised.<br>
+					<</if>>
+				<<else>>
+					Anal slot <<=_i+1>> is empty.<br>
+				<</if>>
+			<</for>>
 		<<else>>
-		Anal slot <<=_i+1>> has a _pregnancy[_i].stats.gender _pregnancy[_i].creature egg ready to be fertilised.<br>
+			Unable to host parasites due to other type of anal pregnancy.
 		<</if>>
-		<<else>>
-		Anal slot <<=_i+1>> is empty.<br>
+		<<set _vPregnancy to $sexStats.vagina.pregnancy>>
+		<<if $player.vaginaExist>>
+			<<if _vPregnancy.type is "parasite" or _vPregnancy.type is null>>
+				<<for _i to 0; _i lt maxParasites("vagina"); _i++>>
+					<<if _vPregnancy.fetus[_i] isnot undefined>>
+						<<if _vPregnancy.fetus[_i].fertilised>>
+							Vagina slot <<=_i+1>> is pregnant with a _vPregnancy.fetus[_i].stats.gender _vPregnancy.fetus[_i].creature,
+							<<if _vPregnancy.fetus[_i].stats.gender is "Hermaphrodite">>
+								<<if $pregnancyStats.parasiteDoctorEvents gte 4 and _vPregnancy.fetus[_i].daysLeft is 0>>
+									Dr Harper will be able to help you to deliver at any time.
+								<<elseif $pregnancyStats.parasiteDoctorEvents gte 4>>
+									Dr Harper will be able to help you to deliver in <<=_vPregnancy.fetus[_i].daysLeft + 1>> days.
+								<<else>>
+									You will need to see Dr Harper to deliver.
+								<</if>>
+							<<else>>
+								<<if _vPregnancy.fetus[_i].daysLeft is 0>>
+									and will be ready to deliver at any time soon.
+								<<else>>
+									and will be ready to deliver in less than <<=_vPregnancy.fetus[_i].daysLeft>> days.
+								<</if>>
+							<</if>>
+							<br>
+						<<else>>
+							Vagina slot <<=_i+1>> has a _vPregnancy.fetus[_i].stats.gender _vPregnancy.fetus[_i].creature egg ready to be fertilised.<br>
+						<</if>>
+					<<else>>
+						Vagina slot <<=_i+1>> is empty.<br>
+					<</if>>
+				<</for>>
+			<<else>>
+				Unable to host parasites due to other type of vaginal pregnancy.
+			<</if>>
 		<</if>>
-		<</for>>
 	<</foldout>>
+	<!-- ToDo: Pregnancy - remove $pregnancyTesting check-->
+	<<if $pregnancyTesting>>
+		<<set $_menstruation to $sexStats.vagina.menstruation>>
+		<<foldout false "_menstruationFoldout">>
+			<span class="gold">Menstruation cycle</span>
+			Running: <<print $_menstruation.running ? "true" : "false">>
+			<<if $_menstruation.running>>
+				<br>
+				Current Day in cycle: <<print $_menstruation.currentDay>>
+				<br>
+				Last day in cycle: <<print $_menstruation.currentDaysMax>>
+				<br>
+				Most risky days: <<print $_menstruation.stages[2]>>
+			<</if>>
+			<br>
+		<</foldout>>
+		<<foldout false "_pregnancyFoldout">>
+			<span class="gold">Pregnancy</span>
+			<br>
+			<<if canBeMPregnant()>>
+			<<elseif !$player.vaginaExist>>
+				Can not currently get pregnant.
+			<<elseif _vPregnancy.type is "parasite">>
+				Parasites in the womb are preventing normal pregnancy from occuring.
+			<<elseif _vPregnancy.type isnot null>>
+				Currently pregnant with: <<print _vPregnancy.fetus.length>> <<print _vPregnancy.type>>.
+				<br>
+				Pregnancy progress: <<print Math.clamp(_aPregnancy.timer / _aPregnancy.timerEnd * 100, 0, 100)>>%.
+				<br>
+			<<else>>
+				Not currently pregnant.
+				<br>
+				<<set [_trackedNPCs, _spermArray] to spermObjectToArray($sexStats.vagina.sperm)>>
+				Number of sources of sperm that can get you pregnant: <<print _spermArray.length>>.
+				<br><br>
+				Those who's sperm you have inside you currently:
+				<ul>
+					<<for _name range _trackedNPCs>>
+						<li><<print _name[1]>></li>
+					<</for>>
+				</ul>
+			<</if>>
+			<<if canBeMPregnant()>>
+				<<if _vPregnancy.type is "parasite">>
+					Parasites in the womb are preventing normal pregnancy from occuring.
+				<<elseif _aPregnancy.type isnot null>>
+					Currently pregnant with: <<print _aPregnancy.fetus.length>> <<print _aPregnancy.type>>.
+					<br>
+					Pregnancy progress: <<print Math.clamp(_aPregnancy.timer / _aPregnancy.timerEnd * 100, 0, 100)>>%.
+					<br>
+				<<else>>
+					Not currently pregnant.
+					<br>
+					<<set [_trackedNPCs, _spermArray] to spermObjectToArray($sexStats.anus.sperm)>>
+					Number of sources of sperm that can get you pregnant: <<print _spermArray.length>>.
+					<br><br>
+					Those who's sperm you have inside you currently:
+					<ul>
+						<<for _name range _trackedNPCs>>
+							<li><<print _name[1]>></li>
+						<</for>>
+					</ul>
+				<</if>>
+			<</if>>
+		<</foldout>>
+	<</if>>
 </div>
 <</widget>>
\ No newline at end of file
diff --git a/game/base-system/overlays/traits.twee b/game/base-system/overlays/traits.twee
index db67475d65..2e433b99ab 100644
--- a/game/base-system/overlays/traits.twee
+++ b/game/base-system/overlays/traits.twee
@@ -68,11 +68,11 @@
 	<<case 4>><span class="lewd">Broodmother</span> - You have given birth to many, many children.<br>
 <</switch>>
 
-<<if $sexStats.anus.pregnancy.motherStatus is 1>>
-	<span class="lewd">Anal Mother</span> - You have given birth to little critters.
+<<if $sexStats.anus.pregnancy.motherStatus is 2 or $sexStats.vagina.pregnancy.motherStatus is 2>>
+	<span class="lewd">Parasite Broodmother</span> - You've become host to an endless number of little critters<<if $sexStats.anus.pregnancy.motherStatus is 2 and $sexStats.vagina.pregnancy.motherStatus is 2>> <span class="lewd">in multiple places in your body</span><</if>>.
 	<br>
-<<elseif $sexStats.anus.pregnancy.motherStatus is 2>>
-	<span class="lewd">Anal Broodmother</span> - You've become host to an endless number of little critters.
+<<elseif $sexStats.anus.pregnancy.motherStatus is 1 or $sexStats.vagina.pregnancy.motherStatus is 1>>
+	<span class="lewd">Parasite Mother</span> - You have given birth to little critters<<if $sexStats.anus.pregnancy.motherStatus is 1 and $sexStats.vagina.pregnancy.motherStatus is 1>> <span class="lewd">in multiple places in your body</span><</if>>.
 	<br>
 <</if>>
 
diff --git a/game/base-system/physicalAdjustments.twee b/game/base-system/physicalAdjustments.twee
index e2a6ca1726..c8dd124ae5 100644
--- a/game/base-system/physicalAdjustments.twee
+++ b/game/base-system/physicalAdjustments.twee
@@ -32,7 +32,8 @@
 				'fertility booster':{autoTake: false, doseTaken: 0, owned: 0, overdose: 0},
 				'contraceptive':{autoTake: false, doseTaken: 0, owned: 0, overdose: 0},
 				'asylum\'s prescription':{autoTake: false, doseTaken: 0, owned: 0, overdose: 0},
-				'Dr Harper\'s prescription':{autoTake: false, doseTaken: 0, owned: 0, overdose: 0}
+				'Dr Harper\'s prescription':{autoTake: false, doseTaken: 0, owned: 0, overdose: 0},
+				'Anti-Parasite Cream': { autoTake: false, doseTaken: 0, owned: 0, overdose: 0 },
 			},
 			"boughtOnce": false,
 			"lastTaken":{"bottom":'', "breast":'', "penis":'', "pregnancy":''},
@@ -40,126 +41,94 @@
 		}
 	}>>
 <</if>>
+<<if $sexStats.pills.pills["Anti-Parasite Cream"] is undefined>>
+	<<set $sexStats.pills.pills["Anti-Parasite Cream"] to { autoTake: false, doseTaken: 0, owned: 0, overdose: 0 }>>
+<</if>>
 
 <<if $sexStats.anus is undefined>>
 	<<set $sexStats.anus to {
 		"pregnancy": {
-			0: null,
-			1: null,
-			2: null,
-			3: null,
-			"count": 0,
-			"maxCount": 1,
-			"fertile": false,
-			"fertilised": false,
-			"lowestDaysLeft": null,
-			"lowestTimeLeft": null,
-			"givenBirth": 0,
-			"motherStatus": 0,
-			"seenDoctor": 0,
-			"feltMovement": false,
-			"namesChildren": false,
-			"autoRepairDone":1,
-		}
+			/*//0: null,old variables, kept for debugging
+			//1: null,
+			//2: null,
+			//3: null,
+			//"count": 0,
+			//"maxCount": 1,
+			//"fertile": false,
+			//"fertilised": false,
+			//"lowestDaysLeft": null,
+			//"lowestTimeLeft": null,
+			//"givenBirth": 0,
+			//seenDoctor: 0, replaced with $pregnancyStats.parasiteDoctorEvents
+			//namesChildren: false, replaced with $pregnancyStats.namesParasitesChild*/
+			fetus: [],
+			givenBirth: 0,
+			parasiteBirthEvents: 0,
+			motherStatus: 0,
+			type: null,
+			awareOf: null,
+			timer: null,
+			timerEnd: null,
+		},
+		"sperm":{},
 	}>>
 <</if>>
-/*
-<<if $sexStats.pills.type is undefined or $sexStats.pills.type.length lt 3>>
-	<<set _quantity to [0,0,0,0,0,0,0,0,0]>>
-	<<if $sexStats.pills.breastOwned isnot undefined and $sexStats.pills.boughtOnce is true>>
-		<<set _quantity[0] to Math.floor($sexStats.pills.penisOwned[5] + ($sexStats.pills.penisOwned[4] / 2))>>
-		<<set _quantity[1] to Math.floor($sexStats.pills.penisOwned[0] + ($sexStats.pills.penisOwned[1] / 2))>>
-		<<set _quantity[2] to clone($sexStats.pills.penisOwned[2])>>
-		<<set _quantity[3] to Math.floor($sexStats.pills.breastOwned[5] + ($sexStats.pills.breastOwned[4] / 2))>>
-		<<set _quantity[4] to Math.floor($sexStats.pills.breastOwned[0] + ($sexStats.pills.breastOwned[1] / 2))>>
-		<<set _quantity[5] to clone($sexStats.pills.breastOwned[2])>>
-	<<elseif $sexStats.pills.breast isnot undefined and $sexStats.pills.boughtOnce is true>>
-		<<set _quantity[0] to clone($sexStats.pills.penis.owned.growth)>>
-		<<set _quantity[1] to clone($sexStats.pills.penis.owned.reduction)>>
-		<<set _quantity[2] to clone($sexStats.pills.penis.owned.blocker)>>
-		<<set _quantity[3] to clone($sexStats.pills.breast.owned.growth)>>
-		<<set _quantity[4] to clone($sexStats.pills.breast.owned.reduction)>>
-		<<set _quantity[5] to clone($sexStats.pills.breast.owned.blocker)>>
+<<if $sexStats.anus.pregnancy.fetus is undefined>>
+	<<set $sexStats.anus.pregnancy.fetus to []>>
+	<<for $_i to 0; $_i lt 4; $_i++>>
+		<<if $sexStats.anus.pregnancy[$_i] isnot null>>
+			<<run $sexStats.anus.pregnancy.fetus.push(clone($sexStats.anus.pregnancy[$_i]))>>
+			<<if $sexStats.anus.pregnancy.fetus.last().stats.gender is "Futa">>
+				<<set $sexStats.anus.pregnancy.fetus.last().stats.gender to "Hermaphrodite">>
+			<</if>>
+			<<set $sexStats.anus.pregnancy.type to "parasite">>
+		<</if>>
+		<<run delete $sexStats.anus.pregnancy[$_i]>>
+	<</for>>
+	<<if !$sexStats.anus.pregnancy.parasiteBirthEvents>>
+		<<set $sexStats.anus.pregnancy.parasiteBirthEvents to clone($sexStats.anus.pregnancy.givenBirth)>>
+		<<set $sexStats.anus.pregnancy.parasiteFeltMovement to clone($sexStats.anus.pregnancy.feltMovement)>>
+		<<set $sexStats.anus.pregnancy.givenBirth to 0>>
 	<</if>>
-	<<if $sexStats.pills.boughtOnce is true>>
-		<<set _boughtOnce to true>>
-	<<else>>
-		<<set _boughtOnce to false>>
+	<<if $sexStats.anus.pregnancy.seenDoctor>>
+		<<set $pregnancyStats.parasiteDoctorEvents to clone($sexStats.anus.pregnancy.seenDoctor)>>
+	<</if>>
+	<<if $sexStats.anus.pregnancy.book>>
+		<<set $pregnancyStats.parasiteBook to clone($sexStats.anus.pregnancy.book)>>
+	<</if>>
+	<<if $sexStats.anus.pregnancy.typesSeen>>
+		<<set $pregnancyStats.parasiteTypesSeen to clone($sexStats.anus.pregnancy.typesSeen)>>
+	<</if>>
+	<<if $sexStats.anus.pregnancy.variantsSeen>>
+		<<set $pregnancyStats.parasiteVariantsSeen to clone($sexStats.anus.pregnancy.variantsSeen)>>
 	<</if>>
 
-	<<set $sexStats.pills to {
-		"type": ["penis", "breast", "bottom"],
-		"penis": {
-			"type": null,
-			"doseTaken": null,
-			"autoTake": null,
-			"overdose": {
-				"growth":0,
-				"reduction":0
-			},
-			"owned": {
-				"growth": clone(_quantity[0]),
-				"reduction": clone(_quantity[1]),
-				"blocker": clone(_quantity[2]),
-			}
-		},
-		"breast": {
-			"type": null,
-			"doseTaken": null,
-			"autoTake": null,
-			"overdose": {},
-			"owned": {
-				"growth": clone(_quantity[3]),
-				"reduction": clone(_quantity[4]),
-				"blocker": clone(_quantity[5]),
-			}
-		},
-		"bottom": {
-			"type": null,
-			"doseTaken": null,
-			"autoTake": null,
-			"overdose": {},
-			"owned": {
-				"growth": clone(_quantity[6]),
-				"reduction": clone(_quantity[7]),
-				"blocker": clone(_quantity[8]),
-			}
-		},
-		"boughtOnce": _boughtOnce
-	}>>
-<</if>>
-<<if $sexStats.pills.pregnancy is undefined>>
-	<<set $sexStats.pills.pregnancy to {
-			"type": null,
-			"doseTaken": null,
-			"autoTake": null,
-			"overdose": false,
-			"owned": {
-				"fertility": 0,
-				"contraceptive": 0,
-			}
-	}>>
-	<<run $sexStats.pills.type.pushUnique("pregnancy")>>
+	/*Vagina Parity Variables*/
+	<<set $sexStats.anus.pregnancy.awareOf to null>>
+	<<set $sexStats.anus.pregnancy.timer to null>>
+	<<set $sexStats.anus.pregnancy.timerEnd to null>>
+	<<set $sexStats.anus.pregnancy.timerEnd to null>>
+	<<set $sexStats.anus.pregnancy.waterBreaking to false>>
+	<<set $sexStats.anus.pregnancy.potentialFathers to []>>
+	<<set $sexStats.anus.pregnancy.totalBirthEvents to 0>>
+
+	<<set $sexStats.anus.sperm to {}>>
+
+	<<run delete $sexStats.anus.pregnancy.maxCount>>
+	<<run delete $sexStats.anus.pregnancy.count>>
+	<<run delete $sexStats.anus.pregnancy.lowestDaysLeft>>
+	<<run delete $sexStats.anus.pregnancy.lowestTimeLeft>>
+	<<run delete $sexStats.anus.pregnancy.feltMovement>>
+	<<run delete $sexStats.anus.pregnancy.fertile>>
+	<<run delete $sexStats.anus.pregnancy.fertilised>>
+	<<run delete $sexStats.anus.pregnancy.namesChildren>>
+	<<run delete $sexStats.anus.pregnancy.seenDoctor>>
+	<<run delete $sexStats.anus.pregnancy.book>>
+	<<run delete $sexStats.anus.pregnancy.typesSeen>>
+	<<run delete $sexStats.anus.pregnancy.variantsSeen>>
+	<<run delete $sexStats.anus.pregnancy.autoRepairDone>>
 <</if>>
-<<if $sexStats.pills.penis.overdose is false>>
-	<<set $sexStats.pills.penis.overdose to {
-		"growth":0,
-		"reduction":0
-	}>>
-<</if>>
-<<set _pills to $sexStats.pills>>
-<<set _pills.penis.owned.growth to Math.clamp(_pills.penis.owned.growth, 0, 1000)>>
-<<set _pills.penis.owned.reduction to Math.clamp(_pills.penis.owned.reduction, 0, 1000)>>
-<<set _pills.penis.owned.blocker to Math.clamp(_pills.penis.owned.blocker, 0, 1000)>>
-<<set _pills.breast.owned.growth to Math.clamp(_pills.breast.owned.growth, 0, 1000)>>
-<<set _pills.breast.owned.reduction to Math.clamp(_pills.breast.owned.reduction, 0, 1000)>>
-<<set _pills.breast.owned.blocker to Math.clamp(_pills.breast.owned.blocker, 0, 1000)>>
-<<set _pills.bottom.owned.growth to Math.clamp(_pills.bottom.owned.growth, 0, 1000)>>
-<<set _pills.bottom.owned.reduction to Math.clamp(_pills.bottom.owned.reduction, 0, 1000)>>
-<<set _pills.bottom.owned.blocker to Math.clamp(_pills.bottom.owned.blocker, 0, 1000)>>
-<<set _pills.pregnancy.owned.fertility to Math.clamp(_pills.pregnancy.owned.fertility, 0, 1000)>>
-<<set _pills.pregnancy.owned.contraceptive to Math.clamp(_pills.pregnancy.owned.contraceptive, 0, 1000)>>
-*/
+
 <<if $sexStats.vagina is undefined>>
 	<<set _baseDays to random(24,38)>>
 	<<if _baseDays lt 26>>
@@ -191,19 +160,15 @@
 		"pregnancy": {
 			"fetus": [],
 			"givenBirth": 0,
+			"parasiteBirthEvents": 0,
 			"totalBirthEvents": 0,
 			"motherStatus": 0,
-			"beastMotherStatus": 0,
-			"morningSicknessWaking":0,
-			"morningSicknessGeneral":0,
 			"waterBreaking": false,
 			"type": null,
-			"bellySize": 0,
 			"timer": null,
 			"timerEnd": null,
 			"awareOf": null,
 			"potentialFathers": [],
-			"ultrasoundDone": false,
 		},
 		"menstruation":{
 			"baseDays": _baseDays,
@@ -250,6 +215,17 @@
 	<<run delete $sexStats.vagina.pregnancy[6]>>
 	<<run delete $sexStats.vagina.pregnancy[7]>>
 <</if>>
+<<if $sexStats.vagina.pregnancy.parasiteBirthEvents is undefined>>
+	<<set $sexStats.vagina.pregnancy.parasiteBirthEvents to 0>>
+	<<set $sexStats.vagina.pregnancy.parasiteFeltMovement to false>>
+	<<set $sexStats.vagina.pregnancy.timerEnd to null>>
+	<<run delete $sexStats.vagina.pregnancy.beastMotherStatus>>
+	<<run delete $sexStats.vagina.pregnancy.ultrasoundDone>>
+	<<run delete $sexStats.vagina.pregnancy.morningSicknessWaking>>
+	<<run delete $sexStats.vagina.pregnancy.morningSicknessGeneral>>
+	<<run delete $sexStats.vagina.pregnancy.bellySize>>
+	<<run delete $sexStats.vagina.pregnancy.timerStart>>
+<</if>>
 <</widget>>
 
 :: Widgets physicalAdjustments [widget]
@@ -276,7 +252,8 @@
 
 	<<set _breastMulti += (Math.clamp($sexStats.breasts.playedWith, 0, 500) / 250)>>
 
-	<<set _breastMulti += $sexStats.anus.pregnancy.count / 0.5>>
+	<<set _breastMulti += $sexStats.anus.pregnancy.fetus.length / 0.5>>
+	<<set _breastMulti += $sexStats.vagina.pregnancy.fetus.length / 0.5>>
 
 	<<if $purity gte 990>>
 		<<set _breastMulti -= 1>>
diff --git a/game/base-system/pregnancy/children.twee b/game/base-system/pregnancy/children.twee
index 18b33b4871..89275c2815 100644
--- a/game/base-system/pregnancy/children.twee
+++ b/game/base-system/pregnancy/children.twee
@@ -152,6 +152,19 @@ args[3] - "both" to include unrelated children or "only" to exclude the player c
 <</silently>><<if $_text_output>><<print $_text_output>><</if>>
 <</widget>>
 
+/*args[0] - childId in an array*/
+<<widget "childInteratedWith">><<silently>>
+<<if _args[0] isnot undefined>>
+	<<set _id to _args[0]>>
+<<elseif $childSelected isnot undefined>>
+	<<set _id to $childSelected.childId>>
+<</if>>
+<<if _id>>
+	<<set $children[_id].localVariables.interactions = $children[_id].localVariables.interactions ? $children[_id].localVariables.interactions + 1 : 1>>
+<</if>>
+<</silently>>
+<</widget>>
+
 /*args[0] - childId*/
 <<widget "childHe">><<silently>>
 <<if _args[0] isnot undefined>>
@@ -435,6 +448,19 @@ args[3] - "both" to include unrelated children or "only" to exclude the player c
 <</silently>><<if $_text_output>><<print $_text_output>><</if>>
 <</widget>>
 
+/*args[0] - childId, args[1] - word*/
+<<widget "childFirstWord">><<silently>>
+<<if _args[0] isnot undefined>>
+	<<set _id to _args[0]>>
+<<elseif $childSelected isnot undefined>>
+	<<set _id to $childSelected.childId>>
+<</if>>
+<<if _id isnot undefined and !$children[_id].localVariables.firstWord>>
+	<<set $_text_output to $children[_id].localVariables.firstWord.word>>
+<</if>>
+<</silently>><<if $_text_output>><<print $_text_output>><</if>>
+<</widget>>
+
 /*args[0] - location, args[1] - toyid, toy set or toy name, args[2] - option of either "notext" or "lowercase"*/
 <<widget "childtoy">><<silently>>
 <<set _toys to $storedChildrenToys[_args[0]]>>
diff --git a/game/base-system/pregnancy/childrenEvents.twee b/game/base-system/pregnancy/childrenEvents.twee
index 2118420792..c6c14cd4a2 100644
--- a/game/base-system/pregnancy/childrenEvents.twee
+++ b/game/base-system/pregnancy/childrenEvents.twee
@@ -233,6 +233,7 @@
 :: Children Activity Events
 <<effects>>
 <<childSelect $childActivityEvent.childid>>
+<<childInteratedWith>>
 <<set $children[$childActivityEvent.childid].localVariables.event to false>>
 <<switch $childActivityEvent.event>>
 	/*Human Specific*/
diff --git a/game/base-system/pregnancy/containers.twee b/game/base-system/pregnancy/containers.twee
index 2d85f04dc9..4b7abd593d 100644
--- a/game/base-system/pregnancy/containers.twee
+++ b/game/base-system/pregnancy/containers.twee
@@ -220,7 +220,7 @@
 <</widget>>
 
 <<widget "creatureTooltip">>
-	<<if _creatureTip[_i].length gte 1 and _pregnancy.book is 3 and $statdisable is "f">>
+	<<if _creatureTip[_i].length gte 1 and $pregnancyStats.parasiteBook is 3 and $statdisable is "f">>
 		<mouse class="tooltip"><<print _container.creatures[_i].creature>><span class="gold"><<print _creatureTip[_i].join("<br>")>></span></mouse>
 	<<else>>
 		<<print _container.creatures[_i].creature>>
@@ -230,13 +230,13 @@
 <<widget "luxuryTooltip">>
 	<span class="gold">
 	<<if $phase is "farm" and $farm.parasitebarn gte 2>>
-		<<if _luxuryTip.length gte 1 and _pregnancy.book is 3 and $statdisable is "f">>
+		<<if _luxuryTip.length gte 1 and $pregnancyStats.parasiteBook is 3 and $statdisable is "f">>
 			<mouse class="tooltip">as advanced as can be<span><<print _luxuryTip.join("<br>")>></span></mouse>
 		<<else>>
 			as advanced as can be
 		<</if>>
 	<<else>>
-		<<if _luxuryTip.length gte 1 and _pregnancy.book is 3 and $statdisable is "f">>
+		<<if _luxuryTip.length gte 1 and $pregnancyStats.parasiteBook is 3 and $statdisable is "f">>
 			<mouse class="tooltip"><<print _container.decorations.toLowerCase()>><span><<print _luxuryTip.join("<br>")>></span></mouse>
 		<<else>>
 			<<print _container.decorations.toLowerCase()>>
@@ -290,13 +290,13 @@
 	<</if>>
 	determines how much stress and trauma is reduced when checking on your parasites. Activity goes from <span class="red">very rare</span> to <span class="gold">perfect</span>.
 	<br><br>
-	<<if _pregnancy.typesSeen.includes("Slime")>>
+	<<if $pregnancyStats.parasiteTypesSeen.includes("Slime")>>
 		<li><b>Slimes</b> of any kind raise purity by a small amount when checking on them.</li>
 	<</if>>
-	<<if _pregnancy.typesSeen.includes("Worm")>>
+	<<if $pregnancyStats.parasiteTypesSeen.includes("Worm")>>
 		<li><b>Worms</b> lower purity by a small amount when checking on them.</li>
 	<</if>>
-	<<if _pregnancy.typesSeen.includes("Tentacle")>>
+	<<if $pregnancyStats.parasiteTypesSeen.includes("Tentacle")>>
 		<li><b>Tentacles</b> of any kind lower fatigue when checking on them. They can also raise or lower purity, depending on what other parasites are present.
 		<<if _boosts and _boosts.purity gt 0>>
 			Currently, they're raising purity.
@@ -306,10 +306,10 @@
 			Currently, they're doing neither.
 		<</if>>
 		They are more likely to have better activity than other parasites.</li>
-		<<if _pregnancy.typesSeen.includes("Vine")>>
+		<<if $pregnancyStats.parasiteTypesSeen.includes("Vine")>>
 			<li><b>Vines</b> have the same effect as tentacles.</li>
 		<</if>>
-	<<elseif _pregnancy.typesSeen.includes("Vine")>>
+	<<elseif $pregnancyStats.parasiteTypesSeen.includes("Vine")>>
 		<li><b>Vines</b> lower fatigue when checking on them. They can also raise or lower purity, depending on what other parasites are present.
 		<<if _boosts and _boosts.purity gt 0>>
 			Currently, they're raising purity.
@@ -320,11 +320,11 @@
 		<</if>>
 		They are more likely to have better activity than other parasites.</li>
 	<</if>>
-	<<if _pregnancy.typesSeen.includes("Lurker")>>
+	<<if $pregnancyStats.parasiteTypesSeen.includes("Lurker")>>
 		<li><b>Lurkers</b> are more likely to have better activity, but take longer to birth and sell for less. They do not have any other notable traits.</li>
 	<</if>>
 	<!-- Printing info for all remaining types seen, that don't have any special traits -->
-	<<set $_typesRemainder to clone(_pregnancy.typesSeen).filter(types => !["Lurker","Vine","Tentacle","Slime","Worm"].includes(types))>>
+	<<set $_typesRemainder to clone($pregnancyStats.parasiteTypesSeen).filter(types => !["Lurker","Vine","Tentacle","Slime","Worm"].includes(types))>>
 	<<if $_typesRemainder.length gte 1>>
 		<<for _r to 0; _r lt $_typesRemainder.length; _r++>>
 			<<set $_typesRemainder[_r] to "<b>" + $_typesRemainder[_r]>>
@@ -338,11 +338,11 @@
 		<li><<print formatList($_typesRemainder)>> do not have any notable traits.</li>
 	<</if>>
 	<!-- Pale parasites are down here because they're variants. It looks kinda awkward because there are very few parasite variants -->
-	<<if _pregnancy.variantsSeen.includes("Pale")>>
+	<<if $pregnancyStats.parasiteVariantsSeen.includes("Pale")>>
 		<li><b><span class="wraith">Pale</span></b> parasites have larger bonuses than other parasites, and also afflict you with hallucinogens.</li>
 	<</if>>
 	<!-- Printing info for all remaining variants seen, that don't have any special traits -->
-	<<set $_variantsRemainder to clone(_pregnancy.variantsSeen).filter(types => !["Pale"].includes(types))>>
+	<<set $_variantsRemainder to clone($pregnancyStats.parasiteVariantsSeen).filter(types => !["Pale"].includes(types))>>
 	<<if $_variantsRemainder.length gte 1>>
 		<<for _r to 0; _r lt $_variantsRemainder.length; _r++>>
 			<<set $_variantsRemainder[_r] to "<b>" + $_variantsRemainder[_r] + "</b>">>
@@ -355,18 +355,19 @@
 <<set $outside to 0>><<set $location to $container.lastLocation>><<effects>>
 <<set $phase to $phase || $location>>
 <<set _container to $container[$phase]>>
-<<set _pregnancy to $sexStats.anus.pregnancy>>
+<<set _aPregnancy to $sexStats.anus.pregnancy>>
+<<set _vPregnancy to $sexStats.vagina.pregnancy>>
 <<set $checkboxResult to {}>>
 
 <<if _container.count is 0>>
 	<<if _container.deadCreatures is 0>>
-		You currently have no <<if _pregnancy.namesChildren is true>>children<<else>>parasites<</if>> inside the <span class="gold"><<print _container.name.toLowerCase()>></span>.
+		You currently have no <<if $pregnancyStats.namesParasitesChild is true>>children<<else>>parasites<</if>> inside the <span class="gold"><<print _container.name.toLowerCase()>></span>.
 		<br>
 	<<else>>
-		After not checking and feeding <<if _pregnancy.namesChildren is true>>your children<<else>>the parasites<</if>>, it looks like <span class="red">some have died</span>. You take your time in burying them.
+		After not checking and feeding <<if $pregnancyStats.namesParasitesChild is true>>your children<<else>>the parasites<</if>>, it looks like <span class="red">some have died</span>. You take your time in burying them.
 		<<ggtrauma>>
 		<br><br>
-		<<if _pregnancy.namesChildren is true>>
+		<<if $pregnancyStats.namesParasitesChild is true>>
 			<<set _traumaMulti to 2>>
 		<<else>>
 			<<set _traumaMulti to 1>>
@@ -391,27 +392,27 @@
 	<</if>>
 <<else>>
 	<<if _container.visited is false>>
-		You check on <<if _pregnancy.namesChildren is true>>your child<<if _container.count isnot 1>>ren<</if>><<else>>the parasite<<if _container.count isnot 1>>s<</if>><</if>>, and make sure <<if _container.count isnot 1>>they have<<else>>it has<</if>> everything <<if _container.count isnot 1>>they need<<else>>it needs<</if>> inside the <span class="gold"><<print _container.name.toLowerCase()>></span>.
+		You check on <<if $pregnancyStats.namesParasitesChild is true>>your child<<if _container.count isnot 1>>ren<</if>><<else>>the parasite<<if _container.count isnot 1>>s<</if>><</if>>, and make sure <<if _container.count isnot 1>>they have<<else>>it has<</if>> everything <<if _container.count isnot 1>>they need<<else>>it needs<</if>> inside the <span class="gold"><<print _container.name.toLowerCase()>></span>.
 		<br>
 		<<creatureVisit>>
 	<<else>>
 		<<creatureVisit false>>
-		You watch your <<if _pregnancy.namesChildren is true>>child<<if _container.count isnot 1>>ren<</if>><<else>>parasite<<if _container.count isnot 1>>s<</if>><</if>> inside the <span class="gold"><<print _container.name.toLowerCase()>></span>.
+		You watch your <<if $pregnancyStats.namesParasitesChild is true>>child<<if _container.count isnot 1>>ren<</if>><<else>>parasite<<if _container.count isnot 1>>s<</if>><</if>> inside the <span class="gold"><<print _container.name.toLowerCase()>></span>.
 	<</if>>
 	<br><br>
-	It has a max capacity of <<number _container.maxCount>> and <<if _pregnancy.namesChildren is true>>your child<<if _container.count isnot 1>>ren<</if>><<else>>the parasite<<if _container.count isnot 1>>s<</if>><</if>> can survive <<number _container.maxDaysWithoutFood>> days without your attention<<if _container.feederName>>, thanks to your <span class="gold"><<print _container.feederName.toLowerCase()>></span><</if>>.
+	It has a max capacity of <<number _container.maxCount>> and <<if $pregnancyStats.namesParasitesChild is true>>your child<<if _container.count isnot 1>>ren<</if>><<else>>the parasite<<if _container.count isnot 1>>s<</if>><</if>> can survive <<number _container.maxDaysWithoutFood>> days without your attention<<if _container.feederName>>, thanks to your <span class="gold"><<print _container.feederName.toLowerCase()>></span><</if>>.
 	<<if _container.decorations>>You have <<luxuryTooltip>> set up within the tank.<</if>>
 	<<if $phase is "farm" and $farm.parasitebarn gte 2>>The equipment set up is <<luxuryTooltip>> in the barn.<</if>>
 	<!-- For players who had multiple parasite children before the tooltip update -->
-	<<if _pregnancy.typesSeen.length gte 4 and _pregnancy.book is undefined or _pregnancy.book is 1>>
-		<<set _pregnancy.book to 1>>
+	<<if $pregnancyStats.parasiteTypesSeen.length gte 4 and $pregnancyStats.parasiteBook is undefined or $pregnancyStats.parasiteBook is 1>>
+		<<set $pregnancyStats.parasiteBook to 1>>
 		<br><br>
 		You find yourself wondering at the sheer number of different types of creatures you have, and wonder if there's any way to know more. <span class="gold">Doctor Harper might be able to help you.</span>
 	<</if>>
 <</if>>
 <br><br>
 
-<<if _pregnancy.book is 3>>
+<<if $pregnancyStats.parasiteBook is 3>>
 	<div id="info" class="no-numberify"><<link "Open notebook">><<replace "#info">><<containerInfo>><</replace>><</link>></div>
 <</if>>
 
@@ -429,20 +430,38 @@
 <</if>>
 
 <<if _container.deadCreatures is 0>>
-	<<if _pregnancy.feltMovement is true>>
+	<<if _aPregnancy.type !== "parasite">>
+	<<elseif _aPregnancy.parasiteFeltMovement>>
 		<<if $worn.genitals.anal_shield is 1>>
-			You're unable to deliver <<if _pregnancy.namesChildren is true>>your children<<else>>the parasites<</if>> while you have an anal shield.
+			You're unable to deliver <<if $pregnancyStats.namesParasitesChild is true>>your parasite children<<else>>the parasites<</if>> while you have an anal shield.
 		<<else>>
-			<<if _pregnancy.namesChildren is true>>
-				<<link [[Attempt to deliver your baby (1:00)|GiveBirth]]>><<pass 60>><</link>>
+			<<if $pregnancyStats.namesParasitesChild is true>>
+				<<link [[Attempt to deliver your anus parasite children (1:00)|GiveBirth]]>><<pass 60>><<set $giveBirthLocation to "anus">><</link>>
 			<<else>>
-				<<link [[Attempt to deliver the parasite (1:00)|GiveBirth]]>><<pass 60>><</link>>
+				<<link [[Attempt to deliver the anus parasite (1:00)|GiveBirth]]>><<pass 60>><<set $giveBirthLocation to "anus">><</link>>
 			<</if>>
 		<</if>>
-	<<elseif _pregnancy.count - (_pregnancy.motherStatus is 2 ? 1 : 0) gt 0>>
-		You don't think <<print (_pregnancy.namesChildren is true ? "your children" : "the parasites")>> are ready for delivery.
+		<br><br>
+	<<elseif _aPregnancy.fetus.length - (_aPregnancy.motherStatus is 2 ? 1 : 0) gt 0>>
+		You don't think <<print ($pregnancyStats.namesParasitesChild is true ? "your parasite children" : "the parasites")>> in your anus are ready for delivery.
+		<br><br>
+	<</if>>
+	<<if _vPregnancy.type !== "parasite">>
+	<<elseif _vPregnancy.parasiteFeltMovement>>
+		<<if $worn.genitals.type.includes("hidden")>>
+			You're unable to deliver <<if $pregnancyStats.namesParasitesChild is true>>your parasite children<<else>>the parasites<</if>> while you have a chastity belt.
+		<<else>>
+			<<if $pregnancyStats.namesParasitesChild is true>>
+				<<link [[Attempt to deliver your vagina parasite children (1:00)|GiveBirth]]>><<pass 60>><<set $giveBirthLocation to "vagina">><</link>>
+			<<else>>
+				<<link [[Attempt to deliver the vagina parasite (1:00)|GiveBirth]]>><<pass 60>><<set $giveBirthLocation to "vagina">><</link>>
+			<</if>>
+		<</if>>
+		<br><br>
+	<<elseif _vPregnancy.fetus.length - (_aPregnancy.motherStatus is 2 ? 1 : 0) gt 0>>
+		You don't think <<print ($pregnancyStats.namesParasitesChild is true ? "your parasite children" : "the parasites")>> in your vagina are ready for delivery.
+		<br><br>
 	<</if>>
-	<br><br>
 	<<if _container.count gt 0>>
 		<<link [[Transfer selected for selling|$passage]]>>
 			<<for _i to 0; _i lt _container.maxCount;_i++>>
diff --git a/game/base-system/pregnancy/events.twee b/game/base-system/pregnancy/events.twee
index b0ccf99905..c1218ce331 100644
--- a/game/base-system/pregnancy/events.twee
+++ b/game/base-system/pregnancy/events.twee
@@ -1,7 +1,7 @@
 :: Pregnancy Introduction
 
 <<set $outside to 0>><<set $location to "town">><<effects>>
-<<set $sexStats.anus.pregnancy.seenDoctor to 2>>
+<<set $pregnancyStats.parasiteDoctorEvents to 2>>
 <<harper_intro>>
 "You're experiencing strange sensations in your abdomen?" <<he>> asks. You nod. <<He>> wheels <<his>> chair closer, and places <<his>> stethoscope to your tummy.
 <br><br>
@@ -12,14 +12,13 @@
 <<He>> turns back to <<his>> computer. "Species like this are of scientific interest," <<he>> continues. "If you're interested in making a bit of money, I'm able to pay you for them on behalf of a local company." <<He>> rises to <<his>> feet. "Is there anything else?"
 <br><br>
 You shake your head. <<He>> holds open the door for you, and you leave the office. "Be well," <<he>> says as you pass.
-<br><br><br><br>
+<br><br>
 <<link [[Return to foyer|Hospital Foyer]]>><<endevent>><</link>>
 
 :: Pregnancy Discussion
 
 <<set $outside to 0>><<set $location to "town">><<effects>>
 <<if $firstOption is undefined>><<set $firstOption to true>><</if>>
-<<set _pregnancy to $sexStats.anus.pregnancy>>
 
 <<if $firstOption is true>>
 	<<npc Harper>><<person1>>You don't have to wait long. Doctor Harper emerges from <<his>> office and beckons you over. You enter <<his>> office and take a seat.
@@ -32,8 +31,8 @@ You shake your head. <<He>> holds open the door for you, and you leave the offic
 	<br><br>
 <</if>>
 
-<<if $sexStats.anus.pregnancy.seenDoctor gte 2 and $container.portable.value gt 0>>
-	<<if _pregnancy.namesChildren is true>>
+<<if $pregnancyStats.parasiteDoctorEvents gte 2 and $container.portable.value gt 0>>
+	<<if $pregnancyStats.namesParasitesChild is true>>
 		<<link [[Sell the children you're carrying (0:05)|Sell Children]]>><<pass 5>><<set $firstOption to false>><</link>>
 		<br>
 	<<else>>
@@ -41,15 +40,15 @@ You shake your head. <<He>> holds open the door for you, and you leave the offic
 		<br>
 	<</if>>
 <</if>>
-<<if $sexStats.anus.pregnancy.seenDoctor is 3>>
+<<if $pregnancyStats.parasiteDoctorEvents is 3>>
 	<<link [[Inquire about feeling something large in your stomach (0:10)|Pregnancy Futa Introduction]]>><<pass 10>><<set $firstOption to false>><</link>>
 	<br>
 <</if>>
-<<if $sexStats.anus.pregnancy.seenDoctor gte 4 and $sexStats.anus.pregnancy.motherStatus is 2>>
+<<if $pregnancyStats.parasiteDoctorEvents gte 4 and ($sexStats.anus.pregnancy.motherStatus is 2 or ($sexStats.anus.pregnancy.motherStatus is 2 and !$warn.genitals.type.includes("hidden")))>>
 	<<link [[Inquire about anal futa removal (0:30)|Remove Futa Pregnancy]]>><<pass 30>><<set $futaCheck to true>><<set $firstOption to false>><</link>>
 	<br>
 <</if>>
-<<if $sexStats.anus.pregnancy.typesSeen.length gte 4 and $sexStats.anus.pregnancy.book is 1>>
+<<if $pregnancyStats.parasiteTypesSeen.length gte 4 and $pregnancyStats.parasiteBook is 1>>
 	<<link [[Inquire about information on parasites (0:05)|Harper Parasite Book]]>><<pass 5>><<set $firstOption to false>><</link>>
 	<br>
 <</if>>
@@ -90,7 +89,7 @@ You pull out the small container <<he>> gave you. <<He>> looks inside. Seeming s
 :: Pregnancy Futa Introduction
 
 <<set $outside to 0>><<set $location to "town">><<effects>>
-<<set $sexStats.anus.pregnancy.seenDoctor to 4>>
+<<set $pregnancyStats.parasiteDoctorEvents to 4>>
 "Strange," <<he>> says. "N-not that there's anything to be alarmed about." <<He>> pulls <<his>> chair back to <<his>> computer and types something in.
 <br><br>
 You wait as <<he>> reads the screen, occasionally tapping on the keyboard. <<He>> pulls a large book from a drawer, blows off dust, and flips through the pages. At last, <<he>> puts the book away and turns to face you.
@@ -108,37 +107,49 @@ You wait as <<he>> reads the screen, occasionally tapping on the keyboard. <<He>
 
 <<set $outside to 0>><<set $location to "town">><<effects>>
 
-<<set _pregnancy to $sexStats.anus.pregnancy>><<set _extra to false>>
-<<for _i to 0; _i lt _pregnancy.maxCount; _i++>>
-	<<if _pregnancy[_i] isnot null>>
-		<<if _pregnancy[_i].stats.gender is "Futa">>
-			<<moveCreature _i "destroy">>
-			<<set _pregnancy.motherStatus to 1>>
-			<<set _pregnancy.maxCount to 2>>
-			<<break>>
+<<set _aPregnancy to $sexStats.anus.pregnancy>>
+<<if _aPregnancy.type is "parasite">>
+	<<for _i to 0; _i lt _aPregnancy.fetus.length; _i++>>
+		<<if _aPregnancy.fetus[_i] isnot undefined>>
+			<<if _aPregnancy.fetus[_i].stats.gender is "Hermaphrodite">>
+				<<set _analFuta to true>>
+				<<moveCreature _i "destroy" undefined "anus">>
+				<<set _aPregnancy.motherStatus to 1>>
+				<<break>>
+			<</if>>
 		<</if>>
-	<</if>>
-<</for>>
+	<</for>>
+	<<clearToDeleteParasiteFetus>>
+	<<for _i to 0; _i lt _aPregnancy.fetus.length; _i++>>
+		<<if _aPregnancy.fetus[_i] isnot undefined and _i >= maxParasites("anus")>>
+				<<set _analFutaOther to true>>
+				<<moveCreature _i "destroy" undefined "anus">>
+		<</if>>
+	<</for>>
+	<<clearToDeleteParasiteFetus>>
+<</if>>
 
-<<set _slotsFree to [false, false]>>
-<<for _i to 0; _i lt 4; _i++>>
-	<<if _i lt 2 and _pregnancy[_i] is null>>
-		<<set _slotsFree[_i] to true>>
-	<<elseif _i gte 2 and _pregnancy[_i] isnot null>>
-		<<if _slotsFree[0] is true>>
-			<<set _pregnancy[0] to clone(_pregnancy[_i])>>
-			<<set _slotsFree[0] to false>>
-		<<elseif _slotsFree[1] is true>>
-			<<set _pregnancy[1] to clone(_pregnancy[_i])>>
-			<<set _slotsFree[1] to false>>
-		<<else>>
-			<<set _extra to true>>
-			<<set _pregnancy.count -= 1>>
-			<<set _pregnancy.givenBirth += 1>>
+<<set _vPregnancy to $sexStats.vagina.pregnancy>>
+<<if _vPregnancy.type is "parasite" and !$worn.genitals.type.includes("hidden")>>
+	<<for _i to 0; _i lt _vPregnancy.fetus.length; _i++>>
+		<<if _vPregnancy.fetus[_i] isnot undefined>>
+			<<if _vPregnancy.fetus[_i].stats.gender is "Hermaphrodite">>
+				<<set _vaginaFuta to true>>
+				<<moveCreature _i "destroy" undefined "anus">>
+				<<set _vPregnancy.motherStatus to 1>>
+				<<break>>
+			<</if>>
 		<</if>>
-		<<set _pregnancy[_i] to null>>
-	<</if>>
-<</for>>
+	<</for>>
+	<<clearToDeleteParasiteFetus>>
+	<<for _i to 0; _i lt _vPregnancy.fetus.length; _i++>>
+		<<if _vPregnancy.fetus[_i] isnot undefined and _i >= maxParasites("vagina")>>
+				<<set _vaginaFutaOther to true>>
+				<<moveCreature _i "destroy" undefined "anus">>
+		<</if>>
+	<</for>>
+	<<clearToDeleteParasiteFetus>>
+<</if>>
 
 "Please undress and lie on the table," <<he>> says while pulling on a latex glove. "No need to be shy." <<He>> turns and rummages through a drawer.
 <br><br>
@@ -149,16 +160,19 @@ You <<nervously>> remove your clothing while <<his>> back is turned. You lie dow
 "It will be easier if you're still," <<he>> affirms as <<he>> ties down your wrists. You can barely move.
 <br><br>
 
-<<if $worn.genitals.anal_shield is 1>>
+<<if _anusFuta && $worn.genitals.anal_shield is 1>>
 	<<He>> examines your $worn.under_lower.name, then produces a strange metal device from <<his>> coat. <<He>> taps the metal, and your anal shield falls loose. "I'll return it when I'm done," <<he>> says.
 	<br><br>
 <</if>>
 
-<<He>> opens another drawer, and pulls out a smooth white rod with a round ball on one end. <<He>> pushes the thin end against your <<bottom>>. "Just relax,<<if pregnancyBellyVisible()>> this won't hurt the baby,<</if>>" <<he>> says. It slides in without pain, as if lubricated. Harper twists the other side, and you feel it pulse within you.
+<<He>> opens another drawer, and pulls out a smooth white rod with a round ball on one end. <<He>> pushes the thin end against your <<bottom>>. "Just relax,<<if pregnancyBellyVisible() and !_vaginaFuta>> this won't hurt the baby,<</if>>" <<he>> says. It slides in without pain, as if lubricated. Harper twists the other side, and you feel it pulse within you.
 <<garousal>><<arousal 1200 "bottom">>
 <br><br>
 
-Harper stares unblinking at your <<bottom>> as the pulsing increases in intensity. Just when you feel like you can't take any more, <<he>> eases it out. The <<if _pregnancy.namesChildren is true>>baby<<else>>parasite<</if>> is wrapped around the end<<if _extra is true>> alongside a smaller one<</if>>. <<He>> puts it in an opaque container, and seals it shut.
+Harper stares unblinking at your <<bottom>> as the pulsing increases in intensity. Just when you feel like you can't take any more, <<he>> eases it out. The <<if $pregnancyStats.namesParasitesChild is true>>baby <</if>>parasite is wrapped around the end<<if _analFutaOther or _vaginaFutaOther>> alongside a smaller one<</if>>. <<He>> puts it in an opaque container, and seals it shut.
+<<if _vaginaFuta and _anusFuta>>
+	<<He>> repeats the procedure on the other sets of parasites inside you and more are wrappered and sealed.
+<</if>>
 <br><br>
 
 "All done," <<he>> says as <<he>> unties the straps. <<He>> turns away as you dress.
@@ -168,8 +182,8 @@ Harper stares unblinking at your <<bottom>> as the pulsing increases in intensit
 :: GiveBirth
 
 <<set $outside to 0>><<set $location to $container.lastLocation>><<effects>>
-<<set _pregnancy to $sexStats.anus.pregnancy>>
-<<set _pregnancy.feltMovement to false>>
+<<set _pregnancy to $sexStats[$giveBirthLocation or "anus"].pregnancy>>
+<<set _pregnancy.parasiteFeltMovement to false>>
 <<set _container to $container[$phase]>>
 <<set $pregResult to "notReady">>
 <<set _stressMulti to 2 - _pregnancy.motherStatus>>
@@ -177,18 +191,15 @@ Harper stares unblinking at your <<bottom>> as the pulsing increases in intensit
 <<set $checkboxReplace to {}>>
 <<set $parasiteSelectionCount to 0>>
 <<set _newlyBirthed to {}>>
-<<set _allSeen to _pregnancy.typesSeen.length + _pregnancy.variantsSeen.length>>
+<<set _allSeen to $pregnancyStats.parasiteTypesSeen.length + $pregnancyStats.parasiteVariantsSeen.length>>
 
-Following the directions from Doctor Harper, you get into position and attempt to deliver <<if _pregnancy.namesChildren is true>>your baby<<else>>the parasites<</if>>. <<if _stressMulti gt 0>><<gstress>><</if>><<set $stress += 250 * _stressMulti>>
+Following the directions from Doctor Harper, you get into position and attempt to deliver <<if $pregnancyStats.namesParasitesChild is true>>your baby<<else>>the parasites<</if>>. <<if _stressMulti gt 0>><<gstress>><</if>><<set $stress += 250 * _stressMulti>>
 <br><br>
 
-<<for _i to 0; _i lt _pregnancy.maxCount; _i++>>
-	<<if _pregnancy[_i] is null>>
-		<<continue>>
-	<</if>>
-	<<if _pregnancy[_i].stats.gender isnot "Futa">>
+<<for _i to 0; _i lt _pregnancy.fetus.length; _i++>>
+	<<if _pregnancy.fetus[_i].stats.gender isnot "Hermaphrodite">>
 		<<set _rand to random(0,100)>>
-		<<if (_rand lte 80 and _pregnancy[_i].daysLeft is 0) or (_rand lte 50 and _pregnancy[_i].daysLeft lte 1) or (_rand lte 30 and _pregnancy[_i].daysLeft lte 2) or (_rand lte 10 and _pregnancy[_i].daysLeft lte 3) or $parasiteBirthDebug>>
+		<<if (_rand lte 80 and _pregnancy.fetus[_i].daysLeft is 0) or (_rand lte 50 and _pregnancy.fetus[_i].daysLeft lte 1) or (_rand lte 30 and _pregnancy.fetus[_i].daysLeft lte 2) or (_rand lte 10 and _pregnancy.fetus[_i].daysLeft lte 3) or $parasiteBirthDebug>>
 			<<if $pregResult is "notReady">>
 				<<set $pregResult to [clone(_i)]>>
 			<<else>>
@@ -199,35 +210,35 @@ Following the directions from Doctor Harper, you get into position and attempt t
 <</for>>
 
 <<if $pregResult is "notReady">>
-	Despite your efforts, none of <<if _pregnancy.namesChildren is true>>your children<<else>>the parasites<</if>> are ready to leave you.
+	Despite your efforts, none of <<if $pregnancyStats.namesParasitesChild is true>>your children<<else>>the parasites<</if>> are ready to leave you.
 	<br><br>
 
-	<<link [[Next|Containers]]>><<unset $pregResult>><</link>>
+	<<link [[Next|Containers]]>><<unset $pregResult>><<unset $giveBirthLocation>><</link>>
 <<else>>
-	Your body shudders, and to the floor falls <<if _pregnancy.namesChildren is true>><<number $pregResult.length>> <<print $pregResult.length gt 1 ? 'babies' : 'baby'>><<else>><<number $pregResult.length>> <<print $pregResult.length gt 1 ? 'parasites' : 'parasite'>><</if>>.
+	Your body shudders, and to the floor falls <<if $pregnancyStats.namesParasitesChild is true>><<number $pregResult.length>> <<print $pregResult.length gt 1 ? 'babies' : 'baby'>><<else>><<number $pregResult.length>> <<print $pregResult.length gt 1 ? 'parasites' : 'parasite'>><</if>>.
 
 	<ul>
 		<<for _i to 0; _i lt $pregResult.length; _i++>>
-			<<set _result to _pregnancy[$pregResult[_i]]>>
+			<<set _result to _pregnancy.fetus[$pregResult[_i]]>>
 			<!-- Printing the checkbox -->
 			<li><label><<print '<<checkbox "$checkboxResult[' + clone($pregResult[_i]) + ']" false true checked>>'>> - <<print _result.creature>> - <<creatureActivity _result.stats.speed>></label></li>
 			<<if _result.creature.includes(" ")>>
 				<!-- If the creature has a variant, like Pale. Currently does not account for creatures with more than one variant, because those don't yet exist -->
 				<!-- Possible task for the future: turn parasite variants into variables, so there can be multiple -->
 				<<set _split to _result.creature.split(" ")>>
-				<<if !_pregnancy.variantsSeen.includes(_split[0]) and _split[0] isnot _split[1]>>
-					<<set _pregnancy.variantsSeen.pushUnique(_split[0])>>
+				<<if !$pregnancyStats.parasiteVariantsSeen.includes(_split[0]) and _split[0] isnot _split[1]>>
+					<<set $pregnancyStats.parasiteVariantsSeen.pushUnique(_split[0])>>
 					<!-- For Pale Tentacle, this will set _newlyBirthed.Pale to "tentacle" -->
 					<<set _newlyBirthed[_split[0]] to _split[1].toLowerCase()>>
 				<</if>>
-				<<if !_pregnancy.typesSeen.includes(_split[1])>>
-					<<set _pregnancy.typesSeen.pushUnique(_split[1])>>
+				<<if !$pregnancyStats.parasiteTypesSeen.includes(_split[1])>>
+					<<set $pregnancyStats.parasiteTypesSeen.pushUnique(_split[1])>>
 					<<set _newlyBirthed[_split[1]] to true>>
 				<</if>>
 			<<else>>
 				<!-- Creatures without variants -->
-				<<if !_pregnancy.typesSeen.includes(_result.creature)>>
-					<<set _pregnancy.typesSeen.pushUnique(_result.creature)>>
+				<<if !$pregnancyStats.parasiteTypesSeen.includes(_result.creature)>>
+					<<set $pregnancyStats.parasiteTypesSeen.pushUnique(_result.creature)>>
 					<<set _newlyBirthed[_result.creature] to true>>
 				<</if>>
 			<</if>>
@@ -238,9 +249,9 @@ Following the directions from Doctor Harper, you get into position and attempt t
 			<<case "Tentacle">>
 				You watch the tentacle in fascination. It writhes around blindly and coils around itself, almost like a snake. It's so energetic, just looking at it makes you feel less tired.
 			<<case "Slime">>
-				The slime doesn't move for a while. You poke at it, a little worried, and it jiggles. It has an indescribable consistency. It looks almost without flaw, and you feel <<if _pregnancy.namesChildren is true>>proud to have birthed<<else>>almost proud to have hosted<</if>> such a creature.
+				The slime doesn't move for a while. You poke at it, a little worried, and it jiggles. It has an indescribable consistency. It looks almost without flaw, and you feel <<if $pregnancyStats.namesParasitesChild is true>>proud to have birthed<<else>>almost proud to have hosted<</if>> such a creature.
 			<<case "Worm">>
-				Almost immediately, the worm tries to find somewhere to dig. It has little success, and squirms in agitation until you place it in the <<print _container.name.toLowerCase()>>. You feel odd, having <<if _pregnancy.namesChildren is true>>birthed<<else>>hosted<</if>> such a creature.
+				Almost immediately, the worm tries to find somewhere to dig. It has little success, and squirms in agitation until you place it in the <<print _container.name.toLowerCase()>>. You feel odd, having <<if $pregnancyStats.namesParasitesChild is true>>birthed<<else>>hosted<</if>> such a creature.
 			<<case "Lurker">>
 				The lurker moves mainly by crawling, but sometimes hops surprising distances. You quickly place it in the <<print _container.name.toLowerCase()>> before you can lose it.
 			<<case "Vine">>
@@ -256,8 +267,8 @@ Following the directions from Doctor Harper, you get into position and attempt t
 		<</switch>>
 		<br><br>
 	<</for>>
-	<<if _pregnancy.book is 3 and _pregnancy.typesSeen.length + _pregnancy.variantsSeen.length gt _allSeen>>
-		You write about <<if _pregnancy.namesChildren is true>>your new children<<else>>the new parasites<</if>> in your notebook.
+	<<if $pregnancyStats.parasiteBook is 3 and $pregnancyStats.parasiteTypesSeen.length + $pregnancyStats.parasiteVariantsSeen.length gt _allSeen>>
+		You write about <<if $pregnancyStats.namesParasitesChild is true>>your new children<<else>>the new parasites<</if>> in your notebook.
 		<br><br>
 	<</if>>
 	<<if $pregResult.length gt (_container.maxCount - _container.count)>>
@@ -281,7 +292,7 @@ Following the directions from Doctor Harper, you get into position and attempt t
 :: Widgets PregEventsResult [widget]
 <<widget "PregEventsResult">>
 <<set $outside to 0>><<set $location to $container.lastLocation>><<effects>>
-<<set _pregnancy to $sexStats.anus.pregnancy>>
+<<set _pregnancy to $sexStats[$giveBirthLocation or "anus"].pregnancy>>
 <<set _container to $container[$phase]>>
 <<set $parasiteSelectionCount to 0>>
 <<set $parasiteReplaceArray to []>>
@@ -314,7 +325,7 @@ Following the directions from Doctor Harper, you get into position and attempt t
 
 <<if $parasiteSelectionCount lte _availableStorage>>
 	<<if $parasiteSelectionCount gt 0>>
-		<<if _pregnancy.namesChildren is true>>
+		<<if $pregnancyStats.namesParasitesChild is true>>
 			<<link [[Keep selected babies|PregEventsResult2]]>>
 				<<set $pregChoice to "KeepSelected">>
 			<</link>>
@@ -325,10 +336,10 @@ Following the directions from Doctor Harper, you get into position and attempt t
 		<</if>>
 	<</if>>
 <<elseif $parasiteSelectionCount gt 0>>
-	Not enough storage for selected amount. Please replace <<number $parasiteSelectionCount-_availableStorage>> <<if _pregnancy.namesChildren is true>><<print $parasiteSelectionCount - _availableStorage gt 1 ? 'babies' : 'baby'>><<else>><<print $parasiteSelectionCount - _availableStorage gt 1 ? 'parasites' : 'parasite'>><</if>>.
+	Not enough storage for selected amount. Please replace <<number $parasiteSelectionCount-_availableStorage>> <<if $pregnancyStats.namesParasitesChild is true>><<print $parasiteSelectionCount - _availableStorage gt 1 ? 'babies' : 'baby'>><<else>><<print $parasiteSelectionCount - _availableStorage gt 1 ? 'parasites' : 'parasite'>><</if>>.
 	<br>
 	<<if ($parasiteSelectionCount - $parasiteReplaceArray.length) lte _availableStorage>>
-		<<if _pregnancy.namesChildren is true>>
+		<<if $pregnancyStats.namesParasitesChild is true>>
 			<<link [[Replace selected babies|PregEventsResult2]]>>
 				<<set $pregChoice to "ReplaceSelected">>
 			<</link>>
@@ -341,7 +352,7 @@ Following the directions from Doctor Harper, you get into position and attempt t
 <</if>>
 <<if $pregResult.length lte _availableStorage>>
 	<br>
-	<<if _pregnancy.namesChildren is true>>
+	<<if $pregnancyStats.namesParasitesChild is true>>
 		<<link [[Keep all babies|PregEventsResult2]]>>
 			<<set $pregChoice to "keepAll">>
 		<</link>>
@@ -353,7 +364,7 @@ Following the directions from Doctor Harper, you get into position and attempt t
 <</if>>
 
 <br><br>
-<<if _pregnancy.namesChildren is true>>
+<<if $pregnancyStats.namesParasitesChild is true>>
 	<<link [[Sell all babies|PregEventsResult2]]>>
 		<<set $pregChoice to "sellAll">>
 	<</link>>
@@ -374,56 +385,59 @@ Following the directions from Doctor Harper, you get into position and attempt t
 
 :: PregEventsResult2
 <<set $outside to 0>><<set $location to $container.lastLocation>><<effects>>
-<<set _pregnancy to $sexStats.anus.pregnancy>>
+<<set _pregnancy to $sexStats[$giveBirthLocation or "anus"].pregnancy>>
 
 <<switch $pregChoice>>
 <<case "ReplaceSelected">>
 	<<for _i to 0; _i lt $pregResult.length;_i++>>
 		<<if $checkboxResult[$pregResult[_i]] is true>>
 			<<if _i lt $parasiteReplaceArray.length>>
-				<<moveCreature $pregResult[_i] "replace" $parasiteReplaceArray[_i]>>
+				<<moveCreature $pregResult[_i] "replace" $parasiteReplaceArray[_i] $giveBirthLocation>>
 			<<else>>
-				<<moveCreature $pregResult[_i] "container">>
+				<<moveCreature $pregResult[_i] "container" undefined $giveBirthLocation>>
 			<</if>>
 		<<elseif $checkboxResult[$pregResult[_i]] is false>>
-			<<moveCreature $pregResult[_i] "portable">>
+			<<moveCreature $pregResult[_i] "portable" undefined $giveBirthLocation>>
 		<</if>>
 	<</for>>
-	You decide to keep <<number $parasiteSelectionCount>> of <<if _pregnancy.namesChildren is true>>your children<<else>>the parasites<</if>>, and place <<if $parasiteSelectionCount isnot 1>>them<<else>>it<</if>> in your <<print $container[$phase].name.toLowerCase()>> in place of <<number $parasiteReplaceArray.length>> <<if $parasiteReplaceArray.length gt 1>>others<<else>>other<</if>>, while preparing the rest for Doctor Harper.
+	You decide to keep <<number $parasiteSelectionCount>> of <<if $pregnancyStats.namesParasitesChild is true>>your children<<else>>the parasites<</if>>, and place <<if $parasiteSelectionCount isnot 1>>them<<else>>it<</if>> in your <<print $container[$phase].name.toLowerCase()>> in place of <<number $parasiteReplaceArray.length>> <<if $parasiteReplaceArray.length gt 1>>others<<else>>other<</if>>, while preparing the rest for Doctor Harper.
 	<br><br>
 <<case "KeepSelected">>
 	<<for _i to 0; _i lt $pregResult.length;_i++>>
 		<<if $checkboxResult[$pregResult[_i]] is true>>
-			<<moveCreature $pregResult[_i] "container">>
+			<<moveCreature $pregResult[_i] "container" undefined $giveBirthLocation>>
 		<<elseif $checkboxResult[$pregResult[_i]] is false>>
-			<<moveCreature $pregResult[_i] "portable">>
+			<<moveCreature $pregResult[_i] "portable" undefined $giveBirthLocation>>
 		<</if>>
 	<</for>>
-	You decide to keep <<number $parasiteSelectionCount>> of <<if _pregnancy.namesChildren is true>>your children<<else>>the parasites<</if>>, and place <<if $parasiteSelectionCount isnot 1>>them<<else>>it<</if>> in your <<print $container[$phase].name.toLowerCase()>> while preparing the rest for Doctor Harper.
+	You decide to keep <<number $parasiteSelectionCount>> of <<if $pregnancyStats.namesParasitesChild is true>>your children<<else>>the parasites<</if>>, and place <<if $parasiteSelectionCount isnot 1>>them<<else>>it<</if>> in your <<print $container[$phase].name.toLowerCase()>> while preparing the rest for Doctor Harper.
 	<br><br>
 <<case "keepAll">>
 	<<for _i to 0; _i lt $pregResult.length;_i++>>
-		<<moveCreature $pregResult[_i] "container">>
+		<<moveCreature $pregResult[_i] "container" undefined $giveBirthLocation>>
 	<</for>>
-	You decide to keep all of <<if _pregnancy.namesChildren is true>>your children<<else>>the parasites<</if>>, and place them in your <<print $container[$phase].name.toLowerCase()>>.
+	You decide to keep all of <<if $pregnancyStats.namesParasitesChild is true>>your children<<else>>the parasites<</if>>, and place them in your <<print $container[$phase].name.toLowerCase()>>.
 	<br><br>
 <<case "sellAll">>
 	<<for _i to 0; _i lt $pregResult.length;_i++>>
-		<<moveCreature $pregResult[_i] "portable">>
+		<<moveCreature $pregResult[_i] "portable" undefined $giveBirthLocation>>
 	<</for>>
-	You decide to sell all <<if _pregnancy.namesChildren is true>>your children<<else>>the parasites<</if>>, and prepare to take them to Doctor Harper.
+	You decide to sell all <<if $pregnancyStats.namesParasitesChild is true>>your children<<else>>the parasites<</if>>, and prepare to take them to Doctor Harper.
 	<br><br>
 <</switch>>
 
+<<clearToDeleteParasiteFetus>>
+
 <<link [[Next|Containers]]>>
 	<<unset $pregChoice>><<unset $pregResult>>
 	<<unset $checkboxResult>><<unset $checkboxReplace>>
 	<<unset $parasiteSelectionCount>><<unset $parasiteReplaceArray>>
+	<<unset $giveBirthLocation>>
 <</link>>
 
 :: Harper Parasite Book
 <<effects>>
-<<set $sexStats.anus.pregnancy.book to 2>>
+<<set $pregnancyStats.parasiteBook to 2>>
 Harper nods approvingly. "It's good that you want to know more." <<He>> brings out a rather thick book and shows it to you. "This is a popular reference guide among scientists. It has a lot of information on this subject, but it's property of the hospital. I'm not authorised to lend it out."
 <br><br>
 
@@ -467,7 +481,7 @@ Dr Harper is introduced if required. Harper checks the pc, if it's a non-human p
 	<br><br>
 <</if>>
 
-<<switch $sexStats.vagina.pregnancy.type>>
+<<switch nonparasitePregnancyType()>>
 	<<case "human">>
 		Dr Harper mentions a hidwife waiting for the player.
 		<<link [[Next (00:05)| Pregnancy Birth Hospital 2]]>><<pass 5>><<set $phase to 1>><</link>>
@@ -485,7 +499,7 @@ Dr Harper is introduced if required. Harper checks the pc, if it's a non-human p
 	<<strip>>
 	<<link [[Next (00:05)| Pregnancy Birth Hospital 3]]>><<pass 5>><<endevent>><</link>>
 <<elseif $phase is 2>>
-	<<switch $sexStats.vagina.pregnancy.type>>
+	<<switch nonparasitePregnancyType()>>
 		<<case "wolf">><<set $exitPassage to "Pregnancy Birth Hospital Wolf">>
 	<</switch>>
 	Player is taken to where they can give birth
@@ -501,7 +515,11 @@ Player gets on the bed, midwife checking the player over and helping to prepare.
 Midwife give the ok to push
 <br><br>
 
-<<set $_pregnancy to $sexStats.vagina.pregnancy>>
+<<if $player.vaginaExist>>
+	<<set $_pregnancy to $sexStats.vagina.pregnancy>>
+<<else>>
+	<<set $_pregnancy to $sexStats.anus.pregnancy>>
+<</if>>
 <<if $_pregnancy.totalBirthEvents gte 5>>
 	<<set _min to 15>>
 	<<set _max to 60>>
@@ -640,10 +658,19 @@ The packaging said to wait 3 minutes, but it feels like an eternity passes. <<gs
 <br><br>
 <<set $pregnancyStats.pregnancyTestsTaken++>>
 <<if !$player.vaginaExist>>
-	<span class="green">It's negative.</span> You wonder how it could ever be positive.
+	<<set $_pregnancy to $sexStats.anus.pregnancy>>
+	<<if $_pregnancy.type is null or $_pregnancy.type is "parasite" or $_pregnancy.timer is 0 or (between($_pregnancy.timer, 0, 3) and random(0,100) gte 10) or (between($_pregnancy.timer, 3, 6) and random(0,100) gte 15)>>
+		<span class="green">It's negative.</span> You wonder how it could ever be positive.
+	<<elseif $_pregnancy.givenBirth >= 1>>
+		<span class="lewd">It's positive.</span> Many thoughts rush through your head, and you sit to collect yourself. <<gstress>><<stress 3>><<garousal>><<arousal 100>>
+		<<set $_pregnancy.awareOf to true>>
+	<<else>>
+		<span class="lewd">It's positive.</span> You briefly wonder if you're seeing things or have gone crazy. Many thoughts rush through your head, and you sit to collect yourself. <<ggstress>><<stress 10>><<ggarousal>><<arousal 200>>
+		<<set $_pregnancy.awareOf to true>>
+	<</if>>
 <<else>>
 	<<set $_pregnancy to $sexStats.vagina.pregnancy>>
-	<<if $_pregnancy.fetus.length is 0 or $_pregnancy.timer is 0 or (between($_pregnancy.timer, 0, 3) and random(0,100) gte 10) or (between($_pregnancy.timer, 3, 6) and random(0,100) gte 15)>>
+	<<if $_pregnancy.type is null or $_pregnancy.type is "parasite" or $_pregnancy.timer is 0 or (between($_pregnancy.timer, 0, 3) and random(0,100) gte 10) or (between($_pregnancy.timer, 3, 6) and random(0,100) gte 15)>>
 		<span class="green">It's negative.</span>
 	<<else>>
 		<span class="lewd">It's positive.</span> Many thoughts rush through your head, and you sit to collect yourself. <<gstress>><<stress 3>><<garousal>><<arousal 100>>
@@ -673,8 +700,11 @@ The packaging said to wait 3 minutes, but it feels like an eternity passes. <<gs
 /* Ultrasounds not performed before 12 weeks in normal circumstances, or before 8 in high-risk. Prior to 12 weeks, ultrasounds are usually performed transvaginally. Future commit will address this.*/
 
 <<set $outside to 0>><<set $location to "hospital">><<effects>>
-<<set _pregnancy to $sexStats.vagina.pregnancy>>
-<<set _pregnancy.ultrasoundDone to 1>><<set _pregnancy.ultrasoundLast to $days>>
+<<if $player.vaginaExist>>
+	<<set $_pregnancy to $sexStats.vagina.pregnancy>>
+<<else>>
+	<<set $_pregnancy to $sexStats.anus.pregnancy>>
+<</if>>
 <<harper_intro>>
 <<if $ultrasoundIntro isnot 1>>
 	<<set $ultrasoundIntro to 1>>
@@ -697,8 +727,13 @@ A technician enters the room and asks you to lie down and remove your outerwear.
 
 :: Pregnancy ultrasound 2
 <<set $outside to 0>><<set $location to "hospital">><<effects>>
+
 You strip and lie down.
-<<set _pregnancy to $sexStats.vagina.pregnancy>>
+<<if $player.vaginaExist>>
+	<<set $_pregnancy to $sexStats.vagina.pregnancy>>
+<<else>>
+	<<set $_pregnancy to $sexStats.anus.pregnancy>>
+<</if>>
 <<if _pregnancy.timer lte _pregnancy.timerEnd * 0.3>>
 	"You're not far along enough for an abdominal ultrasound," the technician remarks. "But we can use the doppler to listen for cardiac activity."  
 	The technician picks up a small handheld instrument, twists a dial and begins pressing a small circular wand against your lower abdomen.<br>
diff --git a/game/base-system/pregnancy/pregnancy.twee b/game/base-system/pregnancy/pregnancy.twee
index 66b4a388fe..b0ba14a1c4 100644
--- a/game/base-system/pregnancy/pregnancy.twee
+++ b/game/base-system/pregnancy/pregnancy.twee
@@ -1,235 +1,19 @@
 :: Pregnancy [widget]
-<<widget "impregnate">>
-<<if _args[0] and $analpregdisable is "f">>
-	<<set _pregnancy to $sexStats.anus.pregnancy>>
-	<<if _pregnancy.count lt _pregnancy.maxCount>>
-		<<set $calc to [random(0,100), (1 + _args[1]) / (_pregnancy.count + 1)]>>
-		<<if $calc[0] lte $calc[1] or _args[2]>>
-			<!-- chances of impregnation. Guaranteed with parasites based on futa -->
-			<<for _i to 0; _i lt _pregnancy.maxCount; _i++>>
-				<<if _pregnancy[_i] is null>>
-					<!-- Encorce non-plural names -->
-					<<switch _args[0]>>
-						<<case "slimes" "eels" "worms" "snakes" "spiders" "slugs" "maggots">>
-							<<set _creatureType to toTitleCase(_args[0])>>
-							<<set _creatureType to _creatureType.substring(0,_creatureType.length - 1)>>
-						<<default>>
-							<<set _creatureType to toTitleCase(_args[0])>>
-					<</switch>>
-					<!-- creature: the type of creature it is. "Lurker", "Slime", "Pale Tentacle", etc -->
-					<!-- fertilised: whether it's fertilised or not. Parasites need to be fertilised before they can be birthed -->
-					<!-- daysLeft: how long until it can be birthed. Birthing is possible when it's 3 or less, but significantly more likely at 0 -->
-					<!-- timeLeft: how long until it prompts a daily event. Speed impacts how fast it goes down -->
-					<!-- stats.growth: how long it takes to birth, and how much the parasite is worth when selling-->
-					<!-- stats.speed: how often it prompts a daily event. Also determines the parasite's activity -->
-					<<if _args[2]>>
-						<!-- Futa-birthed parasites -->
-						<<set _egg to {
-							"creature": _args[0],
-							"fertilised": true,
-							"daysLeft": Math.floor(_args[2].stats.growth * 0.8),
-							"timeLeft": null,
-							"stats":{
-								"growth": Math.floor(_args[2].stats.growth * 0.8),
-								"speed": Math.floor(_args[2].stats.speed * 0.8)
-							}
-						}>>
-					<<else>>
-						<!-- Non-futa parasites -->
-						<<set _egg to {
-							"creature": _creatureType,
-							"fertilised": false,
-							"daysLeft": 1,
-							"timeLeft": null,
-							"stats":{
-								"growth": random(7,14),
-								"speed": random(60,360)
-							}
-						}>>
-						<<if _creatureType.includes("Pale")>>
-							<!-- Pale parasites have significantly better activity -->
-							<<set _egg.stats.speed to clone(_egg.stats.speed * 0.6)>>
-						<<elseif _creatureType.includes("Tentacle") or _creatureType is "Vine">>
-							<!-- Tentacles and vines have better activity. Done in an elseif so pale tentacles don't get the calculation twice -->
-							<<set _egg.stats.speed to clone(_egg.stats.speed * 0.9)>>
-						<</if>>
-						<<if _creatureType is "Vine" and random(0,100) gt 99>>
-							<!-- Vine Vine easter egg lol -->
-							<<set _egg.creature += " Vine">>
-							<<set _egg.stats.growth-->>
-						<</if>>
-						<<if _creatureType is "Lurker">>
-							<!-- Lurkers have better activity, but sell for less and take longer to birth -->
-							<<run _egg.stats.growth += 14>>
-							<<for _l to 0; _l lt 3; _l++>>
-								<<if _egg.stats.speed gte 100>>
-									<<run _egg.stats.speed -= 50>>
-								<</if>>
-							<</for>>
-						<</if>>
-					<</if>>
-
-					<<set _genderCheck to Math.random()>>
-					<<if _genderCheck lt 0.7>>
-						<!-- Female parasites are most likely -->
-						<<set _egg.stats.gender to "Female">>
-					<<elseif _genderCheck lt 0.8 or _pregnancy.motherStatus is 0 or _pregnancy.motherStatus is 2>>
-						<!-- You can only get a futa if motherStatus is 1, aka if you're ready for a futa and don't currently have one -->
-						<<set _egg.stats.gender to "Male">>
-					<<else>>
-						<<set _egg.stats.gender to "Futa">>
-						<<set _egg.stats.lastEgg to Math.floor(_egg.stats.growth / 3)>>
-					<</if>>
-
-					<!-- adding the new parasite to $sexStats.anus.pregnancy -->
-					<<set _pregnancy[_i] to clone(_egg)>>
-					<<set _pregnancy.count++>>
-
-					<<if _args[2] is undefined>>
-						<!-- Parasites require fertilisation, aka an anal creampie, before they can be birthed. Tentacles, lurkers and futa-born parasites are automatically fertilised -->
-						<<set _pregnancy.fertile to true>>
-						<<set _impreg to true>>
-					<</if>>
-					<<break>>
-				<</if>>
-			<</for>>
-		<</if>>
-	<</if>>
-<</if>>
-<</widget>>
-
-<<widget "fertilise">>
-<!-- Runs whenever someone ejaculates in your anus -->
-<<if $sexStats.anus.pregnancy.fertile is true and $analpregdisable is "f">>
-	<<set _pregnancy to $sexStats.anus.pregnancy>>
-	<<for _i to 0; _i lt _pregnancy.maxCount; _i++>>
-		<<if _pregnancy[_i] isnot null>>
-			<<if _pregnancy[_i].fertilised is false>>
-				<<set _pregnancy[_i].fertilised to true>>
-				<<set _pregnancy[_i].daysLeft to _pregnancy[_i].stats.growth>>
-				<<if _pregnancy.lowestDaysLeft is null>>
-					<<set _pregnancy.lowestDaysLeft to _pregnancy[_i].daysLeft>>
-				<<else>>
-					<<if _pregnancy[_i].daysLeft lt _pregnancy.lowestDaysLeft>>
-						<<set _pregnancy.lowestDaysLeft to _pregnancy[_i].daysLeft>>
-					<</if>>
-				<</if>>
-				<<if _pregnancy[_i].stats.gender is "Futa">>
-					<<set _pregnancy.motherStatus to 2>>
-					<<set _pregnancy.maxCount to 4>>
-				<</if>>
-			<</if>>
-		<</if>>
-	<</for>>
-	<<set _pregnancy.fertile to false>>
-	<<set _pregnancy.fertilised to true>>
-<</if>>
-<</widget>>
-
-<<widget "pregProgressDay">>
-<<if $analpregdisable is "f">>
-	<<set _pregnancy to $sexStats.anus.pregnancy>>
-	<<set _pregnancy.lowestDaysLeft to null>>
-	<<if $deviancy gte 75>><<set _pregnancy.namesChildren to true>><<else>><<set _pregnancy.namesChildren to false>><</if>>
-	<<for _i to 0; _i lt _pregnancy.maxCount; _i++>>
-		<<if _pregnancy[_i] isnot null>>
-			<<if _pregnancy[_i].daysLeft is 0 and _pregnancy[_i].fertilised is false>>
-				<!-- Unfertilised parasites get removed -->
-				<<set _remove to true>>
-			<<else>>
-				<<if _pregnancy[_i].daysLeft gt 0>>
-					<<set _pregnancy[_i].daysLeft -= 1>>
-				<</if>>
-				<<if _pregnancy[_i].daysLeft lt _pregnancy.lowestDaysLeft and _pregnancy.fertilised is true>>
-					<<set _pregnancy.lowestDaysLeft to _pregnancy[_i].daysLeft>>
-				<</if>>
-			<</if>>
-			<<if _pregnancy[_i].stats.gender is "Futa" and _pregnancy[_i].daysLeft lte 3>>
-				<!-- Futas only "activate" a few days after initial impregnation -->
-				<<if _pregnancy[_i].stats.lastEgg gt 0>>
-					<<set _pregnancy[_i].stats.lastEgg -= 1>>
-				<<elseif _pregnancy.count lt _pregnancy.maxCount>>
-					<<set _pregnancy[_i].stats.lastEgg to Math.floor(_pregnancy[_i].stats.growth / 3)>>
-					<<impregnate _pregnancy[_i].creature null _pregnancy[_i]>>
-				<</if>>
-			<</if>>
-			<<if _remove is true>>
-				<!-- Remmeber when I said unfertilised parasites get removed? This is where it happens -->
-				<<set _pregnancy[_i] to null>>
-				<<set _pregnancy.count -= 1>>
-			<</if>>
-		<</if>>
-	<</for>>
-<</if>>
-<</widget>>
-
-<<widget "pregProgressTime">>
-<<if _args[0] and $analpregdisable is "f">>
-	<<set _pregnancy to $sexStats.anus.pregnancy>>
-	<<set _pregnancy.lowestDaysLeft to null>>
-	<<for _i to 0; _i lt _pregnancy.maxCount; _i++>>
-		<<if _pregnancy[_i] isnot null>>
-			<<if _pregnancy[_i].fertilised is true>>
-				<!-- Setting up the daily messages to pop at the top of the screen -->
-				<<if _pregnancy[_i].timeLeft is null>>
-					<<set _pregnancy[_i].timeLeft to _pregnancy[_i].stats.speed>>
-				<<else>>
-					<<set _pregnancy[_i].timeLeft -= _args[0]>>
-				<</if>>
-				<<if _pregnancy[_i].timeLeft lte 0>>
-					<!-- The lower the parasite's speed, the more often it will affect daily events -->
-					<<set _pregnancy[_i].timeLeft to _pregnancy[_i].stats.speed>>
-					<<if $dailyEvent is undefined>>
-						<<set $dailyEvent to []>>
-					<</if>>
-					<!-- dailyEvent0: You feel something large/your grown parasite move in your stomach. -->
-					<!-- dailyEvent1: You feel something/one of your parasites move in your stomach. -->
-					<!-- dailyEvent2: Your stomach rumbles a little. You hope the noise hasn't attracted any attention. -->
-					<!-- dailyEvent3: You feel a little lightheaded for a moment. -->
-					<<if $dailyEvent.length lt _pregnancy.count>>
-						<<if _pregnancy[_i].stats.gender is "Futa" and _pregnancy[_i].daysLeft lte 3>>
-							<<if (_pregnancy[_i].daysLeft lt 3 and $rng lt 20) or (_pregnancy[_i].daysLeft is 0 and $rng lt 50)>>
-								<<if _pregnancy.seenDoctor is 2>><<set _pregnancy.seenDoctor to 3>><</if>>
-								<<set $dailyEvent.pushUnique(0)>>
-							<<elseif _pregnancy[_i].daysLeft is 0 or $rng lt 60>>
-								<<set $dailyEvent.pushUnique(2)>>
-							<</if>>
-						<<else>>
-							<<if (_pregnancy[_i].daysLeft is 0 and $rng lt 50) or (_pregnancy[_i].daysLeft lte 3 and $rng lt 20)>>
-								<<set $dailyEvent.pushUnique(1)>>
-								<<if _pregnancy.seenDoctor is 0>><<set _pregnancy.seenDoctor to 1>><</if>>
-								<<if _pregnancy.seenDoctor gte 2>><<set _pregnancy.feltMovement to true>><</if>>
-							<<elseif _pregnancy[_i].daysLeft is 0 or (_pregnancy[_i].daysLeft lte 3 and $rng lt 60)>>
-								<<set $dailyEvent.pushUnique(2)>>
-							<<elseif _pregnancy[_i].daysLeft lte 7 and $rng lt 50>>
-								<<set $dailyEvent.pushUnique(3)>>
-							<</if>>
-						<</if>>
-					<</if>>
-				<</if>>
-			<</if>>
-		<</if>>
-	<</for>>
-<</if>>
-<<if $sexStats.vagina.pregnancy.waterBreaking>>
-	<<stress `Math.ceil(_args[0] * 0.75)`>>
-<</if>>
-<</widget>>
 
 <<widget "moveCreature">>
-/*0 -> _pregnancy[_i] or location (any but portable)*/
+/*0 -> _pregnancy.fetus[_i] or location (any but portable)*/
 /*1 -> Type*/
 /*2 -> locationId*/
 <<if _args[0] isnot null and _args[1]>>
 	<<set _portable to $container.portable>>
 	<<set _container to $container[$phase]>>
-	<<set _pregnancy to $sexStats.anus.pregnancy>>
+	<<set $_pregnancy to $sexStats[_args[3] or "anus"].pregnancy>>
 
 	<<set _result to _args[1]>>
 	<<switch _args[0]>>
 		<<case 0 1 2 3>>
 			<!-- With a number as argument 0, it takes the parasite of that argument in your current pregnancy item -->
-			<<set _creature to clone(_pregnancy[_args[0]])>>
+			<<set _creature to clone($_pregnancy.fetus[_args[0]])>>
 		<<default>>
 			<!-- With a string as argument 0, it takes a parasite from the container matching the argument. Which parasite it takes corresponds to argument 2 -->
 			<!-- Currently only used when transferring parasites for selling in :: Containers, inside a for loop -->
@@ -242,13 +26,13 @@
 		<<if _result is "destroy">>
 			<!-- Simply gets rid of the parasite -->
 			<<set _creature to null>>
-			<<removeCreature _args[0] _args[2]>>
+			<<removeCreature _args[0] _args[2] _args[3]>>
 		<<elseif _result is "portable">>
 			<!-- Transfers the parasites for selling. The value of the parasite depends on its growth stat -->
 			<<set _portable.creatures.push(clone(_creature))>>
 			<<set _value to Math.floor(1000 / _creature.stats.growth)>>
 			<<set _portable.value += _value>>
-			<<removeCreature _args[0] _args[2]>>
+			<<removeCreature _args[0] _args[2] _args[3]>>
 		<<elseif _result is "replace" and _args[2] isnot null and _args[0] gte 0 and _args[0] lte 3>>
 			<!-- Replaces an existing parasite, for when you birth more than you can currently store -->
 			<!-- The replaced parasite gets transferred for selling -->
@@ -265,7 +49,7 @@
 				<<set _container.creatures[_args[2]] to clone(_creature)>>
 				<<set _container.count += 1>>
 			<</if>>
-			<<removeCreature _args[0]>>
+			<<removeCreature _args[0] undefined _args[3]>>
 		<<elseif _result is "container">>
 			<!-- Keeps the parasite and moves it to the current container -->
 			<<set _moveTo to false>>
@@ -278,7 +62,7 @@
 				<<if _moveTo is true>>
 					<<set $container[$phase].creatures[_containerSlot] to clone(_creature)>>
 					<<set $container[$phase].count += 1>>
-					<<removeCreature _args[0] _args[2]>>
+					<<removeCreature _args[0] _args[2] _args[3]>>
 					<<break>>
 				<</if>>
 			<</for>>
@@ -289,16 +73,14 @@
 
 <<widget "removeCreature">>
 	<<if _args[0] isnot null>>
-		<<set _pregnancy to $sexStats.anus.pregnancy>>
+		<<set $_pregnancy to $sexStats[_args[2] or "anus"].pregnancy>>
 		<<switch _args[0]>>
 			<<case 0 1 2 3>>
 				<!-- With a number as argument 0, it removes the parasite of that argument in your current pregnancy item -->
-				<<set _pregnancy[_args[0]] to null>>
-				<<set _pregnancy.count -= 1>>
-				<<set _pregnancy.givenBirth += 1>>
-				<<if _pregnancy.motherStatus is 0 and _pregnancy.givenBirth gte 3>>
-					<<set _pregnancy.motherStatus to 1>>
-					<<set _pregnancy.maxCount to 2>>
+				<<set $_pregnancy.fetus[_args[0]].toDelete to true>>
+				<<set $_pregnancy.parasiteBirthEvents += 1>>
+				<<if $_pregnancy.motherStatus is 0 and $_pregnancy.parasiteBirthEvents gte 3>>
+					<<set $_pregnancy.motherStatus to 1>>
 				<</if>>
 			<<default>>
 				<!-- With a string as argument 0, it removes a parasite from the container matching the argument. Which parasite it takes corresponds to argument 1 -->
@@ -310,10 +92,27 @@
 	<</if>>
 <</widget>>
 
+<<widget "clearToDeleteParasiteFetus">>
+<<if $sexStats.anus.pregnancy.type is "parasite">>
+	<<run $sexStats.anus.pregnancy.fetus to $sexStats.anus.pregnancy.fetus.filter(child => child && !child.toDelete)>>
+	<<if $sexStats.anus.pregnancy.fetus.length is 0>>
+		<<set $sexStats.anus.pregnancy.type to null>>
+	<</if>>
+<</if>>
+<<if $sexStats.vagina.pregnancy.type is "parasite">>
+	<<run $sexStats.vagina.pregnancy.fetus to $sexStats.vagina.pregnancy.fetus.filter(child => child && !child.toDelete)>>
+	<<if $sexStats.vagina.pregnancy.fetus.length is 0>>
+		<<set $sexStats.vagina.pregnancy.type to null>>
+	<</if>>
+<</if>>
+<</widget>>
+
 <<widget "menstruationCycle">>
-<<if $sexStats.vagina.menstruation.running is true and $player.vaginaExist>>
+<<set $sexStats.vagina.menstruation.running to $player.vaginaExist or (!$player.vaginaExist and V.skin.pubic.pen is "magic" and V.skin.pubic.special is "pregnancy")>>
+<<if $sexStats.vagina.menstruation.running is true>>
 	<<set _menstruation to $sexStats.vagina.menstruation>>
-	<<set _pregnancy to $sexStats.vagina.pregnancy>>
+	<<set $_pregLocation to ($player.vaginaExist ? "vagina" : "anus")>>
+	<<set $_pregnancy to $sexStats[$_pregLocation].pregnancy>>
 	<<set _pills to $sexStats.pills>>
 	<<set $_last_preg_pill to clone(_pills.lastTaken.pregnancy)>>
 	<<switch _menstruation.currentState>>
@@ -347,7 +146,8 @@
 					<</if>>
 					/*Check for pregnancy at a reduced chance for a few days before*/
 					<<if _menstruation.currentDay gte _menstruation.stages[3] - 4>>
-						<<playerPregnancyAttempt `Math.clamp(Math.ceil(2 * (1 + _menstruation.stages[3] - _menstruation.currentDay)),2,10)`>>
+						<<set $_multi = Math.clamp(Math.ceil(2 * (1 + _menstruation.stages[3] - _menstruation.currentDay)),2,10)>>
+						<<playerPregnancyAttempt $_multi $_pregLocation>>
 					<</if>>
 				<<elseif _menstruation.currentDay lt _menstruation.stages[3]>>
 					/*Ovulation phase*/
@@ -355,12 +155,13 @@
 					<<set _menstruation.lastDaysMax to _menstruation.currentDaysMax>>
 
 					/*Check for pregnancy*/
-					<<playerPregnancyAttempt>>
+					<<playerPregnancyAttempt 1 $_pregLocation>>
 				<<else>>
 					/*Luteal phase*/
 					/*Check for pregnancy at a reduced chance for a few days after*/
 					<<if _menstruation.currentDay lte _menstruation.stages[3] + 4>>
-						<<playerPregnancyAttempt `Math.clamp(Math.ceil(2 * (1 + _menstruation.currentDay - _menstruation.stages[3])),2,10)`>>
+						<<set $_multi = Math.clamp(Math.ceil(2 * (1 + _menstruation.currentDay - _menstruation.stages[3])),2,10)>>
+						<<playerPregnancyAttempt $_multi $_pregLocation`>>
 					<</if>>
 					<<if $_last_preg_pill and _pills.pills[$_last_preg_pill].doseTaken gte 2>>
 						<<set _menstruation.currentDay += 0.5>>
@@ -379,40 +180,36 @@
 				<<set _menstruation.periodEnabled to true>>
 			<</if>>
 		<<case "pregnant">>
-			/* only allow 1 ultrasound a fortnight. Really, we should limit this to 2-3 ultrasounds per (normal) pregnancy, but once every two weeks is fair. */
-			<<if _pregnancy.ultrasoundDone and _pregnancy.ultrasoundLast lte $days - 14 >>>
-				<<set _pregnancy.ultrasoundDone = 0>>
-			<</if>>
 			<<switch _pregnancy.type>>
 				<<case "human">><<set _multiplier to (1/(1/9*$humanPregnancyMonths))>>
 				<<case "wolf">><<set _multiplier to (1/(1/12*$wolfPregnancyWeeks))>>
 				<<default>><<set _multiplier to 1>>
 			<</switch>>
-			<<set _pregnancy.timer += parseFloat((0.5 * _multiplier).toFixed(3))>>
+			<<set $_pregnancy.timer += parseFloat((0.5 * _multiplier).toFixed(3))>>
 
 			/*Keeping fatigue low should help morning sickness*/
-			<<if between(_pregnancy.timer / _pregnancy.timerEnd, 0.15, 0.25)>>
+			<<if between($_pregnancy.timer / $_pregnancy.timerEnd, 0.15, 0.25)>>
 				/*Early Morning sickness*/
 				/*Light Nausea/dizzyness at any time of day, but mostly when waking up*/
 				<<if random(0,100) gte 30>>
-					<<set _pregnancy.morningSicknessWaking to 1>>
+					<<set $pregnancyStats.morningSicknessWaking to 1>>
 				<</if>>
 				<<if random(0,100) gte 30>>
-					<<set _pregnancy.morningSicknessGeneral to 1>>
+					<<set $pregnancyStats.morningSicknessGeneral to 1>>
 				<</if>>
-			<<elseif between(_pregnancy.timer / _pregnancy.timerEnd, 0.24, 0.45)>>
+			<<elseif between($_pregnancy.timer / $_pregnancy.timerEnd, 0.24, 0.45)>>
 				/*Morning sickness*/
 				/*Nausea/dizzyness at any time of day, but mostly when waking up*/
 				/*First pregnancy should be worse*/
-				<<set _pregnancy.morningSicknessWaking to [1,2,2].pluck()>>
-				<<if _pregnancy.totalBirthEvents is 0 and _pregnancy.morningSicknessWaking lt 2>>
-					<<set _pregnancy.morningSicknessWaking to 2>>
+				<<set $pregnancyStats.morningSicknessWaking to [1,2,2][random(0,2)]>>
+				<<if $_pregnancy.totalBirthEvents is 0 and $pregnancyStats.morningSicknessWaking lt 2>>
+					<<set $pregnancyStats.morningSicknessWaking to 2>>
 				<</if>>
 				<<if random(0,100) gte 20>>
-					<<set _pregnancy.morningSicknessGeneral to [1,2,2].pluck()>>
+					<<set $pregnancyStats.morningSicknessGeneral to [1,2,2][random(0,2)]>>
 				<</if>>
 			<</if>>
-			<<if _pregnancy.timer gte _pregnancy.timerEnd>>
+			<<if $_pregnancy.timer gte $_pregnancy.timerEnd>>
 				<<set _menstruation.currentState to "pregnantEnd">>
 				<<if $player.breastsize lte 4 and $player.breastsize lt $breastsizemax>>
 					<<set $player.breastsize += 1>><<set $breastgrowthtimer to 700>>
@@ -441,7 +238,7 @@
 			<<if $skin.pubic.type is "magic" and $skin.pubic.special is "pregnancy">>
 				<<set _menstruation.recoveryTime -= 0.5>>
 			<</if>>
-			<<if _pregnancy.totalBirthEvents gt 2>>
+			<<if $_pregnancy.totalBirthEvents gt 2>>
 				<<set _menstruation.recoveryTime -= 0.5>>
 			<</if>>
 			<<set _menstruation.recoveryStage to Math.floor((1 - (_menstruation.recoveryTime / _menstruation.recoveryTimeStart))*5)>>
@@ -457,18 +254,14 @@
 			<</if>>
 	<</switch>>
 <</if>>
-<<updateRecordedSperm>>
+<<updateRecordedSperm "vagina">>
+<<updateRecordedSperm "anus">>
 <</widget>>
 
-<<widget "playerPregStatSetup">>
-<<set _pregnancy to $sexStats.vagina.pregnancy>>
-<<set _menstruation to $sexStats.vagina.menstruation>>
-<<set _menstruation.currentState to "pregnant">>
-<<set _pregnancy.potentialFathers to clone(_trackedNPCs)>>
-<</widget>>
+:: Pregnancy2 [widget]
 
 <<widget "updateRecordedSperm">>
-<<set _sperm to $sexStats.vagina.sperm>>
+<<set _sperm to $sexStats[_args[0]].sperm>>
 <<for $_label, $_value range _sperm>>
 	<<for _i to $_value.count.length - 1; _i gte 0; _i-->>
 		<<set $_value.count[_i][0] -= 0.5>>
@@ -513,6 +306,36 @@
 <</if>>
 <</widget>>
 
+<<widget "recordAnusSperm">>
+/*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
+<<if _args[0] and _args[1] and _args[2] and $pregnancyTesting>>
+	<<if _args[0] is "pc">>
+		<<set $_sperm to $sexStats.anus.sperm>>
+	<<elseif $NPCNameList.includes(_args[0]) and $NPCName[$NPCNameList.indexOf(_args[0])].pregnancy.enabled>>
+		/*<<set $_sperm to $NPCName[$NPCNameList.indexOf(_args[0])].pregnancy.sperm>> Not tracking right now*/
+	<</if>>
+	<<if $_sperm>>
+		<<if $_sperm[_args[1]] is undefined>>
+			<<set $_sperm[_args[1]] to {"type":_args[2], count:[]}>>
+		<</if>>
+		<<if _args[3]>>
+			<<set _daysTillRemoval to _args[3]>>
+		<<else>>
+			<<set _daysTillRemoval to random(4,8)>>
+		<</if>>
+		<<for $_i to 0; $_i lt $_sperm[_args[1]].count.length;$_i++>>
+			<<if $_sperm[_args[1]].count[$_i][0] is _daysTillRemoval>>
+				<<set $_sperm[_args[1]].count[$_i][1] += 1>>
+				<<set $_found to true>>
+			<</if>>
+		<</for>>
+		<<if $_found isnot true>>
+			<<set $_sperm[_args[1]].count.push([_daysTillRemoval, 1])>>
+		<</if>>
+	<</if>>
+<</if>>
+<</widget>>
+
 <<widget "bodyPregCalc">>
 <<switch $devlevel>>
 	<<case 6>><<set _bodySize to ["tiny","tiny","tiny","small","small","normal","large"]>>
@@ -541,108 +364,12 @@
 <<set _menstruation.stages to [0, _stage2, _stage3, _stage3 + random(1,2) * 0.5]>>
 <</widget>>
 
-/*args[0] - birth location, _args[1] - next passage, _args[2] - time passage, _args[3] - debug*/
+/*args[0] - birth location, _args[1] - next passage, _args[2] - time passage*/
 <<widget "birthUi">>
-<<set $_pregnancy to $sexStats.vagina.pregnancy>>
-/*Debug Code*/
-<<if _args[3]>>
-	<<if _args[3] is "human">>
-		<<set $_pregnancy.fetus.push({
-			"type": "human",
-			"mother": "PurityGuy",
-			"motherKnown": true,
-			"father": "PurityGuy",
-			"fatherKnown": true,
-			"born": {"day":null, "month":null, "year":null},
-			"concieved": {"day":clone($monthday), "month":clone($month[0].toUpperCase() + $month.substring(1)), "year":clone($year)},
-			"gender": "h",
-			"features": {"size":"tiny", "hairColour":"blond", "identical":true, "monster":null, "clothes":null, "skinColour":$skinColor.natural},
-			"name":null,
-			"birthId": clone($_pregnancy.totalBirthEvents) + 1,
-			"childId": null,
-			"location": null,
-			"birthLocation": null,
-			"localVariables":{},
-		})>>
-		<<set $_pregnancy.fetus.push({
-			"type": "human",
-			"mother": "PurityGuy",
-			"motherKnown": true,
-			"father": "PurityGuy",
-			"fatherKnown": true,
-			"born": {"day":null, "month":null, "year":null},
-			"concieved": {"day":clone($monthday), "month":clone($month[0].toUpperCase() + $month.substring(1)), "year":clone($year)},
-			"gender": "h",
-			"features": {"size":"tiny", "hairColour":"blond", "identical":true, "monster":null, "clothes":null, "skinColour":$skinColor.natural},
-			"name":null,
-			"birthId": clone($_pregnancy.totalBirthEvents) + 1,
-			"childId": null,
-			"location": null,
-			"birthLocation": null,
-			"localVariables":{},
-		})>>
-		<<set $_pregnancy.fetus.push({
-			"type": "human",
-			"mother": "PurityGuy",
-			"motherKnown": true,
-			"father": "PurityGuy",
-			"fatherKnown": true,
-			"born": {"day":null, "month":null, "year":null},
-			"concieved": {"day":clone($monthday), "month":clone($month[0].toUpperCase() + $month.substring(1)), "year":clone($year)},
-			"gender": "h",
-			"features": {"size":"tiny", "hairColour":"blond", "identical":true, "monster":null, "clothes":null, "skinColour":$skinColor.natural},
-			"name":null,
-			"birthId": clone($_pregnancy.totalBirthEvents) + 1,
-			"childId": null,
-			"location": null,
-			"birthLocation": null,
-			"localVariables":{},
-		})>>
-		<<set $_pregnancy.type to "human">>
-	<</if>>
-	<<if _args[3] is "wolf">>
-		<<set _babyBase to {
-			"type": "wolf",
-			"mother": "pc",
-			"motherKnown": true,
-			"father": "Black Wolf",
-			"fatherKnown": true,
-			"born": {"day":null, "month":null, "year":null},
-			"concieved": {"day":clone($monthday), "month":clone($month[0].toUpperCase() + $month.substring(1)), "year":clone($year)},
-			"gender": null,
-			"features": {"size":null, "hairColour":null, "identical":null, "monster":null, "clothes":null, "skinColour": null},
-			"name":null,
-			"birthId": clone($_pregnancy.totalBirthEvents) + 1,
-			"childId": null,
-			"location": null,
-			"birthLocation": null,
-			"localVariables":{},
-		}>>
-		<<for $_i to 0; $_i lt 8; $_i++>>
-			<<set $_pregnancy.fetus.push(clone(_babyBase))>>
-			<<if $_pregnancy.fetus.last().type is "wolfboy" or $_pregnancy.fetus.last().type is "wolfgirl">>
-				<<set $_pregnancy.fetus.last().features.monster to "monster">>
-			<<else>>
-				<<set $_pregnancy.fetus.last().features.monster to 0>>
-			<</if>>
-			<<set $_pregnancy.fetus.last().gender to (random(0,100) gte 50 ? "f" : "m")>>
-			<<if $player.gender is "h" and random(0,100) gte 80>>
-				<<set $_pregnancy.fetus.last().gender to "h">>
-			<</if>>
-			<<set _furColour to ["gray", "brown", "tan", "white"]>>
-			<<if $_pregnancy.fetus.last().father is "Black Wolf">>
-				<<run _furColour.push("black")>>
-				<<run _furColour.push("black")>>
-			<</if>>
-			<<set $_pregnancy.fetus.last().features.hairColour to _furColour.pluck()>>
-			<<bodyPregCalc>>
-			<<set $_pregnancy.fetus.last().features.size to _bodySize.pluck()>>
-			<<if $_i gt 4 and random(0,100) gte 100 - ($_i * 3)>>
-				<<break>>
-			<</if>>
-		<</for>>
-		<<set $_pregnancy.type to "wolf">>
-	<</if>>
+<<if $player.vaginaExist>>
+	<<set $_pregnancy to $sexStats.vagina.pregnancy>>
+<<else>>
+	<<set $_pregnancy to $sexStats.anus.pregnancy>>
 <</if>>
 <div id="birthUi">
 	<<for _i to 0; _i lt $_pregnancy.fetus.length; _i++>>
@@ -665,7 +392,11 @@
 <</widget>>
 
 <<widget "birthChildElement">>
-<<set $_pregnancy to $sexStats.vagina.pregnancy>>
+<<if $player.vaginaExist>>
+	<<set $_pregnancy to $sexStats.vagina.pregnancy>>
+<<else>>
+	<<set $_pregnancy to $sexStats.anus.pregnancy>>
+<</if>>
 <<capture _args>>
 	<<if $_pregnancy.fetus[_args[0]].type isnot "human">>
 		Type: <<print $_pregnancy.fetus[_args[0]].type[0].toUpperCase() + $_pregnancy.fetus[_args[0]].type.substring(1)>> |
@@ -719,7 +450,11 @@
 /*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
 <<if $pregnancyTesting is undefined>>
 <<elseif _args[0] and $sexStats.vagina.menstruation.currentState is "pregnant" or ($sexStats.vagina.menstruation.currentState is "normal" and ($playerPregnancyHumanDisable is "f" or $playerPregnancyBeastDisable is "f"))>>
-	<<set $_pregnancy to $sexStats.vagina.pregnancy>>
+	<<if $player.vaginaExist>>
+		<<set $_pregnancy to $sexStats.vagina.pregnancy>>
+	<<else>>
+		<<set $_pregnancy to $sexStats.anus.pregnancy>>
+	<</if>>
 	<<set _wakingEffect to wakingPregnancyEvent(random(0,100))>>
 	<<if Array.isArray(_wakingEffect)>>
 		<<set _wakingEffect to _wakingEffect[random(0,_wakingEffect.length - 1)]>>
@@ -775,7 +510,7 @@
 		<<case "bellySize">>
 			<<set $_text_output to "You wake and take a look at your growing belly.">>
 			<<if $_pregnancy.potentialFathers.length is 1>>
-				<<set $_text_output += " It's clear that "+ $_pregnancy.potentialFathers[0] +" was who got you pregnant.">>
+				<<set $_text_output += " It's clear that "+ $_pregnancy.potentialFathers[0][1] +" was who got you pregnant.">>
 			<<else>>
 				<<set $_text_output += " You wonder who got you pregnant.">>
 			<</if>>
@@ -785,7 +520,7 @@
 			<<if $awareness gte 200 and $sciencetrait gte 4 and playerVaginalPregnancyCheck() gt 1>>
 				<<set $_text_output += "You wonder if you got yourself pregnant again, maybe you should get tested.">>
 			<</if>>
-			<<set $_pregnancy.awareOfPeriodDelay to true>>
+			<<set $sexStats.vagina.awareOfPeriodDelay to true>>
 	<</switch>>
 <</if>>
 <</silently>><<if $_text_output>><<print $_text_output>><</if>>
@@ -845,8 +580,12 @@
 <</widget>>
 
 <<widget "pregnancyWatersBrokenPassout">>
-<<set $_pregnancy to $sexStats.vagina.pregnancy>>
-<<set $_pregnancy.waterBreaking to null>>
+<<if $player.vaginaExist>>
+	<<set $_pregnancy to $sexStats.vagina.pregnancy>>
+<<else>>
+	<<set $_pregnancy to $sexStats.anus.pregnancy>>
+<</if>>
+<<set $_pregnancy.waterBreaking to false>>
 /*ToDo: Pregnancy - fill out for specific pregnancy passout events*/
 /*Area specific passout text for alternative pregnancy birth events*/
 <<switch _args[0]>>
@@ -865,7 +604,7 @@
 
 		<</if>>
 	<<case "farmroad">>
-		<<if $location is "farm" and $_pregnancy.potentialFathers.includes("Alex")>>
+		<<if $location is "farm" and $_pregnancy.potentialFathers.find(father => father[1] === "Alex")>>
 			/*Alex can help here*/
 		<<else>>
 
@@ -891,7 +630,7 @@
 	<<case "cave">>
 	<<case "prison">>
 	<<case "edencabin">>
-		<<if $_pregnancy.potentialFathers.includes("Eden")>>
+		<<if $_pregnancy.potentialFathers.find(father => father[1] === "Eden")>>
 			/*Eden thinks it's his child?*/
 		<<else>>
 
@@ -915,7 +654,7 @@
 			<<link [[Next|Pregnancy Birth Hospital Passout]]>><<set $stress -= 5000>><<endevent>><</link>>
 		<</if>>
 	<<case "edencabin">>
-		<<if $_pregnancy.potentialFathers.includes("Eden")>>
+		<<if $_pregnancy.potentialFathers.find(father => father[1] === "Eden")>>
 			/*Alternative place to give birth?*/
 			<<link [[Next|Pregnancy Birth Hospital Passout]]>><<set $stress -= 5000>><<endevent>><</link>>
 		<<else>>
@@ -925,7 +664,7 @@
 		/*Alternative place to give birth?*/
 		<<link [[Next|Pregnancy Birth Hospital Passout]]>><<set $stress -= 5000>><<endevent>><</link>>
 	<<case "farmroad">>
-		<<if $location is "farm" and $_pregnancy.potentialFathers.includes("Alex")>>
+		<<if $location is "farm" and $_pregnancy.potentialFathers.find(father => father[1] === "Alex")>>
 			/*Alternative place to give birth?*/
 			<<link [[Next|Pregnancy Birth Hospital Passout]]>><<set $stress -= 5000>><<endevent>><</link>>
 		<<else>>
@@ -940,7 +679,11 @@
 
 <<widget "pregnancyMorningAfterPill">>
 <<if $sexStats.vagina.menstruation.currentState is "pregnant">>
-	<<set $_pregnancy to $sexStats.vagina.pregnancy>>
+	<<if $player.vaginaExist>>
+		<<set $_pregnancy to $sexStats.vagina.pregnancy>>
+	<<else>>
+		<<set $_pregnancy to $sexStats.anus.pregnancy>>
+	<</if>>
 	<<if between($_pregnancy.timer, 0, 2)>>
 		<<set $_menstruation to $sexStats.vagina.menstruation>>
 		<<set $_pregnancy.fetus to []>>
diff --git a/game/base-system/settings.twee b/game/base-system/settings.twee
index e7b95c8139..d57e6e4918 100644
--- a/game/base-system/settings.twee
+++ b/game/base-system/settings.twee
@@ -48,7 +48,7 @@
 <<set $transformdisabledivine to "f">>
 /*<<set $hirsutedisable to "t">>*/
 <<set $breastfeedingdisable to "f">>
-<<set $analpregdisable to "f">>
+<<set $parasitepregdisable to "f">>
 <<set $asphyxiaLvl to 3>>
 <<set $NudeGenderDC to 1>>
 <<set $npcVirginityChance to 50>>
@@ -213,7 +213,7 @@
 	<<set _buttonName to "Confirm">>
 <</if>>
 <<link _buttonName>>
-	<<if ($feats.locked is true or ($cheatdisabletoggle is "t" and $rentmod gte 1)) and ($feats.soft is true or ($gamemode isnot "soft" and $alluremod gte 1)) and $options.maxStates lte 5>>
+	<<if ($feats.locked or ($cheatdisabletoggle is "t" and $rentmod gte 1)) and ($feats.soft or ($gamemode isnot "soft" and $alluremod gte 1)) and ($feats.pregnancyLocked or ($humanPregnancyMonths gte 3 or $wolfPregnancyWeeks gte 4)) and $options.maxStates lte 5>>
 		<<settingsExitFunction>>
 	<<elseif $options.maxStates lte 5>><!-- confirm cheats -->
 		<<replace #settingsExit>><<settingsExitConfirm>><</replace>>
@@ -226,6 +226,14 @@
 <<widget "settingsExitConfirm">>
 <span class="red">Some settings will disable feats in some way, is this OK?</span>
 <br>
+<ul>
+	<<if $cheatdisabletoggle is "f">><li>Enabling cheats will disable all feats.</li><</if>>
+	<<if $rentmod lt 1>><li>Lowering rend with disable all feats.</li><</if>>
+	<<if !$feats.soft and $gamemode is "soft">><li>Softmode will disable some feats</li><</if>>
+	<<if !$feats.soft and $alluremod lt 1>><li>Lowering the allure mode below 1 will disable some feats</li><</if>>
+	<<if !$feats.pregnancyLocked and $humanPregnancyMonths lt 3>><li>Human pregnancy being set below 3 months will disable some pregnancy feats.</li><</if>>
+	<<if !$feats.pregnancyLocked and $wolfPregnancyWeeks lt 4>><li>Wolf pregnancy being set below 4 weeks will disable some pregnancy feats.</li><</if>>
+</ul>
 <<link "No, please undo these changes">>
 	<<set $cheatdisabletoggle to "t">>
 	<<if $gamemode is "soft">>
@@ -237,6 +245,12 @@
 	<<if $rentmod lt 1>>
 		<<set $rentmod to 1>>
 	<</if>>
+	<<if $humanPregnancyMonths lt 3>>
+		<<set $humanPregnancyMonths to 3>>
+	<</if>>
+	<<if $wolfPregnancyWeeks lt 4>>
+		<<set $wolfPregnancyWeeks to 4>>
+	<</if>>
 	<<replace #settingsExit>><<settingsExit>><</replace>>
 	<<displaySettings>>
 <</link>>
@@ -282,6 +296,9 @@ Values above 5 can lead to errors when creating new saves! Make sure you know wh
 	<<if $gamemode is "soft" or $alluremod lt 1>>
 		<<set $feats.soft to true>>
 	<</if>>
+	<<if $humanPregnancyMonths lt 3 or $wolfPregnancyWeeks lt 4>>
+		<<set $feats.pregnancyLocked to true>>
+	<</if>>
 	<<updatehistorycontrols>>
 	<<initnpcgender>>
 	<<updatePersistentNPCs>>
@@ -978,7 +995,7 @@ Values above 5 can lead to errors when creating new saves! Make sure you know wh
 		</div></label>
 		/*ToDo: Pregnancy, remove duplicate option once enabled*/
 		<label><div class="settingsToggle">
-		<<checkbox "$analpregdisable" "t" "f" autocheck>> Enable anal parasitic pregnancy
+		<<checkbox "$parasitepregdisable" "t" "f" autocheck>> Enable parasitic pregnancy
 		</div></label>
 		<label><div class="settingsToggle">
 		<<checkbox "$tentacledisable" "t" "f" autocheck>> Enable tentacles
@@ -1124,14 +1141,25 @@ Values above 5 can lead to errors when creating new saves! Make sure you know wh
 			}).trigger('change') })>>
 		<</if>>
 		
-		<div class="numberslider-inline">
+		<div class="numberslider-inline humanPregnancyMonths-container">
 			<span class="gold">Human Pregnancy Length in Months</span>
 			<<numberslider "$humanPregnancyMonths" $humanPregnancyMonths 1 9 1>>
 		</div>
-		<div class="numberslider-inline">
+		<div class="numberslider-inline wolfPregnancyWeeks-container">
 			<span class="gold">Wolf Pregnancy Length in Weeks</span>
 			<<numberslider "$wolfPregnancyWeeks" $wolfPregnancyWeeks 2 12 1>>
 		</div>
+		<<run $(() => { $('.humanPregnancyMonths-container input, .wolfPregnancyWeeks-container input').on('input change', e => {
+			if(V.feats.pregnancyLocked){
+				$('#pregnancyFeatsDisabled').text("Some Pregnancy Feats are be disabled.");
+			} else if(V.humanPregnancyMonths < 3 || V.wolfPregnancyWeeks < 4){
+				$('#pregnancyFeatsDisabled').text("Some Pregnancy Feats will be disabled.");
+			} else{
+				$('#pregnancyFeatsDisabled').text("");
+			}
+		}).trigger('change') })>>
+		<div id="pregnancyFeatsDisabled" class="red"></div>
+		
 		<br>
 		<div class="small-description"><span class="red">Will not stop existing pregnancy or prevent the player from interacting with their existing children.</span></div>
 		<label><div class="settingsToggle">
@@ -1148,7 +1176,7 @@ Values above 5 can lead to errors when creating new saves! Make sure you know wh
 			</div></label>
 		<</if>>
 		<label><div class="settingsToggle">
-		<<checkbox "$analpregdisable" "t" "f" autocheck>> Enable anal parasitic pregnancy
+		<<checkbox "$parasitepregdisable" "t" "f" autocheck>> Enable parasitic pregnancy
 		</div></label>
 		<label><div class="settingsToggle">
 		<<checkbox "$pregnancyspeechdisable" "t" "f" autocheck>> Enable fertility references.
diff --git a/game/base-system/text.twee b/game/base-system/text.twee
index 2013108deb..64a8d60a9b 100644
--- a/game/base-system/text.twee
+++ b/game/base-system/text.twee
@@ -871,6 +871,14 @@
 	<<psir>><<capitalise>>
 <</silently>>_text_output<</widget>>
 
+<<widget "pmother">><<silently>>
+	<<set _text_output to ($player.gender_appearance is "m"? "father" : "mother")>><<gendercheck>>
+<</silently>>_text_output<</widget>>
+
+<<widget "pMother">><<silently>>
+	<<set _text_output to ($player.gender_appearance is "m"? "Father" : "Mother")>><<gendercheck>>
+<</silently>>_text_output<</widget>>
+
 <!-- Commented out for deprecation. Use: ?animals
 			See 03-JavaScript/Templates/..
 <<widget "animals">>
diff --git a/game/base-system/time.twee b/game/base-system/time.twee
index 281a844f20..8f06b6050a 100644
--- a/game/base-system/time.twee
+++ b/game/base-system/time.twee
@@ -437,7 +437,7 @@
 	<</if>>
 
 
-	<<pregProgressDay>>
+	<<parasiteProgressDay>>
 	<<creatureContainersProgressDay>>
 
 	<<if $awareness lte -200 and $innocencestate isnot 1>>
diff --git a/game/base-system/widgets.twee b/game/base-system/widgets.twee
index 8e8fac361f..02da5097a5 100644
--- a/game/base-system/widgets.twee
+++ b/game/base-system/widgets.twee
@@ -302,7 +302,10 @@
 	<<else>>
 		<<set $pass to 0>>
 	<</if>>
-	<<pregProgressTime $pass>>
+	<<parasiteProgressTime $pass>>
+	<<if isPlayerNonparasitePregnancyEnding()>>
+		<<stress `Math.ceil($pass * 0.75)`>>
+	<</if>>
 	<<if $controlled is 0 and $anxiety gte 2>>
 		<<set $stress += $pass>>
 		<<if $backgroundTraits.includes("crossdresser") and ($player.gender is $player.gender_appearance) and $player.gender isnot "h">>
@@ -1009,11 +1012,11 @@
 
 <<widget "vaginalstat">><<if $statFreeze isnot true>><<set $vaginalstat += 1>><</if>><</widget>>
 
-<<widget "vaginalejacstat">><<if $statFreeze isnot true>><<set $vaginalejacstat += 1>><<purity -1>><<internalejac>><<creampie "self" "vagina">><</if>><</widget>>
+<<widget "vaginalejacstat">><<if $statFreeze isnot true>><<set $vaginalejacstat += 1>><<purity -1>><<internalejac>><<fertiliseParasites "vagina">><<creampie "self" "vagina">><</if>><</widget>>
 
 <<widget "analstat">><<if $statFreeze isnot true>><<set $analstat += 1>><</if>><</widget>>
 
-<<widget "analejacstat">><<if $statFreeze isnot true>><<set $analejacstat += 1>><<purity -1>><<internalejac>><<fertilise>><<creampie "self" "anus">><</if>><</widget>>
+<<widget "analejacstat">><<if $statFreeze isnot true>><<set $analejacstat += 1>><<purity -1>><<internalejac>><<fertiliseParasites>><<creampie "self" "anus">><</if>><</widget>>
 
 <<widget "oralstat">><<if $statFreeze isnot true>><<set $oralstat += 1>><</if>><</widget>>
 
diff --git a/game/overworld-forest/loc-asylum/widgets.twee b/game/overworld-forest/loc-asylum/widgets.twee
index 15d18e9b18..1b5a3ba12b 100644
--- a/game/overworld-forest/loc-asylum/widgets.twee
+++ b/game/overworld-forest/loc-asylum/widgets.twee
@@ -504,7 +504,7 @@ The room is tiny. There's just enough space to sit. You wait in total silence.
 <<widget "passoutasylum">>
 
 /*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 	<<pregnancyWatersBrokenPassout "asylum">>
 <<else>>
 	<<passout>>
diff --git a/game/overworld-forest/loc-cabin/main.twee b/game/overworld-forest/loc-cabin/main.twee
index cdea1588b4..7817673949 100644
--- a/game/overworld-forest/loc-cabin/main.twee
+++ b/game/overworld-forest/loc-cabin/main.twee
@@ -28,7 +28,7 @@ You are in Eden's cabin.
 <<if $stress gte $stressmax and !$possessed>>
 	<br><br>
 	/*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-	<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+	<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 		<<pregnancyWatersBrokenPassout "edencabin">>
 	<<else>>
 		<<link [[Everything fades to black...|Eden Cabin Passout]]>><</link>>
@@ -1200,7 +1200,7 @@ You are in the clearing outside Eden's cabin. The surrounding trees are so huge
 	<<link [[Just say you removed it|Eden Collar Remove]]>><</link>>
 <<elseif $stress gte $stressmax>>
 	/*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-	<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+	<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 		<<pregnancyWatersBrokenPassout "edencabin">>
 	<<else>>
 		<<link [[Everything fades to black...|Eden Cabin Passout]]>><</link>>
diff --git a/game/overworld-forest/loc-churchyard/widgets.twee b/game/overworld-forest/loc-churchyard/widgets.twee
index c21adcafa8..eb7d278e0e 100644
--- a/game/overworld-forest/loc-churchyard/widgets.twee
+++ b/game/overworld-forest/loc-churchyard/widgets.twee
@@ -399,7 +399,7 @@
 
 <<widget "passoutcatacombs">>
 
-<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 	<<pregnancyWatersBrokenPassout "catacombs">>
 	<<if $worn.face.type.includes("blindfold")>>
 		<<set $worn.face.type.push("broken")>>
diff --git a/game/overworld-forest/loc-forest/widgets.twee b/game/overworld-forest/loc-forest/widgets.twee
index 0442a116b8..73fd51cdd7 100644
--- a/game/overworld-forest/loc-forest/widgets.twee
+++ b/game/overworld-forest/loc-forest/widgets.twee
@@ -990,7 +990,7 @@ The Black Wolf walks up to you and <<if $monster is 1>>kneels<<else>>turns<</if>
 
 <<widget "passoutforest">>
 /*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 	<<pregnancyWatersBrokenPassout "forest">>
 <<else>>
 	You've pushed yourself too much.
diff --git a/game/overworld-forest/loc-lake/ivory/snatched.twee b/game/overworld-forest/loc-lake/ivory/snatched.twee
index b65504e957..a4e85faf33 100644
--- a/game/overworld-forest/loc-lake/ivory/snatched.twee
+++ b/game/overworld-forest/loc-lake/ivory/snatched.twee
@@ -229,7 +229,6 @@ You place your hand on <<nnpc_his _bedGuest>> face. You can't feel it. You strok
 You clumsily walk over to the $container[$location].name.
 <<set $outside to 0>>
 <<set _container to $container[$location]>>
-<<set _pregnancy to $sexStats.anus.pregnancy>>
 <<set $checkboxResult to {}>><<set _paleCount to 0>>
 <<for _i to 0; _i lt Object.keys(_container.creatures).length; _i++>>
 	<<if _container.creatures[_i] isnot null and _container.creatures[_i].creature.includes("Pale")>>
diff --git a/game/overworld-forest/loc-lake/main.twee b/game/overworld-forest/loc-lake/main.twee
index 55c443c38d..c1bdd2f446 100644
--- a/game/overworld-forest/loc-lake/main.twee
+++ b/game/overworld-forest/loc-lake/main.twee
@@ -193,7 +193,7 @@ You keep low and stay among the trees to keep your <<lewdness>> hidden.
 <<else>>
 	<<eventlakesafe>>
 	<<lakereturnjourney>>
-	<<if $sexStats.anus.pregnancy.seenDoctor gte 2>>
+	<<if $pregnancyStats.parasiteDoctorEvents gte 2>>
 		<<containersLink>>
 	<</if>>
 	<<if $mason_count gte 2 and $season isnot "winter">>
diff --git a/game/overworld-forest/loc-lake/widgets.twee b/game/overworld-forest/loc-lake/widgets.twee
index 07f07090d6..ee14fe10ef 100644
--- a/game/overworld-forest/loc-lake/widgets.twee
+++ b/game/overworld-forest/loc-lake/widgets.twee
@@ -61,7 +61,7 @@
 
 <<widget "passoutlake">>
 /*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 	<<pregnancyWatersBrokenPassout "lake">>
 <<else>>
 	You've pushed yourself too much.
diff --git a/game/overworld-forest/loc-tentacle-world/main.twee b/game/overworld-forest/loc-tentacle-world/main.twee
index c4a6396c89..505bf7b639 100644
--- a/game/overworld-forest/loc-tentacle-world/main.twee
+++ b/game/overworld-forest/loc-tentacle-world/main.twee
@@ -1,7 +1,7 @@
 :: Widgets Tentacle World [widget]
 <<widget "passouttentacleworld">>
 /*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 	<<pregnancyWatersBrokenPassout "tentacleworld">>
 <<else>>
 	<<passout>>
diff --git a/game/overworld-forest/loc-wolfpack/main.twee b/game/overworld-forest/loc-wolfpack/main.twee
index 8258f1aba7..46e95448ca 100644
--- a/game/overworld-forest/loc-wolfpack/main.twee
+++ b/game/overworld-forest/loc-wolfpack/main.twee
@@ -24,9 +24,9 @@ You are in the wolf cave. The ceiling hangs low. There's a breeze blowing from t
 	<<wolfcavestate>>
 <</if>>
 <br><br>
-<<if $sexStats.vagina.pregnancy.waterBreaking and !$possessed>>
+<<if isPlayerNonparasitePregnancyEnding() and !$possessed>>
 	/*ToDo: Pregnancy - Add event to get the wolves to help with your pregnancy, ensure that the none wolf version matches with the next passage*/
-	<<if $sexStats.vagina.pregnancy.type is "wolf">>
+	<<if nonparasitePregnancyType()>>
 		Wolves (Black wolf?) notice the player's water has broken, leads the player to their bed to give birth to the wolves.
 		<br><br>
 		<<link [[Next|Pregnancy Birth Hospital Wolf 5]]>><</link>>
@@ -147,10 +147,9 @@ You are in the clearing outside the wolf cave. A stream runs by.
 	<<bHe>> seems almost disappointed.
 	<<endevent>>
 <</if>>
-<<if $sexStats.vagina.pregnancy.waterBreaking and !$possessed>>
+<<if isPlayerNonparasitePregnancyEnding() and !$possessed>>
 	/*ToDo: Pregnancy - Add event to get the wolves to help with your pregnancy, ensure that the none wolf version matches with the next passage*/
-	<<set $sexStats.vagina.pregnancy.waterBreaking to null>>
-	<<if $sexStats.vagina.pregnancy.type is "wolf">>
+	<<if nonparasitePregnancyType()>>
 		Wolves (Black wolf?) notice the player's water has broken, is guided to the inside of the cave to give birth. Clothes are removed.
 		<br><br>
 		<<link [[Next|Pregnancy Birth Hospital Wolf 5]]>><</link>>
diff --git a/game/overworld-plains/loc-estate/cards.twee b/game/overworld-plains/loc-estate/cards.twee
index 1832c80892..c967c966a8 100644
--- a/game/overworld-plains/loc-estate/cards.twee
+++ b/game/overworld-plains/loc-estate/cards.twee
@@ -2076,6 +2076,7 @@ Wren doesn't hesitate.
 	<<orgasm>>
 	<br>
 	Your second orgasms pushes Wren over the edge. <span class="lewd"><<His>> body shakes in ecstasy as <<he>> pumps your <<bottom>> full of semen.</span><<bodyliquid "anus" "semen">>
+	<<recordAnusSperm "pc" "Wren" "human">>
 	<br><br>
 
 	You slump against <<his>> chest as <<he>> gasps and wraps an arm around your waist. <<He>> recovers fast, and lifts you to your feet before rearranging <<his>> clothes.
diff --git a/game/overworld-plains/loc-farm/upgrades.twee b/game/overworld-plains/loc-farm/upgrades.twee
index 5ddd1021b6..fcf5dec8f4 100644
--- a/game/overworld-plains/loc-farm/upgrades.twee
+++ b/game/overworld-plains/loc-farm/upgrades.twee
@@ -12,7 +12,7 @@
 <<farm_upgrades_current>>
 <<farm_upgrades_status>>
 
-<<if $sexStats.anus.pregnancy.motherStatus gte 1 and !$farm.parasitebarn and $farm.build isnot "parasites 1">>
+<<if ($sexStats.anus.pregnancy.motherStatus gte 1 or $sexStats.vagina.pregnancy.motherStatus gte 1) and !$farm.parasitebarn and $farm.build isnot "parasites 1">>
 	Your thoughts drift to the various critters you've given birth to. The farm has everything you'd need to care for them. <span class="blue">An idea strikes you.</span>
 	<br>
 	<<link [[Build a barn for your parasites|Farm Upgrades Parasite Barn]]>><</link>>
diff --git a/game/overworld-plains/loc-farm/widgets.twee b/game/overworld-plains/loc-farm/widgets.twee
index 8073d60263..5deafe40ee 100644
--- a/game/overworld-plains/loc-farm/widgets.twee
+++ b/game/overworld-plains/loc-farm/widgets.twee
@@ -72,7 +72,7 @@
 
 <<widget "passoutfarmroad">>
 /*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 	<<pregnancyWatersBrokenPassout "farmroad">>
 <<else>>
 	<<passout>>
@@ -3191,7 +3191,7 @@ Weekly wage: <<printmoney $farm.tower_guard_wage>>
 			<<link [[Build field irrigation|Farm Upgrades Irrigation]]>><</link>>
 		<</if>>
 		<br>
-		<<if $sexStats.anus.pregnancy.motherStatus gte 1 and ($farm.parasitebarn gte 1 or $farm.build is "parasites 1")>>
+		<<if ($sexStats.anus.pregnancy.motherStatus gte 1 or $sexStats.vagina.pregnancy.motherStatus gte 1) and ($farm.parasitebarn gte 1 or $farm.build is "parasites 1")>>
 			Parasite Barn:
 			<<if $farm.parasitebarn gte 2 or $farm.build is "parasites 2">>
 				<span class="green">As big as can be</span>
diff --git a/game/overworld-plains/loc-livestock/jobs.twee b/game/overworld-plains/loc-livestock/jobs.twee
index e7faafb6ac..40902a110f 100644
--- a/game/overworld-plains/loc-livestock/jobs.twee
+++ b/game/overworld-plains/loc-livestock/jobs.twee
@@ -1608,15 +1608,15 @@ Tranquility invades your mind. You wonder at how lucky you are, a simple <<if $p
 <br><br>
 <<if $player.vaginaExist>>
 	You start munching on the grass, and while you feel what feels like a small tube enter your vagina, followed by some cold liquid entering, it doesn't bother you.
-	<<recordVaginalSperm "pc" "Harpers Serum" "human" 12>>
-	<<recordVaginalSperm "pc" "Harpers Serum" "human" 12>>
-	<<recordVaginalSperm "pc" "Harpers Serum" "human" 12>>
-	<<recordVaginalSperm "pc" "Harpers Serum" "human" 12>>
-	<<recordVaginalSperm "pc" "Harpers Serum" "human" 12>>
-	<<recordVaginalSperm "pc" "Harpers Serum" "human" 12>>
+	<<for _i to 0; _i lt 6; _i++>>
+		<<recordVaginalSperm "pc" "Harpers Serum" "human" 12>>
+	<</for>>
 	<<purity -3>><<internalejac>><<creampie "self" "vagina">><<set $hygiene += 1000>><<bodyliquid "vagina" "semen" 3>><<bodyliquid "vagina" "goo">>
 <<else>>
 	You start munching on the grass, and while you feel what feels like a small tube enter your anus, followed by some cold liquid entering, it doesn't bother you.
+	<<for _i to 0; _i lt 6; _i++>>
+		<<recordAnusSperm "pc" "Harpers Serum" "human" 12>>
+	<</for>>
 	<<purity -3>><<internalejac>><<creampie "self" "anus">><<set $hunger -= 200>><<set $thirst -= 200>><<set $hygiene += 1000>><<bodyliquid "anus" "semen" 3>><<bodyliquid "anus" "goo">>
 <</if>>
 <<drugs 45>><<arousal 150>>
diff --git a/game/overworld-plains/loc-livestock/widgets.twee b/game/overworld-plains/loc-livestock/widgets.twee
index 9dd3bc84f4..5187ed17c6 100644
--- a/game/overworld-plains/loc-livestock/widgets.twee
+++ b/game/overworld-plains/loc-livestock/widgets.twee
@@ -233,7 +233,7 @@ You overhear two farmhands talking behind the fence.
 
 <<widget "passoutremy">>
 /*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 	<<pregnancyWatersBrokenPassout "remy">>
 <<else>>
 	<<passout>>
diff --git a/game/overworld-plains/loc-moor/abduction.twee b/game/overworld-plains/loc-moor/abduction.twee
index 1b8757a98c..cc7d389b83 100644
--- a/game/overworld-plains/loc-moor/abduction.twee
+++ b/game/overworld-plains/loc-moor/abduction.twee
@@ -182,7 +182,7 @@ You are alone in a tent, tied to a chain buried in the earth. You hear snoring o
 
 <<if $stress gte $stressmax>>
 	/*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-	<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+	<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 		<<pregnancyWatersBrokenPassout "remyAbduction">>
 	<<else>>
 		It's too much for you. You pass out.
@@ -259,7 +259,7 @@ You're marched across the moor, enduring the ogling stares of your captors.
 	<br><br>
 	<<if $stress gte $stressmax>>
 		/*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-		<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+		<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 			<<pregnancyWatersBrokenPassout "remyAbduction">>
 		<<else>>
 			It's too much for you. Your vision fades.
diff --git a/game/overworld-plains/loc-moor/widgets.twee b/game/overworld-plains/loc-moor/widgets.twee
index 9f61fb1895..86716c1890 100644
--- a/game/overworld-plains/loc-moor/widgets.twee
+++ b/game/overworld-plains/loc-moor/widgets.twee
@@ -830,7 +830,7 @@
 
 <<widget "passout_moor">>
 /*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 	<<pregnancyWatersBrokenPassout "moor">>
 <<else>>
 	<<passout>>
diff --git a/game/overworld-town/loc-adultshop/widgets.twee b/game/overworld-town/loc-adultshop/widgets.twee
index 8e3a76bf0a..27d4851dd5 100644
--- a/game/overworld-town/loc-adultshop/widgets.twee
+++ b/game/overworld-town/loc-adultshop/widgets.twee
@@ -684,7 +684,7 @@
 
 <<widget "passoutadultshop">>
 /*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-	<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+	<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 		<<pregnancyWatersBrokenPassout "adultShop">>
 	<<else>>
 		<<link [[Everything fades to black...|Adult Shop Passout Bondage]]>><</link>>
diff --git a/game/overworld-town/loc-alley/widgets.twee b/game/overworld-town/loc-alley/widgets.twee
index 67ec740fd4..d43013a6ee 100644
--- a/game/overworld-town/loc-alley/widgets.twee
+++ b/game/overworld-town/loc-alley/widgets.twee
@@ -2,7 +2,7 @@
 
 <<widget "passoutalley">>
 /*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 	<<pregnancyWatersBrokenPassout "alley">>
 <<else>>
 	<<link [[Everything fades to black...->Passout alley]]>><</link>>
diff --git a/game/overworld-town/loc-arcade/widgets.twee b/game/overworld-town/loc-arcade/widgets.twee
index de956dcde9..e7e96dd67b 100644
--- a/game/overworld-town/loc-arcade/widgets.twee
+++ b/game/overworld-town/loc-arcade/widgets.twee
@@ -1,7 +1,7 @@
 :: Widgets Arcade [widget]
 <<widget "passoutarcade">>
 /*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 	<<pregnancyWatersBrokenPassout "arcade">>
 <<else>>
 	<<link [[Everything fades to black...|Passout Arcade]]>><</link>>
diff --git a/game/overworld-town/loc-beach/events.twee b/game/overworld-town/loc-beach/events.twee
index 43d5eaeac6..c3bf4c3919 100644
--- a/game/overworld-town/loc-beach/events.twee
+++ b/game/overworld-town/loc-beach/events.twee
@@ -624,7 +624,7 @@ You wrap a towel around your nether regions, creating a makeshift skirt.
 
 :: Passout Beach
 /*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 	<<pregnancyWatersBrokenPassout "beach">>
 <<else>>
 	You've pushed yourself too much.
diff --git a/game/overworld-town/loc-beach/widgets.twee b/game/overworld-town/loc-beach/widgets.twee
index d8d9dfbe79..ee1603b0e1 100644
--- a/game/overworld-town/loc-beach/widgets.twee
+++ b/game/overworld-town/loc-beach/widgets.twee
@@ -260,7 +260,7 @@ A gust of wind blows in from the ocean, pleasantly caressing your skin.
 
 <<widget "passoutbeach">>
 /*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 	<<pregnancyWatersBrokenPassout "beach">>
 <<else>>
 	<<link [[Everything fades to black...->Passout Beach]]>><</link>>
diff --git a/game/overworld-town/loc-brothel/shows.twee b/game/overworld-town/loc-brothel/shows.twee
index 058d2bc476..b0149354ce 100644
--- a/game/overworld-town/loc-brothel/shows.twee
+++ b/game/overworld-town/loc-brothel/shows.twee
@@ -582,11 +582,13 @@ You return to the dressing room.
 	<<set $timer to 6>>
 	<!-- "gte BOTH" means groups containing males, or only those with penises. -->
 	<<if _sexId gte SexTypes.BOTH>>
-		<<fertilise>>
+		<<fertiliseParasites>>
+		<<fertiliseParasites "vagina">>
 		 /* Can leave for now, but this system could be improved to be more advanced. */
 		<<set _rng to random(5,10)>>
 		<<for _i to 0; _i lt _rng; _i++>>
 			<<recordVaginalSperm "pc" "Cum bucket" "human">>
+			<<recordAnusSperm "pc" "Cum bucket" "human">>
 		<</for>>
 	<</if>>
 <</if>>
diff --git a/game/overworld-town/loc-bus/widgets.twee b/game/overworld-town/loc-bus/widgets.twee
index 0a8814a68a..60399ce4f7 100644
--- a/game/overworld-town/loc-bus/widgets.twee
+++ b/game/overworld-town/loc-bus/widgets.twee
@@ -8,7 +8,7 @@
 
 <<widget "passoutbus">>
 /*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 	<<pregnancyWatersBrokenPassout "bus">>
 <<else>>
 	<<link [[Everything fades to black...->Passout bus]]>><</link>>
diff --git a/game/overworld-town/loc-docks/skulduggery.twee b/game/overworld-town/loc-docks/skulduggery.twee
index bca5a81973..af91db2cd9 100644
--- a/game/overworld-town/loc-docks/skulduggery.twee
+++ b/game/overworld-town/loc-docks/skulduggery.twee
@@ -36,7 +36,7 @@ You are on the docks.
 
 <<if $stress gte $stressmax>>
 	/*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-	<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+	<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 		<<pregnancyWatersBrokenPassout "docksSneak">>
 	<<else>>
 		You've pushed yourself too much.
diff --git a/game/overworld-town/loc-docks/widgets.twee b/game/overworld-town/loc-docks/widgets.twee
index 11076c382b..7f490093ef 100644
--- a/game/overworld-town/loc-docks/widgets.twee
+++ b/game/overworld-town/loc-docks/widgets.twee
@@ -64,7 +64,7 @@ A <<generate1>><<person1>><<person>> approaches you, smiling. "Rope accident?" <
 <<set $dockhours += 1>>
 <<if $stress gte $stressmax>>
 	/*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-	<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+	<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 		<<pregnancyWatersBrokenPassout "docks">>
 	<<else>>
 		You've pushed yourself too much.
diff --git a/game/overworld-town/loc-home/main.twee b/game/overworld-town/loc-home/main.twee
index 06225b558a..64d125cd13 100644
--- a/game/overworld-town/loc-home/main.twee
+++ b/game/overworld-town/loc-home/main.twee
@@ -251,7 +251,7 @@ You are in your bedroom.
 		<</if>> -->
 	<</if>>
 
-	<<if $sexStats.anus.pregnancy.seenDoctor gte 2>>
+	<<if $pregnancyStats.parasiteDoctorEvents gte 2>>
 		<<containersLink "ind">>
 	<</if>>
 	<br>
@@ -2216,7 +2216,7 @@ The warmth feels wonderful on your bare skin.
 :: Widget Passout Home [widget]
 <<widget "passouthome">>
 /*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 	<<pregnancyWatersBrokenPassout "home">>
 <<else>>
 	<<link [[Everything fades to black...->Passout home]]>><</link>>
diff --git a/game/overworld-town/loc-hospital/main.twee b/game/overworld-town/loc-hospital/main.twee
index 923c0a52a8..5d1ec4a066 100644
--- a/game/overworld-town/loc-hospital/main.twee
+++ b/game/overworld-town/loc-hospital/main.twee
@@ -95,7 +95,7 @@ You are inside the hospital foyer. <<if $psych is 1>>You see a sign directing to
 			<br>
 		<</if>>
 		/*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-		<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+		<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 			<<link [[Say that your waters have broken|Pregnancy Birth Hospital]]>><</link>>
 			<br>
 		<</if>>
@@ -124,14 +124,15 @@ You are inside the hospital foyer. <<if $psych is 1>>You see a sign directing to
 			<<link [[Inquire about penis reduction (0:10)|Hospital Penis Reduction]]>><<pass 10>><</link>>
 			<br>
 		<</if>>
-		<<set _pregnancy to $sexStats.anus.pregnancy>>
-		<<if _pregnancy.seenDoctor is 1>>
+		<<set _aPregnancy to $sexStats.anus.pregnancy>>
+		<<set _vPregnancy to $sexStats.vagina.pregnancy>>
+		<<if $pregnancyStats.parasiteDoctorEvents is 1>>
 			<<link [[Inquire about movement in your stomach (0:10)|Pregnancy Introduction]]>><<pass 10>><</link>>
 			<br>
 		<</if>>
-		<<if _pregnancy.seenDoctor is 3 or (_pregnancy.motherStatus is 2 and _pregnancy.seenDoctor gt 3) or (_pregnancy.book is 1 and _pregnancy.seenDoctor gt 3) or $container.portable.value gt 0>>
-			<<if $deviancy gte 75>><<set _pregnancy.namesChildren to true>><<else>><<set _pregnancy.namesChildren to false>><</if>>
-			<<if _pregnancy.namesChildren is true>>
+		<<if $pregnancyStats.parasiteDoctorEvents is 3 or ((_aPregnancy.motherStatus is 2 or (_vPregnancy.motherStatus is 2 and !$warn.genitals.type.includes("hidden"))) and $pregnancyStats.parasiteDoctorEvents gt 3) or ($pregnancyStats.parasiteBook is 1 and $pregnancyStats.parasiteDoctorEvents gt 3) or $container.portable.value gt 0>>
+			<<if $deviancy gte 75>><<set $pregnancyStats.namesParasitesChild to true>><<else>><<set $pregnancyStats.namesParasitesChild to false>><</if>>
+			<<if $pregnancyStats.namesParasitesChild is true>>
 				<<link [[Inquire about your pregnancy and children (0:10)|Pregnancy Discussion]]>><<pass 10>><</link>>
 				<br>
 			<<else>>
@@ -139,9 +140,13 @@ You are inside the hospital foyer. <<if $psych is 1>>You see a sign directing to
 				<br>
 			<</if>>
 		<</if>>
-		<<set _pregnancy to $sexStats.vagina.pregnancy>>
-		<<if _pregnancy.awareOf is true and _pregnancy.ultrasoundDone is 0 and between(_pregnancy.timer / _pregnancy.timerEnd, 0.1, 1)>>
-			<<link [[Inquire about getting an ultrasound (0:10)|Pregnancy ultrasound]]>><<pass 10>><<set _pregnancy.ultrasoundDone to 1>><</link>>
+		<<if $player.vaginaExist>>
+			<<set _pregnancy to $sexStats.vagina.pregnancy>>
+		<<else>>
+			<<set _pregnancy to $sexStats.anus.pregnancy>>
+		<</if>>
+		<<if _pregnancy.awareOf is true and !$daily.ultrasoundDone and between(_pregnancy.timer / _pregnancy.timerEnd, 0.1, 1)>>
+			<<link [[Inquire about getting an ultrasound (0:10)|Pregnancy ultrasound]]>><<pass 10>><<set $daily.ultrasoundDone to true>><</link>>
 			<br>
 		<</if>>
 		<<for _active_bodypart range setup.bodyparts>>
@@ -357,7 +362,7 @@ You've pushed yourself too much.
 :: Widgets Passout Hospital [widget]
 <<widget "passouthospital">>
 /*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 	<<pregnancyWatersBrokenPassout "hospital">>
 <<else>>
 	<<link [[Everything fades to black...->Passout hospital]]>><</link>>
diff --git a/game/overworld-town/loc-hospital/pharmacy.twee b/game/overworld-town/loc-hospital/pharmacy.twee
index 061b12c7bc..9de211dbdb 100644
--- a/game/overworld-town/loc-hospital/pharmacy.twee
+++ b/game/overworld-town/loc-hospital/pharmacy.twee
@@ -58,6 +58,8 @@
 	<br>
 	<<link [[Pack of 14 butt growth blocker|Pharmacy Sale]]>><<set $pharmacyItem to setup.pharmacyItems["bottom_blocker"]>><</link>>
 	<br><br>
+	<<link [[Tube of anti-parasite cream|Pharmacy Sale]]>><<set $pharmacyItem to setup.pharmacyItems["Anti-Parasite Cream"]>><</link>>
+	<br><br>
 	/*ToDo: Pregnancy, remove check to properly enable*/
 	<<if $pregnancyTesting>>
 		<<link [[Pack of 10 condoms|Pharmacy Sale]]>><<set $pharmacyItem to setup.pharmacyItems["condoms"]>><</link>>
@@ -248,7 +250,6 @@ An assortment of colourful contact lenses is displayed behind the glass. You can
 
 :: Pharmacy Sale
 <<set $outside to 0>><<set $location to "hospital">><<effects>>
-<<run console.log($pharmacyItem)>>
 The <<person>> looks at the <<print $pharmacyItem.name>> you're holding,
 <<formatmoney $pharmacyItem.price>>
 <<switch $pharmacyItem.type>>
@@ -270,6 +271,8 @@ The <<person>> looks at the <<print $pharmacyItem.name>> you're holding,
 		"_printmoney please. The effects will vary."
 	<<case "bottom blocker">>
 		"_printmoney please."
+	<<case "Anti-Parasite Cream">>
+		"_printmoney please. The tube should last for about 2 weeks, depending on where you need to apply it."
 	<<case "condoms">>
 		"_printmoney please." <<He>> looks you over.
 		<<if $player.gender_appearance is "m">>
@@ -301,7 +304,7 @@ The <<person>> looks at the <<print $pharmacyItem.name>> you're holding,
 		<</if>>
 		Take one per day, try to normalise the time. You still need to be careful, the only sure way to be safe is still to be abstinent."
 	<<default>>
-		<<run throw new Error("Missing pharmacyItem type!")>>
+		<<run throw new Error(`Missing pharmacyItem type! ${V.pharmacyItem.type}`)>>
 <</switch>>
 <br><br>
 
@@ -310,6 +313,8 @@ The <<person>> looks at the <<print $pharmacyItem.name>> you're holding,
 		<<link [[Hand over the money|Pharmacy]]>><<set $money -= $pharmacyItem.price>><<set $condoms += 10>><</link>>
 	<<elseif $pharmacyItem.type is "pregnancy test">>
 		<<link [[Hand over the money|Pharmacy]]>><<set $money -= $pharmacyItem.price>><<set $pregnancyTest += 2>><</link>>
+	<<elseif $pharmacyItem.type is "Anti-Parasite Cream">>
+		<<link [[Hand over the money|Pharmacy]]>><<set $money -= $pharmacyItem.price>><<set $sexStats.pills.pills[$pharmacyItem.type].owned += 1>><<boughtOnce>><</link>>
 	<<else>>
 		<<link [[Hand over the money|Pharmacy]]>><<set $money -= $pharmacyItem.price>><<set $sexStats.pills.pills[$pharmacyItem.type].owned += 14>><<boughtOnce>><</link>>
 	<</if>>
diff --git a/game/overworld-town/loc-landfill/widgets.twee b/game/overworld-town/loc-landfill/widgets.twee
index 063b4cd438..6fd31cc677 100644
--- a/game/overworld-town/loc-landfill/widgets.twee
+++ b/game/overworld-town/loc-landfill/widgets.twee
@@ -167,7 +167,7 @@
 
 <<widget "passouttrash">>
 /*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 	<<pregnancyWatersBrokenPassout "trash">>
 <<else>>
 	<<passout>>
diff --git a/game/overworld-town/loc-park/main.twee b/game/overworld-town/loc-park/main.twee
index 3a2252c364..5df3432790 100644
--- a/game/overworld-town/loc-park/main.twee
+++ b/game/overworld-town/loc-park/main.twee
@@ -1,7 +1,7 @@
 :: Widgets Passout Park [widget]
 <<widget "passoutpark">>
 /*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 	<<pregnancyWatersBrokenPassout "park">>
 <<else>>
 	<<link [[Everything fades to black...->Passout park]]>><</link>>
diff --git a/game/overworld-town/loc-prison/widgets.twee b/game/overworld-town/loc-prison/widgets.twee
index b4f5ed2b2e..895f6de7ea 100644
--- a/game/overworld-town/loc-prison/widgets.twee
+++ b/game/overworld-town/loc-prison/widgets.twee
@@ -1479,7 +1479,7 @@
 
 <<widget "passout_prison">>
 /*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 	<<pregnancyWatersBrokenPassout "prison">>
 <<else>>
 	<<link [[Everything fades to black...->Passout Prison]]>><</link>>
diff --git a/game/overworld-town/loc-pub/fame.twee b/game/overworld-town/loc-pub/fame.twee
index 99b1c6c1df..c70e864bb0 100644
--- a/game/overworld-town/loc-pub/fame.twee
+++ b/game/overworld-town/loc-pub/fame.twee
@@ -133,7 +133,7 @@
 		<<set _pubfameOptions["Modelling fame"] to "model">>
 	<</if>>
 	<!-- ToDo: Pregnancy, remove $pregnancyTesting to properly enable -->
-	<<if $pregnancyTesting and $sexStats.vagina.pregnancy.totalBirthEvents gt 0>>
+	<<if $pregnancyTesting and ($sexStats.vagina.pregnancy.totalBirthEvents + $sexStats.anus.pregnancy.totalBirthEvents) gt 0>>
 		<<set _pubfameOptions["Pregnancy fame"] to "pregnancy">>
 	<</if>>
 
@@ -574,7 +574,7 @@ You walk back to Landry's table. "The offer's out now," <<he>> says. "I did my p
 :: Pub Fame Favour
 <<effects>>
 
-<<if $pubfame.goal.includes("Raise") and ($fame[$pubfame.target] gte 2000 or $pubfame.target is "pregnancy" and $fame.pregnancy gte $sexStats.vagina.pregnancy.totalBirthEvents*100)>>
+<<if $pubfame.goal.includes("Raise") and ($fame[$pubfame.target] gte 2000 or $pubfame.target is "pregnancy" and $fame.pregnancy gte ($sexStats.vagina.pregnancy.totalBirthEvents + $sexStats.anus.pregnancy.totalBirthEvents)*100)>>
 	<<set _failed to 1>>
 	Mickey shakes their head. "<span class="teal">That wouldn't do you any good.</span> You're already about as well known as you can be in the <<fameProse $pubfame.target>> department. Trying to boost that wouldn't do anything. Pick again."
 
diff --git a/game/overworld-town/loc-pub/main.twee b/game/overworld-town/loc-pub/main.twee
index 00ed594cc0..36d30cde74 100644
--- a/game/overworld-town/loc-pub/main.twee
+++ b/game/overworld-town/loc-pub/main.twee
@@ -128,7 +128,7 @@
 	<<else>>
 		<<ind>><<link [[Ask for Landry|Pub Landry]]>><<endevent>><</link>>
 		<br>
-		<<if $sexStats.vagina.pregnancy.awareOf is true>>
+		<<if $sexStats.vagina.pregnancy.awareOf or $sexStats.anus.pregnancy.awareOf>>
 			You can't bring yourself to drink while you know you're with child.
 			<br>
 		<<else>>
diff --git a/game/overworld-town/loc-pub/seduction.twee b/game/overworld-town/loc-pub/seduction.twee
index c821da5ad5..7ed596101d 100644
--- a/game/overworld-town/loc-pub/seduction.twee
+++ b/game/overworld-town/loc-pub/seduction.twee
@@ -73,7 +73,7 @@ You sit near the <<person>> and smile at <<him>>.
 		<<link [[Seduce (0:01)|Pub Seduce]]>><<pass 1>><</link>><<promiscuous2>>
 		<br>
 	<</if>>
-	<<if $sexStats.vagina.pregnancy.awareOf is true>>
+	<<if $sexStats.vagina.pregnancy.awareOf or $sexStats.anus.pregnancy.awareOf>>
 		You can't bring yourself to drink while you know you're with child.
 		<br>
 	<<else>>
diff --git a/game/overworld-town/loc-school/library.twee b/game/overworld-town/loc-school/library.twee
index d892a8dc38..e4d35418a5 100644
--- a/game/overworld-town/loc-school/library.twee
+++ b/game/overworld-town/loc-school/library.twee
@@ -636,7 +636,7 @@ You follow <<him>> down the corridor toward the entrance. "H-here," <<he>> says
 		<br><br>
 		<<endevent>>
 		/*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-		<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+		<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 			<<pregnancyWatersBrokenPassout "schoolLibrarian">>
 		<<else>>
 			<<ambulance>>
@@ -646,7 +646,7 @@ You follow <<him>> down the corridor toward the entrance. "H-here," <<he>> says
 		<br><br>
 		<<endevent>>
 		/*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-		<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+		<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 			<<pregnancyWatersBrokenPassout "schoolLibrarian">>
 		<<else>>
 			<<ambulance>>
diff --git a/game/overworld-town/loc-school/main.twee b/game/overworld-town/loc-school/main.twee
index 4a085ac349..4d60061f18 100644
--- a/game/overworld-town/loc-school/main.twee
+++ b/game/overworld-town/loc-school/main.twee
@@ -620,7 +620,7 @@ You haul yourself over the fence and drop down on the other side.
 :: School Passout
 /*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
 <<sydneySchedule>>
-<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 	<<pregnancyWatersBrokenPassout "school">>
 <<elseif _sydney_location is "library" and ($NPCName[$NPCNameList.indexOf("Sydney")].init isnot 1 or ($sydneySeen and !$sydneySeen.includes("libRescue")) or $rng gte 20)>>
 	<<pass 1 hour>>
diff --git a/game/overworld-town/loc-sea/widgets.twee b/game/overworld-town/loc-sea/widgets.twee
index b7820dea7d..acc6211222 100644
--- a/game/overworld-town/loc-sea/widgets.twee
+++ b/game/overworld-town/loc-sea/widgets.twee
@@ -372,7 +372,7 @@ A cluster of seaweed-covered rocks appear as you crest a wave, worn to smoothnes
 
 <<widget "passoutsea">>
 /*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 	<<pregnancyWatersBrokenPassout "sea">>
 <<else>>
 	<<link [[Everything fades to black|Passout Sea]]>><</link>>
diff --git a/game/overworld-town/loc-shop/main.twee b/game/overworld-town/loc-shop/main.twee
index e56183fc5b..064e005e37 100644
--- a/game/overworld-town/loc-shop/main.twee
+++ b/game/overworld-town/loc-shop/main.twee
@@ -161,7 +161,7 @@
 :: Widgets Passout Shop [widget]
 <<widget "passoutshop">>
 /*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 	<<pregnancyWatersBrokenPassout "shop">>
 <<else>>
 	<<link [[Everything fades to black...|Passout Shop]]>><</link>>
diff --git a/game/overworld-town/loc-shop/petShop.twee b/game/overworld-town/loc-shop/petShop.twee
index 7b99dac0f5..665ed31a4a 100644
--- a/game/overworld-town/loc-shop/petShop.twee
+++ b/game/overworld-town/loc-shop/petShop.twee
@@ -17,7 +17,6 @@
 :: Pet Shop
 
 <<set $outside to 0>><<set $location to "shopping_centre">><<effects>>
-<<set _container to $container.home>><<set _pregnancy to $sexStats.anus.pregnancy>>
 You are in the pet shop. <<if $daystate is "night">>Most of the animals are sleeping at the moment<<else>>A handful of the small animals turn to look in your direction<</if>>. They all look cute but you doubt Bailey will let you keep any.
 <br><br>
 <<if $daily.seenPets isnot true and $daystate isnot "night" and $fame.bestiality gte 200 and $bestialitydisable is "f" and ($monsterchance lt 100 or $monsterhallucinations is "t")>>
@@ -50,10 +49,11 @@ You are in the pet shop. <<if $daystate is "night">>Most of the animals are slee
 	<</if>>
 	<<if !$storedChildrenToys>><<set $storedChildrenToys to {}>><</if>>
 	<<toySelection>>
-	<<link [[Wolf toys|Pet Shop Item]]>><<set $selectedToy to clone(_toySelection["chewToy"])>><</link>>
+	<<link [[Wolf Chew Toys|Pet Shop Item]]>><<set $selectedToy to clone(_toySelection["chewToy"])>><</link>>
 	<br>
 <</if>>
-<<if _pregnancy.seenDoctor gte 2 and $daystate isnot "night">>
+<<if $pregnancyStats.parasiteDoctorEvents gte 2 and $daystate isnot "night">>
+	<<set _motherStatus to $sexStats.anus.pregnancy.motherStatus + $sexStats.vagina.pregnancy.motherStatus>>
 	<<set _container to $container.home>>
 	<<if $boughtItem isnot undefined>>
 		<br>
@@ -64,16 +64,16 @@ You are in the pet shop. <<if $daystate is "night">>Most of the animals are slee
 	<br>
 	__Capacity upgrades:__
 	<br>
-	<<if (_pregnancy.motherStatus is 0 and _container.upgrades.capacity lt 1) or (_pregnancy.motherStatus gt 0 and _container.upgrades.capacity lt 4)>>
+	<<if (_motherStatus is 0 and _container.upgrades.capacity lt 1) or (_motherStatus gt 0 and _container.upgrades.capacity lt 4)>>
 		<ul>
-		<<if _pregnancy.motherStatus gte 0 and _container.upgrades.capacity is 0>>
+		<<if _motherStatus gte 0 and _container.upgrades.capacity is 0>>
 			<<if $money gte 20000>>
 				<li><<link [[Buy small fish tank £200|$passage]]>><<set $boughtItem to "Small Fish Tank">><</link>></li>
 			<<elseif _container.upgrades.capacity lt 1>>
 				<li>You don't have £200 for the Small Fish Tank.</li>
 			<</if>>
 		<</if>>
-		<<if _pregnancy.motherStatus gte 1>>
+		<<if _motherStatus gte 1>>
 			<<if $money gte 50000 and _container.upgrades.capacity lt 2>>
 				<li><<link [[Buy fish tank £500|$passage]]>><<set $boughtItem to "Fish Tank">><</link>></li>
 			<<elseif _container.upgrades.capacity lt 2>>
@@ -95,7 +95,7 @@ You are in the pet shop. <<if $daystate is "night">>Most of the animals are slee
 		You have the best tank available.
 		<br>
 	<</if>>
-	<<if _pregnancy.motherStatus gte 1 and _container.upgrades.capacity gt 1>>
+	<<if _motherStatus gte 1 and _container.upgrades.capacity gt 1>>
 		<br>
 		__Food upgrades:__
 		<br>
@@ -117,7 +117,7 @@ You are in the pet shop. <<if $daystate is "night">>Most of the animals are slee
 				<li>You don't have £7,500 for the Large Automatic Feeder.</li>
 			<</if>>
 			</ul>
-		<<elseif _pregnancy.motherStatus gte 1>>
+		<<elseif _motherStatus gte 1>>
 			You have the best feeder available.
 			<br>
 		<</if>>
@@ -144,7 +144,7 @@ You are in the pet shop. <<if $daystate is "night">>Most of the animals are slee
 			<br>
 		<</if>>
 	<</if>>
-	<<if $sexStats.anus.pregnancy.book is 2>>
+	<<if $pregnancyStats.parasiteBook is 2>>
 		<br>
 		<<if $money gte 2000>>
 			<<link [[Buy notebook (£20)|Pet Shop Book]]>><<set $money -= 2000>><</link>>
@@ -219,7 +219,7 @@ You buy the treats, and have them sent to the farm. You have <span class="gold">
 
 :: Pet Shop Book
 <<effects>>
-<<set $sexStats.anus.pregnancy.book to 3>>
+<<set $pregnancyStats.parasiteBook to 3>>
 You find a high-quality notebook available that you could use to collect info on your parasites. It has individual pages to fill out for scientific study on animal species in the wild, but it would work just fine for parasites, you think. You purchase it.
 <br><br>
 
@@ -276,9 +276,8 @@ You take a look at the collection of <<print $selectedToy.set>>. They cost <span
 	You can't have more than 5 toys with you at a time.
 <<elseif $selectedToy.cost lte $money>>
 	<<link [[Buy|Pet Shop]]>><<buyToy>><</link>>
-	<br>
 <<else>>
 	You can't afford this toy.
 <</if>>
-
+<br><br>
 <<link [[Don't buy|Pet Shop]]>><<unset $selectedToy>><</link>>
diff --git a/game/overworld-town/loc-street/events.twee b/game/overworld-town/loc-street/events.twee
index ee03c01e44..dfe3f18cbf 100644
--- a/game/overworld-town/loc-street/events.twee
+++ b/game/overworld-town/loc-street/events.twee
@@ -4533,7 +4533,7 @@ You are in a <<if $NPCList[0].monster is "monster">>strange, monstrous <<if $NPC
 <<set $bus to "elk">><<set $outside to 0>><<effects>>
 <<endevent>>
 /*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 	<<pregnancyWatersBrokenPassout "monsterTower">>
 <<else>>
 	<<passout>>
diff --git a/game/overworld-town/loc-street/widgets.twee b/game/overworld-town/loc-street/widgets.twee
index 6a3d5242fc..61ec028a33 100644
--- a/game/overworld-town/loc-street/widgets.twee
+++ b/game/overworld-town/loc-street/widgets.twee
@@ -2117,7 +2117,7 @@ You smell freshly baked pastries, and hear a knock on a nearby door. You recogni
 :: Widget Passout Street [widget]
 <<widget "passoutstreet">>
 /*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 	<<pregnancyWatersBrokenPassout "street">>
 <<else>>
 	<<link [[Everything fades to black...->Passout street]]>><</link>>
@@ -2385,7 +2385,7 @@ You smell freshly baked pastries, and hear a knock on a nearby door. You recogni
 
 <<widget "passoutcompound">>
 /*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 	<<pregnancyWatersBrokenPassout "compound">>
 <<else>>
 	You've pushed yourself too much. You black out.
diff --git a/game/overworld-town/loc-temple/widgets.twee b/game/overworld-town/loc-temple/widgets.twee
index 3144c50161..acbfbedfd4 100644
--- a/game/overworld-town/loc-temple/widgets.twee
+++ b/game/overworld-town/loc-temple/widgets.twee
@@ -259,7 +259,7 @@
 
 <<widget "passouttemple">>
 /*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 	<<pregnancyWatersBrokenPassout "temple">>
 <<else>>
 	You've pushed yourself too much.
diff --git a/game/overworld-town/special-kylar/main.twee b/game/overworld-town/special-kylar/main.twee
index dbd3dc401c..4b6b54fcf3 100644
--- a/game/overworld-town/special-kylar/main.twee
+++ b/game/overworld-town/special-kylar/main.twee
@@ -4308,7 +4308,7 @@ When <<he>> finishes, <<he>> opens <<his>> mouth to say something. You turn away
 <<set _container to $container[$location]>>
 <<set _pregnancy to $sexStats.anus.pregnancy>>
 
-Nothing seems to be amiss, until you check in on <<print (_pregnancy.namesChildren is true ? "your children" : "the parasites")>>.
+Nothing seems to be amiss, until you check in on <<print ($pregnancyStats.namesParasitesChild is true ? "your children" : "the parasites")>>.
 <br><br>
 You see a small note near to the <<print _container.name>> with the letter "K" on it.
 
@@ -4324,7 +4324,7 @@ You see a small note near to the <<print _container.name>> with the letter "K" o
 	<br><br>
 	You bury them.
 	<<ggtrauma>>
-	<<set _traumaMulti to (_pregnancy.namesChildren is true ? 2 : 1)>>
+	<<set _traumaMulti to ($pregnancyStats.namesParasitesChild is true ? 2 : 1)>>
 	<<trauma `30 * _traumaMulti * _container.deadCreatures`>>
 	<<if $wraith.state and $wraithShow>>
 		<<if !$wraithAngerCount>>
diff --git a/game/overworld-town/special-nightmares/widgets.twee b/game/overworld-town/special-nightmares/widgets.twee
index 2b7b55c9d2..9404a65d85 100644
--- a/game/overworld-town/special-nightmares/widgets.twee
+++ b/game/overworld-town/special-nightmares/widgets.twee
@@ -63,8 +63,8 @@
 	/*ToDo: Pregnancy, make sure toggle is temporarily disabled for nightmares*/
 	<<set $real_rebuy to $clothingrebuy>>
 	<<set $clothingrebuy to 0>>
-	<<set $real_analpregdisable to $analpregdisable>>
-	<<set $analpregdisable to "t">>
+	<<set $real_parasitepregdisable to $parasitepregdisable>>
+	<<set $parasitepregdisable to "t">>
 
 	<<set $nightmareWake to 1>>
 
@@ -108,7 +108,7 @@
 
 	/*ToDo: Pregnancy, make sure toggle is re-enabled after nightmares if applicable*/
 	<<set $clothingrebuy to $real_rebuy>><<unset $real_rebuy>>
-	<<set $analpregdisable to $real_analpregdisable>><<unset $real_analpregdisable>>
+	<<set $parasitepregdisable to $real_parasitepregdisable>><<unset $real_parasitepregdisable>>
 
 	<<set $sleephour to random(1, $sleephour)>>
 	<<sleep>>
diff --git a/game/overworld-underground/loc-cave/widgets.twee b/game/overworld-underground/loc-cave/widgets.twee
index 33bac505ca..5bdad83492 100644
--- a/game/overworld-underground/loc-cave/widgets.twee
+++ b/game/overworld-underground/loc-cave/widgets.twee
@@ -396,7 +396,7 @@
 
 <<widget "passoutcave">>
 /*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 	<<pregnancyWatersBrokenPassout "cave">>
 <<else>>
 	It's too much. You pass out.
diff --git a/game/overworld-underground/loc-sewers/main.twee b/game/overworld-underground/loc-sewers/main.twee
index f9aa2b02d0..145283ecca 100644
--- a/game/overworld-underground/loc-sewers/main.twee
+++ b/game/overworld-underground/loc-sewers/main.twee
@@ -173,7 +173,7 @@ You can access several parts of town from here.
 
 :: Passout Drain
 /*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 	<<pregnancyWatersBrokenPassout "drain">>
 <<else>>
 	You've pushed yourself too much.
@@ -697,7 +697,7 @@ The water pulls you further along the tunnel.
 
 <<effects>>
 /*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 	<<pregnancyWatersBrokenPassout "drain">>
 <<else>>
 	<<passout>>
diff --git a/game/overworld-underground/loc-sewers/widgets.twee b/game/overworld-underground/loc-sewers/widgets.twee
index 968c4100cd..c5c8361974 100644
--- a/game/overworld-underground/loc-sewers/widgets.twee
+++ b/game/overworld-underground/loc-sewers/widgets.twee
@@ -56,7 +56,7 @@
 
 <<widget "passoutdrain">>
 /*ToDo: Pregnancy, remove $pregnancyTesting to properly enable*/
-<<if $sexStats.vagina.pregnancy.waterBreaking is true and $pregnancyTesting>>
+<<if isPlayerNonparasitePregnancyEnding() and $pregnancyTesting>>
 	<<pregnancyWatersBrokenPassout "drain">>
 <<else>>
 	<<link [[Everything fades to black...->Passout Drain]]>><</link>>
diff --git a/game/special-masturbation/effects.twee b/game/special-masturbation/effects.twee
index 3305164ca3..0efed2eff4 100644
--- a/game/special-masturbation/effects.twee
+++ b/game/special-masturbation/effects.twee
@@ -2343,13 +2343,16 @@
 	<<set $rightactiondefault to "manustease">><<set $rightaction to 0>><<set $rightarm to "manus">>
 	<<arousal 200 "bottom">>
 	<<set _lubricated to ($leftFingersSemen gte 1 or $rightFingersSemen gte 1 ? "semen-lubricated" : "")>>
+	<<if _lubricated.length>><<set $semenInAnus to true>><</if>>
 	<span class="purple">You push two _lubricated fingers into your <<bottom>>.</span>
 <<elseif $leftaction is "manus" or $rightaction is "manus">>
 	<<if $leftaction is "manus">>
 		<<set $leftactiondefault to "manustease">><<set $leftaction to 0>><<set $leftarm to "manus">>
+		<<set $semenInAnus to ($leftFingersSemen gte 1)>>
 		<<set _lubricated to ($leftFingersSemen gte 1 ? "semen-lubricated" : "")>>
 	<<elseif $rightaction is "manus">>
 		<<set $rightactiondefault to "manustease">><<set $rightaction to 0>><<set $rightarm to "manus">>
+		<<set $semenInAnus to ($rightFingersSemen gte 1)>>
 		<<set _lubricated to ($rightFingersSemen gte 1 ? "semen-lubricated" : "")>>
 	<</if>>
 	<<arousal 200 "bottom">>
@@ -2484,14 +2487,17 @@
 	<<set $rightactiondefault to "manusteasedildo">><<set $rightaction to 0>><<set $rightarm to "manusdildo">>
 	<<arousal 500 "bottom">>
 	<<set _lubricated to ($leftFingersSemen gte 1 or $rightFingersSemen gte 1 ? "semen-lubricated" : "")>>
+	<<if _lubricated.length>><<set $semenInAnus to true>><</if>>
 	<span class="purple">You push your _lubricated $_lefttoycolour $_lefttoy and $_righttoycolour $_righttoy into your <<bottom>>.</span>
 <<elseif $leftaction is "manusdildo" or $rightaction is "manusdildo">>
 	<<if $leftaction is "manusdildo">>
 		<<set $leftactiondefault to "manusteasedildo">><<set $leftaction to 0>><<set $leftarm to "manusdildo">>
+		<<set $semenInAnus to ($leftFingersSemen gte 1)>>
 		<<set _lubricated to ($leftFingersSemen gte 1 ? "semen-lubricated" : "")>>
 		<span class="purple">You push your _lubricated $_lefttoycolour $_lefttoy into your <<bottom>>.</span>
 	<<elseif $rightaction is "manusdildo">>
 		<<set $rightactiondefault to "manusteasedildo">><<set $rightaction to 0>><<set $rightarm to "manusdildo">>
+		<<set $semenInAnus to ($rightFingersSemen gte 1)>>
 		<<set _lubricated to ($rightFingersSemen gte 1 ? "semen-lubricated" : "")>>
 		<span class="purple">You push your _lubricated $_righttoycolour $_righttoy into your <<bottom>>.</span>
 	<</if>>
diff --git a/game/special-masturbation/widgets.twee b/game/special-masturbation/widgets.twee
index 8454b4a574..2d108fcfdb 100644
--- a/game/special-masturbation/widgets.twee
+++ b/game/special-masturbation/widgets.twee
@@ -114,8 +114,14 @@
 	<<set $masturbationorgasmsemen to 0>>
 	<<if $semenInVagina is true>>
 		<<recordVaginalSperm "pc" "pc" "human">>
+		<<fertiliseParasites "vagina">>
 		<<unset $semenInVagina>>
 	<</if>>
+	<<if $semenInAnus is true>>
+		<<recordAnusSperm "pc" "pc" "human">>
+		<<fertiliseParasites>>
+		<<unset $semenInAnus>>
+	<</if>>
 	<<unset $ballsText>>
 	<<unset $fingersInVagina>>
 	<<unset $vaginaFingerLimit>>
diff --git a/img/misc/icon/antiParasiteCream.png b/img/misc/icon/antiParasiteCream.png
new file mode 100644
index 0000000000000000000000000000000000000000..a2ebf70d669d7ba4e68e75ee5a4e2ed5ad2750bb
GIT binary patch
literal 651
zcmV;60(AX}P)<h;3K|Lk000e1NJLTq0015U0015c1^@s6J20-I00009a7bBm000XT
z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0006O
zNkl<ZNXM<$F|vX%5C-6%#sfGs6mSO)0)<|IM!W!pV?o6Qhz(buk<n}58En#c2VS+A
zO$Z_QOvQ}Im)%X45KPmAUyS4Ns2<e!eXw?a@D0on8rSPpUDtKJihIKx;|L#76shae
z>Ey&$VFG<HDW&$CEAmCy1-h`WVIR<i5xBO<6ii@QmI%Ypiu!^+D?6B`X%$@?1ZG)=
zwr!Cl$vS*E947ix9LJkr0?V>QRaF3hrfDFA@Po4~!!Qiatzt{(`~3z0bX|v{DA0AC
z*B;j3IF11TLWmju`FtRR0MATSRT>BYMNxRAS*tNUPzZstEY%GJ@{|(DqoovYZkdDw
zP-!=7&!eLVo2Ee+hN$Zrx7!U;%55!^w?vu%rIbfz*3{f;<2b6xd+%ccIcfvx+J*9A
zo4^b<(`qgro@yH7IBFPQoKX~6Ul>-HBBh76ZL4az1e!a+Y_DeB7vb~yJe!0KUFzv(
zd%fT9c)eZ<U#xN4wg7;~<Dt!**Kw`c5C{Nyo@-HSZzqnYX*x@n4@wY?JkQnjZnwkb
zazWqsffF`U`z=ZVJfBas&8+WZ6aO{3cmknj!fWme+dx}Gah|#O1cqTimSwXNaG0Zf
zUD&#q*D2G?0LN{SN-0-c=ceN=hfUB#(=`3=l(~fO_j@EsqJc}@>|f_<SK4{X%@@Sa
lz9d|!-va&{{^moCk3Wm58{>X>zF+_V002ovPDHLkV1l}SAcX(`

literal 0
HcmV?d00001

diff --git a/img/misc/icon/antiParasiteCreamWithout.png b/img/misc/icon/antiParasiteCreamWithout.png
new file mode 100644
index 0000000000000000000000000000000000000000..064d89cb9396ad6041d79376dbc3678fd13dbd64
GIT binary patch
literal 546
zcmV+-0^R+IP)<h;3K|Lk000e1NJLTq0015U0015c1^@s6J20-I00009a7bBm000XT
z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT00054
zNkl<ZNXM<$yAi`63<h9%0@svT$VEH@MQZmhyoP6R!yvhA!5E|x_oI^llc@5YA0Of&
z@RU-bf5f`3`9s%rO|9pr5f~AUec$u-aU4y&8%7Kf4Ch?Fe!X5*ya_YdgT)w&d$r6>
zxCYj+Vb}tDF$P<cEW-?X?+XOsUa)6oPbsA)+6o4}_e4Z=o@X0=KA#C+x&up)qZ{_#
z(|MlNrJ{AG*4UmkT)@~`iN_do!)iUl&vjR>bzKvVk8B8L$RJKOoOHKfp4Eugx|2}`
zopbqqjPYK{#FB^^V}{l`*0OJ9u4b$i4J#}ZLu-HvTVRZ_I;pfx#5t#K7)=<vRiX%5
zC6?cp<8Hz=5K(Irk@FygK%dVi<IORaEyr<e6&nVLh?Zq3vMzQfne_<D5XZ7C`Ffsb
z+P00Z>zb;t?AlS3zx95<^D<NSV~PJ8HBTV8P0C%T1#6&IP^xDxYyj7AYmJ8x3KZvs
zR>itbnX(5E*D}RAZk5hk$J>41bM=y-M4fYEr%VffJRUU9a{*e_?5A^et=qNI+Jg@N
k!f2JQ7yKC>`BB680zh-?)HbMC8~^|S07*qoM6N<$f)j)9HUIzs

literal 0
HcmV?d00001

diff --git a/img/ui/CheatCoin.gif b/img/ui/CheatCoin.gif
new file mode 100644
index 0000000000000000000000000000000000000000..40a84c0d289f4445a2e4a96c343f0d02cfaddde9
GIT binary patch
literal 29169
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

literal 0
HcmV?d00001

diff --git a/img/ui/CheatCoin.png b/img/ui/CheatCoin.png
new file mode 100644
index 0000000000000000000000000000000000000000..3568f4bb624fd611eb846955b00584ddc5de07ec
GIT binary patch
literal 1419
zcmV;61$6p}P)<h;3K|Lk000e1NJLTq002q=002q|1^@s69MHmX00001b5ch_0Itp)
z=>Px)MM*?KRCr$PoI7X~Q51%qPGjREHkybJd^BP@F(46)jbM>R2sRS65VY1t8yl?^
ztP~pwh>$|CF@hlwv5VM<;sX<HjE}}>r#Q2JVE*jC=iHgQi@G;ecIVEW+5dj?pL5T>
zyV;5k|D8WO`O9<3>8U5BW_|trrPp^KoX9-=#A?&gi~YIjBoqxD3v%V!A=ltuIQOX3
zj>%G;fVg&%);6M&P+~}r9l4!*&-~n6sl|bz{rPJzQ8>9OSvWs7VbO?6LIo0}JcP+w
zzj`Qd+Oukd%exkTe9GJH-hSBCo*UIAtTIuGpd?g70hsjLH}m;B>`5%ti`NgElGC$t
zO(ilGe|{^S7fM=HvVw_9LK)-B0&#PY#RMsGMn*;}MZ;Zvr<&d=Nb?dFN|u|bBveh3
zaQfuqTlv4eYj>1-1UbsnV&z#A6XT`pE_{9EijrQkOrk83x?U)Re=9W2JiT8;wMG=P
z2=b;6)^%~5GkB0Y`)oRI0`J<qaiC?FGtV!!ghn1rLX~xuLJjV@T&f#!J;)*nm$C9J
z9_Cn{6-t)nRY|DENCgXJO-+y|A-b_ADI@Tbh5pgc=kHTqyUN>Ho@GTtCD<~el2Ap-
znG1l+gn~CgS<bjaNm3cS!sPwO+0vooqi6Ehb?aH|Sr%Cw1(Q&sY$JtIj~vM2C^xY8
zKuhmHrq1;yYc2+&keBtY+mc_$ThBuO@HX}=Wbjsg#a^{UR1&H@?oueun{b+na@M*V
zGGoRLBRRP5Xnu&Jp&|<XfUG;?H}bdOVSF9-G)0#3sw7lHQ9OdtgyIo~H>tb`BcX`G
z$m0fw4~~_{vWNoVr^ha}^hgyYL6+C6VCqXAr5?Q`R54l3tOQeyFy~o3ycSvPRXCrc
zE218b^Zj6EfaBhL3zbrD^h-iD7AsU41_LgI;%KM5$s%jv%e$st5{oEwUbhBsnR*hc
zu~=aW72Cu)8g`1Ps${WOAur=RF-t-f%U`g9+Cp*kQArGYmKFUtpHg#5waUXJfdp@*
zR1t-K(Vv^BBox)gRledC3g<IfUawL_@%v1)ipmyQOw`=My}WCl8%8H83Du|zwVYrz
zIcRwl=TlXQvWQn?DWdREKvvs`VzRttm#!7cD;PXR38jQaM(*7`%w+vFME&<d@m$aH
z0Izqc=!gDQSw|6N)yLF*fh;cI@j9aEQAwym;w7PWZaSIoF;K)<6-O^gXxA>H(7$&@
z8ux*yi~LD_o-7GfY@RiRf`Z=3ab2%cc~z)KS$iHVvY05fBAsPfQ3_5%6-3n*s#B(}
z@+gqT-e#>-Tb_mfxL}89i1V*rANCQIgd(9jZR+e*%A=Sl%bQfxf@djj;>;fHUVgY)
zCMpS4{%Woi$})9+1kt{36vPdAiSl|Alf{|6TB*i)?)_1Gp(GS3Vm*Sf1>;Jnn(L`3
z#=DihBw_D@<xS{s*^av;RIy+S6PH5afF&4@d@RqZyVn8t!Jfp+QT*K;Hg6_V?lVt9
zm8GgI6uOB`mQ}3?-Rq!8QsnU?SNqXRLIp-aG>;VxLCn@|eR<ca7H+K@B2PkegD0t|
zs7Nx2@|t=QswP?3U#`AWTs5P&R-CcVJQhiAqN<YBwL*mo#*ZX_gCX|s9$<H|mBAyw
zvOLM1M{&a>lv2ca9|>vIj9mS~hPtfs9<GgB(J+*xV2|Ptkc6s9SZFk}X8+1_tlPBa
zZr1s=Jt~%Wp`Wf3N<EsPgoTbY+Q%lSZA2xZst&O@&nn+omuojU>iXtyvsgDCdi-A%
Z>Nk&H_AN}i+$aD5002ovPDHLkV1kNcr@a6G

literal 0
HcmV?d00001

diff --git a/img/ui/CheatCoinDull.png b/img/ui/CheatCoinDull.png
new file mode 100644
index 0000000000000000000000000000000000000000..371b447237c7fb176c7dcd189d7a41b4c53ac245
GIT binary patch
literal 1314
zcmV+-1>O3IP)<h;3K|Lk000e1NJLTq002q=002q|1^@s69MHmX00001b5ch_0Itp)
z=>Px(+(|@1RCr$PoV{xlQ5419PE)DGMicP^#YRjg1Oy9h1dB96u#t#`U~i?3e}`gi
zE7+Jq2}JA^8&UkgL>q%zMLQ+4dxCSaXU~0aW;fBiG|KLq_a^85=G^-}CY>E4{<(DF
z{_nqsTwYoV-ND4<WUbwUM^`$b3tMV5(!tj5xd=s(gCJ32ng$-k4U4p)5mkf|p&zv{
zj=;7FYmKNP)Q|{z{qAwq^VqI^4vy;k)t_Ihe@`4eA8OByni7^xR8xZfd!cULn6K)f
z5AT<&pt-E31R2}8JBy6fUq5QsrIMCQRx(jVC=*{6h?|2fCP<MpGc((FM3Aa(=f%r~
zzF&c~C}F8&g^4OcH6#g_&p)|W{dauNv09HHC+cZY<Knp=leY5xZ754d$+AQ_lD552
zJb6`-UVQ$rTMzZJ*susnB@KkZyAJN38ra3+t6Kx1kzW>}>bgpyrcd6ftsAi?IFc}o
ztFxk{q_)HTM#*wsRfOtAAXz9kH9?((?8cs?A|E9S{iC1UxgD-&vRpP)f^8tG2-RJ3
z<^{kFLcyD$ELYsAB&iBsk@xA#i`rK%TSdJql`PJJMJTasBZX3r93sJ4ZtB#Tfx$$j
z&g)HXE(W4dmyPc|)OQ@UD&hKH`S!8u&(&A#RqI3*q3ZFFLUG-M%T$(Ic>1i?vzvRN
zF(NsA`eOAFXTvB_+>WtRBu2fe2-Vw2MIoxng=C>Pa_}Zq7jeXtk>Li<ot>+Z<%nX!
zRsT_<oL9lr*F8!-dPS)2WVz!COci0SvpBMjEcPl~&)Jp9aNgvI$2h6kuL#xKtWbq5
z0xpGOFHn(kWFc})+-4J%n*EAUz0C@j{W@)%IA_CA6Q#19^H5jc6`^`WwI)<*q(GL-
zeq2wfIi=d=0V!A);~9fnUEu7eW(;AXicqvRjtIC4*+q)8VbrS>QT#cNAFZGGx=kYr
zH&TRhDAD)Mqu4}qiHcgomLrPEa)&EmqT5!es9^9IC6p36H`}Q>-^j9_dNSQ3_|FQ(
zbG=*-P@bSxB-OHxA}TlAF;QxL4DDncRfMX)deS+5;A(ZoKoQflo*ETV7$>?T&Gpme
z+3QsoT-l>t5vsQyWrac{qN@l^y-Jxn`i**&JM-YkidN*=Yvx5LG3OhVsjKn;f#JEL
z+o^V*h5p>>mM~F8sNOCNlpl5WW3N&k#Y8!8QUxzOD>d7_`Fyv#T~&k{To!B)%4I*b
zL)+Bc5#cCNQEy_h)H!tCsm68T^HDrd5sDOXUe&f>yuhdGD3!(d6it+*Yjd{;R^oW%
z*5`WMaS^I}(98;zYwozNsb@7k>wx=UPr^znrYihy4!n{Dl0+4uy5#`>$OHNA5kyDo
zbV)8*ZnYxytb-y+k=Hs=MX1Cqh~{l&LlATL$VA_)gz?;V80K)uZtBfac$p%}dQ{Y_
zick&7!ufLbPI0b>xgBSmGjEHeFj2W=ZCjyI1>;AO-(YC_?;c>z<|_E8Cxy#{eznBf
zXVJ1@+Y7~H<yPdme{zJqhu6kkHgwrd0b<`$cVrczltSY3)JKx*Avc`cRpIO1+|7;G
z*rOa_scGLWlPGg`zvz|~if=rZFeiZezHMQKMpO|hH^eP_8M+%bIjv{CT>Y9plA9&e
YAFolh)1b9V^#A|>07*qoM6N<$f+;G70RR91

literal 0
HcmV?d00001

diff --git a/img/ui/CheatCoinFake.gif b/img/ui/CheatCoinFake.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e28468fb636a7df1f0885c2e40c9e86881aa579c
GIT binary patch
literal 53724
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
Lr9=Rt0RaFz=b!2<

literal 0
HcmV?d00001

diff --git a/img/ui/DiamondCoin.gif b/img/ui/DiamondCoin.gif
new file mode 100644
index 0000000000000000000000000000000000000000..71f46c0f2e57e7717a01586d839c1afd5a2486d3
GIT binary patch
literal 29169
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

literal 0
HcmV?d00001

diff --git a/img/ui/DiamondCoin.png b/img/ui/DiamondCoin.png
new file mode 100644
index 0000000000000000000000000000000000000000..9d1f2944160357825511b65387d505246e6b01f8
GIT binary patch
literal 1419
zcmV;61$6p}P)<h;3K|Lk000e1NJLTq002q=002q|1^@s69MHmX00001b5ch_0Itp)
z=>Px)LrFwIRCr$PoH1w=K@^6wqKGJnU@WwaDT9rLt&yNMf}q4gR1gbEp<p4Xm4Yb*
zEyO|;6^jIgfQ?EpwiY&$GN#qS2qGvViV<h;5A2`&@4eZbJJd|7-0ke_-ap^|@6DUJ
zEBbo;cYX24qUVzLUOuff+cq>@dHt+^L*eNsRhyn(?9WYSp=jt>kTZR&U4wh0?`NeQ
zlchQVaor-VYeZ$C#E|Y=_!7M5-Rw-I#fjbf!)q^5IJquaI6pOE$%x8AMG~YugvshZ
zcqla8I5^<)uFrGxq21Q8qptScs3~E!iBbe*p;`*Sq^CcA5AU!iu~6@CK5R?QsvSO(
zxW8X-O0w`5OIlsBqKV2v8Bab7#LYn#6QsyFJ$kHGG#s3~+xAXDnwPLxvfM;vp&F8e
z(_f!D9{$~QcyFagkfS^;Ri1Tg@<HXgpB_DTMM*DNCQ%kiD_$sse=BL3yLKfsffrc>
zdD92$x;V}mJjk7YF&Ub`yVj5F>e%J%@PUrd$b(s^s;*L~p_wO@x)IldERt{;E6?I#
zPUTs#WLaL7g=&pdv{2U61bGso8+(#60xwzUAN?#$J@(pFXlHqr6%CbO%ZSQCl_h5`
z04@^>-UMYi<BlasW$+4<uhXw8hsMS)hu2N(S?pOBSsVqkP@-%jg;I|k$l@qBuxGTR
zcOX;edXqI515wD!)@|tz*YVb~&_BG5JqsDUm0z(}EfJN4s*bx9it{F%rlOp+?uN{m
zvBO9Xp1T+haWqs!p&yWS^Zcdo7Celv!=9$dQeKsXYAK3GFqu$1!tf@Q7hxn6Q5bpL
z;Lh9kD`Z(jf$$4c6CFKLMM;q5^(vV9l1HgWFAG&pmJ2JvR3prJ77wpQ7JC)W=je*4
zhvR%dm>J->H{U{~)EoV>P_4xZRffTUOQAU0DQ~jK`u1U=t(T-C3Y|Bt!CR)Dg=#HU
zm_nsCagK()BC0M~>{ZCiI8Q9HQ04L$te~+_9DP(0!=7bDKhCGroKmgwFi9Z6TPamU
zp<ndpCMpX>wQ-fNc!k3GOqSQH6jA&>6Ro1MMHUk^KYlfI&2z)#L}j5`b)k+EtTqQN
zkK%l)E>RZoiY!GGJ_^X{8c|G^x9qZFh4Kmpk5NJ?p^=e$cMmgJe+^Opy-+;Yvpm4-
zT`Kyae^u5|L|OGQbzdNh3wXSaXnIr@s+4$1sO=MX!X5)fj8$>;l7x2MA`1O`SEO+t
zh`Pw1)aNO(Q03-XQz$6tog6pyDwS8odX%;2!6J)^QY+F$QIw_NEL2HUW1)Iw>MD-{
zY3yy*O10%#=#L9_h=w@-Y_Y~iR2GVa>b0q}S1FHTqAYJxQ45}>yoob=w0nExWR<8a
zRQ0R5QYg#R`4L3>rcn?#<R!}MO-vSN_G+aX=ehSs@rANbq=@whrWTAVp=z$Dq8RU1
z_L79X3zj#bzhyh_vQXuMElgYrg#(sgJo2eLtLa_`+y{FSFGulrbJ)C@Ou5fI3sse>
zwovFMHCa}*B6hEXB1w_Qk6hzNFAEhJ1<^cJGz2jto7aY}RW00FH$<L<=mt+xQBjd(
z66H1ZEL20Xu)kb=r?_rLZ>>0EpLr^h+(gwSYsCr`D;PhL{0)ZGzk7h)#a0H7{L1nq
zcOJzJvrtMA<9#Hgbu)7H3mfXP%6qsrZbidblA=9|KR_0$Az`u6%$ofx&#`XPn!8!&
zH}<Gh-i3ZvoKWh~j3q2~q|rV#L0uy%3srZB#d%iw#=2a$$x+ugf1Aa+@z~@4s!+cH
ZWl87dvb(FJ00000NkvXXu0mjf008ZBpppOp

literal 0
HcmV?d00001

diff --git a/img/ui/DiamondCoinDull.png b/img/ui/DiamondCoinDull.png
new file mode 100644
index 0000000000000000000000000000000000000000..70ebfa66ba3a26f35b7c4ac32d235c84759e6439
GIT binary patch
literal 1317
zcmV+=1={+FP)<h;3K|Lk000e1NJLTq002q=002q|1^@s69MHmX00001b5ch_0Itp)
z=>Px(-$_J4RCr$PoIPk1Q51z;8xaK&jD@zEGT2yHM}k&%5)08nEF`6!c3M~nHdZ1i
zSVSxY8<k*eEo>xZOsj<vL{LNoBbnV3oRd9!?t3%4iSFAbVQ1#O$+_R0d*9Ebvtz`c
z)2rXs{_gU_(qiZi4o^+j&U-Pjw-dUsrISY5+4?;fp(t_?BuY%vz=OD9kv24<icli-
zqZY;y*fwFU5mkg55<wsDKB`*YH+jUtQ62xfyi)x<G<QC9KA+T-uxz5567=5-b!Y8Y
zRR=A6{#gahWi=(p&SNo>n2g`=x@6&#N?I;i$wU>Q%#+Uo@#!Fo2~y--nZ3}rN06#+
zXXVx7zK1|sl(1B?!bBCJ8j^&|-(J30{ks3`salI5C+ca@l*VH}Chg0Um!T{fCCd`!
zNE&;gc<`zsy?py-bqHQGEP_%=17Yy4Ju@c;HnB8)W*{{3U=gaWs}yQ#@mX!&h&{oP
zgl=4&6(uG0Jlt=TEaz24s9pq;g>pj^)Je#0>`5x}QL@lJ+Q}W;;d&;^WkV&{CZdW^
z-6?0D0Nf-Lya~#3#hpr$s^ArQ-xuE04!LX<^{!O1I13h`#I%hRN<DIj1ZTM;Cuau+
z6O}s8H@UGGh(cYq``|?1e$=dlYyZcm)v7&LU$Iwh5LJY#$3qImbrUXAS?<B>=e3sI
z*b65kl9N}jS6^{9j1tA?F?Nc?s8<!CdJCy2L{+(vEEGo$-lXaxj+ins+~Dzh4{KyO
zqL^^iev~NZRWS7pk5Z3b5vn^_?zjR|MVRX>j;te#y$aWJc4ac0H#y?bPiponLiH9a
zRAGyNOQF~cRHPhPh#V8Q)kLLczams`vBG7)PTMBV*>KcEsch#w)YW%Is2)+R36&Zt
zkma%;*HdatsaAPF3g*Rl#NcKZIQyv)Lzt){6wQqz0<J=Kk>YF^^(sXaf6x6#>nFZ$
z%ZS2_6rmhSbliCqn`kakQES+CL@`-za|KLvY=w#n29HrfDWP+-of`9vEbFN!(>;R!
ztWZ4G%k==|32H`CP3tJ4a<d&1rRK+Qo~)yaQ1w?&I!EX4S9=T;F-_~KQ4xiHqASu|
zKh52`Q8mGpJ<cma_2#3jP>4iy7NMzEDN{$gQIB$a9voTGiadMHya*-6e4{dTRURNP
zJXUlo)y}ifp4;6LCaMV4TZMu0qt1TpRm!87DCbS8;Du+UX1n+2E_Iiyico{gf=xoX
z?59>}o0>Z!93?91O-z>Bht4b2xGuauiaRPoks{8k+7^r__*5OGvKa58iIQ~f>HNS-
z9FN?_SdSYnLUlKqS)p>x9oIGWtfqS%a3AbRm`TM@h2PDASF%8os3KIi9N>@KknbKr
zG^BQy<dWrPD^mA5D3TO;trJy*O3Z>dy{&8rVrCBP>YJ6&pIZ*Y7!KJ@y;%w`QzTiB
zih5NMsv%j}U#{LM&h;?2;*5RfZIKivDwnLW6)IIQekAz~hPMCj0mf{uf{%JqxIE}r
zORRqvEgQyOC?+enBG3JoBkVmqH}0~b%Wet~`<A*Rs|ckO65ppjl3WkD?%b*hU+>0l
zuD`|}<p@hn`)-;<nX~&tx2;fo<GF-60o3ufg&7)AMX1~mx9nwTZrJ3sp7nC|Yx+oT
bl~8{GaAw0(Q3<9o00000NkvXXu0mjf60>MH

literal 0
HcmV?d00001

diff --git a/img/ui/DiamondCoinFake.gif b/img/ui/DiamondCoinFake.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3a7a038dfdf62abd0b3501840f565773a9324c89
GIT binary patch
literal 53724
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
Bch3L-

literal 0
HcmV?d00001

diff --git a/img/ui/RubyCoin.gif b/img/ui/RubyCoin.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1278d03e707fd867c9667c2a8c412a91515bd2b1
GIT binary patch
literal 29169
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

literal 0
HcmV?d00001

diff --git a/img/ui/RubyCoin.png b/img/ui/RubyCoin.png
new file mode 100644
index 0000000000000000000000000000000000000000..b6779519f8371144318a6c8565a88b8fc999db32
GIT binary patch
literal 1407
zcmV-_1%UdAP)<h;3K|Lk000e1NJLTq002q=002q|1^@s69MHmX00001b5ch_0Itp)
z=>Px)IY~r8RCr$PoH0xkK@^5vI)VwIzyeyJ#ERH!B(bnECfZ3Up@7n0X+jAF!4f-3
zh?NBiMteggCD1}41tF2pfpK^LP4++jdvA8<E-FLC-OkSL{qybr-n^N+>`tHmu2)yD
zJ(v8pxmj!WV0^sx`tHt7=IJL^o4#J`&rK(xXy`fwSzPoD?%G<d9h0Rx0dc(|t!G3f
zp~R5>dh#Uqp6|!UwH6QO=8D%|qHuOYvT%BA!lDtCgbE}`c?gsBd~`H#Ix#%#@~)%v
z^Ss^bu`ySBZq$~r#zZNCl2D}rFzJik-TWQ)Bo^xZ$;pl6+#eWdM8=P+tJ-;?q%|cg
zn5ZO_F}^GiHwRfvkRs>B{CuNmxHUC(<DG&uFJYl%xrs_bwIm6rzuMc&|9v(xQtJ`q
zC{K%(XKih4)UNyK?93G<y=0k0StQ+hp%DJ9(Dd%$Aa4RMvIz2~57u?7<CMXJ+|Nfx
zc@uco<DsFhT|V01?+T4Pn1rh9DuwzwJzc9CaXrW)374_*EFR`qo)t=#<yA?ja-@QV
zvZf};lMvn5lavv7$wL3=XZ!TjZC80i!?Ubts08aEDhXAToVftlAr!m`%5ugXN|MUp
z6((OUE^3EX78Z)vE$dnASr%Cw1(Q&sY$JtIj~vM2DED+?qN{fxQ|Ee<H5UU>$jj~x
z4(8YK*0a!m<!$6y$l$H~ioL2LDhX8|cPSL-O*l<OIcwbwnK5IBk$hWL0XP~eqR<b>
zdb7Tszg2k{Ux+<TkfppT2~`S;M=+XDJi_oMl^0<o6j2y>+~9|qnfxvEXAuR$x0jc@
z=T|C9mSlOo3Z`CplzQ}%P{m|9vl2`-!klOE@LFWCSK)k)u84X#&i7MQO3}cXZ=q7^
zjebd}a<M{{VKCrQD2{f@n=G<^US8hlC9#M?=WT27mZ>M9$~46kDz=GpH0&2qP03=f
zLSDvsVwQv|mcL*Ht%c&~qmmf*EGznPKBeZAYL$mc0twzqsUiyfqCYoLNhqp~t9->P
z6wYU|yk4b<;`f<o6_qWrI*2M)Z@5w#ov0*KSr_U)!RkC}c@*bUO^LFIS7b?|@KMUS
zVb6$Svb<%NTPu`TFnEj-N(qgO+`D_2$@*)E`tOC}xt`?#Uhh)T5B;mMjv~sckE#0t
zSzN&DSVy!xDhX9e452<wPUd?I6fsuC(MuBA^@=F;?_H6`eN<By<WJ%QWl5-F^X!Tx
z6a@56j@x>b%Bw;>%G&c_k<~$zSdq@MtSAL1p-Q6K3e_)DS9ugjV{fxosx8k#e_XJu
z@~pChY-!0yR1%7W>bI%0S1FHTqAYJxQ5c@3yoob=w0n7YSSKn8RsU+P6v{Gnegx6J
zZ4|@}d5Q9R6O+Z6y;`ZpdG7sDe4!*1DPlc>u?6EwsG94kD8{>$y(D4pg5^!<uVcqu
z5~^6Rg^5d{aKI9bM?RKkwcYE0`(RJv<tYAc4x2ZVDfgKtq3TjK77E?OCd;Z;gzj}v
zBq{Rvk!$_vC7}YNAezUDh9G8Wb~f)?)xxcHL*z+_Ztx@(6%|P)QC?F|LbW6d`^(jL
zikoKi){1kr&%E5@*_I?XQBBFZwL*mo#*ZX_gCX|s9$<H|mBAywvOLM1M{&a>lv2ca
z9|>vGj9mS~hPtfs9<GgB(J+*xV2|Ptkc4VUSZFk}X8+1_tlPBaZr1s&Jt~%Wp`TkP
zlzKEn2@4%*w2w_t&xlGwH63Dco>jiFF4t>v)b-8ZX0dKO^!UFj)Nf0c-|=nyhW-Em
N002ovPDHLkV1h;Kur>ey

literal 0
HcmV?d00001

diff --git a/img/ui/RubyCoinDull.png b/img/ui/RubyCoinDull.png
new file mode 100644
index 0000000000000000000000000000000000000000..932a3a016164e5749c7b8e3e87abe382063d3815
GIT binary patch
literal 1302
zcmV+x1?l>UP)<h;3K|Lk000e1NJLTq002q=002q|1^@s69MHmX00001b5ch_0Itp)
z=>Px(&`Cr=RCr$PoIg(#Q53~pI)aIzv49pRu_Ar|BMF6-jdr#Yz5$jdmXwy*Sr{t|
z5{&kSN=l%G!iJDY=)f?$hd75ld+vKPJD@xo&CZ+mhI4;&?tOoj-o1{0ey^-t{5|B4
z!^6-MJf5AcwY$Hy)eGI&Qlm}>yL{#%6h#h#M2Tq{cn~)((#A$q5lV!<YhfILZ4=fS
zQAMaR5%m7(sOov{!2<_Jb^YMvr26;u%uJ{~H)={)Hc?Fp`tOCh*x0D*pwsQ`DrhdN
zDM21hOk|Pq^ZdMaUn*(2WF-?-gfj7Efw(!yVuBPoFIHEFjtElK<9s<d7<vh$MF~qK
zD@;@osv$|Z{ngG+_21{y)3qK!PSn$)#>I0#Chha_aVSeh$+AQ_lJ2}vJb6`-e!I6<
zU4j>li=b4}Kp4F1>D1K7E}rb}j)X>DEJD?Fl|p@6T&%4du_ri^FpR6SqNJp@!}CVT
za$Z%08blyjC^t1horLVho}?llB@6wdpWL|}?q{-GHdKOLBdQ41UvlOJz-vOmo1iRL
z+^Hm~3SN=-_4KrM$z`jkccqfWS+EEtmTja^>XkzzILkeon;RKSRO-Cm<mO@^3U%4T
z$;qMPs8tEq|F5&Nsy|m>u~%IYRfMX?Lkh)p6K+#k?)&Cut!Fp)LSsbo&B8+U5og0F
zQQVHPQzS;cst7gMNJSy4%7tX1ICAhNRTpu@l#$^9KP)ZP$Z|w6;i~^AQO>Ji>Q^46
zUcDkzf3n<j1*VEH*I67{M;3b(?&s{vWH@hf#ABS)>{o;uY*whk76F$+u@|UFIkFHr
zChn$*O3i*nsKI81%YMDKO`Nk~*F>po=RDNacSWcHQLPD;8Yz(FvLDw|YEG$kc|Z!*
z#dyZxRu?$?sTo6<s3H`tjUxiCLUxhjY#8+_MHGL|<45Z!zVF6}!h;l{97=TEc@&#y
zE>TfyxOGG^S?+KJO!UqQ6%`B~ql8jI=Vm)K=j$x%sW;QTg8!^gJlD(h0Obj4MN%#6
zD57$+9TTP2$IwpJQAMcwS5JB$=jW?428x)b^;B0xVVvlWG}lk>*4C;nxUxsPBGh0#
z$_j-@L{|}-dX+MD^c(dkcjm#76|Km#*UXDhV$Ro<sjKn;f#JEL+o^V*h5p>>mM~F8
zsKG7_l<zwGu~#XNVxpWkse%`tm748d?(g@vtBO#g%Yth{x$LKQXq%clA{-?u>P<|R
zI)~0X)wnNwK8gn_LXjfQtJ)Tf7x+{irLq{GqKT69X?=ZUC5~6_YOco}7oqwG&8$$l
z=8pTCdREi34tNgsB&?)js>0vRfmgCXlBgn7zZ~Enc_81tg6K${F3Ba!tyZL-bx<TJ
z@>(aV2$h%x(Y&o}2x6v|mxpF0jOVt)Fo#2SQ{OCwmno90M@7A=2-T1*oG(}3DbDpU
zx8sa+=53J_CMuV#J1bPGVEjt*HyGOfy9b!Fxe7k&N#XKfSS@k+S+s1p^FlFMxfOZt
zpB!QD;k9v>4PACqfY@)TJF<#UN+I!i>MP0hkQ>hJs_^}8?&ij8>`{)e)U@xGNt8Le
zU-Z@r#SflKm=i!<Z(EqL5mkiB4ROm}hVI5qPU~4OSHGsO<V^|n2T*Rgxm^KFmH+?%
M07*qoM6N<$f)R&$4FCWD

literal 0
HcmV?d00001

diff --git a/img/ui/RubyCoinFake.gif b/img/ui/RubyCoinFake.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7e5e762a052579be54a39552a85f3a42bc88fe56
GIT binary patch
literal 53664
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

literal 0
HcmV?d00001

diff --git a/modules/css/base.css b/modules/css/base.css
index 14785422c6..a8f939bb42 100644
--- a/modules/css/base.css
+++ b/modules/css/base.css
@@ -668,6 +668,24 @@ input#addEventsWidgets::placeholder {
 	padding: 2px;
 }
 
+.feat1 {
+	top: 102px;
+}
+
+.feat2 {
+	top: 184px;
+}
+
+.hiddenFeat {
+	top: 202px;
+	z-index: 998;
+}
+
+.feat3 {
+	top: 196px;
+	z-index: 999;
+}
+
 .featList {
 	height: 87px;
 	width: 80%;
@@ -718,15 +736,20 @@ input#addEventsWidgets::placeholder {
 }
 
 .closeFeat {
-	position: fixed;
-	right: 10px;
-	top: 20px;
-	height: 75px;
-	width: 80%;
+	position: absolute;
+	left: 0;
+	top: 0;
+	height: 100%;
+	width: 100%;
+	width: Calc(100% + 79px);
 	max-width: 400px;
 	z-index: 1001;
 }
 
+.hiddenFeat .closeFeat {
+	display: none;
+}
+
 /* favourites button debug events */
 
 .heart {
-- 
GitLab