diff --git a/src/js/generateGenetics.js b/src/js/generateGenetics.js
index 343c9a3505d6f70db5b2d61d1a9e681a8983cb5a..0499f985f84a2550f1b7aa608519055df9d26fe7 100644
--- a/src/js/generateGenetics.js
+++ b/src/js/generateGenetics.js
@@ -1063,7 +1063,6 @@ window.generateGenetics = (function() {
  */
 window.generateChild = function(mother, ova, destination) {
 	let genes = ova.genetics; // maybe just argument this? We'll see.
-	let pregUpgrade = V.pregnancyMonitoringUpgrade;
 	let child = {};
 
 	function setSurname() {
@@ -1107,7 +1106,7 @@ window.generateChild = function(mother, ova, destination) {
 
 	function setSlaveName() {
 		const relString = child.genes === "XX" ? "daughter" : "son";
-		if (!pregUpgrade || genes.name.indexOf("ovum") === 0) {
+		if (!(V.pregnancyMonitoringUpgrade) || genes.name.indexOf("ovum") === 0) {
 			if (genes.clone) {
 				if (genes.cloneID === -1) {
 					child.slaveName = `Your clone`;
@@ -1132,6 +1131,36 @@ window.generateChild = function(mother, ova, destination) {
 		}
 	}
 
+	function makeAlbinismOverride(race) {
+		let albinismOverride = {
+			skin: 0,
+			eyeColor: "red",
+			hColor: "white"
+		};
+		switch (race) {
+			case "black":
+			case "indo-aryan":
+			case "malay":
+			case "pacific islander":
+			case "amerindian":
+				albinismOverride.skin = "very fair";
+				break;
+			case "latina":
+				albinismOverride.skin = "extremely fair";
+				break;
+			case "asian":
+			case "middle eastern":
+			case "semitic":
+			case "southern european":
+			case "white":
+				albinismOverride.skin = "pure white";
+				break;
+			default:
+				albinismOverride.skin = "pure white";
+		}
+		return albinismOverride;
+	}
+
 	if (!destination) { // does extra work for the incubator if defined, otherwise builds a simple object
 		child.genes = genes.gender;
 		setSlaveName();
@@ -1157,32 +1186,7 @@ window.generateChild = function(mother, ova, destination) {
 		child.fetish = genes.fetish;
 		child.geneticQuirks = clone(genes.geneticQuirks);
 		if (child.geneticQuirks.albinism === 2) {
-			child.albinismOverride = {
-				skin: 0,
-				eyeColor: "red",
-				hColor: "white"
-			};
-			switch (child.race) {
-				case "black":
-				case "indo-aryan":
-				case "malay":
-				case "pacific islander":
-				case "amerindian":
-					child.albinismOverride.skin = "very fair";
-					break;
-				case "latina":
-					child.albinismOverride.skin = "extremely fair";
-					break;
-				case "asian":
-				case "middle eastern":
-				case "semitic":
-				case "southern european":
-				case "white":
-					child.albinismOverride.skin = "pure white";
-					break;
-				default:
-					child.albinismOverride.skin = "pure white";
-			}
+			child.albinismOverride = makeAlbinismOverride(child.race);
 		}
 		child.origSkin = genes.skin;
 		child.eye.origColor = genes.eyeColor;
@@ -1209,15 +1213,17 @@ window.generateChild = function(mother, ova, destination) {
 			}
 		}
 	} else {
-		V.activeSlaveOneTimeMinAge = V.targetAge;
-		V.activeSlaveOneTimeMaxAge = V.targetAge;
-		// eslint-disable-next-line camelcase
-		V.one_time_age_overrides_pedo_mode = 1;
+		const fixedAge = {
+			minAge: V.targetAge,
+			maxAge: V.targetAge,
+			ageOverridesPedoMode: 1,
+			mature: 0
+		};
 
 		if (genes.gender === "XX") {
-			child = GenerateNewSlave("XX", {mature: 0});
+			child = GenerateNewSlave("XX", fixedAge);
 		} else {
-			child = GenerateNewSlave("XY", {mature: 0});
+			child = GenerateNewSlave("XY", fixedAge);
 		}
 		setSlaveName();
 		setSurname();
@@ -1234,32 +1240,7 @@ window.generateChild = function(mother, ova, destination) {
 		child.origRace = child.race;
 		child.geneticQuirks = clone(genes.geneticQuirks);
 		if (child.geneticQuirks.albinism === 2) {
-			child.albinismOverride = {
-				skin: 0,
-				eyeColor: "red",
-				hColor: "white"
-			};
-			switch (child.race) {
-				case "black":
-				case "indo-aryan":
-				case "malay":
-				case "pacific islander":
-				case "amerindian":
-					child.albinismOverride.skin = "very fair";
-					break;
-				case "latina":
-					child.albinismOverride.skin = "extremely fair";
-					break;
-				case "asian":
-				case "middle eastern":
-				case "semitic":
-				case "southern european":
-				case "white":
-					child.albinismOverride.skin = "pure white";
-					break;
-				default:
-					child.albinismOverride.skin = "pure white";
-			}
+			child.albinismOverride = makeAlbinismOverride(child.race);
 		}
 		child.origSkin = genes.skin;
 		child.eye.origColor = genes.eyeColor;