diff --git a/js/medicine/surgery/genitals/vagina.js b/js/medicine/surgery/genitals/vagina.js index facb07fdf72b18f5b18554f83a717d7de8f54eb2..e08a1572dc8983736be9a9bee43d244322905112 100644 --- a/js/medicine/surgery/genitals/vagina.js +++ b/js/medicine/surgery/genitals/vagina.js @@ -88,6 +88,7 @@ App.Medicine.Surgery.Procedures.RestoreVirginity = class extends App.Medicine.Su apply(cheat) { this._slave.vagina = 0; + this._slave.counter.reHymen = this._slave.counter.reHymen ? this._slave.counter.reHymen + 1 : 1; return this._assemble(new App.Medicine.Surgery.Reactions.Vagina()); } }; diff --git a/src/js/SlaveState.js b/src/js/SlaveState.js index 38db8b14537090775b60512bfdbd50b3b2e09048..29de7c69fa552f95f79412a77fd7dc2d4a2967d9 100644 --- a/src/js/SlaveState.js +++ b/src/js/SlaveState.js @@ -346,6 +346,8 @@ App.Entity.SlaveActionsCountersState = class { this.timesBred = 0; /** How many of your children has she borne. */ this.PCChildrenBeared = 0; + /** How many times her hymen has been reconstructed */ + this.reHymen = 0; } }; diff --git a/src/js/rulesAutosurgery.js b/src/js/rulesAutosurgery.js index 06eaddbf73fb5d937155a664f58c9d2043048a1c..038bf0e03fdef7515ce63838706cacfbc91e4e2c 100644 --- a/src/js/rulesAutosurgery.js +++ b/src/js/rulesAutosurgery.js @@ -265,6 +265,7 @@ globalThis.rulesAutosurgery = (function() { } else if (slave.vagina > 0 && V.surgeryUpgrade === 1 && thisSurgery.holes === 2) { commitProcedure("a virgin pussy", () => { slave.vagina = 0; + slave.counter.reHymen = slave.counter.reHymen ? slave.counter.reHymen + 1 : 1; if (slave.skill.vaginal > 10) { slave.skill.vaginal -= 10; } diff --git a/src/npc/interaction/fSuckDick.js b/src/npc/interaction/fSuckDick.js index f6b16e5ae59cef2db4d149abbe00e2d764a318c7..ab64312c7ab84380e6b04576ce696c88dad626d7 100644 --- a/src/npc/interaction/fSuckDick.js +++ b/src/npc/interaction/fSuckDick.js @@ -803,7 +803,9 @@ App.Interact.fSuckDick = function(slave) { break; case "work as a nanny": text.push(`hurries off to clean ${himself} before heading back to the ${V.nurseryName}.`); - } + default: + text.push(`hurries off to clean ${himself}.`); + } } return text.join(' '); diff --git a/src/player/electiveSurgery.js b/src/player/electiveSurgery.js index 6e56a59823571d0ab38ddcdf6d801beb344a6ee2..620f4d3008f3a7edf6491fc4b56297a9ef4b3ef9 100644 --- a/src/player/electiveSurgery.js +++ b/src/player/electiveSurgery.js @@ -718,7 +718,7 @@ App.UI.electiveSurgery = function() { linkArray.push(surgeryLink("Get a tight virgin vagina", "tightPussy", () => { V.PC.vagina = 0; V.PC.newVag = 1; - V.PC.counter.reHymen = V.PC.counter.reHymen ? V.PC.counter.reHymen++ : 1; + V.PC.counter.reHymen = V.PC.counter.reHymen ? V.PC.counter.reHymen + 1 : 1; cashX(forceNeg(applyDiscount(17000)), "PCmedical"); })) }; @@ -737,11 +737,11 @@ App.UI.electiveSurgery = function() { virginName = "that of a preteen girl"; } App.Events.addNode(p, [ - `"It looks like you have lost the warranty seal${V.PC.counter.reHymen ? " again" : ""}. I can give you a hymen reconstruction for only <span class="cash">${cashFormat(applyDiscount(2000))}</span>. No one will notice that your vagina has ${V.PC.counter.penetrative > 100 ? "largely" : ""} been used${V.raped > 0 ? " and abused" : ""}, it will be a perfect work of craftsmanship. The surgery will also serve to make your duct narrow like ${virginName}."` + `"It looks like you have lost the warranty seal${V.PC.counter.reHymen ? " again" : ""}. I can give you a hymen reconstruction for only <span class="cash">${cashFormat(applyDiscount(2000))}</span>. No one will notice that your vagina has ${V.PC.counter.vaginal/V.week > 10 ? "largely" : ""} been used${V.raped > 0 ? " and abused" : ""}, it will be a perfect work of craftsmanship. The surgery will also serve to make your duct narrow like ${virginName}."` ], "div"); linkArray.push(surgeryLink("Get your hymen restored", "reVirgin", () => { V.PC.vagina = 0; - V.PC.counter.reHymen = V.PC.counter.reHymen ? V.PC.counter.reHymen++ : 1; + V.PC.counter.reHymen = V.PC.counter.reHymen ? V.PC.counter.reHymen + 1 : 1; cashX(forceNeg(applyDiscount(2000)), "PCmedical"); })); } diff --git a/src/player/js/PlayerState.js b/src/player/js/PlayerState.js index 69b54359cc484b3f615db634b944eeeb85c4599d..20146eefcf98c6c07a784192d8491aac68637cfe 100644 --- a/src/player/js/PlayerState.js +++ b/src/player/js/PlayerState.js @@ -110,6 +110,8 @@ App.Entity.PlayerActionsCountersState = class { this.birthOther = 0; /** how many units of your cum are stored away for artificially inseminating slaves */ this.storedCum = 0; + /** how many times you've been raped or forced to intercourse*/ + this.raped = 0; /** shared variables */ /** amount of milk given */ this.milk = 0; @@ -140,6 +142,9 @@ App.Entity.PlayerActionsCountersState = class { this.pitWins = 0; /** number of fights lost */ this.pitLosses = 0; + /** number of hymen reconstructions */ + this.reHymen = 0; + /** content for pInsemination */ this.moves = 0; diff --git a/src/player/pcSurgeryDegradation.js b/src/player/pcSurgeryDegradation.js index 64cb8f592cf69c1f44f9ca875cda293ac96c706e..69cff158fade87955c865a8099ca9e0c4a4c9ef4 100644 --- a/src/player/pcSurgeryDegradation.js +++ b/src/player/pcSurgeryDegradation.js @@ -479,11 +479,11 @@ App.UI.PCSurgeryDegradation = function(surgeryType) { } else { r.push(`disappears between your thighs.`); } - r.push(`You feel face brush your inner legs as ${heU} brings ${hisU} mouth to your cunt and begins to enthusiastically eat you out.`); + r.push(`You feel ${hisU} face brush your inner legs as ${heU} brings ${hisU} mouth to your cunt and begins to enthusiastically eat you out.`); if (V.PC.vagina === 0) { r.push(`${HisU} long tongue enters your vagina and you feel ${heU} rhythmically pressing into your new hymen with just enough pressure for you to feel it.`); } - r.push(`${HeU} is quite good at ${hisU} job and quickly brings you to climax; your new${V.PC.vagina === 0 ? "virgin" : ""} pussy squirting girlcum across ${hisU} face. ${HeU} rises from your crotch and licks ${hisU} lips. "I always did like the taste of you. Feel free to rest as long as you need before departing. If you need, or want, me, I'll be around." Satisfied, you settle back down to sleep off the rest of the anesthesia before returning to your arcology.`); + r.push(`${HeU} is quite good at ${hisU} job and quickly brings you to climax; your new${V.PC.vagina === 0 ? " virgin" : ""} pussy squirting girlcum across ${hisU} face. ${HeU} rises from your crotch and licks ${hisU} lips. "I always did like the taste of you. Feel free to rest as long as you need before departing. If you need, or want, me, I'll be around." Satisfied, you settle back down to sleep off the rest of the anesthesia before returning to your arcology.`); } break; case "reVirgin": @@ -510,7 +510,7 @@ App.UI.PCSurgeryDegradation = function(surgeryType) { } else { r.push(`disappears between your thighs.`); } - r.push(`You feel face brush your inner legs as ${heU} brings ${hisU} mouth to your cunt and begins to enthusiastically eat you out. ${HisU} long tongue enters your vagina and you feel ${heU} rhythmically pressing into your new hymen with just enough pressure for you to feel it. ${HeU} is quite good at ${hisU} job and quickly brings you to climax; your virgin pussy squirting girlcum across ${hisU} face. ${HeU} rises from your crotch and licks ${hisU} lips. "I always did like the taste of you. Feel free to rest as long as you need before departing. If you need, or want, me, I'll be around." Satisfied, you settle back down to sleep off the rest of the anesthesia before returning to your arcology.`); + r.push(`You feel ${hisU} face brush your inner legs as ${heU} brings ${hisU} mouth to your cunt and begins to enthusiastically eat you out. ${HisU} long tongue enters your vagina and you feel ${heU} rhythmically pressing into your new hymen with just enough pressure for you to feel it. ${HeU} is quite good at ${hisU} job and quickly brings you to climax; your virgin pussy squirting girlcum across ${hisU} face. ${HeU} rises from your crotch and licks ${hisU} lips. "I always did like the taste of you. Feel free to rest as long as you need before departing. If you need, or want, me, I'll be around." Satisfied, you settle back down to sleep off the rest of the anesthesia before returning to your arcology.`); } break; case "herm2female":