diff --git a/src/js/generateGenetics.js b/src/js/generateGenetics.js index 78dc46010243c347c516cdef2615a5dc1e061e17..eb868fbb2e200cecd8f5a8978a6c2d74d5b953ce 100644 --- a/src/js/generateGenetics.js +++ b/src/js/generateGenetics.js @@ -728,195 +728,327 @@ window.generateGenetics = (function() { // But it's more interesting than the more realistic take of "there are no carriers, sons always inherit the trait and daughters never do." // fertility - if (father !== 0) { fathergenes = father.geneticQuirks.fertility; } else { fathergenes = 0; } - genetarget = Math.pow(4,mother.geneticQuirks.fertility + fathergenes); + if (father !== 0) { + fathergenes = father.geneticQuirks.fertility; + } else { + fathergenes = 0; + } + genetarget = Math.pow(4, mother.geneticQuirks.fertility + fathergenes); if (genetarget >= 4) { chance = jsRandom(1,64); - if (chance <= genetarget) { quirks.fertility = 2; } - else if (chance <= 11*genetarget) { quirks.fertility = 1; } + if (chance <= genetarget) { + quirks.fertility = 2; + } else if (chance <= 11*genetarget) { + quirks.fertility = 1; + } if ( sex === "XY") { - if ((quirks.fertility === 1) && (jsRandom(1,3) == 1)) { quirks.fertility = 0; } - if (quirks.fertility === 2) { quirks.fertility = 1; } + if ((quirks.fertility === 1) && (jsRandom(1,3) == 1)) { + quirks.fertility = 0; + } + if (quirks.fertility === 2) { + quirks.fertility = 1; + } } } - // hyper fertility - if (father !== 0) { fathergenes = father.geneticQuirks.hyperFertility; } else { fathergenes = 0; } - genetarget = Math.pow(4,mother.geneticQuirks.hyperFertility + fathergenes); + if (father !== 0) { + fathergenes = father.geneticQuirks.hyperFertility; + } else { + fathergenes = 0; + } + genetarget = Math.pow(4, mother.geneticQuirks.hyperFertility + fathergenes); if (genetarget >= 4) { chance = jsRandom(1,64); - if (chance <= genetarget) { quirks.hyperFertility = 2; } - else if (chance <= 11*genetarget) { quirks.hyperFertility = 1; } + if (chance <= genetarget) { + quirks.hyperFertility = 2; + } else if (chance <= 11*genetarget) { + quirks.hyperFertility = 1; + } if ( sex === "XY") { - if ((quirks.hyperFertility === 1) && (jsRandom(1,3) == 1)) { quirks.hyperFertility = 0; } - if (quirks.hyperFertility === 2) { quirks.hyperFertility = 1; } + if ((quirks.hyperFertility === 1) && (jsRandom(1,3) == 1)) { + quirks.hyperFertility = 0; + } + if (quirks.hyperFertility === 2) { + quirks.hyperFertility = 1; + } } } - // superfetation - if (father !== 0) { fathergenes = father.geneticQuirks.superfetation; } else { fathergenes = 0; } - genetarget = Math.pow(4,mother.geneticQuirks.superfetation + fathergenes); + if (father !== 0) { + fathergenes = father.geneticQuirks.superfetation; + } else { + fathergenes = 0; + } + genetarget = Math.pow(4, mother.geneticQuirks.superfetation + fathergenes); if (genetarget >= 4) { chance = jsRandom(1,64); - if (chance <= genetarget) { quirks.superfetation = 2; } - else if (chance <= 11*genetarget) { quirks.superfetation = 1; } + if (chance <= genetarget) { + quirks.superfetation = 2; + } else if (chance <= 11*genetarget) { + quirks.superfetation = 1; + } if ( sex === "XY") { - if ((quirks.superfetation === 1) && (jsRandom(1,3) == 1)) { quirks.superfetation = 0; } - if (quirks.superfetation === 2) { quirks.superfetation = 1; } + if ((quirks.superfetation === 1) && (jsRandom(1,3) == 1)) { + quirks.superfetation = 0; + } + if (quirks.superfetation === 2) { + quirks.superfetation = 1; + } } } - // well hung - if (father !== 0) { fathergenes = father.geneticQuirks.wellHung; } else { fathergenes = 0; } - genetarget = Math.pow(4,mother.geneticQuirks.wellHung + fathergenes); + if (father !== 0) { + fathergenes = father.geneticQuirks.wellHung; + } else { + fathergenes = 0; + } + genetarget = Math.pow(4, mother.geneticQuirks.wellHung + fathergenes); if (genetarget >= 4) { chance = jsRandom(1,64); - if (chance <= genetarget) { quirks.wellHung = 2; } - else if (chance <= 11*genetarget) { quirks.wellHung = 1; } + if (chance <= genetarget) { + quirks.wellHung = 2; + } else if (chance <= 11*genetarget) { + quirks.wellHung = 1; + } if ( sex === "XX") { - if ((quirks.wellHung === 1) && (jsRandom(1,3) == 1)) { quirks.wellHung = 0; } - if (quirks.wellHung === 2) { quirks.wellHung = 1; } + if ((quirks.wellHung === 1) && (jsRandom(1,3) == 1)) { + quirks.wellHung = 0; + } + if (quirks.wellHung === 2) { + quirks.wellHung = 1; + } } } // perfect face - if (father !== 0) { fathergenes = father.geneticQuirks.pFace; } else { fathergenes = 0; } + if (father !== 0) { + fathergenes = father.geneticQuirks.pFace; + } else { + fathergenes = 0; + } genetarget = Math.pow(2,mother.geneticQuirks.pFace + fathergenes); if (genetarget >= 2) { chance = jsRandom(1,16); - if (chance <= genetarget) { quirks.pFace = 2; } - else if (chance <= 3*genetarget) { quirks.pFace = 1; } + if (chance <= genetarget) { + quirks.pFace = 2; + } else if (chance <= 3*genetarget) { + quirks.pFace = 1; + } } // ugly face - if (father !== 0) { fathergenes = father.geneticQuirks.uFace; } else { fathergenes = 0; } + if (father !== 0) { + fathergenes = father.geneticQuirks.uFace; + } else { + fathergenes = 0; + } genetarget = Math.pow(2,mother.geneticQuirks.uFace + fathergenes); if (genetarget >= 2) { chance = jsRandom(1,16); - if (chance <= genetarget) { quirks.uFace = 2; } - else if (chance <= 3*genetarget) { quirks.uFace = 1; } + if (chance <= genetarget) { + quirks.uFace = 2; + } else if (chance <= 3*genetarget) { + quirks.uFace = 1; + } } // gigantism - if (father !== 0) { fathergenes = father.geneticQuirks.gigantism; } else { fathergenes = 0; } + if (father !== 0) { + fathergenes = father.geneticQuirks.gigantism; + } else { + fathergenes = 0; + } genetarget = Math.pow(2,mother.geneticQuirks.gigantism + fathergenes); if (genetarget >= 2) { chance = jsRandom(1,16); - if (chance <= genetarget) { quirks.gigantism = 2; } - else if (chance <= 3*genetarget) { quirks.gigantism = 1; } + if (chance <= genetarget) { + quirks.gigantism = 2; + } else if (chance <= 3*genetarget) { + quirks.gigantism = 1; + } } - // dwarfism - if (father !== 0) { fathergenes = father.geneticQuirks.dwarfism; } else { fathergenes = 0; } + if (father !== 0) { + fathergenes = father.geneticQuirks.dwarfism; + } else { + fathergenes = 0; + } genetarget = Math.pow(2,mother.geneticQuirks.dwarfism + fathergenes); if (genetarget >= 2) { chance = jsRandom(1,16); - if (chance <= genetarget) { quirks.dwarfism = 2; } - else if (chance <= 3*genetarget) { quirks.dwarfism = 1; } + if (chance <= genetarget) { + quirks.dwarfism = 2; + } else if (chance <= 3*genetarget) { + quirks.dwarfism = 1; + } } // albinism - if (father !== 0) { fathergenes = father.geneticQuirks.albinism; } else { fathergenes = 0; } + if (father !== 0) { + fathergenes = father.geneticQuirks.albinism; + } else { + fathergenes = 0; + } genetarget = Math.pow(2,mother.geneticQuirks.albinism + fathergenes); if (genetarget >= 2) { chance = jsRandom(1,16); - if (chance <= genetarget) { quirks.albinism = 2; } - else if (chance <= 3*genetarget) { quirks.albinism = 1; } + if (chance <= genetarget) { + quirks.albinism = 2; + } else if (chance <= 3*genetarget) { + quirks.albinism = 1; + } } // heterochromia - if (father !== 0) { fathergenes = father.geneticQuirks.heterochromia; } else { fathergenes = 0; } + if (father !== 0) { + fathergenes = father.geneticQuirks.heterochromia; + } else { + fathergenes = 0; + } genetarget = Math.pow(2,mother.geneticQuirks.heterochromia + fathergenes); if (genetarget >= 2) { chance = jsRandom(1,16); - if (chance <= genetarget) { quirks.heterochromia = 2; } - else if (chance <= 3*genetarget) { quirks.heterochromia = 1; } + if (chance <= genetarget) { + quirks.heterochromia = 2; + } else if (chance <= 3*genetarget) { + quirks.heterochromia = 1; + } } - // rear lipedema - if (father !== 0) { fathergenes = father.geneticQuirks.rearLipedema; } else { fathergenes = 0; } + if (father !== 0) { + fathergenes = father.geneticQuirks.rearLipedema; + } else { + fathergenes = 0; + } genetarget = Math.pow(2,mother.geneticQuirks.rearLipedema + fathergenes); if (genetarget >= 2) { chance = jsRandom(1,16); - if (chance <= genetarget) { quirks.rearLipedema = 2; } - else if (chance <= 3*genetarget) { quirks.rearLipedema = 1; } + if (chance <= genetarget) { + quirks.rearLipedema = 2; + } else if (chance <= 3*genetarget) { + quirks.rearLipedema = 1; + } } - + // Gigantomastia - if (father !== 0) { fathergenes = father.geneticQuirks.gigantomastia; } else { fathergenes = 0; } + if (father !== 0) { + fathergenes = father.geneticQuirks.gigantomastia; + } else { + fathergenes = 0; + } genetarget = Math.pow(2,mother.geneticQuirks.gigantomastia + fathergenes); if (genetarget >= 2) { chance = jsRandom(1,16); - if (chance <= genetarget) { quirks.gigantomastia = 2; } - else if (chance <= 3*genetarget) { quirks.gigantomastia = 1; } + if (chance <= genetarget) { + quirks.gigantomastia = 2; + } else if (chance <= 3*genetarget) { + quirks.gigantomastia = 1; + } } // Macromastia - if (father !== 0) { fathergenes = father.geneticQuirks.macromastia; } else { fathergenes = 0; } + if (father !== 0) { + fathergenes = father.geneticQuirks.macromastia; + } else { + fathergenes = 0; + } genetarget = Math.pow(2,mother.geneticQuirks.macromastia + fathergenes); if (genetarget >= 2) { chance = jsRandom(1,16); - if (chance <= genetarget) { quirks.macromastia = 2; } - else if (chance <= 3*genetarget) { quirks.macromastia = 1; } + if (chance <= genetarget) { + quirks.macromastia = 2; + } else if (chance <= 3*genetarget) { + quirks.macromastia = 1; + } } - // myotonic hypertrophy - if (father !== 0) { fathergenes = father.geneticQuirks.mGain; } else { fathergenes = 0; } + if (father !== 0) { + fathergenes = father.geneticQuirks.mGain; + } else { + fathergenes = 0; + } genetarget = Math.pow(2,mother.geneticQuirks.mGain + fathergenes); if (genetarget >= 2) { chance = jsRandom(1,16); - if (chance <= genetarget) { quirks.mGain = 2; } - else if (chance <= 3*genetarget) { quirks.mGain = 1; } + if (chance <= genetarget) { + quirks.mGain = 2; + } else if (chance <= 3*genetarget) { + quirks.mGain = 1; + } } - // myotonic dystrophy - if (father !== 0) { fathergenes = father.geneticQuirks.mLoss; } else { fathergenes = 0; } + if (father !== 0) { + fathergenes = father.geneticQuirks.mLoss; + } else { + fathergenes = 0; + } genetarget = Math.pow(2,mother.geneticQuirks.mLoss + fathergenes); if (genetarget >= 2) { chance = jsRandom(1,16); - if (chance <= genetarget) { quirks.mLoss = 2; } - else if (chance <= 3*genetarget) { quirks.mLoss = 1; } + if (chance <= genetarget) { + quirks.mLoss = 2; + } else if (chance <= 3*genetarget) { + quirks.mLoss = 1; + } } - // hyperleptinemia - if (father !== 0) { fathergenes = father.geneticQuirks.wGain; } else { fathergenes = 0; } + if (father !== 0) { + fathergenes = father.geneticQuirks.wGain; + } else { + fathergenes = 0; + } genetarget = Math.pow(2,mother.geneticQuirks.wGain + fathergenes); if (genetarget >= 2) { chance = jsRandom(1,16); - if (chance <= genetarget) { quirks.wGain = 2; } - else if (chance <= 3*genetarget) { quirks.wGain = 1; } + if (chance <= genetarget) { + quirks.wGain = 2; + } else if (chance <= 3*genetarget) { + quirks.wGain = 1; + } } - // hypoleptinemia - if (father !== 0) { fathergenes = father.geneticQuirks.wLoss; } else { fathergenes = 0; } + if (father !== 0) { + fathergenes = father.geneticQuirks.wLoss; + } else { + fathergenes = 0; + } genetarget = Math.pow(2,mother.geneticQuirks.wLoss + fathergenes); if (genetarget >= 2) { chance = jsRandom(1,16); - if (chance <= genetarget) { quirks.wLoss = 2; } - else if (chance <= 3*genetarget) { quirks.wLoss = 1; } + if (chance <= genetarget) { + quirks.wLoss = 2; + } else if (chance <= 3*genetarget) { + quirks.wLoss = 1; + } } - // androgyny - if (father !== 0) { fathergenes = father.geneticQuirks.androgyny; } else { fathergenes = 0; } + if (father !== 0) { + fathergenes = father.geneticQuirks.androgyny; + } else { + fathergenes = 0; + } genetarget = Math.pow(2,mother.geneticQuirks.androgyny + fathergenes); if (genetarget >= 2) { chance = jsRandom(1,16); - if (chance <= genetarget) { quirks.androgyny = 2; } - else if (chance <= 3*genetarget) { quirks.androgyny = 1; } + if (chance <= genetarget) { + quirks.androgyny = 2; + } else if (chance <= 3*genetarget) { + quirks.androgyny = 1; + } } return clone(quirks);