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