diff --git a/src/js/generateGenetics.js b/src/js/generateGenetics.js
index 520fc57fc63f12de31ff3431a1c172fb1c30433b..ec103f531f5b9bddbce9b8ed89db02fc01f55e3d 100644
--- a/src/js/generateGenetics.js
+++ b/src/js/generateGenetics.js
@@ -98,17 +98,35 @@ globalThis.generateGenetics = (function() {
 		genes.father = setFatherID(actor2);
 		genes.fatherName = setFatherName(father, activeFather, actor2);
 		genes.nationality = setNationality(father, mother);
-		genes.geneticQuirks = setGeneticQuirks(activeFather, activeMother, genes.gender);
-		genes.skin = setSkin(father, mother, actor2);
-		genes.race = setRace(father, mother, actor2);
-		genes.intelligence = setIntelligence(father, mother, activeMother, actor2);
-		genes.face = setFace(father, mother, activeMother, actor2, genes.geneticQuirks);
-		genes.faceShape = setFaceShape(father, mother, genes.geneticQuirks);
-		genes.eyeColor = setEyeColor(father, mother, actor2);
-		if (genes.geneticQuirks.heterochromia === 2) {
-			genes.geneticQuirks.heterochromia = setHeterochromaticEyeColor(father, mother, actor2);
-		}
-		genes.hColor = setHColor(father, mother, actor2);
+		if (activeFather.advancedGeneticModification.dominantGenetics > 0 && activeMother.advancedGeneticModification.dominantGenetics === 0) {
+		    genes.geneticQuirks = activeFather.geneticQuirks;
+	    	genes.skin = father.skin;
+	    	genes.race = father.race;
+	    	genes.intelligence = setIntelligence(father, actor2);
+	    	genes.face = setFace(father, actor2, genes.geneticQuirks);
+	    	genes.eyeColor = father.eyeColor(father, actor2);
+		    genes.hColor = father.hColor;
+		} else if (activeMother.advancedGeneticModification.dominantGenetics > 0 && activeFather.advancedGeneticModification.dominantGenetics === 0) {
+		    genes.geneticQuirks = activeMother.geneticQuirks;
+	    	genes.skin = mother.skin;
+	    	genes.race = mother.race;
+	    	genes.intelligence = setIntelligence(mother, actor2);
+	    	genes.face = setFace(mother, actor2, genes.geneticQuirks);
+	    	genes.eyeColor = mother.eyeColor(father, actor2);
+		    genes.hColor = mother.hColor;
+		} else {
+	    	genes.geneticQuirks = setGeneticQuirks(activeFather, activeMother, genes.gender);
+	    	genes.skin = setSkin(father, mother, actor2);
+	    	genes.race = setRace(father, mother, actor2);
+	    	genes.intelligence = setIntelligence(father, mother, activeMother, actor2);
+	    	genes.face = setFace(father, mother, activeMother, actor2, genes.geneticQuirks);
+	    	genes.faceShape = setFaceShape(father, mother, genes.geneticQuirks);
+	    	genes.eyeColor = setEyeColor(father, mother, actor2);
+	        	if (genes.geneticQuirks.heterochromia === 2) {
+		    	genes.geneticQuirks.heterochromia = setHeterochromaticEyeColor(father, mother, actor2);
+	    	}
+	    	genes.hColor = setHColor(father, mother, actor2);
+		}
 		genes.underArmHStyle = setUnderArmHStyle(father, mother);
 		genes.pubicHStyle = setPubicHStyle(father, mother);
 		genes.markings = setMarkings(father, mother);
@@ -1051,7 +1069,42 @@ globalThis.generateGenetics = (function() {
 				quirks.androgyny = 1;
 			}
 		}
+		
+		// breeding
+		if (mother.advancedGeneticModification.breedingFreak === 1) {
+			if (sex === "XX") {
+				advancedGeneticModification.breedingFreak = 1;
+			} else {
+				advancedGeneticModification.breedingFreak = 0;
+			}
+		}
+		
+		// metabolism
+		if (mother.advancedGeneticModification.efficientMetabolism === 1 || father.advancedGeneticModification.efficientMetabolism === 1 ) {
+			advancedGeneticModification.breedingFreak = 1;
+		}
 
+		// dominant genetics
+		if (mother.advancedGeneticModification.dominantGenetics === 1 || father.advancedGeneticModification.dominantGenetics === 1 ) {
+			advancedGeneticModification.breedingFreak = 1;
+		}
+
+		// cardio
+		if (mother.overhauledCardiovascularSystem === 1 || overhauledCardiovascularSystem === 1 ) {
+			advancedGeneticModification.breedingFreak = 1;
+		}
+
+
+		// immortality
+		if (mother.advancedGeneticModification.immortality === 1 || father.advancedGeneticModification.immortality === 1 ) {
+			advancedGeneticModification.breedingFreak = 1;
+		}
+		
+		// herm
+		if (mother.advancedGeneticModification.trueHermaphroditism === 1 || father.advancedGeneticModification.trueHermaphroditism === 1 ) {
+			advancedGeneticModification.breedingFreak = 1;
+		}
+		
 		return clone(quirks);
 	}