diff --git a/src/endWeek/saClothes.js b/src/endWeek/saClothes.js index 30075c19d6384c3c14d08d3fd865829da542269d..5c8076cc91c0d99c6bb14a9d114b3da6e9368f3c 100644 --- a/src/endWeek/saClothes.js +++ b/src/endWeek/saClothes.js @@ -920,9 +920,10 @@ App.SlaveAssignment.clothes = (function() { * */ function vaginaAccessories(slave) { + const dildo = App.Data.vaginalAccessories.get(slave.vaginalAccessory) || V.customItem.vaginalAccessories.get(slave.vaginalAccessory); if (slave.vaginalAccessory !== "none") { - if (slave.vaginalAccessory === "bullet vibrator" || slave.vaginalAccessory === "smart bullet vibrator") { - r.push(`Constantly wearing a bullet vibrator`); + if (dildo.width === 0) { + r.push(`Constantly wearing a ${slave.vaginalAccessory}`); if (slave.devotion < 20) { r.push(`habituates ${him} to sexual slavery and <span class="hotpink">increases ${his} submissiveness.</span>`); slave.devotion += 2; @@ -930,7 +931,7 @@ App.SlaveAssignment.clothes = (function() { r.push(`reminds ${him} of ${his} place and <span class="hotpink">increases ${his} devotion to you.</span>`); slave.devotion++; } - } else if (slave.vaginalAccessory === "dildo") { + } else if (dildo.width === 1) { if (slave.vagina < 1 && jsRandom(1, 100) > 50) { r.push(`Constantly wearing a dildo in ${his} virgin pussy <span class="lime">gets it used to penetration.</span>`); slave.vagina += 1; @@ -943,29 +944,16 @@ App.SlaveAssignment.clothes = (function() { slave.sexualFlaw = "none"; } } - } else if (slave.vaginalAccessory === "long dildo") { - if (slave.vagina < 1 && jsRandom(1, 100) > 50) { - r.push(`Constantly wearing a dildo in ${his} virgin pussy <span class="lime">gets it used to penetration.</span>`); - slave.vagina += 1; - } else { - r.push(`${His} pussy easily accommodates the dildo ${he}'s required to wear.`); - } - if (slave.fuckdoll === 0) { - if (slave.fetish !== "mindbroken") { - if (slave.sexualFlaw === "hates penetration" && jsRandom(1, 100) > 50) { - r.push(`The habit <span class="green">reduces ${his} dislike of having ${his} pussy filled.</span>`); - slave.sexualFlaw = "none"; - } - if (slave.sexualQuirk === "size queen") { - r.push(`Being able to hold such a long dildo is a <span class="hotpink">point of pride</span> for the ostentatious size queen.`); - slave.devotion += 2; - } else { - r.push(`It penetrates ${his} cervix causing ${him} tremendous discomfort, making ${him} a little <span class="gold">less trusting</span> of you.`); - slave.trust -= 1; - } + if (dildo.length > 1) { + if (slave.sexualQuirk === "size queen") { + r.push(`Being able to hold such a long dildo is a <span class="hotpink">point of pride</span> for the ostentatious size queen.`); + slave.devotion += 2; + } else { + r.push(`It penetrates ${his} cervix causing ${him} tremendous discomfort, making ${him} a little <span class="gold">less trusting</span> of you.`); + slave.trust -= 1; } } - } else if (slave.vaginalAccessory === "large dildo") { + } else if (dildo.width === 2) { if (slave.vagina < 3) { if (jsRandom(1, 4) === 1) { r.push(`Constantly wearing a large dildo in ${his} pussy <span class="lime">stretches it out.</span>`); @@ -979,105 +967,93 @@ App.SlaveAssignment.clothes = (function() { if (slave.fuckdoll === 0) { if (slave.fetish !== "mindbroken") { if (slave.vagina < 2) { - r.push(`The big dildo in ${his} tight cunt`); - if (slave.sexualQuirk === "size queen") { - r.push(`is a <span class="hotpink">point of pride</span> for the ostentatious size queen.`); - slave.devotion += 2; - } else { - r.push(`<span class="hotpink">breaks ${him} to sexual slavery</span> slightly.`); - slave.devotion += 1; - } - if (slave.vagina === 1) { - r.push(`It stretches ${his} tight cunt to soreness by the end of every day, so it also makes ${him} a little <span class="gold">less trusting</span> of you.`); - slave.trust -= 1; - } - } - } - } - } else if (slave.vaginalAccessory === "long, large dildo") { - if (slave.vagina < 3) { - if (jsRandom(1, 4) === 1) { - r.push(`Constantly wearing a large dildo in ${his} pussy <span class="lime">stretches it out.</span>`); - slave.vagina += 1; - } else { - r.push(`The large dildo ${he}'s required to wear is a stretch for ${his} cunt, but pussies are resilient and ${he}rs isn't seriously affected.`); - } - } else { - r.push(`${His} pussy accommodates the large dildo ${he}'s required to wear.`); - } - if (slave.vagina < 2) { - if (slave.fuckdoll === 0) { - if (slave.fetish !== "mindbroken") { - r.push(`The big, long dildo in ${his} tight cunt`); - if (slave.sexualQuirk === "size queen") { - r.push(`is a <span class="hotpink">point of pride</span> for the ostentatious size queen.`); - slave.devotion += 2; + if (dildo.length === 1) { + r.push(`The big dildo in ${his} tight cunt`); + if (slave.sexualQuirk === "size queen") { + r.push(`is a <span class="hotpink">point of pride</span> for the ostentatious size queen.`); + slave.devotion += 2; + } else { + r.push(`<span class="hotpink">breaks ${him} to sexual slavery</span> slightly.`); + slave.devotion += 1; + } + if (slave.vagina === 1) { + r.push(`It stretches ${his} tight cunt to soreness by the end of every day, so it also makes ${him} a little <span class="gold">less trusting</span> of you.`); + slave.trust -= 1; + } } else { - r.push(`<span class="hotpink">breaks ${him} to sexual slavery</span> slightly. It also penetrates ${his} cervix, causing ${him} tremendous discomfort, and making ${him} a little <span class="gold">less trusting</span> of you.`); - slave.devotion += 1; - slave.trust -= 1; - } - if (slave.vagina === 1) { - r.push(`It stretches ${his} tight cunt to soreness by the end of every day, so it also makes ${him} a little <span class="gold">less trusting</span> of you.`); - slave.trust -= 1; + r.push(`The big, long dildo in ${his} tight cunt`); + if (slave.sexualQuirk === "size queen") { + r.push(`is a <span class="hotpink">point of pride</span> for the ostentatious size queen.`); + slave.devotion += 2; + } else { + r.push(`<span class="hotpink">breaks ${him} to sexual slavery</span> slightly. It also penetrates ${his} cervix, causing ${him} tremendous discomfort, and making ${him} a little <span class="gold">less trusting</span> of you.`); + slave.devotion += 1; + slave.trust -= 1; + } + if (slave.vagina === 1) { + r.push(`It stretches ${his} tight cunt to soreness by the end of every day, so it also makes ${him} a little <span class="gold">less trusting</span> of you.`); + slave.trust -= 1; + } } } } } - } else if (slave.vaginalAccessory === "huge dildo") { - if (slave.vagina < 4) { - if (slave.fuckdoll === 0) { - if (slave.fetish !== "mindbroken") { - if (slave.sexualQuirk === "size queen") { - r.push(`${He} thinks of the massive dildo stretching out ${his} womanhood as <span class="lime">preparation for the biggest cocks,</span> and <span class="hotpink">looks forward</span> to take anything — dicks, hands, truly anything — inside ${his} newly capacious cunt.`); - slave.devotion += 4; - } else if (slave.fetish === "masochist" && slave.fetishKnown === 1 && slave.fetishStrength > 60) { - r.push(`${He} gets off on the agony of having ${his} cunt <span class="lime">permanently stretched</span> by a huge dildo. The terrible combination of pain and pleasure <span class="hotpink">breaks ${his} will</span> but fills ${him} with <span class="gold">fear.</span>`); - slave.devotion += 5; - slave.trust -= 5; - } else if (slave.fetish === "submissive" && slave.fetishKnown === 1 && slave.fetishStrength > 60) { - r.push(`${He} submits to the agony of having ${his} cunt <span class="lime">permanently stretched</span> by a huge dildo. Having ${his} hole ruined at your whim <span class="hotpink">breaks ${his} will</span> but fills ${him} with <span class="gold">fear.</span>`); - slave.devotion += 5; - slave.trust -= 5; - } else { - r.push(`The agony of having ${his} cunt <span class="lime">permanently stretched</span> by a huge dildo fills ${him} with <span class="mediumorchid">resentment</span> and <span class="gold">fear.</span>`); - slave.devotion -= 5; - slave.trust -= 5; + } else if (dildo.width === 3) { + if (dildo.length === 1) { + if (slave.vagina < 4) { + if (slave.fuckdoll === 0) { + if (slave.fetish !== "mindbroken") { + if (slave.sexualQuirk === "size queen") { + r.push(`${He} thinks of the massive dildo stretching out ${his} womanhood as <span class="lime">preparation for the biggest cocks,</span> and <span class="hotpink">looks forward</span> to take anything — dicks, hands, truly anything — inside ${his} newly capacious cunt.`); + slave.devotion += 4; + } else if (slave.fetish === "masochist" && slave.fetishKnown === 1 && slave.fetishStrength > 60) { + r.push(`${He} gets off on the agony of having ${his} cunt <span class="lime">permanently stretched</span> by a huge dildo. The terrible combination of pain and pleasure <span class="hotpink">breaks ${his} will</span> but fills ${him} with <span class="gold">fear.</span>`); + slave.devotion += 5; + slave.trust -= 5; + } else if (slave.fetish === "submissive" && slave.fetishKnown === 1 && slave.fetishStrength > 60) { + r.push(`${He} submits to the agony of having ${his} cunt <span class="lime">permanently stretched</span> by a huge dildo. Having ${his} hole ruined at your whim <span class="hotpink">breaks ${his} will</span> but fills ${him} with <span class="gold">fear.</span>`); + slave.devotion += 5; + slave.trust -= 5; + } else { + r.push(`The agony of having ${his} cunt <span class="lime">permanently stretched</span> by a huge dildo fills ${him} with <span class="mediumorchid">resentment</span> and <span class="gold">fear.</span>`); + slave.devotion -= 5; + slave.trust -= 5; + } } } + slave.vagina += 1; + } else { + r.push(`${His} cavernous pussy accommodates the huge dildo ${he}'s required to wear.`); } - slave.vagina += 1; - } else { - r.push(`${His} cavernous pussy accommodates the huge dildo ${he}'s required to wear.`); - } - } else if (slave.vaginalAccessory === "long, huge dildo") { - if (slave.vagina < 4) { - if (slave.fuckdoll === 0) { - if (slave.fetish !== "mindbroken") { - if (slave.sexualQuirk === "size queen") { - r.push(`${He} thinks of the massive dildo stretching out ${his} womanhood and stomach as <span class="lime">preparation for the biggest cocks,</span> and <span class="hotpink">looks forward</span> to take anything — dicks, hands, arms, truly anything — inside ${his} newly capacious cunt.`); - slave.devotion += 4; - } else if (slave.fetish === "masochist" && slave.fetishKnown === 1 && slave.fetishStrength > 60) { - r.push(`${He} gets off on the agony of having ${his} cunt <span class="lime">permanently stretched</span> and ${his} cervix penetrated by a huge dildo. The terrible combination of pain and pleasure <span class="hotpink">breaks ${his} will</span> but fills ${him} with <span class="gold">fear.</span>`); - slave.devotion += 5; - slave.trust -= 5; - } else if (slave.fetish === "submissive" && slave.fetishKnown === 1 && slave.fetishStrength > 60) { - r.push(`${He} submits to the agony of having ${his} cunt <span class="lime">permanently stretched</span> and ${his} cervix penetrated by a huge dildo. Having ${his} hole and cervix ruined at your whim <span class="hotpink">breaks ${his} will</span> but fills ${him} with <span class="gold">fear.</span>`); - slave.devotion += 5; - slave.trust -= 5; - } else { - r.push(`The agony of having ${his} cunt <span class="lime">permanently stretched</span> and ${his} cervix penetrated by a huge dildo fills ${him} with <span class="mediumorchid">resentment</span> and <span class="gold">fear.</span>`); - slave.devotion -= 5; - slave.trust -= 5; + } else { + if (slave.vagina < 4) { + if (slave.fuckdoll === 0) { + if (slave.fetish !== "mindbroken") { + if (slave.sexualQuirk === "size queen") { + r.push(`${He} thinks of the massive dildo stretching out ${his} womanhood and stomach as <span class="lime">preparation for the biggest cocks,</span> and <span class="hotpink">looks forward</span> to take anything — dicks, hands, arms, truly anything — inside ${his} newly capacious cunt.`); + slave.devotion += 4; + } else if (slave.fetish === "masochist" && slave.fetishKnown === 1 && slave.fetishStrength > 60) { + r.push(`${He} gets off on the agony of having ${his} cunt <span class="lime">permanently stretched</span> and ${his} cervix penetrated by a huge dildo. The terrible combination of pain and pleasure <span class="hotpink">breaks ${his} will</span> but fills ${him} with <span class="gold">fear.</span>`); + slave.devotion += 5; + slave.trust -= 5; + } else if (slave.fetish === "submissive" && slave.fetishKnown === 1 && slave.fetishStrength > 60) { + r.push(`${He} submits to the agony of having ${his} cunt <span class="lime">permanently stretched</span> and ${his} cervix penetrated by a huge dildo. Having ${his} hole and cervix ruined at your whim <span class="hotpink">breaks ${his} will</span> but fills ${him} with <span class="gold">fear.</span>`); + slave.devotion += 5; + slave.trust -= 5; + } else { + r.push(`The agony of having ${his} cunt <span class="lime">permanently stretched</span> and ${his} cervix penetrated by a huge dildo fills ${him} with <span class="mediumorchid">resentment</span> and <span class="gold">fear.</span>`); + slave.devotion -= 5; + slave.trust -= 5; + } } } + slave.vagina += 1; + } else { + r.push(`${His} cavernous pussy accommodates the huge dildo ${he}'s required to wear.`); } - slave.vagina += 1; - } else { - r.push(`${His} cavernous pussy accommodates the huge dildo ${he}'s required to wear.`); } } - if (slave.vaginalAccessory === "long, huge dildo" || slave.vaginalAccessory === "long, large dildo" || slave.vaginalAccessory === "long dildo") { + if (dildo.length > 1) { if ((slave.preg > slave.pregData.normalBirth / 10) && slave.pregKnown === 1) { if (jsRandom(1, 100) > 50) { r.push(`The dildo penetrating ${his} womb <span class="orange">caused ${him} to miscarry,</span> which <span class="health dec">damages ${his} health.</span>`); diff --git a/src/endWeek/saLongTermPhysicalEffects.js b/src/endWeek/saLongTermPhysicalEffects.js index b900d14cad38a796c175906622d970b80024d41e..c5238e801b77a78108b47354d897f669db6b1a41 100644 --- a/src/endWeek/saLongTermPhysicalEffects.js +++ b/src/endWeek/saLongTermPhysicalEffects.js @@ -233,7 +233,7 @@ App.SlaveAssignment.longTermPhysicalEffects = (function() { if (slave.assignment !== "serve in the master suite" || V.masterSuiteUpgradeLuxury < 2) { if (slave.assignment !== "work in the dairy" || V.dairyStimulatorsSetting === 0) { if (slave.geneMods.rapidCellGrowth !== 1) { - if (slave.vagina >= 3 && !["huge dildo", "large dildo", "long, huge dildo", "long, large dildo"].includes(slave.vaginalAccessory)) { + if (slave.vagina >= 3 && dildoWidth(slave) < 2) { r.push(`With a rest from strenuous use, <span class="improvement">${his} loose vagina recovers a little.</span>`); slave.vagina -= 1; } else if (slave.anus >= 3 && plugWidth(slave) < 2) { diff --git a/src/interaction/main/walkPast.js b/src/interaction/main/walkPast.js index 516e06e3e8e2d7ac1e6af9de0ef477bf78c4d90e..4e7e2a8267e464aa028447e84de82fe004130a71 100644 --- a/src/interaction/main/walkPast.js +++ b/src/interaction/main/walkPast.js @@ -8374,7 +8374,7 @@ globalThis.walkPast = (function() { t += `You get a good view of ${his} pussy.`; } } - if ((slave.vaginalAccessory === "long dildo") || (slave.vaginalAccessory === "long, large dildo") || (slave.vaginalAccessory === "long, huge dildo")) { + if (dildoLength(slave) > 1) { t += `With every motion ${he} makes, ${his} dildo shifts, bulging out ${his} stomach.`; if (plugLength(slave) > 1) { t += `Beside it, a second bulge caused by ${his} extra long buttplug.`; @@ -8964,7 +8964,7 @@ globalThis.walkPast = (function() { t += `You get a good view of ${his} pussy.`; } } - if ((slave.vaginalAccessory === "long dildo") || (slave.vaginalAccessory === "long, large dildo") || (slave.vaginalAccessory === "long, huge dildo")) { + if (dildoLength(slave) > 1) { t += `With every motion ${he} makes, ${his} dildo shifts, bulging out ${his} stomach.`; if (plugLength(slave) > 1) { t += `Beside it, a second bulge caused by ${his} extra long buttplug.`; diff --git a/src/js/utilsAssessSlave.js b/src/js/utilsAssessSlave.js index 5dfda9f45376541bcf3a49cdc56a67136472f72a..9ee50e6d472a287ffc0febce0ee77540e6fc35b8 100644 --- a/src/js/utilsAssessSlave.js +++ b/src/js/utilsAssessSlave.js @@ -285,5 +285,23 @@ globalThis.plugLength = function(slave) { return App.Data.buttplugs.get(slave.buttplug) ? App.Data.buttplugs.get(slave.buttplug).length : 0; }; +/** + * @param {App.Entity.SlaveState} slave + * @returns {0|1|2|3} + */ +globalThis.dildoWidth = function(slave) { + const dildo = App.Data.vaginalAccessories.get(slave.vaginalAccessory) || V.customItem.vaginalAccessories.get(slave.vaginalAccessory); + return dildo.width || 0; +}; + +/** + * @param {App.Entity.SlaveState} slave + * @returns {0|1|2|3} + */ +globalThis.dildoLength = function(slave) { + const dildo = App.Data.vaginalAccessories.get(slave.vaginalAccessory) || V.customItem.vaginalAccessories.get(slave.vaginalAccessory); + return dildo.length || 0; +}; +