diff --git a/src/facilities/surgery/analyzePregnancy.js b/src/facilities/surgery/analyzePregnancy.js new file mode 100644 index 0000000000000000000000000000000000000000..cd45a8f2bdcd07d677222710f3e578d9b6d740ea --- /dev/null +++ b/src/facilities/surgery/analyzePregnancy.js @@ -0,0 +1,91 @@ +/** + * + * @param {App.Entity.Fetus} fetus + */ + +globalThis.fetusAbnormalities = function(fetus) { + const div = App.UI.DOM.makeElement("div", null, "indent"); + /** @type {Map.<FC.GeneticQuirks|string>} */ + const quirkNames = new Map([ + ["albinism", + { + abbreviation: "alb", + goodTrait: true + } + ], + ["gigantism", {abbreviation: "gnt"}], + ["dwarfism", {abbreviation: "dwrf"}], + ["neoteny", {abbreviation: "ntny"}], + ["progeria", {abbreviation: "progeria"}], + ["heterochromia", + { + abbreviation: "hetchrom", + goodTrait: true + } + ], + ["androgyny", {abbreviation: "andr"}], + ["pFace", + { + abbreviation: "pfce", + goodTrait: true + } + ], + ["uFace", {abbreviation: "ufce"}], + ["fertility", + { + abbreviation: "fert", + goodTrait: true + } + ], + ["hyperFertility", + { + abbreviation: "hfert", + goodTrait: true + } + ], + ["superfetation", + { + abbreviation: "supfet", + goodTrait: true + } + ], + ["polyhydramnios", {abbreviation: "polyhyd"}], + ["uterineHypersensitivity", + { + abbreviation: "uthyp", + goodTrait: true + } + ], + ["macromastia", {abbreviation: "mmast"}], + ["gigantomastia", {abbreviation: "gmast"}], + ["galactorrhea", {abbreviation: "rlact"}], + ["wellHung", + { + abbreviation: "bigd", + goodTrait: true + } + ], + ["rearLipedema", {abbreviation: "lipe"}], + ["wGain", {abbreviation: "lepti+"}], + ["wLoss", {abbreviation: "lepti-"}], + ["mGain", {abbreviation: "myot+"}], + ["mLoss", {abbreviation: "myot-"}], + ]); + + const abnormalitySpans = []; + for (const gene in fetus.genetics.geneticQuirks) { + const geneObj = quirkNames.get(gene); + const quirkName = (geneObj) ? geneObj.abbreviation || gene : gene; + const quirkColor = (geneObj && geneObj.goodTrait) ? "green" : "red"; + if (fetus.genetics.geneticQuirks[gene] === 2) { + abnormalitySpans.push(App.UI.DOM.makeElement("span", quirkName, quirkColor)); + } else if (fetus.genetics.geneticQuirks[gene] === 1 && V.geneticMappingUpgrade >= 2) { + abnormalitySpans.push(App.UI.DOM.makeElement("span", quirkName, "yellow")); + } + } + if (abnormalitySpans.length > 0) { + div.append("Detected abnormalities: "); + App.Events.addNode(div, abnormalitySpans); + } + return div; +}; diff --git a/src/pregmod/analyzePlayerPregnancy.tw b/src/pregmod/analyzePlayerPregnancy.tw index b1bdeb95bbe012893fa6e427d9f707b426e0a6db..ccc64318142b41f749cab12c136a35fcbf0cfac0 100644 --- a/src/pregmod/analyzePlayerPregnancy.tw +++ b/src/pregmod/analyzePlayerPregnancy.tw @@ -145,124 +145,7 @@ Markings: $PC.womb[_ap].genetics.markings </div> <</if>> - <div class="indent"> - Detected abnormalities: - <<if $PC.womb[_ap].genetics.geneticQuirks.albinism == 2>> - @@.green;alb@@ - <<elseif $PC.womb[_ap].genetics.geneticQuirks.albinism == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;alb@@ - <</if>> - <<if $PC.womb[_ap].genetics.geneticQuirks.gigantism == 2>> - @@.red;gnt@@ - <<elseif $PC.womb[_ap].genetics.geneticQuirks.gigantism == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;gnt@@ - <</if>> - <<if $PC.womb[_ap].genetics.geneticQuirks.dwarfism == 2>> - @@.red;dwrf@@ - <<elseif $PC.womb[_ap].genetics.geneticQuirks.dwarfism == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;dwrf@@ - <</if>> - <<if $PC.womb[_ap].genetics.geneticQuirks.neoteny >= 2>> - @@.red;ntny@@ - <<elseif $PC.womb[_ap].genetics.geneticQuirks.neoteny == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;ntny@@ - <</if>> - <<if $PC.womb[_ap].genetics.geneticQuirks.progeria >= 2>> - @@.red;progeria@@ - <<elseif $PC.womb[_ap].genetics.geneticQuirks.progeria == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;progeria@@ - <</if>> - <<if $PC.womb[_ap].genetics.geneticQuirks.heterochromia == 2>> - @@.green;hetchrom@@ - <<elseif $PC.womb[_ap].genetics.geneticQuirks.heterochromia == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;hetchrom@@ - <</if>> - <<if $PC.womb[_ap].genetics.geneticQuirks.androgyny == 2>> - @@.red;andr@@ - <<elseif $PC.womb[_ap].genetics.geneticQuirks.androgyny == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;andr@@ - <</if>> - <<if $PC.womb[_ap].genetics.geneticQuirks.pFace == 2>> - @@.green;pfce@@ - <<elseif $PC.womb[_ap].genetics.geneticQuirks.pFace == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;pfce@@ - <</if>> - <<if $PC.womb[_ap].genetics.geneticQuirks.uFace == 2>> - @@.red;ufce@@ - <<elseif $PC.womb[_ap].genetics.geneticQuirks.uFace == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;ufce@@ - <</if>> - <<if $PC.womb[_ap].genetics.geneticQuirks.fertility == 2>> - @@.green;fert@@ - <<elseif $PC.womb[_ap].genetics.geneticQuirks.fertility == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;fert@@ - <</if>> - <<if $PC.womb[_ap].genetics.geneticQuirks.hyperFertility == 2>> - @@.green;hfert@@ - <<elseif $PC.womb[_ap].genetics.geneticQuirks.hyperFertility == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;hfert@@ - <</if>> - <<if $PC.womb[_ap].genetics.geneticQuirks.superfetation == 2>> - @@.green;supfet@@ - <<elseif $PC.womb[_ap].genetics.geneticQuirks.superfetation == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;supfet@@ - <</if>> - <<if $PC.womb[_ap].genetics.geneticQuirks.polyhydramnios == 2>> - @@.red;polyhyd@@ - <<elseif $PC.womb[_ap].genetics.geneticQuirks.polyhydramnios == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;polyhyd@@ - <</if>> - <<if $PC.womb[_ap].genetics.geneticQuirks.uterineHypersensitivity == 2>> - @@.green;uthyp@@ - <<elseif $PC.womb[_ap].genetics.geneticQuirks.uterineHypersensitivity == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;uthyp@@ - <</if>> - <<if $PC.womb[_ap].genetics.geneticQuirks.macromastia >= 2>> - @@.red;mmast@@ - <<elseif $PC.womb[_ap].genetics.geneticQuirks.macromastia == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;mast@@ - <</if>> - <<if $PC.womb[_ap].genetics.geneticQuirks.gigantomastia >= 2>> - @@.red;gmast@@ - <<elseif $PC.womb[_ap].genetics.geneticQuirks.gigantomastia == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;gmast@@ - <</if>> - <<if $PC.womb[_ap].genetics.geneticQuirks.galactorrhea >= 2>> - @@.red;rlact@@ - <<elseif $PC.womb[_ap].genetics.geneticQuirks.galactorrhea == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;rlact@@ - <</if>> - <<if $PC.womb[_ap].genetics.geneticQuirks.wellHung == 2>> - @@.green;bigd@@ - <<elseif $PC.womb[_ap].genetics.geneticQuirks.wellHung == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;bigd@@ - <</if>> - <<if $PC.womb[_ap].genetics.geneticQuirks.rearLipedema == 2>> - @@.red;lipe@@ - <<elseif $PC.womb[_ap].genetics.geneticQuirks.rearLipedema == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;lipe@@ - <</if>> - <<if $PC.womb[_ap].genetics.geneticQuirks.wGain == 2>> - @@.red;lepti+@@ - <<elseif $PC.womb[_ap].genetics.geneticQuirks.wGain == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;lepti+@@ - <</if>> - <<if $PC.womb[_ap].genetics.geneticQuirks.wLoss == 2>> - @@.red;lepti-@@ - <<elseif $PC.womb[_ap].genetics.geneticQuirks.wLoss == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;lepti-@@ - <</if>> - <<if $PC.womb[_ap].genetics.geneticQuirks.mGain == 2>> - @@.red;myot+@@ - <<elseif $PC.womb[_ap].genetics.geneticQuirks.mGain == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;myot+@@ - <</if>> - <<if $PC.womb[_ap].genetics.geneticQuirks.mLoss == 2>> - @@.red;myot-@@ - <<elseif $PC.womb[_ap].genetics.geneticQuirks.mLoss == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;myot-@@ - <</if>> - </div> + <<includeDOM fetusAbnormalities($PC.womb[_ap])>> <<else>> <<if $PC.womb[_ap].age > 13>> <div class="indent"> diff --git a/src/pregmod/analyzePregnancy.tw b/src/pregmod/analyzePregnancy.tw index b7cc87210cf6ea8a0cfbcec420c80d1fdc12d916..18da93ad6211aba4c58b52bca813c57460fc0051 100644 --- a/src/pregmod/analyzePregnancy.tw +++ b/src/pregmod/analyzePregnancy.tw @@ -180,124 +180,7 @@ Markings: <<= capFirstChar(getSlave($AS).womb[_ap].genetics.markings)>> </div> <</if>> - <div class="indent"> - Detected abnormalities: - <<if getSlave($AS).womb[_ap].genetics.geneticQuirks.albinism == 2>> - @@.green;alb@@ - <<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.albinism == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;alb@@ - <</if>> - <<if getSlave($AS).womb[_ap].genetics.geneticQuirks.gigantism == 2>> - @@.red;gnt@@ - <<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.gigantism == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;gnt@@ - <</if>> - <<if getSlave($AS).womb[_ap].genetics.geneticQuirks.dwarfism == 2>> - @@.red;dwrf@@ - <<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.dwarfism == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;dwrf@@ - <</if>> - <<if getSlave($AS).womb[_ap].genetics.geneticQuirks.neoteny >= 2>> - @@.red;ntny@@ - <<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.neoteny == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;ntny@@ - <</if>> - <<if getSlave($AS).womb[_ap].genetics.geneticQuirks.progeria >= 2>> - @@.red;progeria@@ - <<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.progeria == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;progeria@@ - <</if>> - <<if getSlave($AS).womb[_ap].genetics.geneticQuirks.heterochromia == 2>> - @@.green;hetchrom@@ - <<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.heterochromia == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;hetchrom@@ - <</if>> - <<if getSlave($AS).womb[_ap].genetics.geneticQuirks.androgyny == 2>> - @@.red;andr@@ - <<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.androgyny == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;andr@@ - <</if>> - <<if getSlave($AS).womb[_ap].genetics.geneticQuirks.pFace == 2>> - @@.green;pfce@@ - <<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.pFace == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;pfce@@ - <</if>> - <<if getSlave($AS).womb[_ap].genetics.geneticQuirks.uFace == 2>> - @@.red;ufce@@ - <<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.uFace == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;ufce@@ - <</if>> - <<if getSlave($AS).womb[_ap].genetics.geneticQuirks.fertility == 2>> - @@.green;fert@@ - <<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.fertility == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;fert@@ - <</if>> - <<if getSlave($AS).womb[_ap].genetics.geneticQuirks.hyperFertility == 2>> - @@.green;hfert@@ - <<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.hyperFertility == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;hfert@@ - <</if>> - <<if getSlave($AS).womb[_ap].genetics.geneticQuirks.superfetation == 2>> - @@.green;supfet@@ - <<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.superfetation == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;supfet@@ - <</if>> - <<if getSlave($AS).womb[_ap].genetics.geneticQuirks.polyhydramnios == 2>> - @@.red;polyhyd@@ - <<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.polyhydramnios == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;polyhyd@@ - <</if>> - <<if getSlave($AS).womb[_ap].genetics.geneticQuirks.uterineHypersensitivity == 2>> - @@.green;uthyp@@ - <<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.uterineHypersensitivity == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;uthyp@@ - <</if>> - <<if getSlave($AS).womb[_ap].genetics.geneticQuirks.macromastia >= 2>> - @@.red;mmast@@ - <<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.macromastia == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;mast@@ - <</if>> - <<if getSlave($AS).womb[_ap].genetics.geneticQuirks.gigantomastia >= 2>> - @@.red;gmast@@ - <<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.gigantomastia == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;gmast@@ - <</if>> - <<if getSlave($AS).womb[_ap].genetics.geneticQuirks.galactorrhea >= 2>> - @@.red;rlact@@ - <<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.galactorrhea == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;rlact@@ - <</if>> - <<if getSlave($AS).womb[_ap].genetics.geneticQuirks.wellHung == 2>> - @@.green;bigd@@ - <<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.wellHung == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;bigd@@ - <</if>> - <<if getSlave($AS).womb[_ap].genetics.geneticQuirks.rearLipedema == 2>> - @@.red;lipe@@ - <<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.rearLipedema == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;lipe@@ - <</if>> - <<if getSlave($AS).womb[_ap].genetics.geneticQuirks.wGain == 2>> - @@.red;lepti+@@ - <<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.wGain == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;lepti+@@ - <</if>> - <<if getSlave($AS).womb[_ap].genetics.geneticQuirks.wLoss == 2>> - @@.red;lepti-@@ - <<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.wLoss == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;lepti-@@ - <</if>> - <<if getSlave($AS).womb[_ap].genetics.geneticQuirks.mGain == 2>> - @@.red;myot+@@ - <<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.mGain == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;myot+@@ - <</if>> - <<if getSlave($AS).womb[_ap].genetics.geneticQuirks.mLoss == 2>> - @@.red;myot-@@ - <<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.mLoss == 1 && $geneticMappingUpgrade >= 2>> - @@.yellow;myot-@@ - <</if>> - </div> + <<includeDOM fetusAbnormalities(getSlave($AS).womb[_ap])>> <<else>> <<if getSlave($AS).womb[_ap].age > 13>> <div class="indent">