From b1c3c4ca1de33292dfcc060abeb7cc1157816344 Mon Sep 17 00:00:00 2001 From: Arkerthan <arkerthan@gmail.com> Date: Sat, 24 Jul 2021 13:48:20 +0200 Subject: [PATCH 1/3] surgery reaction code style --- js/medicine/surgery/reaction/breastLift.js | 2 +- js/medicine/surgery/reaction/breastReconstruction.js | 2 +- js/medicine/surgery/reaction/chemCastrate.js | 2 +- js/medicine/surgery/reaction/eyeBlur.js | 2 +- js/medicine/surgery/reaction/eyeFix.js | 2 +- js/medicine/surgery/reaction/fuckdollExtraction.js | 2 +- js/medicine/surgery/reaction/insemination.js | 2 +- js/medicine/surgery/reaction/lipo.js | 2 +- js/medicine/surgery/reaction/liposuction.js | 2 +- js/medicine/surgery/reaction/lips.js | 2 +- js/medicine/surgery/reaction/preg.js | 4 ++-- js/medicine/surgery/reaction/pregRemove.js | 2 +- js/medicine/surgery/reaction/race.js | 2 +- js/medicine/surgery/reaction/teeth.js | 2 +- 14 files changed, 15 insertions(+), 15 deletions(-) diff --git a/js/medicine/surgery/reaction/breastLift.js b/js/medicine/surgery/reaction/breastLift.js index 55a0f8eaa81..385226a0521 100644 --- a/js/medicine/surgery/reaction/breastLift.js +++ b/js/medicine/surgery/reaction/breastLift.js @@ -4,7 +4,7 @@ reaction(slave) { const reaction = super.reaction(slave); - const {He, he, his, him, himself} = getPronouns(slave); + const {He, he, his, him, himself} = getPronouns(slave); const r = []; if (slave.fetish === "mindbroken") { diff --git a/js/medicine/surgery/reaction/breastReconstruction.js b/js/medicine/surgery/reaction/breastReconstruction.js index c77ac193033..4053e22b25c 100644 --- a/js/medicine/surgery/reaction/breastReconstruction.js +++ b/js/medicine/surgery/reaction/breastReconstruction.js @@ -4,7 +4,7 @@ reaction(slave) { const reaction = super.reaction(slave); - const {He, he, his, him, himself} = getPronouns(slave); + const {He, he, his, him, himself} = getPronouns(slave); const r = []; if (slave.fetish === "mindbroken") { diff --git a/js/medicine/surgery/reaction/chemCastrate.js b/js/medicine/surgery/reaction/chemCastrate.js index 686b92c82e6..731a0720a74 100644 --- a/js/medicine/surgery/reaction/chemCastrate.js +++ b/js/medicine/surgery/reaction/chemCastrate.js @@ -6,7 +6,7 @@ reaction(slave) { const reaction = super.reaction(slave); - const {He, he, his} = getPronouns(slave); + const {He, he, his} = getPronouns(slave); const r = []; r.push(`${He} knows something has been done to ${his} testicles, but ${he} can't feel anything off about them. Since the surgery was nothing more than a simple injection, ${he} has been spared any pain.`); diff --git a/js/medicine/surgery/reaction/eyeBlur.js b/js/medicine/surgery/reaction/eyeBlur.js index 70f06c6541f..1acbb344daf 100644 --- a/js/medicine/surgery/reaction/eyeBlur.js +++ b/js/medicine/surgery/reaction/eyeBlur.js @@ -4,7 +4,7 @@ reaction(slave) { const reaction = super.reaction(slave); - const {He, he, his} = getPronouns(slave); + const {He, he, his} = getPronouns(slave); const r = []; r.push(`The laser eye surgery is brief, with <span class="health dec">nothing more than minor health effects.</span> As soon as ${he} is allowed to open ${his} eyes and look around, ${he} begins to glance back and forth frantically, not immediately understanding that this blurred world is ${his} new reality.`); diff --git a/js/medicine/surgery/reaction/eyeFix.js b/js/medicine/surgery/reaction/eyeFix.js index 42e06d25e2b..627c624bdc8 100644 --- a/js/medicine/surgery/reaction/eyeFix.js +++ b/js/medicine/surgery/reaction/eyeFix.js @@ -4,7 +4,7 @@ reaction(slave) { const reaction = super.reaction(slave); - const {He, he, his, him} = getPronouns(slave); + const {He, he, his, him} = getPronouns(slave); const r = []; r.push(`The laser eye surgery is brief, with <span class="health dec">nothing more than minor health effects.</span> As soon as ${he} is allowed to open ${his} eyes and look around, ${his} gaze flicks from object to object with manic speed as ${he} processes ${his} newly clear vision. Seeing the world as it is without glasses or contact lenses is a gift that those who do not need it cannot properly understand.`); diff --git a/js/medicine/surgery/reaction/fuckdollExtraction.js b/js/medicine/surgery/reaction/fuckdollExtraction.js index b6af685b051..9ec9c26d6fb 100644 --- a/js/medicine/surgery/reaction/fuckdollExtraction.js +++ b/js/medicine/surgery/reaction/fuckdollExtraction.js @@ -19,7 +19,7 @@ reaction(slave) { const reaction = super.reaction(slave); const {He, he, His, his, him, himself} = getPronouns(slave); - const r = []; + const r = []; r.push(`If you were expecting a great return to humanity after extracting ${him} from ${his} Fuckdoll suit, you're to be disappointed.`); if (getBestVision(slave) > 0) { r.push(`You're denied any reaction from ${him} to the sight of ${himself} in the mirror outside the recovery area, as ${he}'s wearing a pair of very dark glasses ${he}'ll have to keep on for a few hours yet. ${He}'s been denied almost all vision for a long time, and though ${his} recovery included light therapy, ${he}'s still very sensitive to it.`); diff --git a/js/medicine/surgery/reaction/insemination.js b/js/medicine/surgery/reaction/insemination.js index f8bc8475aab..3c5437cb557 100644 --- a/js/medicine/surgery/reaction/insemination.js +++ b/js/medicine/surgery/reaction/insemination.js @@ -6,7 +6,7 @@ reaction(slave) { const reaction = super.reaction(slave); - const {He, he, his, him} = getPronouns(slave); + const {He, he, his, him} = getPronouns(slave); const r = []; if (slave.fetish === "mindbroken") { diff --git a/js/medicine/surgery/reaction/lipo.js b/js/medicine/surgery/reaction/lipo.js index e17439e4390..4d15e32d08c 100644 --- a/js/medicine/surgery/reaction/lipo.js +++ b/js/medicine/surgery/reaction/lipo.js @@ -4,7 +4,7 @@ reaction(slave) { const reaction = super.reaction(slave); - const {He, he, his, him, himself} = getPronouns(slave); + const {He, he, his, him, himself} = getPronouns(slave); const r = []; if (slave.fetish === "mindbroken") { diff --git a/js/medicine/surgery/reaction/liposuction.js b/js/medicine/surgery/reaction/liposuction.js index 89faed956fc..5b1829e0bcc 100644 --- a/js/medicine/surgery/reaction/liposuction.js +++ b/js/medicine/surgery/reaction/liposuction.js @@ -4,7 +4,7 @@ reaction(slave) { const reaction = super.reaction(slave); - const {He, he, his, him, himself} = getPronouns(slave); + const {He, he, his, him, himself} = getPronouns(slave); const r = []; if (slave.fetish === "mindbroken") { diff --git a/js/medicine/surgery/reaction/lips.js b/js/medicine/surgery/reaction/lips.js index 09972cc2171..801dc62b813 100644 --- a/js/medicine/surgery/reaction/lips.js +++ b/js/medicine/surgery/reaction/lips.js @@ -4,7 +4,7 @@ reaction(slave) { const reaction = super.reaction(slave); - const {He, he, his, himself} = getPronouns(slave); + const {He, he, his, himself} = getPronouns(slave); const r = []; if (slave.fetish === "mindbroken") { diff --git a/js/medicine/surgery/reaction/preg.js b/js/medicine/surgery/reaction/preg.js index 417841f4144..3ff922700a1 100644 --- a/js/medicine/surgery/reaction/preg.js +++ b/js/medicine/surgery/reaction/preg.js @@ -4,7 +4,7 @@ reaction(slave) { const reaction = super.reaction(slave); - const {He, he, his, him} = getPronouns(slave); + const {He, he, his, him} = getPronouns(slave); let r = []; r.push(`${He} leaves the surgery with a certain warmth in ${his} lower abdomen, ${he} knows that ${he} has been impregnated.`); @@ -28,7 +28,7 @@ if (V.PC.dick !== 0) { reaction.longReaction.push(r); r = []; - const seed = App.UI.DOM.makeElement("span", `The implant is highly receptive to fresh sperm right now; it would be trivial to seed it with yours and force ${him} to bear hundreds of your children.`); + const seed = App.UI.DOM.makeElement("span", `The implant is highly receptive to fresh sperm right now; it would be trivial to seed it with yours and force ${him} to bear hundreds of your children.`); r.push(seed); App.UI.DOM.appendNewElement("div", seed, App.UI.DOM.link( `Seed ${his} pregnancy implant with your genetic material`, diff --git a/js/medicine/surgery/reaction/pregRemove.js b/js/medicine/surgery/reaction/pregRemove.js index e184d6999eb..7c5529c747b 100644 --- a/js/medicine/surgery/reaction/pregRemove.js +++ b/js/medicine/surgery/reaction/pregRemove.js @@ -4,7 +4,7 @@ reaction(slave) { const reaction = super.reaction(slave); - const {He, he, his, him} = getPronouns(slave); + const {He, he, his, him} = getPronouns(slave); const r = []; r.push(`${He} leaves the surgery with a certain soreness and minor pain in ${his} lower abdomen, ${he} knows that ${his} days as broodmother are finished.`); diff --git a/js/medicine/surgery/reaction/race.js b/js/medicine/surgery/reaction/race.js index 331c56790db..238ff4e3663 100644 --- a/js/medicine/surgery/reaction/race.js +++ b/js/medicine/surgery/reaction/race.js @@ -4,7 +4,7 @@ reaction(slave) { const reaction = super.reaction(slave); - const {He, he, his, him, himself} = getPronouns(slave); + const {He, he, his, him, himself} = getPronouns(slave); const r = []; if (slave.fetish === "mindbroken") { diff --git a/js/medicine/surgery/reaction/teeth.js b/js/medicine/surgery/reaction/teeth.js index bcbb56e1989..0e89280c636 100644 --- a/js/medicine/surgery/reaction/teeth.js +++ b/js/medicine/surgery/reaction/teeth.js @@ -4,7 +4,7 @@ reaction(slave) { const reaction = super.reaction(slave); - const {He, he, his, him, himself} = getPronouns(slave); + const {He, he, his, him, himself} = getPronouns(slave); const r = []; if (slave.fetish === "mindbroken") { -- GitLab From dc87d7a231066980c609b2f9b4cae8cdf5cd28fe Mon Sep 17 00:00:00 2001 From: Arkerthan <arkerthan@gmail.com> Date: Sat, 24 Jul 2021 19:06:46 +0200 Subject: [PATCH 2/3] fix SC2's random() not available outside eval, replace with Math.random() --- js/medicine/surgery/reaction/boobs.js | 8 ++++---- js/medicine/surgery/reaction/fatGraft.js | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/js/medicine/surgery/reaction/boobs.js b/js/medicine/surgery/reaction/boobs.js index 3a9bff6cc0b..b14c453838c 100644 --- a/js/medicine/surgery/reaction/boobs.js +++ b/js/medicine/surgery/reaction/boobs.js @@ -8,17 +8,17 @@ const heGlaresDaggers = canSee(slave) ? `${he} glares daggers` : `${his} face contorts with distaste`; const r = []; - if (slave.areolae < 2 && random(1, 100) > 70) { + if (slave.areolae < 2 && Math.random() > 0.7) { r.push(`The increase in breast size <span class="lime">stretches and broadens ${his} areolae.</span>`); slave.areolae += 1; } if (slave.nipples === "puffy") { - if (random(1, 100) > 70) { + if (Math.random() > 0.7) { r.push(`The breast surgery is invasive, and when ${his} nipples heal, <span class="orange">they're a bit more normal.</span>`); slave.nipples = "cute"; } } else if (slave.nipples === "huge") { - if (random(1, 100) > 90) { + if (Math.random() > 0.9) { r.push(`The breast surgery is invasive, and when ${his} nipples heal, <span class="orange">they're a bit smaller.</span>`); slave.nipples = "puffy"; } @@ -29,7 +29,7 @@ if ((slave.boobShape !== "spherical") && (slave.boobsImplant / slave.boobs >= 0.90)) { r.push(`With so little actual flesh left, the shape of ${his} breasts are now entirely dictated by the implants within, <span class="lime">rendering them comically spherical.</span>`); slave.boobShape = "spherical"; - } else if (slave.boobShape !== "normal" && slave.boobShape !== "spherical" && random(1, 100) > 50) { + } else if (slave.boobShape !== "normal" && slave.boobShape !== "spherical" && Math.random() > 0.5) { r.push(`The natural shape of ${his} breasts has been eliminated by the cosmetic surgery, <span class="lime">rendering ${his} boobs pretty and rounded.</span>`); slave.boobShape = "normal"; } diff --git a/js/medicine/surgery/reaction/fatGraft.js b/js/medicine/surgery/reaction/fatGraft.js index d0c19851808..2415c49e37a 100644 --- a/js/medicine/surgery/reaction/fatGraft.js +++ b/js/medicine/surgery/reaction/fatGraft.js @@ -21,7 +21,7 @@ r.push(`and turns to you with a smile to show it off. As an anorexic <span class="devotion inc">${he} thinks you have brought ${him} closer to the true ideal.</span>`); if (boobFat > 0) { if (slave.areolae < 2) { - if (random(1, 100) > 70) { + if (Math.random() > 0.7) { r.push(`The increase in breast size <span class="lime">stretches and broadens ${his} areolae.</span>`); slave.areolae += 1; } @@ -64,7 +64,7 @@ r.push(`and turns to you with a smile to show it off. ${He}'s still sore, so ${he} doesn't bend or flirt, but ${he} turns around to let you see it from all angles. <span class="devotion inc">${He}'s happy with your changes to ${his} body.</span>`); if (boobFat > 0) { if (slave.areolae < 2) { - if (random(1, 100) > 70) { + if (Math.random() > 0.7) { r.push(`The increase in breast size <span class="lime">stretches and broadens ${his} areolae.</span>`); slave.areolae += 1; } @@ -100,7 +100,7 @@ } else if (slave.devotion >= -20) { if (boobFat > 0) { if (slave.areolae < 2) { - if (random(1, 100) > 70) { + if (Math.random() > 0.7) { r.push(`The increase in breast size <span class="lime">stretches and broadens ${his} areolae.</span>`); slave.areolae += 1; } @@ -136,7 +136,7 @@ } else { if (boobFat > 0) { if (slave.areolae < 2) { - if (random(1, 100) > 70) { + if (Math.random() > 0.7) { r.push(`The increase in breast size <span class="lime">stretches and broadens ${his} areolae.</span>`); slave.areolae += 1; } -- GitLab From ebc53a4c69c1b389ee3b85ec50351fd60718b844 Mon Sep 17 00:00:00 2001 From: Arkerthan <arkerthan@gmail.com> Date: Sat, 24 Jul 2021 19:10:09 +0200 Subject: [PATCH 3/3] move surgery reactions to reactions class, batch 4 --- .../surgery/reaction/addAnimalBalls.js | 52 ++ .../surgery/reaction/addAnimalOvaries.js | 36 + js/medicine/surgery/reaction/addBalls.js | 51 ++ js/medicine/surgery/reaction/addDick.js | 48 ++ js/medicine/surgery/reaction/addForeskin.js | 65 ++ js/medicine/surgery/reaction/addOvaries.js | 36 + js/medicine/surgery/reaction/addProstate.js | 64 ++ js/medicine/surgery/reaction/addScrotum.js | 64 ++ js/medicine/surgery/reaction/addTesticles.js | 36 + js/medicine/surgery/reaction/amp.js | 33 + js/medicine/surgery/reaction/anus.js | 39 + .../surgery/reaction/asexualReproOvaries.js | 52 ++ .../surgery/reaction/clitoralEnlargement.js | 38 + .../surgery/reaction/clitoralReduction.js | 38 + js/medicine/surgery/reaction/fertility.js | 34 + js/medicine/surgery/reaction/foreskinTuck.js | 56 ++ js/medicine/surgery/reaction/heels.js | 47 ++ .../surgery/reaction/heelsRestoration.js | 25 + js/medicine/surgery/reaction/hips.js | 29 + js/medicine/surgery/reaction/labiaplasty.js | 34 + js/medicine/surgery/reaction/mute.js | 13 + .../surgery/reaction/pLimbInterface.js | 19 + .../surgery/reaction/pLimbInterface1.js | 42 + .../surgery/reaction/pLimbInterface2.js | 42 + .../surgery/reaction/pLimbInterface3.js | 39 + js/medicine/surgery/reaction/shoulders.js | 29 + js/medicine/surgery/reaction/sterilize.js | 37 + js/medicine/surgery/reaction/tummyTuck.js | 36 + js/medicine/surgery/reaction/vagina.js | 39 + src/npc/descriptions/limbs.js | 2 +- src/npc/surgery/surgeryDegradation.js | 776 +----------------- 31 files changed, 1187 insertions(+), 764 deletions(-) create mode 100644 js/medicine/surgery/reaction/addAnimalBalls.js create mode 100644 js/medicine/surgery/reaction/addAnimalOvaries.js create mode 100644 js/medicine/surgery/reaction/addBalls.js create mode 100644 js/medicine/surgery/reaction/addDick.js create mode 100644 js/medicine/surgery/reaction/addForeskin.js create mode 100644 js/medicine/surgery/reaction/addOvaries.js create mode 100644 js/medicine/surgery/reaction/addProstate.js create mode 100644 js/medicine/surgery/reaction/addScrotum.js create mode 100644 js/medicine/surgery/reaction/addTesticles.js create mode 100644 js/medicine/surgery/reaction/amp.js create mode 100644 js/medicine/surgery/reaction/anus.js create mode 100644 js/medicine/surgery/reaction/asexualReproOvaries.js create mode 100644 js/medicine/surgery/reaction/clitoralEnlargement.js create mode 100644 js/medicine/surgery/reaction/clitoralReduction.js create mode 100644 js/medicine/surgery/reaction/fertility.js create mode 100644 js/medicine/surgery/reaction/foreskinTuck.js create mode 100644 js/medicine/surgery/reaction/heels.js create mode 100644 js/medicine/surgery/reaction/heelsRestoration.js create mode 100644 js/medicine/surgery/reaction/hips.js create mode 100644 js/medicine/surgery/reaction/labiaplasty.js create mode 100644 js/medicine/surgery/reaction/pLimbInterface.js create mode 100644 js/medicine/surgery/reaction/pLimbInterface1.js create mode 100644 js/medicine/surgery/reaction/pLimbInterface2.js create mode 100644 js/medicine/surgery/reaction/pLimbInterface3.js create mode 100644 js/medicine/surgery/reaction/shoulders.js create mode 100644 js/medicine/surgery/reaction/sterilize.js create mode 100644 js/medicine/surgery/reaction/tummyTuck.js create mode 100644 js/medicine/surgery/reaction/vagina.js diff --git a/js/medicine/surgery/reaction/addAnimalBalls.js b/js/medicine/surgery/reaction/addAnimalBalls.js new file mode 100644 index 00000000000..2299fd284f2 --- /dev/null +++ b/js/medicine/surgery/reaction/addAnimalBalls.js @@ -0,0 +1,52 @@ +{ + class AddAnimalBalls extends App.Medicine.Surgery.Reaction { + get key() { return "addAnimalBalls"; } + + reaction(slave) { + const reaction = super.reaction(slave); + const {He, he, His, his, him, himself} = getPronouns(slave); + const r = []; + + // TODO This willl require a rewrite + + if (slave.fetish === "mindbroken") { + r.push(`${He} lies back in the surgical chair${(canSee(slave)) ? `, gazing at ${himself} in the ceiling mirror` : ``} as the fog of anesthetics lifts and feeling returns to ${his} lower half. ${His} new testicles are small, and ${his} scrotum is scarcely visible under ${his} dick, but its impact becomes immediately clear. ${He} slowly achieves an excruciatingly painful erection, panting with the pain as ${his} very sore member becomes hard. The terrible overstimulation brings a spurt of cum jetting out of ${his} cockhead. As the agony melts away, ${he} struggles to understand what just happened. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + } else if (slave.devotion > 50) { + r.push(`${He} lies back in the surgical chair${(canSee(slave)) ? `, gazing at ${himself} in the ceiling mirror` : ``} as the fog of anesthetics lifts and feeling returns to ${his} lower half. As a devoted slave, ${he} knew the essentials of the surgery before it was performed, so ${he}'s excited to`); + if (canSee(slave)) { + r.push(`see`); + } else { + r.push(`feel`); + } + r.push(`the result. ${His} new testicles are small, and ${his} scrotum is scarcely visible under ${his} dick, but its impact becomes immediately clear. ${He} slowly achieves an excruciatingly painful erection, panting with the pain as ${his} very sore member becomes hard. The terrible overstimulation brings a spurt of cum jetting out of ${his} cockhead. As the agony melts away, ${he} begins to giggle. ${He} is <span class="trust inc">tremendously impressed</span> that you would devote such immense resources to altering ${his} body, and is more willing than ever to <span class="devotion inc">submit to your plans</span> for ${his} future. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + reaction.trust += 5; + reaction.devotion += 5; + } else if (slave.devotion >= -20) { + r.push(`${He} lies back in the surgical chair${(canSee(slave)) ? `, gazing at ${himself} in the ceiling mirror` : ``} as the fog of anesthetics lifts and feeling returns to ${his} lower half. ${He} cannot quite feel what has happened to ${him} yet, but ${he} does not have long to wait. ${His} new testicles are small, and ${his} scrotum is scarcely visible under ${his} dick, but its impact becomes immediately clear. ${He} slowly achieves an excruciatingly painful erection, panting with the pain as ${his} very sore member becomes hard. The terrible overstimulation brings a spurt of cum jetting out of ${his} cockhead. As the agony melts away, the rush of new hormones clashes with ${his} already roiling emotions, and ${he} begins to sob. ${He} is <span class="trust dec">terrified</span> of your apparently untrammeled power over ${his} body, so much so that ${he} is now more willing to <span class="devotion inc">submit to your plans</span> for ${his} future. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + reaction.trust -= 5; + reaction.devotion += 5; + } else { + r.push(`The autosurgery allows ${him} to recover for a while. Once it's safe, though, it's time to test the function of ${his} new organs by seeing if they permit ${him} to achieve erection. The surgery slowly inserts a dildo into ${his} anus; the slave is so fuzzy from the surgery and accompanying drugs that it takes a while for the machine assfuck to register. Gradually, though, ${his} new dick becomes hard. Horrified, ${he} cannot take ${his}`); + if (canSee(slave)) { + r.push(`eyes off ${his} own reflection in the ceiling mirror`); + } else { + r.push(`mind off ${his} soft cock`); + } + r.push(`as it bobs and waves with the sodomy. A delayed reaction sets in as the soreness of surgical recovery competes with the stimulation:`); + if (slave.voice === 0) { + r.push(`${he} tries to scream, but only manages to gasp repeatedly`); + } else { + r.push(`${he} howls with pain and terror`); + } + r.push(`as the dildo forces a weak prostate orgasm. ${He} is <span class="trust dec">terrified</span> of your apparently untrammeled power over ${his} body, and <span class="devotion dec">furious</span> at ${his} lack of control over ${his} own person. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + reaction.trust -= 5; + reaction.devotion -= 5; + } + + reaction.longReaction.push(r); + return reaction; + } + } + + new AddAnimalBalls(); +} diff --git a/js/medicine/surgery/reaction/addAnimalOvaries.js b/js/medicine/surgery/reaction/addAnimalOvaries.js new file mode 100644 index 00000000000..ed4563ea5be --- /dev/null +++ b/js/medicine/surgery/reaction/addAnimalOvaries.js @@ -0,0 +1,36 @@ +{ + class AddAnimalOvaries extends App.Medicine.Surgery.Reaction { + get key() { return "addAnimalOvaries"; } + + reaction(slave) { + const reaction = super.reaction(slave); + const {He, he, his, him} = getPronouns(slave); + const r = []; + + if (slave.fetish === "mindbroken") { + r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but lacks the mental faculties to realize that ${he} now has a chance of carrying an animal baby to term. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + } else if (this._strongKnownFetish(slave, "pregnancy") || slave.origin === "$He sold $himself to you in the hope of someday bearing children.") { + r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} has managed to catch enough slave rumors about what the organ farm can do to know that it means ${he} now has a chance to get pregnant. ${He} is filled with joy whenever ${he} thinks about the fact that feeling a life growing within ${him} is now, at last, a possibility. ${He} now places <span class="trust inc">total faith</span> in your plans for ${his} body and <span class="devotion inc">adores you</span> for giving ${him} a gift ${he} once thought impossible. ${He} doesn't realize exactly what the surgery entailed, however — the happiness ${he} felt at first will most likely be replaced with horror once ${he} realizes the babies in ${his} womb are not human. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + reaction.trust += 10; + reaction.devotion += 10; + } else if (slave.devotion > 50) { + r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} has managed to catch enough slave rumors about what the organ farm can do to know that it means ${he} is now internally indistinguishable from a natural, unaltered woman — at least, that's what ${he} believes. Little does ${he} know that ${he} is now capable of carrying animal babies in ${his} womb. ${He} is <span class="trust inc">tremendously impressed</span> that you would devote such immense resources to altering ${his} body, and is more willing than ever to <span class="devotion inc">submit to your plans</span> for ${his} future. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + reaction.trust += 5; + reaction.devotion += 5; + } else if (slave.devotion >= -20) { + r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} has managed to catch enough slave rumors about what the organ farm can do to know that it means ${he} is now internally indistinguishable from a natural, unaltered woman — at least, that's what ${he} believes. Little does ${he} know that ${he} is now capable of carrying animal babies in ${his} womb. ${He} is <span class="trust dec">terrified</span> of your apparently untrammeled power over ${his} body, so much so that ${he} is now more willing to <span class="devotion inc">submit to your plans</span> for ${his} future. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + reaction.trust -= 5; + reaction.devotion += 5; + } else { + r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} has managed to catch enough slave rumors about what the organ farm can do to know that it means ${he} is now internally indistinguishable from a natural, unaltered woman — at least, that's what ${he} believes. Little does ${he} know that ${he} is now capable of carrying animal babies in ${his} womb. ${He} is <span class="trust dec">terrified</span> of your apparently untrammeled power over ${his} body, and <span class="devotion dec">furious</span> at ${his} lack of control over ${his} own person. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + reaction.trust -= 5; + reaction.devotion -= 5; + } + + reaction.longReaction.push(r); + return reaction; + } + } + + new AddAnimalOvaries(); +} diff --git a/js/medicine/surgery/reaction/addBalls.js b/js/medicine/surgery/reaction/addBalls.js new file mode 100644 index 00000000000..4fe6d0339c6 --- /dev/null +++ b/js/medicine/surgery/reaction/addBalls.js @@ -0,0 +1,51 @@ +{ + class AddBalls extends App.Medicine.Surgery.Reaction { + get key() { return "addBalls"; } + + reaction(slave) { + const reaction = super.reaction(slave); + const {He, he, His, his, him, himself} = getPronouns(slave); + const r = []; + + if (slave.fetish === "mindbroken") { + r.push(`${He} lies back in the surgical chair${(canSee(slave)) ? `, gazing at ${himself} in the ceiling mirror` : ``} as the fog of anesthetics lifts and feeling returns to ${his} lower half. ${His} new testicles are small, and ${his} scrotum is scarcely visible under ${his} dick, but its impact becomes immediately clear. ${He} slowly achieves an excruciatingly painful erection, panting with the pain as ${his} very sore member becomes hard. The terrible overstimulation brings a spurt of cum jetting out of ${his} cockhead. As the agony melts away, ${he} struggles to understand what just happened. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + } else if (slave.devotion > 50) { + r.push(`${He} lies back in the surgical chair${(canSee(slave)) ? `, gazing at ${himself} in the ceiling mirror` : ``} as the fog of anesthetics lifts and feeling returns to ${his} lower half. As a devoted slave, ${he} knew the essentials of the surgery before it was performed, so ${he}'s excited to`); + if (canSee(slave)) { + r.push(`see`); + } else { + r.push(`feel`); + } + r.push(`the result. ${His} new testicles are small, and ${his} scrotum is scarcely visible under ${his} dick, but its impact becomes immediately clear. ${He} slowly achieves an excruciatingly painful erection, panting with the pain as ${his} very sore member becomes hard. The terrible overstimulation brings a spurt of cum jetting out of ${his} cockhead. As the agony melts away, ${he} begins to giggle. ${He} is <span class="trust inc">tremendously impressed</span> that you would devote such immense resources to altering ${his} body, and is more willing than ever to <span class="devotion inc">submit to your plans</span> for ${his} future. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + reaction.trust += 5; + reaction.devotion += 5; + } else if (slave.devotion >= -20) { + r.push(`${He} lies back in the surgical chair${(canSee(slave)) ? `, gazing at ${himself} in the ceiling mirror` : ``} as the fog of anesthetics lifts and feeling returns to ${his} lower half. ${He} cannot quite feel what has happened to ${him} yet, but ${he} does not have long to wait. ${His} new testicles are small, and ${his} scrotum is scarcely visible under ${his} dick, but its impact becomes immediately clear. ${He} slowly achieves an excruciatingly painful erection, panting with the pain as ${his} very sore member becomes hard. The terrible overstimulation brings a spurt of cum jetting out of ${his} cockhead. As the agony melts away, the rush of new hormones clashes with ${his} already roiling emotions, and ${he} begins to sob. ${He} is <span class="trust dec">terrified</span> of your apparently untrammeled power over ${his} body, so much so that ${he} is now more willing to <span class="devotion inc">submit to your plans</span> for ${his} future. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + reaction.trust -= 5; + reaction.devotion += 5; + } else { + r.push(`The autosurgery allows ${him} to recover for a while. Once it's safe, though, it's time to test the function of ${his} new organs by seeing if they permit ${him} to achieve erection. The surgery slowly inserts a dildo into ${his} anus; the slave is so fuzzy from the surgery and accompanying drugs that it takes a while for the machine assfuck to register. Gradually, though, ${his} new dick becomes hard. Horrified, ${he} cannot take ${his}`); + if (canSee(slave)) { + r.push(`eyes off ${his} own reflection in the ceiling mirror`); + } else { + r.push(`mind off ${his} soft cock`); + } + r.push(`as it bobs and waves with the sodomy. A delayed reaction sets in as the soreness of surgical recovery competes with the stimulation:`); + if (canTalk(slave, false)) { + r.push(`${he} howls with pain and terror`); + } else { + r.push(`${he} tries to scream, but only manages to gasp repeatedly`); + } + r.push(`as the dildo forces a weak prostate orgasm. ${He} is <span class="trust dec">terrified</span> of your apparently untrammeled power over ${his} body, and <span class="devotion dec">furious</span> at ${his} lack of control over ${his} own person. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + reaction.trust -= 5; + reaction.devotion -= 5; + } + + + reaction.longReaction.push(r); + return reaction; + } + } + + new AddBalls(); +} diff --git a/js/medicine/surgery/reaction/addDick.js b/js/medicine/surgery/reaction/addDick.js new file mode 100644 index 00000000000..b09f5315eae --- /dev/null +++ b/js/medicine/surgery/reaction/addDick.js @@ -0,0 +1,48 @@ +{ + class AddDick extends App.Medicine.Surgery.Reaction { + get key() { return "addDick"; } + + reaction(slave) { + const reaction = super.reaction(slave); + const {He, he, His, his, him} = getPronouns(slave); + const r = []; + + if (slave.fetish === "mindbroken") { + r.push(`The surgery is invasive, and ${he} spends some time in the autosurgery, slowly recovering. As feeling slowly returns to the lower half of ${his} body and ${his} thoughts coalesce against the dissipating fog of surgical pharmacology, ${he} strains to focus on ${his} groin${(canSee(slave)) ? `, visible in a ceiling mirror above ${him}` : ``}. ${His} eyes open wide as ${he} takes in the new member between ${his} legs. Suddenly, it twitches for the first time. The mixed pain of the terribly sore area and pleasure of new sensations floods ${him}, and ${he} jerks against the surgical restraints, gasping for breath. <span class="health dec">${his} health has been severely affected</span> by the intrusive surgery.`); + } else if (slave.devotion > 50) { + r.push(`The surgery is invasive, and ${he} spends some time in the autosurgery, slowly recovering. As feeling slowly returns to the lower half of ${his} body and ${his} thoughts coalesce against the dissipating fog of surgical pharmacology, ${he} strains to focus on ${his} groin${(canSee(slave)) ? `, visible in a ceiling mirror above ${him}` : ``}. As a devoted slave, ${he} knew the essentials of the surgery before it was performed, so ${he}'s excited to`); + if (canSee(slave)) { + r.push(`see`); + } else { + r.push(`feel`); + } + r.push(`the result. ${His} eyes open wide as ${he} takes in the new member between ${his} legs. Suddenly, it twitches for the first time. The mixed pain of the terribly sore area and pleasure of new sensations floods ${him}, and ${he} jerks against the surgical restraints, gasping for breath. ${He} is <span class="trust inc">tremendously impressed</span> that you would devote such immense resources to altering ${his} body, and is more willing than ever to <span class="devotion inc">submit to your plans</span> for ${his} future. <span class="health dec">${his} health has been severely affected</span> by the intrusive surgery.`); + reaction.trust += 5; + reaction.devotion += 5; + } else if (slave.devotion >= -20) { + r.push(`The surgery is invasive, and ${he} spends some time in the autosurgery, slowly recovering. As feeling slowly returns to the lower half of ${his} body and ${his} thoughts coalesce against the dissipating fog of surgical pharmacology, ${he} focuses on ${his} groin${(canSee(slave)) ? `, visible in a ceiling mirror above ${him}` : ``}. ${He} slowly becomes aware of the soft new member resting between ${his} legs. ${He} has a penis. The thought process is visible on ${his} face as the fact sinks in. ${He} has a penis! Unsure what to make of this unbelievable development, ${he}`); + if (canSee(slave)) { + r.push(`turns ${his} gaze away from the mirror and`); + } + r.push(`shuts ${his} eyes tightly. ${He} is <span class="trust dec">terrified</span> of your apparently untrammeled power over ${his} body, so much so that ${he} is now more willing to <span class="devotion inc">submit to your plans</span> for ${his} future. <span class="health dec">${his} health has been severely affected</span> by the intrusive surgery.`); + reaction.trust -= 5; + reaction.devotion += 5; + } else { + r.push(`The surgery is invasive, and ${he} spends some time in the autosurgery, slowly recovering. As feeling slowly returns to the lower half of ${his} body and ${his} thoughts coalesce against the dissipating fog of surgical pharmacology, ${he} focuses on ${his} groin${(canSee(slave)) ? `, visible in a ceiling mirror above ${him}` : ``}. ${He} slowly becomes aware of the soft new member resting between ${his} legs. ${He} has a penis. The thought process is visible on ${his} face as the fact sinks in. ${He} has a penis!`); + if (slave.voice === 0) { + r.push(`${He} tries to scream, but as a mute all ${he} can manage is pathetic, silent thrashing against the surgical restraints.`); + } else { + r.push(`A huge scream rises out of ${him}, going on and on, until ${he} pauses to gasp for breath so ${he} can go on screaming.`); + } + r.push(`${He} is <span class="trust dec">terrified</span> of your apparently untrammeled power over ${his} body, and <span class="devotion dec">furious</span> at ${his} lack of control over ${his} own person. <span class="health dec">${his} health has been severely affected</span> by the intrusive surgery.`); + reaction.trust -= 5; + reaction.devotion -= 5; + } + + reaction.longReaction.push(r); + return reaction; + } + } + + new AddDick(); +} diff --git a/js/medicine/surgery/reaction/addForeskin.js b/js/medicine/surgery/reaction/addForeskin.js new file mode 100644 index 00000000000..a3e507e47c2 --- /dev/null +++ b/js/medicine/surgery/reaction/addForeskin.js @@ -0,0 +1,65 @@ +{ + class AddForeskin extends App.Medicine.Surgery.Reaction { + get key() { return "addForeskin"; } + + reaction(slave) { + const reaction = super.reaction(slave); + const {He, he, His, his, him} = getPronouns(slave); + const r = []; + + if (slave.dick > 0) { + r.push(`${He} leaves the surgery gingerly, knowing ${he}'s had surgery on ${his} dick. Taking the first opportunity to check out ${his} member${(canSee(slave)) ? `in a mirror` : ``}, ${he}'s`); + if (slave.fetish === "mindbroken") { + r.push(`confused to find nothing has really changed.`); + } else if (slave.devotion > 50) { + r.push(`titillated to find that ${he} has a foreskin. ${He} examines it`); + if (canSee(slave)) { + r.push(`carefully and then touches it,`); + } + r.push(`very gently. ${He}'s very sore, obviously, but the sudden sensation is almost too much for ${him}. ${His} resolution to investigate ${his} remodeled dick, but later, is almost visible. It's obvious that ${he} can hardly wait, <span class="trust inc">anticipating</span> all the new sensations that this new and very sensitive patch of skin can offer ${him}. ${He}'s <span class="devotion inc">grateful</span> to you for improving ${his} dick.`); + reaction.trust += 5; + reaction.devotion += 5; + } else if (slave.devotion >= -20) { + r.push(`quite surprised, and a little relieved, to find that ${he} has a foreskin. ${He} examines it`); + if (canSee(slave)) { + r.push(`carefully and then touches it,`); + } + r.push(`very gently. ${He}'s very sore, obviously, but the sudden sensation is almost too much for ${him}. ${He} seems to have been worried that something more dramatic than a reversal of circumcision had been done to ${him}, but ${his} chief reaction is <span class="devotion inc">mystified submission</span> to you afterward. Your total power over ${his} body has been made clear to ${him} in a way that provokes confusion, not fear.`); + reaction.devotion += 5; + } else { + r.push(`shocked to find that ${he} has a foreskin. ${He}'s not exactly resentful of you for doing this, since whatever ${his} feelings about circumcision might be, it's very far from what ${he} feared might be done to ${his} dick. ${His} reaction is dominated by <span class="trust dec">fear of the unknown,</span> since ${he}'s now wondering whether ${he} has any ability to predict your actions at all. Whatever ${his} mental model of you was before this, it probably didn't include you restoring ${his} foreskin.`); + reaction.trust -= 5; + } + } else { + r.push(`${He} leaves the surgery gingerly, knowing ${he}'s had surgery on ${his} genitals. Taking the first opportunity to check out ${his} crotch${(canSee(slave)) ? `in a mirror` : ``}, ${he}'s`); + if (slave.fetish === "mindbroken") { + r.push(`confused to find that ${his} clitoris is missing.`); + } else if (slave.devotion > 50) { + r.push(`titillated to find that ${his} clitoris has a hood. ${He} examines it`); + if (canSee(slave)) { + r.push(`carefully and then touches it,`); + } + r.push(`very gently. ${He}'s very sore, obviously, but the sudden sensation is almost too much for ${him}. ${His} resolution to investigate ${his} remodeled clit, but later, is almost visible. It's obvious that ${he} can hardly wait, <span class="trust inc">anticipating</span> all the new sensations that this new patch of skin can offer ${him}. ${He}'s <span class="devotion inc">grateful</span> to you for improving ${his} pussy.`); + reaction.trust += 5; + reaction.devotion += 5; + } else if (slave.devotion >= -20) { + r.push(`quite surprised, and a little relieved, to find that ${his} clit has a hood. ${He} examines it`); + if (canSee(slave)) { + r.push(`carefully and then touches it,`); + } + r.push(`very gently. ${He}'s very sore, obviously, but the sudden sensation is almost too much for ${him}. ${He} seems to have been worried that something more dramatic than a reversal of circumcision had been done to ${him}, but ${his} chief reaction is <span class="devotion inc">mystified submission</span> to you afterward. Your total power over ${his} body has been made clear to ${him} in a way that provokes confusion, not fear.`); + reaction.devotion += 5; + } else { + r.push(`shocked to find that ${his} clitoris has a hood. ${He}'s not exactly resentful of you for doing this, since whatever ${his} feelings about circumcision might be, it's very far from what ${he} feared might be done to ${his} clit. ${His} reaction is dominated by <span class="trust dec">fear of the unknown,</span> since ${he}'s now wondering whether ${he} has any ability to predict your actions at all. Whatever ${his} mental model of you was before this, it probably didn't include you restoring ${his} clitoral hood.`); + reaction.trust -= 5; + } + } + r.push(`As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + + reaction.longReaction.push(r); + return reaction; + } + } + + new AddForeskin(); +} diff --git a/js/medicine/surgery/reaction/addOvaries.js b/js/medicine/surgery/reaction/addOvaries.js new file mode 100644 index 00000000000..a899fe3060d --- /dev/null +++ b/js/medicine/surgery/reaction/addOvaries.js @@ -0,0 +1,36 @@ +{ + class AddOvaries extends App.Medicine.Surgery.Reaction { + get key() { return "addOvaries"; } + + reaction(slave) { + const reaction = super.reaction(slave); + const {He, he, his, him} = getPronouns(slave); + const r = []; + + if (slave.fetish === "mindbroken") { + r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but lacks the mental faculties to realize that ${he} now has a chance to get pregnant. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + } else if (this._strongKnownFetish(slave, "pregnancy") || slave.origin === "$He sold $himself to you in the hope of someday bearing children.") { + r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} has managed to catch enough slave rumors about what the organ farm can do to know that it means ${he} now has a chance to get pregnant. ${He} is filled with joy whenever ${he} thinks about the fact that feeling a life growing within ${him} is now, at last, a possibility. ${He} now places <span class="trust inc">total faith</span> in your plans for ${his} body and <span class="devotion inc">adores you</span> for giving ${him} a gift ${he} once thought impossible. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + reaction.trust += 10; + reaction.devotion += 10; + } else if (slave.devotion > 50) { + r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} has managed to catch enough slave rumors about what the organ farm can do to know that it means ${he} is now internally indistinguishable from a natural, unaltered woman. ${He} is <span class="trust inc">tremendously impressed</span> that you would devote such immense resources to altering ${his} body, and is more willing than ever to <span class="devotion inc">submit to your plans</span> for ${his} future. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + reaction.trust += 5; + reaction.devotion += 5; + } else if (slave.devotion >= -20) { + r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} has managed to catch enough slave rumors about what the organ farm can do to know that it means ${he} is now internally indistinguishable from a natural, unaltered woman. ${He} is <span class="trust dec">terrified</span> of your apparently untrammeled power over ${his} body, so much so that ${he} is now more willing to <span class="devotion inc">submit to your plans</span> for ${his} future. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + reaction.trust -= 5; + reaction.devotion += 5; + } else { + r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} has managed to catch enough slave rumors about what the organ farm can do to know that it means ${he} is now internally indistinguishable from a natural, unaltered woman. ${He} is <span class="trust dec">terrified</span> of your apparently untrammeled power over ${his} body, and <span class="devotion dec">furious</span> at ${his} lack of control over ${his} own person. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + reaction.trust -= 5; + reaction.devotion -= 5; + } + + reaction.longReaction.push(r); + return reaction; + } + } + + new AddOvaries(); +} diff --git a/js/medicine/surgery/reaction/addProstate.js b/js/medicine/surgery/reaction/addProstate.js new file mode 100644 index 00000000000..8a44289cc8f --- /dev/null +++ b/js/medicine/surgery/reaction/addProstate.js @@ -0,0 +1,64 @@ +{ + class AddProstate extends App.Medicine.Surgery.Reaction { + get key() { return "addProstate"; } + + reaction(slave) { + const reaction = super.reaction(slave); + const {He, he, His, his, him, himself} = getPronouns(slave); + const r = []; + + r.push(`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 parts. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + if (this._hasEmotion(slave)) { + if (slave.devotion > 50) { + if (slave.anus === 0) { + r.push(`Since ${he}'s still an anal virgin, ${he}'s denied the most obvious way of discovering what's been added to ${him}. The revelation is deferred until the next time ${he} orgasms:`); + } else if (canDoAnal(slave) || canDoVaginal(slave)) { + r.push(`The next time ${he}'s penetrated, though, it's obvious:`); + } else if (canPenetrate(slave)) { + r.push(`The next time ${he} uses ${his} cock, though, it's obvious:`); + } else { + r.push(`The next time ${he} climaxes, though, it's obvious:`); + } + r.push(`${he}'s shocked by the astounding volume of ${his}`); + if (slave.dick === 0) { + r.push(`squirting female`); + } + r.push(`ejaculation, since ${his} new organ is of course hooked into ${his} urethra and does its duty whenever ${he} climaxes${(slave.balls === 0) ? `despite ${his} lack of testicles to add actual semen to ${his} copious emissions` : ``}.`); + if (slave.fetishKnown === 1 && slave.fetish === "buttslut") { + r.push(`${He} was already an anal slut, but ${he} can now experience anal pleasure along an entirely new dimension. ${He}'s <span class="devotion inc">extremely grateful,</span> and <span class="lightsalmon">a more eager buttslut than ever.</span>`); + reaction.devotion += 5; + slave.fetishStrength = Math.clamp(slave.fetishStrength + 20, 0, 100); + } else { + r.push(`As a sex slave, ${he}`); + if (canHear(slave)) { + r.push(`has of course heard of`); + } else { + r.push(`is of course familiar with`); + } + r.push(`the pleasure of prostate stimulation,`); + if (slave.genes === "XY") { + r.push(`not to mention having once had one ${himself},`); + } + r.push(`and ${he}'s <span class="devotion inc">duly grateful</span> that you've altered ${him} in a way that will make sexual duties more enjoyable.`); + } + reaction.devotion += 5; + } else if (slave.devotion > 20) { + r.push(`The next time ${he} orgasms, ${he}'s shocked by the astounding volume of ${his}`); + if (slave.dick === 0) { + r.push(`squirting female`); + } + r.push(`ejaculation, since ${his} new organ is of course hooked into ${his} urethra and does its duty whenever ${he} climaxes${(slave.balls === 0) ? `despite ${his} lack of testicles to add actual semen to ${his} copious emissions` : ``}. ${His} main reaction is confusion; this alteration is pretty far outside any of the more conventional surgeries slaves might expect to receive, and ${his} mixed feeling tend to cancel each other out.`); + } else { + r.push(`${He} doesn't have to know exactly what you did, though, to be <span class="trust dec">mortified</span> and <span class="devotion dec">infuriated</span> by your messing around inside ${his} body. ${He} hasn't yet learned to accept that you control ${him} completely, down to the arrangement and even presence of ${his} internal organs.`); + reaction.trust -= 10; + reaction.devotion -= 10; + } + } + + reaction.longReaction.push(r); + return reaction; + } + } + + new AddProstate(); +} diff --git a/js/medicine/surgery/reaction/addScrotum.js b/js/medicine/surgery/reaction/addScrotum.js new file mode 100644 index 00000000000..bb04c2a7a24 --- /dev/null +++ b/js/medicine/surgery/reaction/addScrotum.js @@ -0,0 +1,64 @@ +{ + class AddScrotum extends App.Medicine.Surgery.Reaction { + get key() { return "addScrotum"; } + + reaction(slave) { + const reaction = super.reaction(slave); + const {He, he, his, him, himself} = getPronouns(slave); + const r = []; + + r.push(`${He} leaves the surgery gingerly, knowing ${he}'s had surgery on ${his} junk. Taking the first opportunity to`); + if (canSee(slave)) { + r.push(`look at ${his} crotch in a mirror,`); + } else { + r.push(`feel ${his} crotch,`); + } + r.push(`${he}'s`); + if (slave.fetish === "mindbroken") { + r.push(`confused to find something new dangling there.`); + } else if (slave.devotion > 50) { + r.push(`overjoyed to find that ${he} has a ballsack. ${He} very obviously starts to think about how it will affect ${his} various functions as a sex slave. First, ${he} flexes ${his} Kegel muscles,`); + if (canSee(slave)) { + r.push(`watching raptly as`); + } else { + r.push(`giggling as ${he} feels`); + } + r.push(`${his} testicles move within the new pouch of soft skin beneath ${his} cock. Then ${he} starts to bounce and hump a little, this way and that, experimenting with how they move as ${he} performs fucking motions. ${He}'s <span class="trust inc">looking forward</span> to having fun with this latest alteration of ${his} body, and is more willing than ever to <span class="devotion inc">submit to your plans</span> for ${his} future.`); + reaction.trust += 5; + reaction.devotion += 5; + } else if (slave.devotion >= -20) { + r.push(`shocked to find that ${he} has a ballsack. ${He} flexes ${his} Kegel muscles, mostly for lack of anything better to try,`); + if (canSee(slave)) { + r.push(`watching raptly as`); + } else { + r.push(`thinking deeply as`); + } + r.push(`${his} testicles move within the new pouch of soft skin beneath ${his} cock.`); + if (canSee(slave)) { + r.push(`Staring at the sight`); + } else { + r.push(`Transfixed on the motion`); + } + r.push(`with obviously mixed feelings, ${he} struggles for a while before bursting into girlish tears from the sheer ambivalence. ${He}'s <span class="trust dec">frightened of your ability to modify ${him},</span> and is more willing than ever to <span class="devotion inc">submit to your plans</span> for ${his} future.`); + reaction.trust -= 5; + reaction.devotion += 5; + } else { + r.push(`shocked and appalled to find that ${he} has a ballsack. ${He}`); + if (canSee(slave)) { + r.push(`stares at ${his} newly visible`); + } else { + r.push(`feels ${his} new`); + } + r.push(`balls in horror; it's obvious ${he} thought they were out of sight, and out of mind. ${He} checks ${himself} over carefully, and then bursts into tears, seemingly feeling that even if ${he} has a ballsack, ${his} cock is still a slave's bitchclit, and ${his} asshole is still a slut's asspussy. ${He}'s <span class="trust dec">frightened of your ability to modify ${him},</span> and <span class="devotion dec">resentful</span> of how you use it.`); + reaction.trust -= 5; + reaction.devotion -= 5; + } + r.push(`As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + + reaction.longReaction.push(r); + return reaction; + } + } + + new AddScrotum(); +} diff --git a/js/medicine/surgery/reaction/addTesticles.js b/js/medicine/surgery/reaction/addTesticles.js new file mode 100644 index 00000000000..467bc2c7c8a --- /dev/null +++ b/js/medicine/surgery/reaction/addTesticles.js @@ -0,0 +1,36 @@ +{ + class AddTesticles extends App.Medicine.Surgery.Reaction { + get key() { return "addTesticles"; } + + reaction(slave) { + const reaction = super.reaction(slave); + const {He, he, his, him, himself} = getPronouns(slave); + const r = []; + + if (slave.fetish === "mindbroken") { + r.push(`It's not immediately apparent to ${him} what kind of surgery ${he} received, since all ${he}'s left with is a nonspecific ache in ${his} abdomen. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + } else if (slave.devotion > 50) { + r.push(`${He} lies back in the surgical chair${(canSee(slave)) ? `, gazing at ${himself} in the ceiling mirror` : ``} as the fog of anesthetics lifts and feeling returns to ${his} lower half. As a devoted slave, ${he} knew the essentials of the surgery before it was performed, so ${he}'s excited to`); + if (canSee(slave)) { + r.push(`see`); + } else { + r.push(`feel`); + } + r.push(`the results. ${He} is <span class="trust inc">tremendously impressed</span> that you would devote such immense resources to altering ${his} body, and is more willing than ever to <span class="devotion inc">submit to your plans</span> for ${his} future.`); + reaction.trust += 5; + reaction.devotion += 5; + } else if (slave.devotion >= -20) { + r.push(`It's not immediately apparent to ${him} what kind of surgery ${he} received, since all ${he}'s left with is a nonspecific ache in ${his} abdomen. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + } else { + r.push(`It's not immediately apparent to ${him} what kind of surgery ${he} received, since all ${he}'s left with is a nonspecific ache in ${his} abdomen. As with all surgery <span class="health dec">${his} health has been slightly affected.</span> ${He} doesn't have to know exactly what you did, though, to be <span class="trust dec">mortified</span> and <span class="devotion dec">infuriated</span> by your messing around inside ${his} body. ${He} hasn't yet learned to accept that you control ${him} completely, down to the arrangement and even presence of ${his} internal organs.`); + reaction.trust -= 10; + reaction.devotion -= 10; + } + + reaction.longReaction.push(r); + return reaction; + } + } + + new AddTesticles(); +} diff --git a/js/medicine/surgery/reaction/amp.js b/js/medicine/surgery/reaction/amp.js new file mode 100644 index 00000000000..d0be8c29e1b --- /dev/null +++ b/js/medicine/surgery/reaction/amp.js @@ -0,0 +1,33 @@ +{ + class Amp extends App.Medicine.Surgery.Reaction { + get key() { return "amp"; } + + reaction(slave) { + const reaction = super.reaction(slave); + const r = []; + + V.nextButton = " "; + r.push(App.Medicine.Limbs.amputate(slave, V.oldLimbs, "Remote Surgery")); + delete V.oldLimbs; + + + reaction.longReaction.push(r); + return reaction; + } + + outro(slave, previousReaction) { + const reaction = super.outro(slave, previousReaction); + const {He, him} = getPronouns(slave); + + if (slave.behavioralFlaw === "arrogant") { + reaction.longReaction.last() + .push(`<span class="green">${He} can hardly be arrogant relying on others to feed, bathe and carry ${him}.</span>`); + slave.behavioralFlaw = "none"; + } + + return reaction; + } + } + + new Amp(); +} diff --git a/js/medicine/surgery/reaction/anus.js b/js/medicine/surgery/reaction/anus.js new file mode 100644 index 00000000000..f0208d73394 --- /dev/null +++ b/js/medicine/surgery/reaction/anus.js @@ -0,0 +1,39 @@ +{ + class Anus extends App.Medicine.Surgery.Reaction { + get key() { return "anus"; } + + reaction(slave) { + const reaction = super.reaction(slave); + const {He, he, his, him} = getPronouns(slave); + const r = []; + + if (slave.fetish === "mindbroken") { + r.push(`${He} leaves the surgery with a terribly sore rear end and little desire to mess with it. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + } else { + if (this._strongKnownFetish(slave, "buttslut")) { + r.push(`${He} leaves the surgery with a terribly sore rear end. ${He} is <span class="devotion inc">filled with joy</span> at the prospect of having a tight butt all over again, so much so that ${he} now <span class="trust inc">trusts</span> your plans for ${his} body. If ${he} had much in the way of anal skills, <span class="red">they've likely suffered.</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + reaction.trust += 4; + reaction.devotion += 10; + } else if (slave.devotion > 50) { + r.push(`${He} leaves the surgery with a terribly sore rear end. ${He}'s a bit anxious at the prospect of the pain having to get back to a loose asshole the hard way, but ${he}'s <span class="devotion inc">happy</span> that you think ${him} worth the effort of surgical improvement. If ${he} had much in the way of anal skills, <span class="red">they've likely suffered.</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + reaction.devotion += 4; + } else if (slave.devotion >= -20) { + r.push(`${He} leaves the surgery with a terribly sore rear end. ${He} knows ${he}'ll have to endure the pain of being fucked in a tight asshole again soon enough, but trepidation is nothing new for ${him}. If ${he} had much in the way of anal skills, <span class="red">they've likely suffered.</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span> ${He} is <span class="trust dec">sensibly fearful</span> of your total power over ${his} body.`); + reaction.trust -= 5; + } else { + r.push(`${He} leaves the surgery with a terribly sore rear end. ${He}'s <span class="devotion dec">horrified</span> at surgical alteration of ${his} rear end, and knows that this means that ${he}'ll have to take the pain of sodomy in a tight ass all over again. If ${he} had much in the way of anal skills, <span class="red">they've likely suffered.</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span> ${He} is <span class="trust dec">terribly afraid</span> of your total power over ${his} most intimate parts.`); + reaction.trust -= 10; + reaction.devotion -= 5; + } + if (slave.skill.anal > 10) { + slave.skill.anal -= 10; + } + } + + reaction.longReaction.push(r); + return reaction; + } + } + + new Anus(); +} diff --git a/js/medicine/surgery/reaction/asexualReproOvaries.js b/js/medicine/surgery/reaction/asexualReproOvaries.js new file mode 100644 index 00000000000..f9b07959104 --- /dev/null +++ b/js/medicine/surgery/reaction/asexualReproOvaries.js @@ -0,0 +1,52 @@ +{ + class AsexualReproOvaries extends App.Medicine.Surgery.Reaction { + get key() { return "asexualReproOvaries"; } + + reaction(slave) { + const reaction = super.reaction(slave); + const {He, he, his, him, girl} = getPronouns(slave); + const r = []; + + if (slave.fetish === "mindbroken") { + r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but lacks the mental faculties to realize that ${he} is now self-impregnating. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + } else if (slave.devotion > 50) { + r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} has managed to catch enough slave rumors about what the organ farm can do to suspect that something has critically changed about ${his} reproductive system. ${He} is <span class="trust inc">pleased</span> that you would go out of your way to alter ${his} body, and is more willing than ever to <span class="devotion inc">submit to your plans</span> for ${his} future. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + reaction.trust += 5; + reaction.devotion += 5; + } else if (slave.devotion >= -20) { + r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} has managed to catch enough slave rumors about what the organ farm can do to shudder at the thought of just what could have possibly been put into ${him}. ${He} is <span class="trust dec">terrified</span> of your apparently untrammeled power over ${his} body, so much so that ${he} is now more willing to <span class="devotion inc">submit to your plans</span> for ${his} future. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + reaction.trust -= 5; + reaction.devotion += 5; + } else { + r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} has managed to catch enough slave rumors about what the organ farm can do to dread the discovery of what now resides inside ${him}. ${He} is <span class="trust dec">terrified</span> of your apparently untrammeled power over ${his} body, and <span class="devotion dec">furious</span> at ${his} lack of control over ${his} own person. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + reaction.trust -= 5; + reaction.devotion -= 5; + } + if (isFertile(slave) && slave.preg === 0) { + knockMeUp(slave, 100, 2, slave.ID); + r.push(`${He} doesn't even have the chance to reach the slave quarters before ${his} new reproductive system detects ${his} unprotected fertility and begins to internally cum.`); + if (canWalk(slave)) { + r.push(`${He} struggles to stand as wave after wave of pleasure radiates from inside ${his} self-fertilizing womb.`); + } else { + r.push(`The slave carrying ${him} struggles to keep their grip on the orgasm wracked ${girl}.`); + } + r.push(`By the time ${he} is finished, ${he} is a sweat-soaked, panting mess with a womb <span class="lime">`); + if (slave.pregType > 50) { + r.push(`stuffed full of fertilized eggs.`); + } else if (slave.pregType > 20) { + r.push(`filled with new life.`); + } else if (slave.pregType > 1) { + r.push(`housing several new lives.`); + } else { + r.push(`filled with seed and a new life.`); + } + r.push(`</span>`); + } + + reaction.longReaction.push(r); + return reaction; + } + } + + new AsexualReproOvaries(); +} diff --git a/js/medicine/surgery/reaction/clitoralEnlargement.js b/js/medicine/surgery/reaction/clitoralEnlargement.js new file mode 100644 index 00000000000..2e2b494dd6e --- /dev/null +++ b/js/medicine/surgery/reaction/clitoralEnlargement.js @@ -0,0 +1,38 @@ +{ + class ClitoralEnlargement extends App.Medicine.Surgery.Reaction { + get key() { return "clitoral enlargement"; } + + reaction(slave) { + const reaction = super.reaction(slave); + const {He, he, His, his} = getPronouns(slave); + const r = []; + + if (slave.fetish === "mindbroken") { + r.push(`${He} leaves the surgery with a terribly sore pussy and little desire to mess with it. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + } else if (slave.energy > 95) { + r.push(`${He} leaves the surgery with a terribly sore pussy. ${He} is <span class="devotion inc">filled with joy</span> at the thought that ${his} pussy will now be more appealing to ${his} ${getWrittenTitle(slave)}; ${his} sensitivity has been increased, <span class="libido inc">raising ${his} sex drive slightly.</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + reaction.trust += 4; + reaction.devotion += 10; + slave.energy += 1; + } else if (slave.devotion > 50) { + r.push(`${He} leaves the surgery with a terribly sore pussy. ${He}'s <span class="devotion inc">happy</span> that you think ${his} pussy worth the effort of surgical improvement; ${his} sensitivity has been increased, <span class="libido inc">raising ${his} sex drive slightly.</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + reaction.devotion += 4; + slave.energy += 1; + } else if (slave.devotion >= -20) { + r.push(`${He} leaves the surgery with a terribly sore pussy. ${He}'s somewhat revolted by the surgery, but as far as ${he}'s concerned, the short recovery period will mean a time during which ${he} can be sure no one will use ${his} pussy. ${His} sensitivity has been increased, <span class="libido inc">raising ${his} sex drive slightly.</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span> ${He} is <span class="trust dec">sensibly fearful</span> of your total power over ${his} body.`); + reaction.trust -= 5; + slave.energy += 1; + } else { + r.push(`${He} leaves the surgery with a terribly sore pussy. ${He}'s <span class="devotion dec">horrified</span> at surgical alteration of ${his} womanhood; this is probably more of an invasion than ${he} could readily imagine before today. ${His} sensitivity has been increased, <span class="libido inc">raising ${his} sex drive slightly.</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span> ${He} is <span class="trust dec">terribly afraid</span> of your total power over ${his} most intimate parts.`); + reaction.trust -= 10; + reaction.devotion -= 5; + slave.energy += 1; + } + + reaction.longReaction.push(r); + return reaction; + } + } + + new ClitoralEnlargement(); +} diff --git a/js/medicine/surgery/reaction/clitoralReduction.js b/js/medicine/surgery/reaction/clitoralReduction.js new file mode 100644 index 00000000000..83c4d85ed96 --- /dev/null +++ b/js/medicine/surgery/reaction/clitoralReduction.js @@ -0,0 +1,38 @@ +{ + class ClitoralReduction extends App.Medicine.Surgery.Reaction { + get key() { return "clitoral reduction"; } + + reaction(slave) { + const reaction = super.reaction(slave); + const {He, he, his} = getPronouns(slave); + const r = []; + + if (slave.fetish === "mindbroken") { + r.push(`${He} leaves the surgery with a terribly sore pussy and little desire to mess with it. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + } else if (slave.energy > 95) { + r.push(`${He} leaves the surgery with a terribly sore pussy. ${He} is <span class="devotion inc">filled with joy</span> at the thought that ${his} pussy will now be more appealing to ${his} ${getWrittenTitle(slave)}; ${his} sensitivity has been reduced, <span class="libido dec">reducing ${his} sex drive slightly.</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + reaction.trust += 4; + reaction.devotion += 10; + slave.energy -= 5; + } else if (slave.devotion > 50) { + r.push(`${He} leaves the surgery with a terribly sore pussy. ${He}'s <span class="devotion inc">happy</span> that you think ${his} pussy worth the effort of surgical improvement, although ${his} sensitivity has been reduced, <span class="libido dec">reducing ${his} sex drive slightly.</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + reaction.devotion += 4; + slave.energy -= 5; + } else if (slave.devotion >= -20) { + r.push(`${He} leaves the surgery with a terribly sore pussy. ${He}'s somewhat revolted by the surgery, but as far as ${he}'s concerned, the short recovery period will mean a time during which ${he} can be sure no one will use ${his} pussy. The reduced sensitivity has <span class="libido dec">noticeably reduced ${his} sex drive.</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span> ${He} is <span class="trust dec">sensibly fearful</span> of your total power over ${his} body.`); + reaction.trust -= 5; + slave.energy -= 10; + } else { + r.push(`${He} leaves the surgery with a terribly sore pussy. ${He}'s <span class="devotion dec">horrified</span> at surgical alteration of ${his} womanhood; this is probably more of an invasion than ${he} could readily imagine before today and <span class="libido dec">${his} sex drive takes a heavy hit.</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span> ${He} is <span class="trust dec">terribly afraid</span> of your total power over ${his} most intimate parts.`); + reaction.trust -= 10; + reaction.devotion -= 5; + slave.energy -= 20; + } + + reaction.longReaction.push(r); + return reaction; + } + } + + new ClitoralReduction(); +} diff --git a/js/medicine/surgery/reaction/fertility.js b/js/medicine/surgery/reaction/fertility.js new file mode 100644 index 00000000000..891b9c8ddc9 --- /dev/null +++ b/js/medicine/surgery/reaction/fertility.js @@ -0,0 +1,34 @@ +{ + class Fertility extends App.Medicine.Surgery.Reaction { + get key() { return "fert"; } + + reaction(slave) { + const reaction = super.reaction(slave); + const {He, he, his, him} = getPronouns(slave); + const r = []; + + if (slave.fetish === "mindbroken") { + r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but lacks the mental faculties to realize that ${he} now has a chance to get pregnant. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + } else if (this._strongKnownFetish(slave, "pregnancy") || slave.origin === "$He sold $himself to you in the hope of someday bearing children.") { + r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} knows enough about surgery and sex slaves to know that it means ${he} now has a chance to get pregnant. ${He} is <span class="devotion inc">filled with joy</span> whenever ${he} thinks about the fact that feeling a life growing within ${him} is now, at last, a possibility. ${He}'s so pleased that ${he} now <span class="trust inc">trusts</span> your plans for ${his} body. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + reaction.trust += 4; + reaction.devotion += 5; + } else if (slave.devotion > 50) { + r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} knows enough about surgery and sex slaves to know that it means ${he} now has a chance to get pregnant. ${He}'s <span class="devotion inc">grateful</span> that you think ${him} worthy of breeding, and even a little nervous about how ${he}'ll perform as a breeder. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + reaction.devotion += 4; + } else if (slave.devotion >= -20) { + r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} knows enough about surgery and sex slaves to know that it means ${he} may now be impregnated. ${He} understands the realities of ${his} life as a slave, and that being bred was a possibility, so it isn't much of a shock. As with all surgery <span class="health dec">${his} health has been slightly affected.</span> ${He} is <span class="trust dec">sensibly fearful</span> of your total power over ${his} body.`); + reaction.trust -= 5; + } else { + r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} knows enough about surgery and sex slaves to know that it means ${he} may now be impregnated. ${He} does not understand the realities of ${his} life as a slave at a core level, so ${he}'s <span class="devotion dec">terrified and angry</span> at the potential that ${he}'ll be bred. As with all surgery <span class="health dec">${his} health has been slightly affected.</span> ${He} is <span class="trust dec">sensibly fearful</span> of your total power over ${his} body.`); + reaction.trust -= 5; + reaction.devotion -= 5; + } + + reaction.longReaction.push(r); + return reaction; + } + } + + new Fertility(); +} diff --git a/js/medicine/surgery/reaction/foreskinTuck.js b/js/medicine/surgery/reaction/foreskinTuck.js new file mode 100644 index 00000000000..fc2bbbcca3b --- /dev/null +++ b/js/medicine/surgery/reaction/foreskinTuck.js @@ -0,0 +1,56 @@ +{ + class ForeskinTuck extends App.Medicine.Surgery.Reaction { + get key() { return "foreskinTuck"; } + + reaction(slave) { + const reaction = super.reaction(slave); + const {He, he, his, himself} = getPronouns(slave); + const r = []; + + if (slave.fetish === "mindbroken") { + r.push(`${He} exits the surgery gingerly, since ${he} can feel that something was done to ${his} dick. Since it is still there, ${he} doesn't understand what changed. <span class="health dec">${his} health has been slightly affected.</span>`); + } else if (slave.devotion > 50) { + r.push(`${He} exits the surgery gingerly, since ${he} can feel that something was done to ${his} dick. ${He} examines it carefully`); + if (canSee(slave)) { + r.push(`in the mirror.`); + } else { + r.push(`by feeling alone.`); + } + r.push(`Realizing that ${his} foreskin fits comfortably, <span class="devotion inc">${he}'s very happy you'd take an interest in ${his} penis,</span> and looks forward to having a slightly easier time keeping ${himself} clean through ${his} life as a sex slave.`); + if (canAchieveErection(slave)) { + r.push(`${He} also can't wait`); + if (canSee(slave)) { + r.push(`for the show during`); + } else { + r.push(`to feel`); + } + r.push(`${his} next erection.`); + } + r.push(`<span class="health dec">${his} health has been slightly affected.</span>`); + reaction.devotion += 4; + } else if (slave.devotion > 20) { + r.push(`${He} exits the surgery gingerly, since ${he} can feel that something was done to ${his} dick. ${He} examines it carefully`); + if (canSee(slave)) { + r.push(`in the mirror.`); + } else { + r.push(`by feeling alone.`); + } + r.push(`Realizing that ${his} foreskin fits comfortably, ${he}'s flooded with relief. ${He}'s so elated that ${he} hasn't been severely damaged that ${he} doesn't mind your taking surgical control of ${his} member. <span class="health dec">${his} health has been slightly affected.</span>`); + } else { + r.push(`${He} exits the surgery gingerly, since ${he} can feel that something was done to ${his} dick. ${He} examines it carefully`); + if (canSee(slave)) { + r.push(`in the mirror.`); + } else { + r.push(`by feeling alone.`); + } + r.push(`Realizing that ${his} foreskin fits comfortably, ${he}'s flooded with relief, since ${he} was afraid that you'd done something far more terrible. Once ${he} has time to think about it, though, ${he}'s somewhat <span class="devotion dec">resentful,</span> since ${he} naturally feels a certain proprietary interest in ${his} own penis. <span class="health dec">${his} health has been slightly affected.</span>`); + reaction.devotion -= 5; + } + + reaction.longReaction.push(r); + return reaction; + } + } + + new ForeskinTuck(); +} diff --git a/js/medicine/surgery/reaction/heels.js b/js/medicine/surgery/reaction/heels.js new file mode 100644 index 00000000000..eca5ce50414 --- /dev/null +++ b/js/medicine/surgery/reaction/heels.js @@ -0,0 +1,47 @@ +{ + class Heels extends App.Medicine.Surgery.Reaction { + get key() { return "heels"; } + + reaction(slave) { + const reaction = super.reaction(slave); + const {He, he, His, his, him} = getPronouns(slave); + const r = []; + + if (slave.fetish === "mindbroken") { + r.push(`${He} exits the surgery on all fours, unable to stand due to the changes to ${his} legs. A whorish pair of heels are slipped onto ${him} and ${he} is forced to ${his} feet to show that ${he} can indeed walk comfortably while wearing them. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + } else if (slave.devotion > 50) { + r.push(`${He} exits the surgery on all fours, unable to stand due to the changes to ${his} legs. ${He} finds a whorish pair of heels waiting for ${him} and eagerly puts them on, gingerly standing to find that ${he} can indeed walk comfortably while wearing them. ${He} struts back and forth experimentally and then offers`); + if (canSee(slave)) { + r.push(`the mirror`); + } else { + r.push(`you`); + } + r.push(`${his} asshole to check to see that ${his} ability to take a standing buttfuck hasn't been affected. <span class="devotion inc">${He} has become more submissive due to your radical reshaping of ${his} body.</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + reaction.devotion += 4; + } else if (slave.devotion > 20) { + r.push(`${He} exits the surgery on all fours, unable to stand due to the changes to ${his} legs. ${He} finds a whorish pair of heels waiting for ${him} and obediently puts them on, gingerly standing to find that ${he} can indeed walk comfortably while wearing them. After a while ${he} realizes that ${he}'ll never walk without looking like a stripper again, but ${he} accepts it. ${He} isn't much affected mentally. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + } else { + r.push(`${He} exits the surgery on all fours, unable to stand due to the changes to ${his} legs. ${He} finds a whorish pair of heels waiting for ${him}, but obstinately ignores them. After some time, ${he} realizes that the situation isn't changing and puts them on, gingerly standing to find that ${he} can indeed walk comfortably while wearing them. ${His}`); + if (canSee(slave)) { + r.push(`eyes are`); + } else { + r.push(`face is`); + } + r.push(`filled with hatred when ${he}`); + if (canSee(slave)) { + r.push(`sees ${his} new and permanent appearance in the mirror.`); + } else { + r.push(`discovers this is the only way ${he}'ll be able to stand now.`); + } + r.push(`<span class="devotion dec">The surgical invasion has filled ${him} with horror and anger.</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span> ${He} is <span class="trust dec">terribly afraid</span> of your total power over ${his} body.`); + reaction.trust -= 10; + reaction.devotion -= 10; + } + + reaction.longReaction.push(r); + return reaction; + } + } + + new Heels(); +} diff --git a/js/medicine/surgery/reaction/heelsRestoration.js b/js/medicine/surgery/reaction/heelsRestoration.js new file mode 100644 index 00000000000..49df3004af5 --- /dev/null +++ b/js/medicine/surgery/reaction/heelsRestoration.js @@ -0,0 +1,25 @@ +{ + class HeelsRestoration extends App.Medicine.Surgery.Reaction { + get key() { return "heelsRestoration"; } + + reaction(slave) { + const reaction = super.reaction(slave); + const {He, he, his, him} = getPronouns(slave); + const r = []; + + if (slave.fetish === "mindbroken") { + r.push(`${He} exits the surgery on ${his} own two feet. ${He}'s still sore, but the modern surgery is fast and effective, and ${he} can use ${his} restored legs immediately. ${He} gingerly stands on one foot, then the other; and even takes a few little hops. ${He} obviously confused, but will get used to it soon enough. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + } else if (slave.devotion >= -20) { + r.push(`${He} exits the surgery on ${his} own two feet. ${He}'s still sore, but the modern surgery is fast and effective, and ${he} can use ${his} restored legs immediately. ${He} gingerly stands on one foot, then the other; and even takes a few little hops. ${He}'s grinning like a fool the whole time. <span class="devotion inc">${He} has become more obedient due to gratitude.</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + reaction.devotion += 4; + } else { + r.push(`${He} exits the surgery on ${his} own two feet. ${He}'s still sore, but the modern surgery is fast and effective, and ${he} can use ${his} restored legs immediately. ${He} gingerly stands on one foot, then the other; and even takes a few little hops. ${He} obviously confused, finding it surprising that you would go to the expense and trouble of repairing ${him}. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + } + + reaction.longReaction.push(r); + return reaction; + } + } + + new HeelsRestoration(); +} diff --git a/js/medicine/surgery/reaction/hips.js b/js/medicine/surgery/reaction/hips.js new file mode 100644 index 00000000000..70d8429980f --- /dev/null +++ b/js/medicine/surgery/reaction/hips.js @@ -0,0 +1,29 @@ +{ + class Hips extends App.Medicine.Surgery.Reaction { + get key() { return "hips"; } + + reaction(slave) { + const reaction = super.reaction(slave); + const {He, he, his, him} = getPronouns(slave); + const r = []; + + if (slave.fetish === "mindbroken") { + r.push(`${He} exits the surgery very slowly, since ${he}'s still in considerable pain and isn't yet used to the way ${his} pelvis now fits together with the rest of ${his} body. Since the surgery was invasive, <span class="health dec">${his} health has been greatly affected.</span>`); + } else if (slave.devotion > 50) { + r.push(`${He} exits the surgery very cautiously, since ${he}'s still in considerable pain and isn't yet used to the way ${his} pelvis now fits together with the rest of ${his} body. ${He}'ll be clumsy and hesitant for some time, but ${he}'s happy with ${his} new hips. <span class="devotion inc">${He} has become more submissive due to your radical reshaping of ${his} body.</span> Since the surgery was invasive, <span class="health dec">${his} health has been greatly affected.</span>`); + reaction.devotion += 4; + } else if (slave.devotion > 20) { + r.push(`${He} exits the surgery very cautiously, since ${he}'s still in considerable pain and isn't yet used to the way ${his} pelvis now fits together with the rest of ${his} body. ${He}'ll be clumsy and hesitant for some time, but ${he}'s accepted ${his} new hips. ${He} isn't much affected mentally. Since the surgery was invasive, <span class="health dec">${his} health has been greatly affected.</span>`); + } else { + r.push(`${He} exits the surgery very cautiously, since ${he}'s still in considerable pain and isn't yet used to the way ${his} pelvis now fits together with the rest of ${his} body. ${He}'ll be clumsy and hesitant for some time, and ${he} refuses to accept that you are both willing and able to reshape ${him} down to ${his} very bones. <span class="devotion dec">The surgical invasion has filled ${him} with horror and anger.</span> Since the surgery was invasive, <span class="health dec">${his} health has been greatly affected.</span> ${He} is <span class="trust dec">terribly afraid</span> of your total power over ${his} body.`); + reaction.trust -= 10; + reaction.devotion -= 10; + } + + reaction.longReaction.push(r); + return reaction; + } + } + + new Hips(); +} diff --git a/js/medicine/surgery/reaction/labiaplasty.js b/js/medicine/surgery/reaction/labiaplasty.js new file mode 100644 index 00000000000..87a8f5a5d75 --- /dev/null +++ b/js/medicine/surgery/reaction/labiaplasty.js @@ -0,0 +1,34 @@ +{ + class Labiaplasty extends App.Medicine.Surgery.Reaction { + get key() { return "labiaplasty"; } + + reaction(slave) { + const reaction = super.reaction(slave); + const {He, he, his} = getPronouns(slave); + const r = []; + + if (slave.fetish === "mindbroken") { + r.push(`${He} leaves the surgery with a terribly sore pussy and little desire to mess with it. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + } else if (slave.energy > 95) { + r.push(`${He} leaves the surgery with a terribly sore pussy. ${He} is <span class="devotion inc">filled with joy</span> at the thought that ${his} pussy will now be more appealing to ${his} ${getWrittenTitle(slave)}; ${he}'s already anticipating recovering enough to feel your cockhead pressing past ${his} new lips, so much so that ${he} now <span class="trust inc">trusts</span> your plans for ${his} body. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + reaction.trust += 4; + reaction.devotion += 10; + } else if (slave.devotion > 50) { + r.push(`${He} leaves the surgery with a terribly sore pussy. ${He}'s <span class="devotion inc">happy</span> that you think ${his} pussy worth the effort of surgical improvement, and a little excited at the idea that ${he} now has what you consider good-looking pussylips. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + reaction.devotion += 4; + } else if (slave.devotion >= -20) { + r.push(`${He} leaves the surgery with a terribly sore pussy. ${He}'s somewhat revolted by the surgery, but as far as ${he}'s concerned, the short recovery period will mean a time during which ${he} can be sure no one will use ${his} pussy. As with all surgery <span class="health dec">${his} health has been slightly affected.</span> ${He} is <span class="trust dec">sensibly fearful</span> of your total power over ${his} body.`); + reaction.trust -= 5; + } else { + r.push(`${He} leaves the surgery with a terribly sore pussy. ${He}'s <span class="devotion dec">horrified</span> at surgical alteration of ${his} womanhood; this is probably more of an invasion than ${he} could readily imagine before today. As with all surgery <span class="health dec">${his} health has been slightly affected.</span> ${He} is <span class="trust dec">terribly afraid</span> of your total power over ${his} most intimate parts.`); + reaction.trust -= 10; + reaction.devotion -= 5; + } + + reaction.longReaction.push(r); + return reaction; + } + } + + new Labiaplasty(); +} diff --git a/js/medicine/surgery/reaction/mute.js b/js/medicine/surgery/reaction/mute.js index 8eb920954d3..8874edca4fb 100644 --- a/js/medicine/surgery/reaction/mute.js +++ b/js/medicine/surgery/reaction/mute.js @@ -37,6 +37,19 @@ reaction.longReaction.push(r); return reaction; } + + outro(slave, previousReaction) { + const reaction = super.outro(slave, previousReaction); + const {He} = getPronouns(slave); + + if (slave.behavioralFlaw === "bitchy") { + reaction.longReaction.last() + .push(`<span class="green">${He} can hardly make sharp remarks without a voice.</span>`); + slave.behavioralFlaw = "none"; + } + + return reaction; + } } new Mute(); diff --git a/js/medicine/surgery/reaction/pLimbInterface.js b/js/medicine/surgery/reaction/pLimbInterface.js new file mode 100644 index 00000000000..4b1e1a909ba --- /dev/null +++ b/js/medicine/surgery/reaction/pLimbInterface.js @@ -0,0 +1,19 @@ +{ + class PLimbInterface extends App.Medicine.Surgery.Reaction { + get key() { return "PLimb interface"; } + + reaction(slave) { + const reaction = super.reaction(slave); + const r = []; + + V.nextButton = " "; + r.push(App.Medicine.Limbs.prosthetic(slave, V.oldLimbs, "Remote Surgery")); + delete V.oldLimbs; + + reaction.longReaction.push(r); + return reaction; + } + } + + new PLimbInterface(); +} diff --git a/js/medicine/surgery/reaction/pLimbInterface1.js b/js/medicine/surgery/reaction/pLimbInterface1.js new file mode 100644 index 00000000000..16020fdff6a --- /dev/null +++ b/js/medicine/surgery/reaction/pLimbInterface1.js @@ -0,0 +1,42 @@ +{ + class PLimbInterface1 extends App.Medicine.Surgery.Reaction { + get key() { return "PLimb interface1"; } + + reaction(slave) { + const reaction = super.reaction(slave); + const {He, he, his, him, hers} = getPronouns(slave); + const r = []; + + r.push(`When ${he} is carried out of surgery ${he}`); + if (canSee(slave)) { + r.push(`cranes ${his} neck to better see the ports`); + } else { + r.push(`wiggles ${his} stumps trying to feel the ports`); + } + r.push(`installed in ${his} stumps. Recovery will be <span class="health dec">significant,</span> since the surgical implantation of anchor points for the limbs themselves and the installation of nerve impulse detectors constituted major surgery.`); + if (this._hasEmotion(slave)) { + if (slave.devotion > 20) { + r.push(`Nevertheless, ${he}'s <span class="devotion inc">overwhelmed with gratitude,</span> and thanks you profusely the first chance ${he} gets. ${He} follows the acclimation program diligently, doing ${his} best to learn how to be a good slave despite, or sometimes even because of, ${his} disability. ${He} <span class="trust inc">places more trust in you,</span> too, since you obviously have ${his} best interests at heart.`); + reaction.devotion += 5; + reaction.trust += 5; + } else if (slave.devotion >= -20) { + r.push(`${He}'s <span class="devotion inc">overwhelmed with gratitude,</span> in part because ${he} didn't think you'd do something like this for ${him}. ${He} thanks you profusely the first chance ${he} gets, and follows the acclimation program diligently, trying to deserve the expense you went to. ${He} <span class="trust inc">places more trust in you,</span> too, since you seem to have a plan for ${him}.`); + reaction.devotion += 5; + reaction.trust += 5; + } else { + r.push(`Despite ${his} hatred of you, ${he} can't help but <span class="trust inc">trust you a bit more,</span> since you clearly have a plan that involves putting a good deal of value into ${him}. Your goals might not be ${hers}, but at least ${he} has an indication that you're not toying with ${him}.`); + reaction.trust += 5; + } + } + + V.prostheticsConfig = "interface"; + r.push(App.UI.DOM.renderPassage("Prosthetics Configuration")); + V.nextLink = "Remote Surgery"; + + reaction.longReaction.push(r); + return reaction; + } + } + + new PLimbInterface1(); +} diff --git a/js/medicine/surgery/reaction/pLimbInterface2.js b/js/medicine/surgery/reaction/pLimbInterface2.js new file mode 100644 index 00000000000..f7756b3c168 --- /dev/null +++ b/js/medicine/surgery/reaction/pLimbInterface2.js @@ -0,0 +1,42 @@ +{ + class PLimbInterface2 extends App.Medicine.Surgery.Reaction { + get key() { return "PLimb interface2"; } + + reaction(slave) { + const reaction = super.reaction(slave); + const {He, he, His, his, him, hers} = getPronouns(slave); + const r = []; + + r.push(`When ${he} is carried out of surgery ${he}`); + if (canSee(slave)) { + r.push(`cranes ${his} neck to better see the ports`); + } else { + r.push(`wiggles ${his} stumps trying to feel the ports`); + } + r.push(`installed in ${his} stumps. ${His} stumps twitch slightly as the software begins configuring. Recovery will be <span class="health dec">significant,</span> since the surgical implantation of anchor points for the limbs themselves and the installation of nerve bridges constituted major surgery.`); + if (this._hasEmotion(slave)) { + if (slave.devotion > 20) { + r.push(`Nevertheless, ${he}'s <span class="devotion inc">overwhelmed with gratitude,</span> and thanks you profusely the first chance ${he} gets. ${He} follows the acclimation program diligently, doing ${his} best to learn how to be a good slave despite, or sometimes even because of, ${his} disability. ${He} <span class="trust inc">places more trust in you,</span> too, since you obviously have ${his} best interests at heart.`); + reaction.devotion += 5; + reaction.trust += 5; + } else if (slave.devotion >= -20) { + r.push(`${He}'s <span class="devotion inc">overwhelmed with gratitude,</span> in part because ${he} didn't think you'd do something like this for ${him}. ${He} thanks you profusely the first chance ${he} gets, and follows the acclimation program diligently, trying to deserve the expense you went to. ${He} <span class="trust inc">places more trust in you,</span> too, since you seem to have a plan for ${him}.`); + reaction.devotion += 5; + reaction.trust += 5; + } else { + r.push(`Despite ${his} hatred of you, ${he} can't help but <span class="trust inc">trust you a bit more,</span> since you clearly have a plan that involves putting a good deal of value into ${him}. Your goals might not be ${hers}, but at least ${he} has an indication that you're not toying with ${him}.`); + reaction.trust += 5; + } + } + + V.prostheticsConfig = "interface"; + r.push(App.UI.DOM.renderPassage("Prosthetics Configuration")); + V.nextLink = "Remote Surgery"; + + reaction.longReaction.push(r); + return reaction; + } + } + + new PLimbInterface2(); +} diff --git a/js/medicine/surgery/reaction/pLimbInterface3.js b/js/medicine/surgery/reaction/pLimbInterface3.js new file mode 100644 index 00000000000..43fc3fcb9cf --- /dev/null +++ b/js/medicine/surgery/reaction/pLimbInterface3.js @@ -0,0 +1,39 @@ +{ + class PLimbInterface3 extends App.Medicine.Surgery.Reaction { + get key() { return "PLimb interface3"; } + + reaction(slave) { + const reaction = super.reaction(slave); + const {He, he, His, his, him, hers, himself} = getPronouns(slave); + const r = []; + + r.push(`When ${he} is carried out of surgery ${he}`); + if (canSee(slave)) { + r.push(`cranes ${his} neck to better see the ports`); + } else { + r.push(`wiggles ${his} stumps trying to feel the ports`); + } + r.push(`installed in ${his} stumps. ${His} stumps twitch slightly as the software begins configuring. Since ${he} already had anchors installed in previous surgery this procedure was less invasive and thus <span class="health dec">${his} health has been only slightly affected.</span>`); + if (slave.fetish !== "mindbroken" && slave.fuckdoll === 0) { + if (slave.devotion > 20) { + r.push(`${He} is <span class="devotion inc">overjoyed</span> when ${he} finds out this upgrade will allow ${him} to //feel// with ${his} limbs again and thanks you profusely the first chance ${he} gets. ${He} <span class="trust inc">places more trust in you,</span> too, since you obviously have ${his} best interests at heart.`); + } else if (slave.devotion >= -20) { + r.push(`${He}'s <span class="devotion inc">overwhelmed with joy and gratitude,</span> when ${he} finds out this upgrade will allow ${him} to //feel// with ${his} limbs again, in part because ${he} didn't think you'd do something like this for ${him}. ${He} thanks you profusely the first chance ${he} gets and is determined to prove ${himself} worthy of the expense you went to for ${him}. ${He} <span class="trust inc">places more trust in you,</span> too, since you seem to have a plan for ${him}.`); + } else { + r.push(`Despite ${his} hatred of you, ${he} can't help but feel some <span class="trust inc">trust</span> and <span class="devotion inc">gratitude,</span> towards you, since you clearly have a plan that involves putting a good deal of value into ${him}. Your goals might not be ${hers}, but at least ${he} has an indication that you're not toying with ${him}.`); + } + reaction.devotion += 5; + reaction.trust += 5; + } + + V.prostheticsConfig = "interface"; + r.push(App.UI.DOM.renderPassage("Prosthetics Configuration")); + V.nextLink = "Remote Surgery"; + + reaction.longReaction.push(r); + return reaction; + } + } + + new PLimbInterface3(); +} diff --git a/js/medicine/surgery/reaction/shoulders.js b/js/medicine/surgery/reaction/shoulders.js new file mode 100644 index 00000000000..9ad1ca78ccd --- /dev/null +++ b/js/medicine/surgery/reaction/shoulders.js @@ -0,0 +1,29 @@ +{ + class Shoulders extends App.Medicine.Surgery.Reaction { + get key() { return "shoulders"; } + + reaction(slave) { + const reaction = super.reaction(slave); + const {He, he, his, him} = getPronouns(slave); + const r = []; + + if (slave.fetish === "mindbroken") { + r.push(`${He} exits the surgery gingerly, since the changes of proportion in ${his} upper body have seriously affected ${his} sense of balance. Since the surgery was invasive, <span class="health dec">${his} health has been greatly affected.</span>`); + } else if (slave.devotion > 50) { + r.push(`${He} exits the surgery gingerly, since the changes of proportion in ${his} upper body have seriously affected ${his} sense of balance, albeit temporarily. ${He}'ll be clumsy and hesitant for some time, but ${he}'s happy with ${his} new shoulders. <span class="devotion inc">${He} has become more submissive due to your radical reshaping of ${his} body.</span> Since the surgery was invasive, <span class="health dec">${his} health has been greatly affected.</span>`); + reaction.devotion += 4; + } else if (slave.devotion > 20) { + r.push(`${He} exits the surgery gingerly, since the changes of proportion in ${his} upper body have seriously affected ${his} sense of balance, albeit temporarily. ${He}'ll be clumsy and hesitant for some time, but ${he}'s accepted ${his} new shoulders. ${He} isn't much affected mentally. Since the surgery was invasive, <span class="health dec">${his} health has been greatly affected.</span>`); + } else { + r.push(`${He} exits the surgery gingerly, since the changes of proportion in ${his} upper body have seriously affected ${his} sense of balance, albeit temporarily. ${He}'ll be clumsy and hesitant for some time, and ${he} refuses to accept that you are both willing and able to reshape ${him} down to ${his} very bones. <span class="devotion dec">The surgical invasion has filled ${him} with horror and anger.</span> Since the surgery was invasive, <span class="health dec">${his} health has been greatly affected.</span> ${He} is <span class="trust dec">terribly afraid</span> of your total power over ${his} body.`); + reaction.trust -= 10; + reaction.devotion -= 10; + } + + reaction.longReaction.push(r); + return reaction; + } + } + + new Shoulders(); +} diff --git a/js/medicine/surgery/reaction/sterilize.js b/js/medicine/surgery/reaction/sterilize.js new file mode 100644 index 00000000000..e5c089faac5 --- /dev/null +++ b/js/medicine/surgery/reaction/sterilize.js @@ -0,0 +1,37 @@ +{ + class Sterilize extends App.Medicine.Surgery.Reaction { + get key() { return "ster"; } + + reaction(slave) { + const reaction = super.reaction(slave); + const {He, he, his, him} = getPronouns(slave); + const r = []; + + if (slave.fetish === "mindbroken") { + r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but lacks the mental faculties to know that ${he}'ll never have a child now. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + } else if (this._strongKnownFetish(slave, "pregnancy")) { + r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} knows enough about surgery and sex slaves to know that it means ${he}'ll never have a child. ${He} is <span class="devotion dec">filled with grief</span> whenever ${he} thinks about the fact that feeling a life growing within ${him} is now, finally and forever, beyond ${him}. As with all surgery <span class="health dec">${his} health has been slightly affected.</span> ${He} is <span class="trust dec">terribly afraid</span> of your total power over ${his} body.`); + reaction.trust -= 10; + reaction.devotion -= 20; + } else if (slave.energy > 95) { + r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} knows enough about surgery and sex slaves to know that it means ${he}'ll never have to worry about a pussyfuck getting ${him} pregnant again. As far as ${he}'s concerned, easier, less worrisome vaginal intercourse is a <span class="devotion inc">good thing;</span> one less thing to keep in mind when a guy blows his load inside ${him}. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + reaction.devotion += 4; + } else if (slave.devotion > 50) { + r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} knows enough about surgery and sex slaves to know that it means ${he}'ll never have to worry about a pregnancy, ever again. ${He} has many rules and duties to worry about as a slave, so ${he}'s <span class="devotion inc">grateful</span> that ${he} has one less thing to worry about as ${he} serves you. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + reaction.devotion += 4; + } else if (slave.devotion >= -20) { + r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} knows enough about surgery and sex slaves to know that it means ${he}'ll never get pregnant. ${He} understands the realities of ${his} life as a slave, and that a traditional life with a child was never going to happen for ${him} anyway, so it isn't much of a shock. As with all surgery <span class="health dec">${his} health has been slightly affected.</span> ${He} is <span class="trust dec">sensibly fearful</span> of your total power over ${his} body.`); + reaction.trust -= 5; + } else { + r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} knows enough about surgery and sex slaves to know that it means ${he}'ll never get pregnant. ${He} does not understand the realities of ${his} life as a slave at a core level, so despite the fact that ${he} was never going to have a family, fertile or not, ${he}'s <span class="devotion dec">resentful</span> of the surgical invasion. As with all surgery <span class="health dec">${his} health has been slightly affected.</span> ${He} is <span class="trust dec">sensibly fearful</span> of your total power over ${his} body.`); + reaction.trust -= 5; + reaction.devotion -= 5; + } + + reaction.longReaction.push(r); + return reaction; + } + } + + new Sterilize(); +} diff --git a/js/medicine/surgery/reaction/tummyTuck.js b/js/medicine/surgery/reaction/tummyTuck.js new file mode 100644 index 00000000000..fe658950dec --- /dev/null +++ b/js/medicine/surgery/reaction/tummyTuck.js @@ -0,0 +1,36 @@ +{ + class TummyTuck extends App.Medicine.Surgery.Reaction { + get key() { return "tummyTuck"; } + + reaction(slave) { + const reaction = super.reaction(slave); + const {He, he, his} = getPronouns(slave); + const r = []; + + r.push(`${He} leaves the surgery with a soreness on ${his} lower abdomen,`); + if (slave.fetish === "mindbroken") { + r.push(`and finds ${his} belly isn't so saggy anymore. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + } else { + r.push(`and is <span class="devotion inc">pleased</span> to find it's no longer saggy. ${He}'s happy that ${he}'ll be able to show off ${his}`); + if (slave.weight > 95) { + r.push(`big soft belly${(slave.weight > 130) ? `, for awhile at least,` : ``}`); + } else if (slave.weight > 30) { + r.push(`soft belly`); + } else if (slave.muscles > 30) { + r.push(`muscular belly`); + } else if (slave.muscles > 5) { + r.push(`once again firm, ripped belly`); + } else { + r.push(`once again firm, flat belly`); + } + r.push(`without being self conscious about it. As with all surgery <span class="health dec">${his} health has been affected.</span>`); + reaction.devotion += 2; + } + + reaction.longReaction.push(r); + return reaction; + } + } + + new TummyTuck(); +} diff --git a/js/medicine/surgery/reaction/vagina.js b/js/medicine/surgery/reaction/vagina.js new file mode 100644 index 00000000000..cd5087e7525 --- /dev/null +++ b/js/medicine/surgery/reaction/vagina.js @@ -0,0 +1,39 @@ +{ + class Vagina extends App.Medicine.Surgery.Reaction { + get key() { return "vagina"; } + + reaction(slave) { + const reaction = super.reaction(slave); + const {He, he, his, him} = getPronouns(slave); + const r = []; + + if (slave.fetish === "mindbroken") { + r.push(`${He} leaves the surgery with a terribly sore pussy and little desire to mess with it. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + } else { + if (slave.energy > 95) { + r.push(`${He} leaves the surgery with a terribly sore pussy. ${He} is <span class="devotion inc">filled with joy</span> at the prospect of having a tight cunt again, so much so that ${he} now <span class="trust inc">trusts</span> your plans for ${his} body. If ${he} had much in the way of vanilla sex skills, <span class="red">they've likely suffered.</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + reaction.trust += 4; + reaction.devotion += 10; + } else if (slave.devotion > 50) { + r.push(`${He} leaves the surgery with a terribly sore pussy. ${He}'s <span class="devotion inc">happy</span> that you think ${him} worth the effort of surgical improvement, and a little excited to feel like ${he}'s a girl again. If ${he} had much in the way of vanilla sex skills, <span class="red">they've likely suffered.</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); + reaction.devotion += 4; + } else if (slave.devotion >= -20) { + r.push(`${He} leaves the surgery with a terribly sore pussy. ${He}'s somewhat revolted by the surgery, but as far as ${he}'s concerned, the short recovery period will mean a time during which ${he} can be sure no one will use ${his} pussy. If ${he} had much in the way of vanilla sex skills, <span class="red">they've likely suffered.</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span> ${He} is <span class="trust dec">sensibly fearful</span> of your total power over ${his} body.`); + reaction.trust -= 5; + } else { + r.push(`${He} leaves the surgery with a terribly sore pussy. ${He}'s <span class="devotion dec">horrified</span> at surgical alteration of ${his} womanhood; this is probably more of an invasion than ${he} could readily imagine before today. If ${he} had much in the way of vanilla sex skills, <span class="red">they've likely suffered.</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span> ${He} is <span class="trust dec">terribly afraid</span> of your total power over ${his} most intimate parts.`); + reaction.trust -= 10; + reaction.devotion -= 5; + } + if (slave.skill.vaginal > 10) { + slave.skill.vaginal -= 10; + } + } + + reaction.longReaction.push(r); + return reaction; + } + } + + new Vagina(); +} diff --git a/src/npc/descriptions/limbs.js b/src/npc/descriptions/limbs.js index b0294780f72..ae31a31fe66 100644 --- a/src/npc/descriptions/limbs.js +++ b/src/npc/descriptions/limbs.js @@ -35,7 +35,7 @@ App.Medicine.Limbs.currentLimbs = function(slave) { * @param {App.Entity.SlaveState} slave * @param {FC.LimbsState} oldLimbs * @param {string} returnTo - * @returns {Element|DocumentFragment} + * @returns {HTMLElement|DocumentFragment} */ App.Medicine.Limbs.amputate = function(slave, oldLimbs, returnTo) { const {his} = getPronouns(slave); diff --git a/src/npc/surgery/surgeryDegradation.js b/src/npc/surgery/surgeryDegradation.js index 566aca22b8d..77685ba70ab 100644 --- a/src/npc/surgery/surgeryDegradation.js +++ b/src/npc/surgery/surgeryDegradation.js @@ -7,7 +7,7 @@ App.UI.SlaveInteract.surgeryDegradation = function(slave) { let r = []; const { He, His, - he, his, him, hers, himself, girl + he, his, him, himself } = getPronouns(slave); const pubertyAge = Math.min(slave.pubertyAgeXX, slave.pubertyAgeXY); let hairChanges = 0; @@ -97,13 +97,9 @@ App.UI.SlaveInteract.surgeryDegradation = function(slave) { V.nextLink = "Main"; } else { switch (V.surgeryType) { - case "amp": - case "amp1": - case "ampA2": - case "ampL2": - case "PLimb interface1": - case "PLimb interface2": - case "PLimb interface3": + // case "amp1": + // case "ampA2": + // case "ampL2": case "removeLimbs": /* unassign if necessary */ removeJob(slave, Job.LURCHER, true); @@ -132,117 +128,7 @@ App.UI.SlaveInteract.surgeryDegradation = function(slave) { } } switch (V.surgeryType) { - case "foreskinTuck": - if (slave.fetish === "mindbroken") { - r.push(`${He} exits the surgery gingerly, since ${he} can feel that something was done to ${his} dick. Since it is still there, ${he} doesn't understand what changed. <span class="health dec">${his} health has been slightly affected.</span>`); - } else if (slave.devotion > 50) { - r.push(`${He} exits the surgery gingerly, since ${he} can feel that something was done to ${his} dick. ${He} examines it carefully`); - if (canSee(slave)) { - r.push(`in the mirror.`); - } else { - r.push(`by feeling alone.`); - } - r.push(`Realizing that ${his} foreskin fits comfortably, <span class="hotpink">${he}'s very happy you'd take an interest in ${his} penis,</span> and looks forward to having a slightly easier time keeping ${himself} clean through ${his} life as a sex slave.`); - if (canAchieveErection(slave)) { - r.push(`${He} also can't wait`); - if (canSee(slave)) { - r.push(`for the show during`); - } else { - r.push(`to feel`); - } - r.push(`${his} next erection.`); - } - r.push(`<span class="health dec">${his} health has been slightly affected.</span>`); - slave.devotion += 4; - } else if (slave.devotion > 20) { - r.push(`${He} exits the surgery gingerly, since ${he} can feel that something was done to ${his} dick. ${He} examines it carefully`); - if (canSee(slave)) { - r.push(`in the mirror.`); - } else { - r.push(`by feeling alone.`); - } - r.push(`Realizing that ${his} foreskin fits comfortably, ${he}'s flooded with relief. ${He}'s so elated that ${he} hasn't been severely damaged that ${he} doesn't mind your taking surgical control of ${his} member. <span class="health dec">${his} health has been slightly affected.</span>`); - } else { - r.push(`${He} exits the surgery gingerly, since ${he} can feel that something was done to ${his} dick. ${He} examines it carefully`); - if (canSee(slave)) { - r.push(`in the mirror.`); - } else { - r.push(`by feeling alone.`); - } - r.push(`Realizing that ${his} foreskin fits comfortably, ${he}'s flooded with relief, since ${he} was afraid that you'd done something far more terrible. Once ${he} has time to think about it, though, ${he}'s somewhat <span class="mediumorchid">resentful,</span> since ${he} naturally feels a certain proprietary interest in ${his} own penis. <span class="health dec">${his} health has been slightly affected.</span>`); - slave.devotion -= 5; - } - break; - case "hips": - if (slave.fetish === "mindbroken") { - r.push(`${He} exits the surgery very slowly, since ${he}'s still in considerable pain and isn't yet used to the way ${his} pelvis now fits together with the rest of ${his} body. Since the surgery was invasive, <span class="health dec">${his} health has been greatly affected.</span>`); - } else if (slave.devotion > 50) { - r.push(`${He} exits the surgery very cautiously, since ${he}'s still in considerable pain and isn't yet used to the way ${his} pelvis now fits together with the rest of ${his} body. ${He}'ll be clumsy and hesitant for some time, but ${he}'s happy with ${his} new hips. <span class="hotpink">${He} has become more submissive due to your radical reshaping of ${his} body.</span> Since the surgery was invasive, <span class="health dec">${his} health has been greatly affected.</span>`); - slave.devotion += 4; - } else if (slave.devotion > 20) { - r.push(`${He} exits the surgery very cautiously, since ${he}'s still in considerable pain and isn't yet used to the way ${his} pelvis now fits together with the rest of ${his} body. ${He}'ll be clumsy and hesitant for some time, but ${he}'s accepted ${his} new hips. ${He} isn't much affected mentally. Since the surgery was invasive, <span class="health dec">${his} health has been greatly affected.</span>`); - } else { - r.push(`${He} exits the surgery very cautiously, since ${he}'s still in considerable pain and isn't yet used to the way ${his} pelvis now fits together with the rest of ${his} body. ${He}'ll be clumsy and hesitant for some time, and ${he} refuses to accept that you are both willing and able to reshape ${him} down to ${his} very bones. <span class="mediumorchid">The surgical invasion has filled ${him} with horror and anger.</span> Since the surgery was invasive, <span class="health dec">${his} health has been greatly affected.</span> ${He} is <span class="gold">terribly afraid</span> of your total power over ${his} body.`); - slave.trust -= 10; - slave.devotion -= 10; - } - break; - case "shoulders": - if (slave.fetish === "mindbroken") { - r.push(`${He} exits the surgery gingerly, since the changes of proportion in ${his} upper body have seriously affected ${his} sense of balance. Since the surgery was invasive, <span class="health dec">${his} health has been greatly affected.</span>`); - } else if (slave.devotion > 50) { - r.push(`${He} exits the surgery gingerly, since the changes of proportion in ${his} upper body have seriously affected ${his} sense of balance, albeit temporarily. ${He}'ll be clumsy and hesitant for some time, but ${he}'s happy with ${his} new shoulders. <span class="hotpink">${He} has become more submissive due to your radical reshaping of ${his} body.</span> Since the surgery was invasive, <span class="health dec">${his} health has been greatly affected.</span>`); - slave.devotion += 4; - } else if (slave.devotion > 20) { - r.push(`${He} exits the surgery gingerly, since the changes of proportion in ${his} upper body have seriously affected ${his} sense of balance, albeit temporarily. ${He}'ll be clumsy and hesitant for some time, but ${he}'s accepted ${his} new shoulders. ${He} isn't much affected mentally. Since the surgery was invasive, <span class="health dec">${his} health has been greatly affected.</span>`); - } else { - r.push(`${He} exits the surgery gingerly, since the changes of proportion in ${his} upper body have seriously affected ${his} sense of balance, albeit temporarily. ${He}'ll be clumsy and hesitant for some time, and ${he} refuses to accept that you are both willing and able to reshape ${him} down to ${his} very bones. <span class="mediumorchid">The surgical invasion has filled ${him} with horror and anger.</span> Since the surgery was invasive, <span class="health dec">${his} health has been greatly affected.</span> ${He} is <span class="gold">terribly afraid</span> of your total power over ${his} body.`); - slave.trust -= 10; - slave.devotion -= 10; - } - break; - case "heels": - if (slave.fetish === "mindbroken") { - r.push(`${He} exits the surgery on all fours, unable to stand due to the changes to ${his} legs. A whorish pair of heels are slipped onto ${him} and ${he} is forced to ${his} feet to show that ${he} can indeed walk comfortably while wearing them. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - } else if (slave.devotion > 50) { - r.push(`${He} exits the surgery on all fours, unable to stand due to the changes to ${his} legs. ${He} finds a whorish pair of heels waiting for ${him} and eagerly puts them on, gingerly standing to find that ${he} can indeed walk comfortably while wearing them. ${He} struts back and forth experimentally and then offers`); - if (canSee(slave)) { - r.push(`the mirror`); - } else { - r.push(`you`); - } - r.push(`${his} asshole to check to see that ${his} ability to take a standing buttfuck hasn't been affected. <span class="hotpink">${He} has become more submissive due to your radical reshaping of ${his} body.</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - slave.devotion += 4; - } else if (slave.devotion > 20) { - r.push(`${He} exits the surgery on all fours, unable to stand due to the changes to ${his} legs. ${He} finds a whorish pair of heels waiting for ${him} and obediently puts them on, gingerly standing to find that ${he} can indeed walk comfortably while wearing them. After a while ${he} realizes that ${he}'ll never walk without looking like a stripper again, but ${he} accepts it. ${He} isn't much affected mentally. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - } else { - r.push(`${He} exits the surgery on all fours, unable to stand due to the changes to ${his} legs. ${He} finds a whorish pair of heels waiting for ${him}, but obstinately ignores them. After some time, ${he} realizes that the situation isn't changing and puts them on, gingerly standing to find that ${he} can indeed walk comfortably while wearing them. ${His}`); - if (canSee(slave)) { - r.push(`eyes are`); - } else { - r.push(`face is`); - } - r.push(`filled with hatred when ${he}`); - if (canSee(slave)) { - r.push(`sees ${his} new and permanent appearance in the mirror.`); - } else { - r.push(`discovers this is the only way ${he}'ll be able to stand now.`); - } - r.push(`<span class="mediumorchid">The surgical invasion has filled ${him} with horror and anger.</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span> ${He} is <span class="gold">terribly afraid</span> of your total power over ${his} body.`); - slave.trust -= 10; - slave.devotion -= 10; - } - break; - case "heelsRestoration": - if (slave.fetish === "mindbroken") { - r.push(`${He} exits the surgery on ${his} own two feet. ${He}'s still sore, but the modern surgery is fast and effective, and ${he} can use ${his} restored legs immediately. ${He} gingerly stands on one foot, then the other; and even takes a few little hops. ${He} obviously confused, but will get used to it soon enough. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - } else if (slave.devotion >= -20) { - r.push(`${He} exits the surgery on ${his} own two feet. ${He}'s still sore, but the modern surgery is fast and effective, and ${he} can use ${his} restored legs immediately. ${He} gingerly stands on one foot, then the other; and even takes a few little hops. ${He}'s grinning like a fool the whole time. <span class="hotpink">${He} has become more obedient due to gratitude.</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - slave.devotion += 4; - } else { - r.push(`${He} exits the surgery on ${his} own two feet. ${He}'s still sore, but the modern surgery is fast and effective, and ${he} can use ${his} restored legs immediately. ${He} gingerly stands on one foot, then the other; and even takes a few little hops. ${He} obviously confused, finding it surprising that you would go to the expense and trouble of repairing ${him}. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - } - break; + /* case "ampA1": if (slave.fetish === "mindbroken") { r.push(`You're there to help ${him} with the door as ${he} exits the surgery. ${He} smiles dumbly at your generosity, already seeming to forget ${he} ever had another arm. Since the surgery was invasive, <span class="health dec">${his} health has been greatly affected.</span>`); @@ -280,6 +166,8 @@ App.UI.SlaveInteract.surgeryDegradation = function(slave) { slave.devotion -= 20; } break; + */ + /* case "ampA2": if (slave.fetish === "mindbroken") { r.push(`You're there to open the door for ${him} as ${he} exits the surgery. ${He} smiles dumbly at your generosity, already seeming to forget the sensation of touching. Since the surgery was invasive, <span class="health dec">${his} health has been greatly affected.</span>`); @@ -313,6 +201,8 @@ App.UI.SlaveInteract.surgeryDegradation = function(slave) { slave.devotion -= 40; } break; + */ + /* case "ampL1": if (slave.fetish === "mindbroken") { r.push(`Of course, ${he} could not walk out of the surgery by ${himself}; you had to walk alongside ${him}. ${He} leans into you the entire time, already seeming to forget ${he} ever had another leg. Since the surgery was invasive, <span class="health dec">${his} health has been greatly affected.</span>`); @@ -350,6 +240,8 @@ App.UI.SlaveInteract.surgeryDegradation = function(slave) { slave.devotion -= 15; } break; + */ + /* case "ampL2": if (slave.fetish === "mindbroken") { r.push(`Of course, ${he} could not walk out of the surgery; you carried ${him}. ${He} holds onto you the entire time, already seeming to forget the sensation of walking. Since the surgery was invasive, <span class="health dec">${his} health has been greatly affected.</span>`); @@ -383,19 +275,9 @@ App.UI.SlaveInteract.surgeryDegradation = function(slave) { slave.devotion -= 30; } break; - case "amp": - V.nextButton = " "; - r.push(App.Medicine.Limbs.amputate(slave, V.oldLimbs, "Remote Surgery")); - delete V.oldLimbs; - break; - case "PLimb interface": - V.nextButton = " "; - r.push(App.Medicine.Limbs.prosthetic(slave, V.oldLimbs, "Remote Surgery")); - delete V.oldLimbs; - break; + */ /* - - case "bla": + case "amp": if (slave.fetish === "mindbroken") { r.push(`Of course, ${he} could not walk out of the surgery; you carried ${him}. ${He} squirms the entire time, trying to move the arms and legs ${he} now lacks. Since the surgery was invasive, <span class="health dec">${his} health has been greatly affected.</span>`); } else if (slave.devotion > 50) { @@ -481,88 +363,6 @@ slave.devotion -= 50; V.nextLink = "Remote Surgery"; break; */ - case "PLimb interface1": - r.push(`When ${he} is carried out of surgery ${he}`); - if (canSee(slave)) { - r.push(`cranes ${his} neck to better see the ports`); - } else { - r.push(`wiggles ${his} stumps trying to feel the ports`); - } - r.push(`installed in ${his} stumps. Recovery will be <span class="health dec">significant,</span> since the surgical implantation of anchor points for the limbs themselves and the installation of nerve impulse detectors constituted major surgery.`); - if (slave.fetish !== "mindbroken" && slave.fuckdoll === 0) { - if (slave.devotion > 20) { - r.push(`Nevertheless, ${he}'s <span class="hotpink">overwhelmed with gratitude,</span> and thanks you profusely the first chance ${he} gets. ${He} follows the acclimation program diligently, doing ${his} best to learn how to be a good slave despite, or sometimes even because of, ${his} disability. ${He} <span class="mediumaquamarine">places more trust in you,</span> too, since you obviously have ${his} best interests at heart.`); - slave.devotion += 5; - slave.trust += 5; - } else if (slave.devotion >= -20) { - r.push(`${He}'s <span class="hotpink">overwhelmed with gratitude,</span> in part because ${he} didn't think you'd do something like this for ${him}. ${He} thanks you profusely the first chance ${he} gets, and follows the acclimation program diligently, trying to deserve the expense you went to. ${He} <span class="mediumaquamarine">places more trust in you,</span> too, since you seem to have a plan for ${him}.`); - slave.devotion += 5; - slave.trust += 5; - } else { - r.push(`Despite ${his} hatred of you, ${he} can't help but <span class="mediumaquamarine">trust you a bit more,</span> since you clearly have a plan that involves putting a good deal of value into ${him}. Your goals might not be ${hers}, but at least ${he} has an indication that you're not toying with ${him}.`); - slave.trust += 5; - } - } - - V.prostheticsConfig = "interface"; - r.push(App.UI.DOM.renderPassage("Prosthetics Configuration")); - V.nextLink = "Remote Surgery"; - break; - case "PLimb interface2": - r.push(`When ${he} is carried out of surgery ${he}`); - if (canSee(slave)) { - r.push(`cranes ${his} neck to better see the ports`); - } else { - r.push(`wiggles ${his} stumps trying to feel the ports`); - } - r.push(`installed in ${his} stumps. ${His} stumps twitch slightly as the software begins configuring. Recovery will be <span class="health dec">significant,</span> since the surgical implantation of anchor points for the limbs themselves and the installation of nerve bridges constituted major surgery.`); - if (slave.fetish !== "mindbroken" && slave.fuckdoll === 0) { - if (slave.devotion > 20) { - r.push(`Nevertheless, ${he}'s <span class="hotpink">overwhelmed with gratitude,</span> and thanks you profusely the first chance ${he} gets. ${He} follows the acclimation program diligently, doing ${his} best to learn how to be a good slave despite, or sometimes even because of, ${his} disability. ${He} <span class="mediumaquamarine">places more trust in you,</span> too, since you obviously have ${his} best interests at heart.`); - slave.devotion += 5; - slave.trust += 5; - } else if (slave.devotion >= -20) { - r.push(`${He}'s <span class="hotpink">overwhelmed with gratitude,</span> in part because ${he} didn't think you'd do something like this for ${him}. ${He} thanks you profusely the first chance ${he} gets, and follows the acclimation program diligently, trying to deserve the expense you went to. ${He} <span class="mediumaquamarine">places more trust in you,</span> too, since you seem to have a plan for ${him}.`); - slave.devotion += 5; - slave.trust += 5; - } else { - r.push(`Despite ${his} hatred of you, ${he} can't help but <span class="mediumaquamarine">trust you a bit more,</span> since you clearly have a plan that involves putting a good deal of value into ${him}. Your goals might not be ${hers}, but at least ${he} has an indication that you're not toying with ${him}.`); - slave.trust += 5; - } - } - - V.prostheticsConfig = "interface"; - r.push(App.UI.DOM.renderPassage("Prosthetics Configuration")); - V.nextLink = "Remote Surgery"; - break; - case "PLimb interface3": - r.push(`When ${he} is carried out of surgery ${he}`); - if (canSee(slave)) { - r.push(`cranes ${his} neck to better see the ports`); - } else { - r.push(`wiggles ${his} stumps trying to feel the ports`); - } - r.push(`installed in ${his} stumps. ${His} stumps twitch slightly as the software begins configuring. Since ${he} already had anchors installed in previous surgery this procedure was less invasive and thus <span class="health dec">${his} health has been only slightly affected.</span>`); - if (slave.fetish !== "mindbroken" && slave.fuckdoll === 0) { - if (slave.devotion > 20) { - r.push(`${He} is <span class="hotpink">overjoyed</span> when ${he} finds out this upgrade will allow ${him} to //feel// with ${his} limbs again and thanks you profusely the first chance ${he} gets. ${He} <span class="mediumaquamarine">places more trust in you,</span> too, since you obviously have ${his} best interests at heart.`); - slave.devotion += 5; - slave.trust += 5; - } else if (slave.devotion >= -20) { - r.push(`${He}'s <span class="hotpink">overwhelmed with joy and gratitude,</span> when ${he} finds out this upgrade will allow ${him} to //feel// with ${his} limbs again, in part because ${he} didn't think you'd do something like this for ${him}. ${He} thanks you profusely the first chance ${he} gets and is determined to prove ${himself} worthy of the expense you went to for ${him}. ${He} <span class="mediumaquamarine">places more trust in you,</span> too, since you seem to have a plan for ${him}.`); - slave.devotion += 5; - slave.trust += 5; - } else { - r.push(`Despite ${his} hatred of you, ${he} can't help but feel some <span class="mediumaquamarine">trust</span> and <span class="hotpink">gratitude,</span> towards you, since you clearly have a plan that involves putting a good deal of value into ${him}. Your goals might not be ${hers}, but at least ${he} has an indication that you're not toying with ${him}.`); - slave.devotion += 5; - slave.trust += 5; - } - } - - V.prostheticsConfig = "interface"; - r.push(App.UI.DOM.renderPassage("Prosthetics Configuration")); - V.nextLink = "Remote Surgery"; - break; /* This was moved to prostheticsConfig.tw case "basicPLimbs": r.push(`${He} exits the surgery hesitantly, the software of ${his} prosthetic limbs and the wetware of ${his} brain working together to figure out how to walk together under the tutelage of a prescribed tutorial. Recovery will be <span class="health dec">significant,</span> since the surgical implantation of anchor points for the limbs themselves and the installation of nerve impulse detectors constituted major surgery.`); @@ -706,548 +506,6 @@ slave.devotion -= 5; } break; */ - case "ster": - if (slave.fetish === "mindbroken") { - r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but lacks the mental faculties to know that ${he}'ll never have a child now. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - } else if (strongKnownFet("pregnancy")) { - r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} knows enough about surgery and sex slaves to know that it means ${he}'ll never have a child. ${He} is <span class="mediumorchid">filled with grief</span> whenever ${he} thinks about the fact that feeling a life growing within ${him} is now, finally and forever, beyond ${him}. As with all surgery <span class="health dec">${his} health has been slightly affected.</span> ${He} is <span class="gold">terribly afraid</span> of your total power over ${his} body.`); - slave.trust -= 10; - slave.devotion -= 20; - } else if (slave.energy > 95) { - r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} knows enough about surgery and sex slaves to know that it means ${he}'ll never have to worry about a pussyfuck getting ${him} pregnant again. As far as ${he}'s concerned, easier, less worrisome vaginal intercourse is a <span class="hotpink">good thing;</span> one less thing to keep in mind when a guy blows his load inside ${him}. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - slave.devotion += 4; - } else if (slave.devotion > 50) { - r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} knows enough about surgery and sex slaves to know that it means ${he}'ll never have to worry about a pregnancy, ever again. ${He} has many rules and duties to worry about as a slave, so ${he}'s <span class="hotpink">grateful</span> that ${he} has one less thing to worry about as ${he} serves you. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - slave.devotion += 4; - } else if (slave.devotion >= -20) { - r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} knows enough about surgery and sex slaves to know that it means ${he}'ll never get pregnant. ${He} understands the realities of ${his} life as a slave, and that a traditional life with a child was never going to happen for ${him} anyway, so it isn't much of a shock. As with all surgery <span class="health dec">${his} health has been slightly affected.</span> ${He} is <span class="gold">sensibly fearful</span> of your total power over ${his} body.`); - slave.trust -= 5; - } else { - r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} knows enough about surgery and sex slaves to know that it means ${he}'ll never get pregnant. ${He} does not understand the realities of ${his} life as a slave at a core level, so despite the fact that ${he} was never going to have a family, fertile or not, ${he}'s <span class="mediumorchid">resentful</span> of the surgical invasion. As with all surgery <span class="health dec">${his} health has been slightly affected.</span> ${He} is <span class="gold">sensibly fearful</span> of your total power over ${his} body.`); - slave.trust -= 5; - slave.devotion -= 5; - } - break; - case "fert": - if (slave.fetish === "mindbroken") { - r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but lacks the mental faculties to realize that ${he} now has a chance to get pregnant. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - } else if (strongKnownFet("pregnancy") || slave.origin === "$He sold $himself to you in the hope of someday bearing children.") { - r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} knows enough about surgery and sex slaves to know that it means ${he} now has a chance to get pregnant. ${He} is <span class="hotpink">filled with joy</span> whenever ${he} thinks about the fact that feeling a life growing within ${him} is now, at last, a possibility. ${He}'s so pleased that ${he} now <span class="mediumaquamarine">trusts</span> your plans for ${his} body. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - slave.trust += 4; - slave.devotion += 5; - } else if (slave.devotion > 50) { - r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} knows enough about surgery and sex slaves to know that it means ${he} now has a chance to get pregnant. ${He}'s <span class="hotpink">grateful</span> that you think ${him} worthy of breeding, and even a little nervous about how ${he}'ll perform as a breeder. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - slave.devotion += 4; - } else if (slave.devotion >= -20) { - r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} knows enough about surgery and sex slaves to know that it means ${he} may now be impregnated. ${He} understands the realities of ${his} life as a slave, and that being bred was a possibility, so it isn't much of a shock. As with all surgery <span class="health dec">${his} health has been slightly affected.</span> ${He} is <span class="gold">sensibly fearful</span> of your total power over ${his} body.`); - slave.trust -= 5; - } else { - r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} knows enough about surgery and sex slaves to know that it means ${he} may now be impregnated. ${He} does not understand the realities of ${his} life as a slave at a core level, so ${he}'s <span class="mediumorchid">terrified and angry</span> at the potential that ${he}'ll be bred. As with all surgery <span class="health dec">${his} health has been slightly affected.</span> ${He} is <span class="gold">sensibly fearful</span> of your total power over ${his} body.`); - slave.trust -= 5; - slave.devotion -= 5; - } - break; - case "addOvaries": - if (slave.fetish === "mindbroken") { - r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but lacks the mental faculties to realize that ${he} now has a chance to get pregnant. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - } else if (strongKnownFet("pregnancy") || slave.origin === "$He sold $himself to you in the hope of someday bearing children.") { - r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} has managed to catch enough slave rumors about what the organ farm can do to know that it means ${he} now has a chance to get pregnant. ${He} is filled with joy whenever ${he} thinks about the fact that feeling a life growing within ${him} is now, at last, a possibility. ${He} now places <span class="mediumaquamarine">total faith</span> in your plans for ${his} body and <span class="hotpink">adores you</span> for giving ${him} a gift ${he} once thought impossible. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - slave.trust += 10; - slave.devotion += 10; - } else if (slave.devotion > 50) { - r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} has managed to catch enough slave rumors about what the organ farm can do to know that it means ${he} is now internally indistinguishable from a natural, unaltered woman. ${He} is <span class="mediumaquamarine">tremendously impressed</span> that you would devote such immense resources to altering ${his} body, and is more willing than ever to <span class="hotpink">submit to your plans</span> for ${his} future. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - slave.trust += 5; - slave.devotion += 5; - } else if (slave.devotion >= -20) { - r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} has managed to catch enough slave rumors about what the organ farm can do to know that it means ${he} is now internally indistinguishable from a natural, unaltered woman. ${He} is <span class="gold">terrified</span> of your apparently untrammeled power over ${his} body, so much so that ${he} is now more willing to <span class="hotpink">submit to your plans</span> for ${his} future. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - slave.trust -= 5; - slave.devotion += 5; - } else { - r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} has managed to catch enough slave rumors about what the organ farm can do to know that it means ${he} is now internally indistinguishable from a natural, unaltered woman. ${He} is <span class="gold">terrified</span> of your apparently untrammeled power over ${his} body, and <span class="mediumorchid">furious</span> at ${his} lack of control over ${his} own person. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - slave.trust -= 5; - slave.devotion -= 5; - } - break; - case "asexualReproOvaries": - if (slave.fetish === "mindbroken") { - r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but lacks the mental faculties to realize that ${he} is now self-impregnating. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - } else if (slave.devotion > 50) { - r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} has managed to catch enough slave rumors about what the organ farm can do to suspect that something has critically changed about ${his} reproductive system. ${He} is <span class="mediumaquamarine">pleased</span> that you would go out of your way to alter ${his} body, and is more willing than ever to <span class="hotpink">submit to your plans</span> for ${his} future. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - slave.trust += 5; - slave.devotion += 5; - } else if (slave.devotion >= -20) { - r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} has managed to catch enough slave rumors about what the organ farm can do to shudder at the thought of just what could have possibly been put into ${him}. ${He} is <span class="gold">terrified</span> of your apparently untrammeled power over ${his} body, so much so that ${he} is now more willing to <span class="hotpink">submit to your plans</span> for ${his} future. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - slave.trust -= 5; - slave.devotion += 5; - } else { - r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} has managed to catch enough slave rumors about what the organ farm can do to dread the discovery of what now resides inside ${him}. ${He} is <span class="gold">terrified</span> of your apparently untrammeled power over ${his} body, and <span class="mediumorchid">furious</span> at ${his} lack of control over ${his} own person. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - slave.trust -= 5; - slave.devotion -= 5; - } - if (isFertile(slave) && slave.preg === 0) { - knockMeUp(slave, 100, 2, slave.ID); - r.push(`${He} doesn't even have the chance to reach the slave quarters before ${his} new reproductive system detects ${his} unprotected fertility and begins to internally cum.`); - if (canWalk(slave)) { - r.push(`${He} struggles to stand as wave after wave of pleasure radiates from inside ${his} self-fertilizing womb.`); - } else { - r.push(`The slave carrying ${him} struggles to keep their grip on the orgasm wracked ${girl}.`); - } - r.push(`By the time ${he} is finished, ${he} is a sweat-soaked, panting mess with a womb <span class="lime">`); - if (slave.pregType > 50) { - r.push(`stuffed full of fertilized eggs.`); - } else if (slave.pregType > 20) { - r.push(`filled with new life.`); - } else if (slave.pregType > 1) { - r.push(`housing several new lives.`); - } else { - r.push(`filled with seed and a new life.`); - } - r.push(`</span>`); - } - break; - case "addAnimalOvaries": - if (slave.fetish === "mindbroken") { - r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but lacks the mental faculties to realize that ${he} now has a chance of carrying an animal baby to term. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - } else if (strongKnownFet("pregnancy") || slave.origin === "$He sold $himself to you in the hope of someday bearing children.") { - r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} has managed to catch enough slave rumors about what the organ farm can do to know that it means ${he} now has a chance to get pregnant. ${He} is filled with joy whenever ${he} thinks about the fact that feeling a life growing within ${him} is now, at last, a possibility. ${He} now places <span class="mediumaquamarine">total faith</span> in your plans for ${his} body and <span class="hotpink">adores you</span> for giving ${him} a gift ${he} once thought impossible. ${He} doesn't realize exactly what the surgery entailed, however — the happiness ${he} felt at first will most likely be replaced with horror once ${he} realizes the babies in ${his} womb are not human. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - slave.trust += 10; - slave.devotion += 10; - } else if (slave.devotion > 50) { - r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} has managed to catch enough slave rumors about what the organ farm can do to know that it means ${he} is now internally indistinguishable from a natural, unaltered woman — at least, that's what ${he} believes. Little does ${he} know that ${he} is now capable of carrying animal babies in ${his} womb. ${He} is <span class="mediumaquamarine">tremendously impressed</span> that you would devote such immense resources to altering ${his} body, and is more willing than ever to <span class="hotpink">submit to your plans</span> for ${his} future. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - slave.trust += 5; - slave.devotion += 5; - } else if (slave.devotion >= -20) { - r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} has managed to catch enough slave rumors about what the organ farm can do to know that it means ${he} is now internally indistinguishable from a natural, unaltered woman — at least, that's what ${he} believes. Little does ${he} know that ${he} is now capable of carrying animal babies in ${his} womb. ${He} is <span class="gold">terrified</span> of your apparently untrammeled power over ${his} body, so much so that ${he} is now more willing to <span class="hotpink">submit to your plans</span> for ${his} future. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - slave.trust -= 5; - slave.devotion += 5; - } else { - r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen, but ${he} has managed to catch enough slave rumors about what the organ farm can do to know that it means ${he} is now internally indistinguishable from a natural, unaltered woman — at least, that's what ${he} believes. Little does ${he} know that ${he} is now capable of carrying animal babies in ${his} womb. ${He} is <span class="gold">terrified</span> of your apparently untrammeled power over ${his} body, and <span class="mediumorchid">furious</span> at ${his} lack of control over ${his} own person. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - slave.trust -= 5; - slave.devotion -= 5; - } - break; - case "addTesticles": - if (slave.fetish === "mindbroken") { - r.push(`It's not immediately apparent to ${him} what kind of surgery ${he} received, since all ${he}'s left with is a nonspecific ache in ${his} abdomen. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - } else if (slave.devotion > 50) { - r.push(`${He} lies back in the surgical chair${(canSee(slave)) ? `, gazing at ${himself} in the ceiling mirror` : ``} as the fog of anesthetics lifts and feeling returns to ${his} lower half. As a devoted slave, ${he} knew the essentials of the surgery before it was performed, so ${he}'s excited to`); - if (canSee(slave)) { - r.push(`see`); - } else { - r.push(`feel`); - } - r.push(`the results. ${He} is <span class="mediumaquamarine">tremendously impressed</span> that you would devote such immense resources to altering ${his} body, and is more willing than ever to <span class="hotpink">submit to your plans</span> for ${his} future.`); - slave.trust += 5; - slave.devotion += 5; - } else if (slave.devotion >= -20) { - r.push(`It's not immediately apparent to ${him} what kind of surgery ${he} received, since all ${he}'s left with is a nonspecific ache in ${his} abdomen. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - } else { - r.push(`It's not immediately apparent to ${him} what kind of surgery ${he} received, since all ${he}'s left with is a nonspecific ache in ${his} abdomen. As with all surgery <span class="health dec">${his} health has been slightly affected.</span> ${He} doesn't have to know exactly what you did, though, to be <span class="gold">mortified</span> and <span class="mediumorchid">infuriated</span> by your messing around inside ${his} body. ${He} hasn't yet learned to accept that you control ${him} completely, down to the arrangement and even presence of ${his} internal organs.`); - slave.trust -= 10; - slave.devotion -= 10; - } - break; - case "addProstate": - r.push(`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 parts. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - if (slave.fetish !== "mindbroken" && slave.fuckdoll === 0) { - if (slave.devotion > 50) { - if (slave.anus === 0) { - r.push(`Since ${he}'s still an anal virgin, ${he}'s denied the most obvious way of discovering what's been added to ${him}. The revelation is deferred until the next time ${he} orgasms:`); - } else if (canDoAnal(slave) || canDoVaginal(slave)) { - r.push(`The next time ${he}'s penetrated, though, it's obvious:`); - } else if (canPenetrate(slave)) { - r.push(`The next time ${he} uses ${his} cock, though, it's obvious:`); - } else { - r.push(`The next time ${he} climaxes, though, it's obvious:`); - } - r.push(`${he}'s shocked by the astounding volume of ${his}`); - if (slave.dick === 0) { - r.push(`squirting female`); - } - r.push(`ejaculation, since ${his} new organ is of course hooked into ${his} urethra and does its duty whenever ${he} climaxes${(slave.balls === 0) ? `despite ${his} lack of testicles to add actual semen to ${his} copious emissions` : ``}.`); - if (slave.fetishKnown === 1 && slave.fetish === "buttslut") { - r.push(`${He} was already an anal slut, but ${he} can now experience anal pleasure along an entirely new dimension. ${He}'s <span class="hotpink">extremely grateful,</span> and <span class="lightsalmon">a more eager buttslut than ever.</span>`); - slave.devotion += 5; - slave.fetishStrength = Math.clamp(slave.fetishStrength + 20, 0, 100); - } else { - r.push(`As a sex slave, ${he}`); - if (canHear(slave)) { - r.push(`has of course heard of`); - } else { - r.push(`is of course familiar with`); - } - r.push(`the pleasure of prostate stimulation,`); - if (slave.genes === "XY") { - r.push(`not to mention having once had one ${himself},`); - } - r.push(`and ${he}'s <span class="hotpink">duly grateful</span> that you've altered ${him} in a way that will make sexual duties more enjoyable.`); - } - slave.devotion += 5; - } else if (slave.devotion > 20) { - r.push(`The next time ${he} orgasms, ${he}'s shocked by the astounding volume of ${his}`); - if (slave.dick === 0) { - r.push(`squirting female`); - } - r.push(`ejaculation, since ${his} new organ is of course hooked into ${his} urethra and does its duty whenever ${he} climaxes${(slave.balls === 0) ? `despite ${his} lack of testicles to add actual semen to ${his} copious emissions` : ``}. ${His} main reaction is confusion; this alteration is pretty far outside any of the more conventional surgeries slaves might expect to receive, and ${his} mixed feeling tend to cancel each other out.`); - } else { - r.push(`${He} doesn't have to know exactly what you did, though, to be <span class="gold">mortified</span> and <span class="mediumorchid">infuriated</span> by your messing around inside ${his} body. ${He} hasn't yet learned to accept that you control ${him} completely, down to the arrangement and even presence of ${his} internal organs.`); - slave.trust -= 10; - slave.devotion -= 10; - } - } - break; - case "addDick": - if (slave.fetish === "mindbroken") { - r.push(`The surgery is invasive, and ${he} spends some time in the autosurgery, slowly recovering. As feeling slowly returns to the lower half of ${his} body and ${his} thoughts coalesce against the dissipating fog of surgical pharmacology, ${he} strains to focus on ${his} groin${(canSee(slave)) ? `, visible in a ceiling mirror above ${him}` : ``}. ${His} eyes open wide as ${he} takes in the new member between ${his} legs. Suddenly, it twitches for the first time. The mixed pain of the terribly sore area and pleasure of new sensations floods ${him}, and ${he} jerks against the surgical restraints, gasping for breath. <span class="health dec">${his} health has been severely affected</span> by the intrusive surgery.`); - } else if (slave.devotion > 50) { - r.push(`The surgery is invasive, and ${he} spends some time in the autosurgery, slowly recovering. As feeling slowly returns to the lower half of ${his} body and ${his} thoughts coalesce against the dissipating fog of surgical pharmacology, ${he} strains to focus on ${his} groin${(canSee(slave)) ? `, visible in a ceiling mirror above ${him}` : ``}. As a devoted slave, ${he} knew the essentials of the surgery before it was performed, so ${he}'s excited to`); - if (canSee(slave)) { - r.push(`see`); - } else { - r.push(`feel`); - } - r.push(`the result. ${His} eyes open wide as ${he} takes in the new member between ${his} legs. Suddenly, it twitches for the first time. The mixed pain of the terribly sore area and pleasure of new sensations floods ${him}, and ${he} jerks against the surgical restraints, gasping for breath. ${He} is <span class="mediumaquamarine">tremendously impressed</span> that you would devote such immense resources to altering ${his} body, and is more willing than ever to <span class="hotpink">submit to your plans</span> for ${his} future. <span class="health dec">${his} health has been severely affected</span> by the intrusive surgery.`); - slave.trust += 5; - slave.devotion += 5; - } else if (slave.devotion >= -20) { - r.push(`The surgery is invasive, and ${he} spends some time in the autosurgery, slowly recovering. As feeling slowly returns to the lower half of ${his} body and ${his} thoughts coalesce against the dissipating fog of surgical pharmacology, ${he} focuses on ${his} groin${(canSee(slave)) ? `, visible in a ceiling mirror above ${him}` : ``}. ${He} slowly becomes aware of the soft new member resting between ${his} legs. ${He} has a penis. The thought process is visible on ${his} face as the fact sinks in. ${He} has a penis! Unsure what to make of this unbelievable development, ${he}`); - if (canSee(slave)) { - r.push(`turns ${his} gaze away from the mirror and`); - } - r.push(`shuts ${his} eyes tightly. ${He} is <span class="gold">terrified</span> of your apparently untrammeled power over ${his} body, so much so that ${he} is now more willing to <span class="hotpink">submit to your plans</span> for ${his} future. <span class="health dec">${his} health has been severely affected</span> by the intrusive surgery.`); - slave.trust -= 5; - slave.devotion += 5; - } else { - r.push(`The surgery is invasive, and ${he} spends some time in the autosurgery, slowly recovering. As feeling slowly returns to the lower half of ${his} body and ${his} thoughts coalesce against the dissipating fog of surgical pharmacology, ${he} focuses on ${his} groin${(canSee(slave)) ? `, visible in a ceiling mirror above ${him}` : ``}. ${He} slowly becomes aware of the soft new member resting between ${his} legs. ${He} has a penis. The thought process is visible on ${his} face as the fact sinks in. ${He} has a penis!`); - if (slave.voice === 0) { - r.push(`${He} tries to scream, but as a mute all ${he} can manage is pathetic, silent thrashing against the surgical restraints.`); - } else { - r.push(`A huge scream rises out of ${him}, going on and on, until ${he} pauses to gasp for breath so ${he} can go on screaming.`); - } - r.push(`${He} is <span class="gold">terrified</span> of your apparently untrammeled power over ${his} body, and <span class="mediumorchid">furious</span> at ${his} lack of control over ${his} own person. <span class="health dec">${his} health has been severely affected</span> by the intrusive surgery.`); - slave.trust -= 5; - slave.devotion -= 5; - } - break; - case "addBalls": - if (slave.fetish === "mindbroken") { - r.push(`${He} lies back in the surgical chair${(canSee(slave)) ? `, gazing at ${himself} in the ceiling mirror` : ``} as the fog of anesthetics lifts and feeling returns to ${his} lower half. ${His} new testicles are small, and ${his} scrotum is scarcely visible under ${his} dick, but its impact becomes immediately clear. ${He} slowly achieves an excruciatingly painful erection, panting with the pain as ${his} very sore member becomes hard. The terrible overstimulation brings a spurt of cum jetting out of ${his} cockhead. As the agony melts away, ${he} struggles to understand what just happened. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - } else if (slave.devotion > 50) { - r.push(`${He} lies back in the surgical chair${(canSee(slave)) ? `, gazing at ${himself} in the ceiling mirror` : ``} as the fog of anesthetics lifts and feeling returns to ${his} lower half. As a devoted slave, ${he} knew the essentials of the surgery before it was performed, so ${he}'s excited to`); - if (canSee(slave)) { - r.push(`see`); - } else { - r.push(`feel`); - } - r.push(`the result. ${His} new testicles are small, and ${his} scrotum is scarcely visible under ${his} dick, but its impact becomes immediately clear. ${He} slowly achieves an excruciatingly painful erection, panting with the pain as ${his} very sore member becomes hard. The terrible overstimulation brings a spurt of cum jetting out of ${his} cockhead. As the agony melts away, ${he} begins to giggle. ${He} is <span class="mediumaquamarine">tremendously impressed</span> that you would devote such immense resources to altering ${his} body, and is more willing than ever to <span class="hotpink">submit to your plans</span> for ${his} future. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - slave.trust += 5; - slave.devotion += 5; - } else if (slave.devotion >= -20) { - r.push(`${He} lies back in the surgical chair${(canSee(slave)) ? `, gazing at ${himself} in the ceiling mirror` : ``} as the fog of anesthetics lifts and feeling returns to ${his} lower half. ${He} cannot quite feel what has happened to ${him} yet, but ${he} does not have long to wait. ${His} new testicles are small, and ${his} scrotum is scarcely visible under ${his} dick, but its impact becomes immediately clear. ${He} slowly achieves an excruciatingly painful erection, panting with the pain as ${his} very sore member becomes hard. The terrible overstimulation brings a spurt of cum jetting out of ${his} cockhead. As the agony melts away, the rush of new hormones clashes with ${his} already roiling emotions, and ${he} begins to sob. ${He} is <span class="gold">terrified</span> of your apparently untrammeled power over ${his} body, so much so that ${he} is now more willing to <span class="hotpink">submit to your plans</span> for ${his} future. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - slave.trust -= 5; - slave.devotion += 5; - } else { - r.push(`The autosurgery allows ${him} to recover for a while. Once it's safe, though, it's time to test the function of ${his} new organs by seeing if they permit ${him} to achieve erection. The surgery slowly inserts a dildo into ${his} anus; the slave is so fuzzy from the surgery and accompanying drugs that it takes a while for the machine assfuck to register. Gradually, though, ${his} new dick becomes hard. Horrified, ${he} cannot take ${his}`); - if (canSee(slave)) { - r.push(`eyes off ${his} own reflection in the ceiling mirror`); - } else { - r.push(`mind off ${his} soft cock`); - } - r.push(`as it bobs and waves with the sodomy. A delayed reaction sets in as the soreness of surgical recovery competes with the stimulation:`); - if (slave.voice === 0) { - r.push(`${he} tries to scream, but only manages to gasp repeatedly`); - } else { - r.push(`${he} howls with pain and terror`); - } - r.push(`as the dildo forces a weak prostate orgasm. ${He} is <span class="gold">terrified</span> of your apparently untrammeled power over ${his} body, and <span class="mediumorchid">furious</span> at ${his} lack of control over ${his} own person. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - slave.trust -= 5; - slave.devotion -= 5; - } - - /* TODO: this will need a rewrite */ - break; - case "addAnimalBalls": - if (slave.fetish === "mindbroken") { - r.push(`${He} lies back in the surgical chair${(canSee(slave)) ? `, gazing at ${himself} in the ceiling mirror` : ``} as the fog of anesthetics lifts and feeling returns to ${his} lower half. ${His} new testicles are small, and ${his} scrotum is scarcely visible under ${his} dick, but its impact becomes immediately clear. ${He} slowly achieves an excruciatingly painful erection, panting with the pain as ${his} very sore member becomes hard. The terrible overstimulation brings a spurt of cum jetting out of ${his} cockhead. As the agony melts away, ${he} struggles to understand what just happened. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - } else if (slave.devotion > 50) { - r.push(`${He} lies back in the surgical chair${(canSee(slave)) ? `, gazing at ${himself} in the ceiling mirror` : ``} as the fog of anesthetics lifts and feeling returns to ${his} lower half. As a devoted slave, ${he} knew the essentials of the surgery before it was performed, so ${he}'s excited to`); - if (canSee(slave)) { - r.push(`see`); - } else { - r.push(`feel`); - } - r.push(`the result. ${His} new testicles are small, and ${his} scrotum is scarcely visible under ${his} dick, but its impact becomes immediately clear. ${He} slowly achieves an excruciatingly painful erection, panting with the pain as ${his} very sore member becomes hard. The terrible overstimulation brings a spurt of cum jetting out of ${his} cockhead. As the agony melts away, ${he} begins to giggle. ${He} is <span class="mediumaquamarine">tremendously impressed</span> that you would devote such immense resources to altering ${his} body, and is more willing than ever to <span class="hotpink">submit to your plans</span> for ${his} future. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - slave.trust += 5; - slave.devotion += 5; - } else if (slave.devotion >= -20) { - r.push(`${He} lies back in the surgical chair${(canSee(slave)) ? `, gazing at ${himself} in the ceiling mirror` : ``} as the fog of anesthetics lifts and feeling returns to ${his} lower half. ${He} cannot quite feel what has happened to ${him} yet, but ${he} does not have long to wait. ${His} new testicles are small, and ${his} scrotum is scarcely visible under ${his} dick, but its impact becomes immediately clear. ${He} slowly achieves an excruciatingly painful erection, panting with the pain as ${his} very sore member becomes hard. The terrible overstimulation brings a spurt of cum jetting out of ${his} cockhead. As the agony melts away, the rush of new hormones clashes with ${his} already roiling emotions, and ${he} begins to sob. ${He} is <span class="gold">terrified</span> of your apparently untrammeled power over ${his} body, so much so that ${he} is now more willing to <span class="hotpink">submit to your plans</span> for ${his} future. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - slave.trust -= 5; - slave.devotion += 5; - } else { - r.push(`The autosurgery allows ${him} to recover for a while. Once it's safe, though, it's time to test the function of ${his} new organs by seeing if they permit ${him} to achieve erection. The surgery slowly inserts a dildo into ${his} anus; the slave is so fuzzy from the surgery and accompanying drugs that it takes a while for the machine assfuck to register. Gradually, though, ${his} new dick becomes hard. Horrified, ${he} cannot take ${his}`); - if (canSee(slave)) { - r.push(`eyes off ${his} own reflection in the ceiling mirror`); - } else { - r.push(`mind off ${his} soft cock`); - } - r.push(`as it bobs and waves with the sodomy. A delayed reaction sets in as the soreness of surgical recovery competes with the stimulation:`); - if (slave.voice === 0) { - r.push(`${he} tries to scream, but only manages to gasp repeatedly`); - } else { - r.push(`${he} howls with pain and terror`); - } - r.push(`as the dildo forces a weak prostate orgasm. ${He} is <span class="gold">terrified</span> of your apparently untrammeled power over ${his} body, and <span class="mediumorchid">furious</span> at ${his} lack of control over ${his} own person. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - slave.trust -= 5; - slave.devotion -= 5; - } - break; - case "addScrotum": - r.push(`${He} leaves the surgery gingerly, knowing ${he}'s had surgery on ${his} junk. Taking the first opportunity to`); - if (canSee(slave)) { - r.push(`look at ${his} crotch in a mirror,`); - } else { - r.push(`feel ${his} crotch,`); - } - r.push(`${he}'s`); - if (slave.fetish === "mindbroken") { - r.push(`confused to find something new dangling there.`); - } else if (slave.devotion > 50) { - r.push(`overjoyed to find that ${he} has a ballsack. ${He} very obviously starts to think about how it will affect ${his} various functions as a sex slave. First, ${he} flexes ${his} Kegel muscles,`); - if (canSee(slave)) { - r.push(`watching raptly as`); - } else { - r.push(`giggling as ${he} feels`); - } - r.push(`${his} testicles move within the new pouch of soft skin beneath ${his} cock. Then ${he} starts to bounce and hump a little, this way and that, experimenting with how they move as ${he} performs fucking motions. ${He}'s <span class="mediumaquamarine">looking forward</span> to having fun with this latest alteration of ${his} body, and is more willing than ever to <span class="hotpink">submit to your plans</span> for ${his} future.`); - slave.trust += 5; - slave.devotion += 5; - } else if (slave.devotion >= -20) { - r.push(`shocked to find that ${he} has a ballsack. ${He} flexes ${his} Kegel muscles, mostly for lack of anything better to try,`); - if (canSee(slave)) { - r.push(`watching raptly as`); - } else { - r.push(`thinking deeply as`); - } - r.push(`${his} testicles move within the new pouch of soft skin beneath ${his} cock.`); - if (canSee(slave)) { - r.push(`Staring at the sight`); - } else { - r.push(`Transfixed on the motion`); - } - r.push(`with obviously mixed feelings, ${he} struggles for a while before bursting into girlish tears from the sheer ambivalence. ${He}'s <span class="gold">frightened of your ability to modify ${him},</span> and is more willing than ever to <span class="hotpink">submit to your plans</span> for ${his} future.`); - slave.trust -= 5; - slave.devotion += 5; - } else { - r.push(`shocked and appalled to find that ${he} has a ballsack. ${He}`); - if (canSee(slave)) { - r.push(`stares at ${his} newly visible`); - } else { - r.push(`feels ${his} new`); - } - r.push(`balls in horror; it's obvious ${he} thought they were out of sight, and out of mind. ${He} checks ${himself} over carefully, and then bursts into tears, seemingly feeling that even if ${he} has a ballsack, ${his} cock is still a slave's bitchclit, and ${his} asshole is still a slut's asspussy. ${He}'s <span class="gold">frightened of your ability to modify ${him},</span> and <span class="mediumorchid">resentful</span> of how you use it.`); - slave.trust -= 5; - slave.devotion -= 5; - } - r.push(`As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - break; - case "addForeskin": - if (slave.dick > 0) { - r.push(`${He} leaves the surgery gingerly, knowing ${he}'s had surgery on ${his} dick. Taking the first opportunity to check out ${his} member${(canSee(slave)) ? `in a mirror` : ``}, ${he}'s`); - if (slave.fetish === "mindbroken") { - r.push(`confused to find nothing has really changed.`); - } else if (slave.devotion > 50) { - r.push(`titillated to find that ${he} has a foreskin. ${He} examines it`); - if (canSee(slave)) { - r.push(`carefully and then touches it,`); - } - r.push(`very gently. ${He}'s very sore, obviously, but the sudden sensation is almost too much for ${him}. ${His} resolution to investigate ${his} remodeled dick, but later, is almost visible. It's obvious that ${he} can hardly wait, <span class="mediumaquamarine">anticipating</span> all the new sensations that this new and very sensitive patch of skin can offer ${him}. ${He}'s <span class="hotpink">grateful</span> to you for improving ${his} dick.`); - slave.trust += 5; - slave.devotion += 5; - } else if (slave.devotion >= -20) { - r.push(`quite surprised, and a little relieved, to find that ${he} has a foreskin. ${He} examines it`); - if (canSee(slave)) { - r.push(`carefully and then touches it,`); - } - r.push(`very gently. ${He}'s very sore, obviously, but the sudden sensation is almost too much for ${him}. ${He} seems to have been worried that something more dramatic than a reversal of circumcision had been done to ${him}, but ${his} chief reaction is <span class="hotpink">mystified submission</span> to you afterward. Your total power over ${his} body has been made clear to ${him} in a way that provokes confusion, not fear.`); - slave.devotion += 5; - } else { - r.push(`shocked to find that ${he} has a foreskin. ${He}'s not exactly resentful of you for doing this, since whatever ${his} feelings about circumcision might be, it's very far from what ${he} feared might be done to ${his} dick. ${His} reaction is dominated by <span class="gold">fear of the unknown,</span> since ${he}'s now wondering whether ${he} has any ability to predict your actions at all. Whatever ${his} mental model of you was before this, it probably didn't include you restoring ${his} foreskin.`); - slave.trust -= 5; - } - } else { - r.push(`${He} leaves the surgery gingerly, knowing ${he}'s had surgery on ${his} genitals. Taking the first opportunity to check out ${his} crotch${(canSee(slave)) ? `in a mirror` : ``}, ${he}'s`); - if (slave.fetish === "mindbroken") { - r.push(`confused to find that ${his} clitoris is missing.`); - } else if (slave.devotion > 50) { - r.push(`titillated to find that ${his} clitoris has a hood. ${He} examines it`); - if (canSee(slave)) { - r.push(`carefully and then touches it,`); - } - r.push(`very gently. ${He}'s very sore, obviously, but the sudden sensation is almost too much for ${him}. ${His} resolution to investigate ${his} remodeled clit, but later, is almost visible. It's obvious that ${he} can hardly wait, <span class="mediumaquamarine">anticipating</span> all the new sensations that this new patch of skin can offer ${him}. ${He}'s <span class="hotpink">grateful</span> to you for improving ${his} pussy.`); - slave.trust += 5; - slave.devotion += 5; - } else if (slave.devotion >= -20) { - r.push(`quite surprised, and a little relieved, to find that ${his} clit has a hood. ${He} examines it`); - if (canSee(slave)) { - r.push(`carefully and then touches it,`); - } - r.push(`very gently. ${He}'s very sore, obviously, but the sudden sensation is almost too much for ${him}. ${He} seems to have been worried that something more dramatic than a reversal of circumcision had been done to ${him}, but ${his} chief reaction is <span class="hotpink">mystified submission</span> to you afterward. Your total power over ${his} body has been made clear to ${him} in a way that provokes confusion, not fear.`); - slave.devotion += 5; - } else { - r.push(`shocked to find that ${his} clitoris has a hood. ${He}'s not exactly resentful of you for doing this, since whatever ${his} feelings about circumcision might be, it's very far from what ${he} feared might be done to ${his} clit. ${His} reaction is dominated by <span class="gold">fear of the unknown,</span> since ${he}'s now wondering whether ${he} has any ability to predict your actions at all. Whatever ${his} mental model of you was before this, it probably didn't include you restoring ${his} clitoral hood.`); - slave.trust -= 5; - } - } - r.push(`As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - break; - case "anus": - if (slave.fetish === "mindbroken") { - r.push(`${He} leaves the surgery with a terribly sore rear end and little desire to mess with it. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - } else if (strongKnownFet("buttslut")) { - r.push(`${He} leaves the surgery with a terribly sore rear end. ${He} is <span class="hotpink">filled with joy</span> at the prospect of having a tight butt all over again, so much so that ${he} now <span class="mediumaquamarine">trusts</span> your plans for ${his} body. If ${he} had much in the way of anal skills, <span class="red">they've likely suffered.</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - slave.trust += 4; - slave.devotion += 10; - if (slave.skill.anal > 10) { - slave.skill.anal -= 10; - } - } else if (slave.devotion > 50) { - r.push(`${He} leaves the surgery with a terribly sore rear end. ${He}'s a bit anxious at the prospect of the pain having to get back to a loose asshole the hard way, but ${he}'s <span class="hotpink">happy</span> that you think ${him} worth the effort of surgical improvement. If ${he} had much in the way of anal skills, <span class="red">they've likely suffered.</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - slave.devotion += 4; - if (slave.skill.anal > 10) { - slave.skill.anal -= 10; - } - } else if (slave.devotion >= -20) { - r.push(`${He} leaves the surgery with a terribly sore rear end. ${He} knows ${he}'ll have to endure the pain of being fucked in a tight asshole again soon enough, but trepidation is nothing new for ${him}. If ${he} had much in the way of anal skills, <span class="red">they've likely suffered.</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span> ${He} is <span class="gold">sensibly fearful</span> of your total power over ${his} body.`); - slave.trust -= 5; - if (slave.skill.anal > 10) { - slave.skill.anal -= 10; - } - } else { - r.push(`${He} leaves the surgery with a terribly sore rear end. ${He}'s <span class="mediumorchid">horrified</span> at surgical alteration of ${his} rear end, and knows that this means that ${he}'ll have to take the pain of sodomy in a tight ass all over again. If ${he} had much in the way of anal skills, <span class="red">they've likely suffered.</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span> ${He} is <span class="gold">terribly afraid</span> of your total power over ${his} most intimate parts.`); - slave.trust -= 10; - slave.devotion -= 5; - if (slave.skill.anal > 10) { - slave.skill.anal -= 10; - } - } - break; - case "labiaplasty": - if (slave.fetish === "mindbroken") { - r.push(`${He} leaves the surgery with a terribly sore pussy and little desire to mess with it. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - } else if (slave.energy > 95) { - r.push(`${He} leaves the surgery with a terribly sore pussy. ${He} is <span class="hotpink">filled with joy</span> at the thought that ${his} pussy will now be more appealing to ${his} ${getWrittenTitle(slave)}; ${he}'s already anticipating recovering enough to feel your cockhead pressing past ${his} new lips, so much so that ${he} now <span class="mediumaquamarine">trusts</span> your plans for ${his} body. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - slave.trust += 4; - slave.devotion += 10; - } else if (slave.devotion > 50) { - r.push(`${He} leaves the surgery with a terribly sore pussy. ${He}'s <span class="hotpink">happy</span> that you think ${his} pussy worth the effort of surgical improvement, and a little excited at the idea that ${he} now has what you consider good-looking pussylips. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - slave.devotion += 4; - } else if (slave.devotion >= -20) { - r.push(`${He} leaves the surgery with a terribly sore pussy. ${He}'s somewhat revolted by the surgery, but as far as ${he}'s concerned, the short recovery period will mean a time during which ${he} can be sure no one will use ${his} pussy. As with all surgery <span class="health dec">${his} health has been slightly affected.</span> ${He} is <span class="gold">sensibly fearful</span> of your total power over ${his} body.`); - slave.trust -= 5; - } else { - r.push(`${He} leaves the surgery with a terribly sore pussy. ${He}'s <span class="mediumorchid">horrified</span> at surgical alteration of ${his} womanhood; this is probably more of an invasion than ${he} could readily imagine before today. As with all surgery <span class="health dec">${his} health has been slightly affected.</span> ${He} is <span class="gold">terribly afraid</span> of your total power over ${his} most intimate parts.`); - slave.trust -= 10; - slave.devotion -= 5; - } - break; - case "clitoral reduction": - if (slave.fetish === "mindbroken") { - r.push(`${He} leaves the surgery with a terribly sore pussy and little desire to mess with it. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - } else if (slave.energy > 95) { - r.push(`${He} leaves the surgery with a terribly sore pussy. ${He} is <span class="hotpink">filled with joy</span> at the thought that ${his} pussy will now be more appealing to ${his} ${getWrittenTitle(slave)}; ${his} sensitivity has been reduced, <span class="libido dec">reducing ${his} sex drive slightly.</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - slave.trust += 4; - slave.devotion += 10; - slave.energy -= 5; - } else if (slave.devotion > 50) { - r.push(`${He} leaves the surgery with a terribly sore pussy. ${He}'s <span class="hotpink">happy</span> that you think ${his} pussy worth the effort of surgical improvement, although ${his} sensitivity has been reduced, <span class="libido dec">reducing ${his} sex drive slightly.</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - slave.devotion += 4; - slave.energy -= 5; - } else if (slave.devotion >= -20) { - r.push(`${He} leaves the surgery with a terribly sore pussy. ${He}'s somewhat revolted by the surgery, but as far as ${he}'s concerned, the short recovery period will mean a time during which ${he} can be sure no one will use ${his} pussy. The reduced sensitivity has <span class="libido dec">noticeably reduced ${his} sex drive.</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span> ${He} is <span class="gold">sensibly fearful</span> of your total power over ${his} body.`); - slave.trust -= 5; - slave.energy -= 10; - } else { - r.push(`${He} leaves the surgery with a terribly sore pussy. ${He}'s <span class="mediumorchid">horrified</span> at surgical alteration of ${his} womanhood; this is probably more of an invasion than ${he} could readily imagine before today and <span class="libido dec">${his} sex drive takes a heavy hit..</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span> ${He} is <span class="gold">terribly afraid</span> of your total power over ${his} most intimate parts.`); - slave.trust -= 10; - slave.devotion -= 5; - slave.energy -= 20; - } - break; - case "clitoral enlargement": - if (slave.fetish === "mindbroken") { - r.push(`${He} leaves the surgery with a terribly sore pussy and little desire to mess with it. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - } else if (slave.energy > 95) { - r.push(`${He} leaves the surgery with a terribly sore pussy. ${He} is <span class="hotpink">filled with joy</span> at the thought that ${his} pussy will now be more appealing to ${his} ${getWrittenTitle(slave)}; ${his} sensitivity has been increased, <span class="libido inc">raising ${his} sex drive slightly.</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - slave.trust += 4; - slave.devotion += 10; - slave.energy += 1; - } else if (slave.devotion > 50) { - r.push(`${He} leaves the surgery with a terribly sore pussy. ${He}'s <span class="hotpink">happy</span> that you think ${his} pussy worth the effort of surgical improvement; ${his} sensitivity has been increased, <span class="libido inc">raising ${his} sex drive slightly.</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - slave.devotion += 4; - slave.energy += 1; - } else if (slave.devotion >= -20) { - r.push(`${He} leaves the surgery with a terribly sore pussy. ${He}'s somewhat revolted by the surgery, but as far as ${he}'s concerned, the short recovery period will mean a time during which ${he} can be sure no one will use ${his} pussy. ${His} sensitivity has been increased, <span class="libido inc">raising ${his} sex drive slightly.</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span> ${He} is <span class="gold">sensibly fearful</span> of your total power over ${his} body.`); - slave.trust -= 5; - slave.energy += 1; - } else { - r.push(`${He} leaves the surgery with a terribly sore pussy. ${He}'s <span class="mediumorchid">horrified</span> at surgical alteration of ${his} womanhood; this is probably more of an invasion than ${he} could readily imagine before today. ${His} sensitivity has been increased, <span class="libido inc">raising ${his} sex drive slightly.</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span> ${He} is <span class="gold">terribly afraid</span> of your total power over ${his} most intimate parts.`); - slave.trust -= 10; - slave.devotion -= 5; - slave.energy += 1; - } - break; - case "vagina": - if (slave.fetish === "mindbroken") { - r.push(`${He} leaves the surgery with a terribly sore pussy and little desire to mess with it. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - } else if (slave.energy > 95) { - r.push(`${He} leaves the surgery with a terribly sore pussy. ${He} is <span class="hotpink">filled with joy</span> at the prospect of having a tight cunt again, so much so that ${he} now <span class="mediumaquamarine">trusts</span> your plans for ${his} body. If ${he} had much in the way of vanilla sex skills, <span class="red">they've likely suffered.</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - slave.trust += 4; - slave.devotion += 10; - if (slave.skill.vaginal > 10) { - slave.skill.vaginal -= 10; - } - } else if (slave.devotion > 50) { - r.push(`${He} leaves the surgery with a terribly sore pussy. ${He}'s <span class="hotpink">happy</span> that you think ${him} worth the effort of surgical improvement, and a little excited to feel like ${he}'s a girl again. If ${he} had much in the way of vanilla sex skills, <span class="red">they've likely suffered.</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - slave.devotion += 4; - if (slave.skill.vaginal > 10) { - slave.skill.vaginal -= 10; - } - } else if (slave.devotion >= -20) { - r.push(`${He} leaves the surgery with a terribly sore pussy. ${He}'s somewhat revolted by the surgery, but as far as ${he}'s concerned, the short recovery period will mean a time during which ${he} can be sure no one will use ${his} pussy. If ${he} had much in the way of vanilla sex skills, <span class="red">they've likely suffered.</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span> ${He} is <span class="gold">sensibly fearful</span> of your total power over ${his} body.`); - slave.trust -= 5; - if (slave.skill.vaginal > 10) { - slave.skill.vaginal -= 10; - } - } else { - r.push(`${He} leaves the surgery with a terribly sore pussy. ${He}'s <span class="mediumorchid">horrified</span> at surgical alteration of ${his} womanhood; this is probably more of an invasion than ${he} could readily imagine before today. If ${he} had much in the way of vanilla sex skills, <span class="red">they've likely suffered.</span> As with all surgery <span class="health dec">${his} health has been slightly affected.</span> ${He} is <span class="gold">terribly afraid</span> of your total power over ${his} most intimate parts.`); - slave.trust -= 10; - slave.devotion -= 5; - if (slave.skill.vaginal > 10) { - slave.skill.vaginal -= 10; - } - } - break; - case "tummyTuck": - r.push(`${He} leaves the surgery with a soreness on ${his} lower abdomen,`); - if (slave.fetish === "mindbroken") { - r.push(`and finds ${his} belly isn't so saggy anymore. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); - } else { - r.push(`and is <span class="hotpink">pleased</span> to find it's no longer saggy. ${He}'s happy that ${he}'ll be able to show off ${his}`); - if (slave.weight > 95) { - r.push(`big soft belly${(slave.weight > 130) ? `, for awhile at least,` : ``}`); - } else if (slave.weight > 30) { - r.push(`soft belly`); - } else if (slave.muscles > 30) { - r.push(`muscular belly`); - } else if (slave.muscles > 5) { - r.push(`once again firm, ripped belly`); - } else { - r.push(`once again firm, flat belly`); - } - r.push(`without being self conscious about it. As with all surgery <span class="health dec">${his} health has been affected.</span>`); - slave.devotion += 2; - } - break; case "bellyIn": if (slave.fetish === "mindbroken") { r.push(`${He} leaves the surgery with nothing but a nonspecific ache in ${his} lower abdomen that ${he} cannot figure out the source of. As with all surgery <span class="health dec">${his} health has been slightly affected.</span>`); @@ -1951,14 +1209,6 @@ slave.devotion -= 5; } } } - - if (slave.behavioralFlaw === "arrogant" && V.surgeryType === "amp") { - r.push(`<span class="green">${He} can hardly be arrogant relying on others to feed, bathe and carry ${him}.</span>`); - slave.behavioralFlaw = "none"; - } else if (slave.behavioralFlaw === "bitchy" && V.surgeryType === "mute") { - r.push(`<span class="green">${He} can hardly make sharp remarks without a voice.</span>`); - slave.behavioralFlaw = "none"; - } } // CLOSES DEATH delete V.boobFat; delete V.buttFat; -- GitLab