diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt index ca25171d08791c7e3e9e94fcae15b3724d14c6c9..3943d54ffa843aa53afe33a4ecbb095bfd8f2122 100644 --- a/devNotes/twine JS.txt +++ b/devNotes/twine JS.txt @@ -10517,9 +10517,13 @@ window.removeJob = function removeJob(slave, assignment) { /*:: birthJS [script]*/ window.BirthDestinationText = function(choice,slave) { - const V = State.variables,T = State.temporary,sn = SlaveFullName(slave); + var pronouns = getPronouns(slave); + var he = pronouns.pronoun, him = pronouns.object, his = pronouns.possessive, hers = pronouns.possessivePronoun, himself = pronouns.objectReflexive, boy = pronouns.noun; + var He = capFirstChar(he), His = capFirstChar(his); + const V = State.variables,T = State.temporary, sn = SlaveFullName(slave); + var child = T.count > 1 ? 'children' : 'child'; var r = ``; - if (T.call !== 1) { if (choice !== "Private") r += `sent to one of ${arcologies[0].name}'s `; + if (T.call !== 1) { if (choice !== "Private") r += `sent to one of ${V.arcologies[0].name}'s `; } else { if (choice !== "Sold") r += ` ${sn} `; } switch(choice) { @@ -10528,15 +10532,15 @@ window.BirthDestinationText = function(choice,slave) { if (slave.fetish == "mindbroken" || slave.fuckdoll > 0) { r += `has few thoughts about the matter.`; } else if (slave.devotion > 95) { - r += `loves you already, but ${V.he}'ll <span class='hotpink'>love you even more</span> for this. ${V.he} can't wait to see ${V.his} child${T.count > 1 ? 'ren':''} proudly furthering your cause.`; + r += `loves you already, but ${he}'ll <span class='hotpink'>love you even more</span> for this. ${He} can't wait to see ${his} ${child} proudly furthering your cause.`; slave.devotion += 4; } else if (slave.devotion > 50) { - r += `heard about these and will be <span class='hotpink;happy that ${V.his} child${T.count > 1 ? 'ren':''} will have a purpose in your society other than slavery.</span> ${V.he} will miss ${V.his} child${T.count > 1 ? 'ren':''}, but ${V.he} expected that.`; + r += `heard about these and will be <span class='hotpink;happy that ${his} ${child} will have a purpose in your society other than slavery.</span> ${He} will miss ${his} ${child}, but ${he} expected that.`; slave.devotion += 4; } else if (slave.devotion > 20) { - r += `will naturally miss ${V.his} child${T.count > 1 ? 'ren':''}, but will is broken enough to hope that ${V.his} offspring will have a better life, or at least an enjoyable one.`; + r += `will naturally miss ${his} ${child}, but will is broken enough to hope that ${his} offspring will have a better life, or at least an enjoyable one.`; } else { - r += `will of course <span class='mediumorchid'>hate you for this.</span> The mere thought of ${V.his} ${fertilityAge} year old daughter${T.count > 1 ? 's':''} swollen with life, and proud of it, fills ${V.him} with <span class='gold'>disdain.</span>`; + r += `will of course <span class='mediumorchid'>hate you for this.</span> The mere thought of ${his} ${V.fertilityAge} year old daughter${T.count > 1 ? 's':''} swollen with life, and proud of it, fills ${him} with <span class='gold'>disdain.</span>`; slave.devotion -= 4, slave.trust -= 4; } break; @@ -10544,12 +10548,12 @@ window.BirthDestinationText = function(choice,slave) { if (slave.fetish == "mindbroken" || slave.fuckdoll > 0) { r += `has few thoughts about the matter.`; } else if (slave.devotion > 95) { - r += `worships you so completely that ${V.he} will not resent this.`; + r += `worships you so completely that ${he} will not resent this.`; } else if ( slave.devotion > 50) { - r += `is devoted to you, but ${V.he} will <span class='mediumorchid'>struggle to accept this.</span>`; + r += `is devoted to you, but ${he} will <span class='mediumorchid'>struggle to accept this.</span>`; slave.devotion -= 2; } else if ( slave.devotion > 20) { - r += `has accepted being a sex slave, but ${V.he} will <span class='mediumorchid'>resent this intensely.</span>`; + r += `has accepted being a sex slave, but ${he} will <span class='mediumorchid'>resent this intensely.</span>`; slave.devotion -= 3; } else { r += `will of course <span class='mediumorchid'>hate you for this.</span>`; @@ -10561,13 +10565,13 @@ window.BirthDestinationText = function(choice,slave) { if (slave.fetish == "mindbroken" || slave.fuckdoll > 0) { r += `has few thoughts about the matter.`; } else if (slave.devotion > 95) { - r += `loves you already, but ${V.he}'ll <span class='hotpink'>love you even more</span> for this.`; + r += `loves you already, but ${he}'ll <span class='hotpink'>love you even more</span> for this.`; } else if (slave.devotion > 50) { - r += `knows about these and will be <span class='hotpink'>overjoyed,</span> ${V.he} will miss ${V.his} child${T.count > 1 ? 'ren':''}, but ${V.he} expected that.`; + r += `knows about these and will be <span class='hotpink'>overjoyed,</span> ${he} will miss ${his} ${child}, but ${he} expected that.`; } else if (slave.devotion > 20) { - r += `will naturally miss ${V.his} child${T.count > 1 ? 'ren':''}, but will <span class='hotpink;take comfort@@ in the hope that ${V.his} offspring will have a better life.`; + r += `will naturally miss ${his} ${child}, but will <span class='hotpink;take comfort@@ in the hope that ${his} offspring will have a better life.`; } else { - r += `will naturally retain some resentment over being separated from ${V.his} child${T.count > 1 ? 'ren':''}, but this should be balanced by hope that ${V.his} offspring will have a better life.`; + r += `will naturally retain some resentment over being separated from ${his} ${child}, but this should be balanced by hope that ${his} offspring will have a better life.`; } break; case "Private": @@ -10579,38 +10583,38 @@ window.BirthDestinationText = function(choice,slave) { } else if (slave.devotion > 50) { r += `understands that this is the best possible outcome for the offspring of a slave, and will be <span class='hotpink'>overjoyed.</span>`; } else if (slave.devotion > 20) { - r += `will miss ${V.his} child${T.count > 1 ? 'ren':''}, but will be <span class='hotpink'>very grateful,</span> since ${V.he}'ll understand this is the best possible outcome for a slave mother.`; + r += `will miss ${his} ${child}, but will be <span class='hotpink'>very grateful,</span> since ${he}'ll understand this is the best possible outcome for a slave mother.`; } else { - r += `will resent being separated from ${V.his} child${T.count > 1 ? 'ren':''}, but <span class='hotpink'>should understand and be grateful</span> that this is the best possible outcome here.`; + r += `will resent being separated from ${his} ${child}, but <span class='hotpink'>should understand and be grateful</span> that this is the best possible outcome here.`; } - r += ` The child${T.count > 1 ? 'ren':''} will be raised privately, with expert care and tutoring, an expensive proposition.`; + r += ` The ${child} will be raised privately, with expert care and tutoring, an expensive proposition.`; break; case "Sold": r += `${T.call !== 1 ? "${V.his} ${T.count > 1 ? 'babies':'baby'}":"Where they"} `; - if (slave.prestige > 1 || slave.pornPrestige > 2) { + if (slave.prestige > 1 || slave.pornPrestige > 2) { T.babyCost = jsRandom(-12,100); - if (slave.prematureBirth > 0) T.babyCost = jsRandom(-32,40); - r += `went for ${T.curBabies > 1 ? ' a total ':'a'} bid of`; + if (slave.prematureBirth > 0) { T.babyCost = jsRandom(-32,40); } + r += `went for ${T.curBabies > 1 ? ' a total ':'a'} bid of`; } else { T.babyCost = jsRandom(-12,12); - if (slave.prematureBirth > 0) T.babyCost = -45; - r += `sold for ${T.curBabies > 1 ? ' a total of':''}`; + if (slave.prematureBirth > 0) { T.babyCost = -45; } + r += `sold for ${T.curBabies > 1 ? ' a total of':''}`; } - const cash = cashFormat(T.count*(50+T.babyCost));r += ` <span class='yellowgreen'>${cash}.</span>`; + const cash = cashFormat(T.count*(50+T.babyCost));r += ` <span class='yellowgreen'>${cash}.</span>`; if (slave.prematureBirth > 0) r += ` A low price due to the added costs of caring for ${T.count > 1 ? 'them':'it'}.`; if (slave.devotion > 20) r += ` ${sn} `; if (slave.fetish == "mindbroken" || slave.fuckdoll > 0) { - r += `has few thoughts about the matter.`; + r += `has few thoughts about the matter.`; } else if (slave.devotion > 95) { - r += `adheres to your thoughts so strongly that even though you backed out of caring for ${V.his} child${T.count > 1 ? 'ren':''}, ${V.he} still truly believes you are doing ${V.him} an honor.`; + r += `adheres to your thoughts so strongly that even though you backed out of caring for ${his} ${child}, ${he} still truly believes you are doing ${him} an honor.`; } else if (slave.devotion > 50) { - r += `is <span class='mediumorchid'>deeply hurt</span> by your sudden decision to sell ${V.his} child${T.count > 1 ? 'ren':''} instead of having ${T.count > 1 ? 'them':'it'} cared for. ${V.his} trust in your words <span class='gold'>wavers</span> as ${V.he} thinks of ${V.his} child${T.count > 1 ? 'ren':''}'s future.`; + r += `is <span class='mediumorchid'>deeply hurt</span> by your sudden decision to sell ${his} ${child} instead of having ${T.count > 1 ? 'them':'it'} cared for. ${His} trust in your words <span class='gold'>wavers</span> as ${he} thinks of ${his} ${child}'s future.`; slave.trust -= 5, slave.devotion -= 5; } else if (slave.devotion > 20) { - r += `is <span class='mediumorchid'>devastated</span> by your sudden decision to sell ${V.his} child${T.count > 1 ? 'ren':''}instead of having ${T.count > 1 ? 'them':'it'} cared for. ${V.his} mind struggles to comprehend <span class='gold'>such betrayal.</span>`; + r += `is <span class='mediumorchid'>devastated</span> by your sudden decision to sell ${his} ${child} instead of having ${T.count > 1 ? 'them':'it'} cared for. ${His} mind struggles to comprehend <span class='gold'>such betrayal.</span>`; slave.trust -= 10, slave.devotion -= 10; } else { - r += `For a moment, ${V.he} saw a glimmer of good in you; <span class='mediumorchid'>${V.he} was clearly wrong.</span> ${V.his} mind struggles to comprehend <span class='gold'>why ${V.he} could ever even think of trusting such a person.</span>`; + r += `For a moment, ${he} saw a glimmer of good in you; <span class='mediumorchid'>${He} was clearly wrong.</span> ${His} mind struggles to comprehend <span class='gold'>why ${he} could ever even think of trusting such a person.</span>`; slave.trust -= 30, slave.devotion -= 30; } V.cash += T.curBabies*(50+T.babyCost); @@ -10698,6 +10702,7 @@ window.generateGenetics = (function() { genes.sexualFlaw = setSexualFlaw(father, mother); genes.behavioralFlaw = setBehavioralFlaw(father, mother); genes.fetish = setFetish(father, mother); + genes.geneticQuirks = setGeneticQuirks(father, mother, genes.gender); return genes; } @@ -10730,11 +10735,6 @@ window.generateGenetics = (function() { return "ovum" + x; } - // name - function setName(x) { - return "ovum" + x; - } - // motherID function setMotherID(actor1ID) { return actor1ID; @@ -11158,6 +11158,90 @@ window.generateGenetics = (function() { return shape; } + // genetic quirks + function setGeneticQuirks(father, mother, sex) { + let quirks = {macromastia: 0, gigantomastia: 0, fertility: 0, hyperFertility: 0, superfetation: 0, gigantism: 0, dwarfism: 0, pFace: 0, uFace: 0, albinism: 0, rearLipedema: 0, wellHung: 0, wGain: 0, wLoss: 0, androgyny: 0}; + let chance = 0; + + // fertility + if (mother.geneticQuirks.fertility == 2) { + if (sex == "XX") { + quirks.fertility = 2; + } else { + quirks.fertility = 1; + } + } else if (mother.geneticQuirks.fertility == 1) { + chance = jsRandom(0, 1000); + if (father !== 0) { + if (father.geneticQuirks.fertility >= 1) { + if (sex == "XX") { + if (chance > 500) { + quirks.fertility = 2; + } else if (chance > 50) { + quirks.fertility = 1; + } + } else { + if (chance > 500) { + quirks.fertility = 1; + } + } + } + } else { + if (sex == "XX") { + if (chance > 950) { + quirks.fertility = 2; + } else if (chance > 200) { + quirks.fertility = 1; + } + } else { + if (chance > 500) { + quirks.fertility = 1; + } + } + } + } + + // hyper fertility + if (mother.geneticQuirks.hyperFertility == 2) { + if (sex == "XX") { + quirks.hyperFertility = 2; + } else { + quirks.hyperFertility = 1; + } + } else if (mother.geneticQuirks.hyperFertility == 1) { + chance = jsRandom(0, 1000); + if (father !== 0) { + if (father.geneticQuirks.hyperFertility >= 1) { + if (sex == "XX") { + if (chance > 750) { + quirks.hyperFertility = 2; + } else if (chance > 500) { + quirks.hyperFertility = 1; + } + } else { + if (chance > 500) { + quirks.hyperFertility = 1; + } + } + } + } else { + if (sex == "XX") { + if (chance > 950) { + quirks.hyperFertility = 2; + } else if (chance > 700) { + quirks.hyperFertility = 1; + } + } else { + if (chance > 700) { + quirks.hyperFertility = 1; + } + } + } + } + + return clone(quirks); + } + return generateGenetics; })(); @@ -11373,6 +11457,7 @@ window.generateChild = function(mother, ova, destination) { child.sexualFlaw = genes.sexualFlaw; child.behavioralFlaw = genes.behavioralFlaw; child.fetish = genes.fetish; + child.geneticQuirks = clone(genes.geneticQuirks); child.pubicHColor = child.hColor; child.underArmHColor = child.hColor; child.eyebrowHColor = child.hColor; @@ -11621,6 +11706,7 @@ window.generateChild = function(mother, ova, destination) { child.sexualFlaw = genes.sexualFlaw; child.behavioralFlaw = genes.behavioralFlaw; child.fetish = genes.fetish; + child.geneticQuirks = clone(genes.geneticQuirks); child.pubicHColor = child.hColor; child.underArmHColor = child.hColor; child.eyebrowHColor = child.hColor; @@ -34291,7 +34377,7 @@ window.generatePronouns = function generatePronouns(slave) { window.GenerateNewSlave = (function(){ 'use strict'; - let V, slave; + let V, slave, chance; function GenerateNewSlave(sex) { V = State.variables; @@ -34373,6 +34459,7 @@ window.GenerateNewSlave = (function(){ generateXXMods(); generateXXBodyHair(); generateXXPuberty(); + generateXXGeneticQuirks(); }; function GenerateXYSlave() { @@ -34395,6 +34482,7 @@ window.GenerateNewSlave = (function(){ generateXYMods(); generateXYBodyHair(); generateXYPuberty(); + generateXYGeneticQuirks(); }; function generateXXBodyProportions() { @@ -35334,6 +35422,32 @@ window.GenerateNewSlave = (function(){ } }; + function generateXXGeneticQuirks() { + chance = jsRandom(1,1000); + if (chance >= 980) { + slave.geneticQuirks.fertility = 2; + } else if (chance >= 900) { + slave.geneticQuirks.fertility = 1; + } + chance = jsRandom(1,10000); + if (chance >= 9970) { + slave.geneticQuirks.hyperFertility = 2; + } else if (chance >= 9900) { + slave.geneticQuirks.hyperFertility = 1; + } + }; + + function generateXYGeneticQuirks() { + chance = jsRandom(1,1000); + if (chance >= 950) { + slave.geneticQuirks.fertility = 1; + } + chance = jsRandom(1,10000); + if (chance >= 9900) { + slave.geneticQuirks.hyperFertility = 1; + } + }; + function generateAge() { if (V.activeSlaveOneTimeMaxAge > 998) { V.activeSlaveOneTimeMaxAge = (V.pedo_mode === 1) ? 18 : 42; diff --git a/src/js/generateGenetics.tw b/src/js/generateGenetics.tw index 0bce4bbbcab91af2d5fd26714b9e4b9780efa5b9..3a450dd1961cefdfd52e53e5dc43822424ca726d 100644 --- a/src/js/generateGenetics.tw +++ b/src/js/generateGenetics.tw @@ -77,6 +77,7 @@ window.generateGenetics = (function() { genes.sexualFlaw = setSexualFlaw(father, mother); genes.behavioralFlaw = setBehavioralFlaw(father, mother); genes.fetish = setFetish(father, mother); + genes.geneticQuirks = setGeneticQuirks(father, mother, genes.gender); return genes; } @@ -532,6 +533,90 @@ window.generateGenetics = (function() { return shape; } + // genetic quirks + function setGeneticQuirks(father, mother, sex) { + let quirks = {macromastia: 0, gigantomastia: 0, fertility: 0, hyperFertility: 0, superfetation: 0, gigantism: 0, dwarfism: 0, pFace: 0, uFace: 0, albinism: 0, rearLipedema: 0, wellHung: 0, wGain: 0, wLoss: 0, androgyny: 0}; + let chance = 0; + + // fertility + if (mother.geneticQuirks.fertility == 2) { + if (sex == "XX") { + quirks.fertility = 2; + } else { + quirks.fertility = 1; + } + } else if (mother.geneticQuirks.fertility == 1) { + chance = jsRandom(0, 1000); + if (father !== 0) { + if (father.geneticQuirks.fertility >= 1) { + if (sex == "XX") { + if (chance > 500) { + quirks.fertility = 2; + } else if (chance > 50) { + quirks.fertility = 1; + } + } else { + if (chance > 500) { + quirks.fertility = 1; + } + } + } + } else { + if (sex == "XX") { + if (chance > 950) { + quirks.fertility = 2; + } else if (chance > 200) { + quirks.fertility = 1; + } + } else { + if (chance > 500) { + quirks.fertility = 1; + } + } + } + } + + // hyper fertility + if (mother.geneticQuirks.hyperFertility == 2) { + if (sex == "XX") { + quirks.hyperFertility = 2; + } else { + quirks.hyperFertility = 1; + } + } else if (mother.geneticQuirks.hyperFertility == 1) { + chance = jsRandom(0, 1000); + if (father !== 0) { + if (father.geneticQuirks.hyperFertility >= 1) { + if (sex == "XX") { + if (chance > 750) { + quirks.hyperFertility = 2; + } else if (chance > 500) { + quirks.hyperFertility = 1; + } + } else { + if (chance > 500) { + quirks.hyperFertility = 1; + } + } + } + } else { + if (sex == "XX") { + if (chance > 950) { + quirks.hyperFertility = 2; + } else if (chance > 700) { + quirks.hyperFertility = 1; + } + } else { + if (chance > 700) { + quirks.hyperFertility = 1; + } + } + } + } + + return clone(quirks); + } + return generateGenetics; })(); @@ -747,6 +832,7 @@ window.generateChild = function(mother, ova, destination) { child.sexualFlaw = genes.sexualFlaw; child.behavioralFlaw = genes.behavioralFlaw; child.fetish = genes.fetish; + child.geneticQuirks = clone(genes.geneticQuirks); child.pubicHColor = child.hColor; child.underArmHColor = child.hColor; child.eyebrowHColor = child.hColor; @@ -995,6 +1081,7 @@ window.generateChild = function(mother, ova, destination) { child.sexualFlaw = genes.sexualFlaw; child.behavioralFlaw = genes.behavioralFlaw; child.fetish = genes.fetish; + child.geneticQuirks = clone(genes.geneticQuirks); child.pubicHColor = child.hColor; child.underArmHColor = child.hColor; child.eyebrowHColor = child.hColor; diff --git a/src/js/generateNewSlaveJS.tw b/src/js/generateNewSlaveJS.tw index a01d64cbffa4d9e1d06b6836af7f03a47eb69db9..4953ae85561e89ad654e101f95f6849b84decf7b 100644 --- a/src/js/generateNewSlaveJS.tw +++ b/src/js/generateNewSlaveJS.tw @@ -2,7 +2,7 @@ window.GenerateNewSlave = (function(){ 'use strict'; - let V, slave; + let V, slave, chance; function GenerateNewSlave(sex) { V = State.variables; @@ -84,6 +84,7 @@ window.GenerateNewSlave = (function(){ generateXXMods(); generateXXBodyHair(); generateXXPuberty(); + generateXXGeneticQuirks(); }; function GenerateXYSlave() { @@ -106,6 +107,7 @@ window.GenerateNewSlave = (function(){ generateXYMods(); generateXYBodyHair(); generateXYPuberty(); + generateXYGeneticQuirks(); }; function generateXXBodyProportions() { @@ -1045,6 +1047,32 @@ window.GenerateNewSlave = (function(){ } }; + function generateXXGeneticQuirks() { + chance = jsRandom(1,1000); + if (chance >= 980) { + slave.geneticQuirks.fertility = 2; + } else if (chance >= 900) { + slave.geneticQuirks.fertility = 1; + } + chance = jsRandom(1,10000); + if (chance >= 9970) { + slave.geneticQuirks.hyperFertility = 2; + } else if (chance >= 9900) { + slave.geneticQuirks.hyperFertility = 1; + } + }; + + function generateXYGeneticQuirks() { + chance = jsRandom(1,1000); + if (chance >= 950) { + slave.geneticQuirks.fertility = 1; + } + chance = jsRandom(1,10000); + if (chance >= 9900) { + slave.geneticQuirks.hyperFertility = 1; + } + }; + function generateAge() { if (V.activeSlaveOneTimeMaxAge > 998) { V.activeSlaveOneTimeMaxAge = (V.pedo_mode === 1) ? 18 : 42; diff --git a/src/uncategorized/longSlaveDescription.tw b/src/uncategorized/longSlaveDescription.tw index 11cc697ed5a3133f8a6ca5856b70f6977e09893b..0a2fe8f10395dffd0d8df209a0cf17f45d4b6230 100644 --- a/src/uncategorized/longSlaveDescription.tw +++ b/src/uncategorized/longSlaveDescription.tw @@ -390,6 +390,8 @@ is <</if>> <</if>> + <<geneticQuirkAssessment>> + <<if $showSexualHistory == 1 && $ui != "start">> <<set _weeksOwned = $week-$activeSlave.weekAcquired>> $He has been with you @@ -551,6 +553,7 @@ is $He's the father of $activeSlave.PCChildrenFathered of your children. <</if>> <</if>> + <</if>> <<if $activeSlave.fuckdoll == 0>> /* NORMAL NON-FUCKDOLL MENTAL REPORT */ diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw index 2c23eeb62b0157f89b88ff829b7dcd2e73e53f3e..05e8e27c2f002bc6f4fd90a38289d66f8fad21f0 100644 --- a/src/uncategorized/remoteSurgery.tw +++ b/src/uncategorized/remoteSurgery.tw @@ -1215,6 +1215,14 @@ $He has //$He already has received the plasticity increasing elasticity treatment// <</if>> <</if>> + <<if $activeSlave.geneticQuirks.hyperFertility == 2>> + <br> + [[Correct genetic hyper fertility|Surgery Degradation][$activeSlave.geneticQuirks.hyperFertility = 0,$cash -= $surgeryCost * 4, $activeSlave.health -= 40, $activeSlave.chem += 100,$surgeryType = "gene treatment"]] + <</if>> + <<if $activeSlave.geneticQuirks.fertility == 2>> + <br> + [[Correct heightened fertility|Surgery Degradation][$activeSlave.geneticQuirks.fertility = 0,$cash -= $surgeryCost * 4, $activeSlave.health -= 40, $activeSlave.chem += 100,$surgeryType = "gene treatment"]] + <</if>> <</if>> <br><br> <</if>> diff --git a/src/uncategorized/surgeryDegradation.tw b/src/uncategorized/surgeryDegradation.tw index 6d22d24063c22f08c45b215d2cd54f61069336a9..39f11c2c5598afd8b5efca573c83b73703721298 100644 --- a/src/uncategorized/surgeryDegradation.tw +++ b/src/uncategorized/surgeryDegradation.tw @@ -2435,7 +2435,7 @@ As the remote surgery's long recovery cycle completes, <<case "womb">> It's not immediately apparent to $him what kind of surgery $he received, since all $he's left with is a terrible nonspecific ache in $his lower belly. As with all invasive surgery @@.red;$his health has been greatly affected.@@ -<<case "elasticity treatment">> +<<case "elasticity treatment" "gene treatment">> The procedure spans the week, with $him spending every other day in the surgery room for a series of 4 sets of injections. A few hours after each session, $he feels terribly ill. $He doesn't quite understand what it's about, just that $he feels pretty bad. The process involves <<if ($PC.medicine >= 100)>>you<<else>>the remote surgeon<</if>> injecting the serum across $his entire body, every few <<if $showInches == 2>>inches<<else>>centimeters<</if>>, leaving small needle marks that fade out within minutes. Despite not leaving a lasting evidence, the process is very invasive work, and leaves $him @@.red;feeling weak and tired.@@ <<case "retrograde virus injection NCS">>