diff --git a/devNotes/VersionChangeLog-Premod+LoliMod.txt b/devNotes/VersionChangeLog-Premod+LoliMod.txt index ff89f7babf14b4afbabc34a8ec6091f45cc108bc..a143885119dd6148dd2a2c91f63c0e8bb3427ec2 100644 --- a/devNotes/VersionChangeLog-Premod+LoliMod.txt +++ b/devNotes/VersionChangeLog-Premod+LoliMod.txt @@ -6,6 +6,7 @@ Pregmod -unified cybermod with vanilla -slave assignment links improved -facility transfer tab added to facility assignment + -added birth tracking tattoo -breast implants now impact milk production based on % implant -many new names added to lacking name pools -fixes diff --git a/src/js/generateMarketSlave.js b/src/js/generateMarketSlave.js index 80c810fa5db973d028161b8285442fd5183e892a..16ae0160aab1b70f8eeb32bced8aea85dc10ec09 100644 --- a/src/js/generateMarketSlave.js +++ b/src/js/generateMarketSlave.js @@ -4,6 +4,8 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { let sisterAge; let minHeight; let criminal; + let pronounsGenerated = false; + let pronoun; switch (market) { case "corporate": @@ -75,7 +77,7 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { } else if (V.corpSpecRaces.length === 1) { r += `The corporation specializes in ${V.corpSpecRaces[0]} slaves. `; } else { - r += `The corporation selects slaves based on race. `/*getting into the specifics of which races exactly is a hellhole I'd rather not jump into*/ ; + r += `The corporation selects slaves based on race. `; /*getting into the specifics of which races exactly is a hellhole I'd rather not jump into*/ } if (V.corpSpecTrust > 0) { V.activeSlave.trust = jsRandom(-105, -85) + V.corpSpecTrust * 20; @@ -187,14 +189,20 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { r += `The corporation uses subtle cosmetic surgery to improve its slaves for sale. `; if ((V.activeSlave.anus > 3)) { V.activeSlave.anus = 3; - if (V.activeSlave.skill.anal > 10) {V.activeSlave.skill.anal -= 10;} + if (V.activeSlave.skill.anal > 10) { + V.activeSlave.skill.anal -= 10; + } } if (V.activeSlave.vagina > 3) { V.activeSlave.vagina = 3; - if (V.activeSlave.skill.vaginal > 10) {V.activeSlave.skill.vaginal -= 10;} + if (V.activeSlave.skill.vaginal > 10) { + V.activeSlave.skill.vaginal -= 10; + } } if (V.activeSlave.faceImplant <= 30 && V.activeSlave.face <= 95) { - if (V.activeSlave.faceShape === "masculine") {V.activeSlave.faceShape = "androgynous";} + if (V.activeSlave.faceShape === "masculine") { + V.activeSlave.faceShape = "androgynous"; + } V.activeSlave.faceImplant = 20; V.activeSlave.face = Math.clamp(V.activeSlave.face+20, -100, 100); } @@ -211,28 +219,31 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { V.activeSlave.boobShape = "normal"; } if (((V.activeSlave.boobShape === "normal") || (V.activeSlave.boobShape === "wide-set"))) { - if (V.activeSlave.boobs > 800) {V.activeSlave.boobShape = "torpedo-shaped";} - else {V.activeSlave.boobShape = "perky";} + if (V.activeSlave.boobs > 800) { + V.activeSlave.boobShape = "torpedo-shaped"; + } else { + V.activeSlave.boobShape = "perky"; + } } } else { r += `The corporation does not use cosmetic surgery to improve its slaves for sale. `; } if (V.corpSpecPussy === 1) { r += `The corporation adds pussies where needed. `; - V.activeSlave.vagina = 0, + V.activeSlave.vagina = 0; V.activeSlave.ovaries = 1; } else if (V.corpSpecPussy === -1) { r += `The corporation removes pussies where possible. `; - V.activeSlave.vagina = -1, + V.activeSlave.vagina = -1; V.activeSlave.ovaries = 0; } if (V.corpSpecDick === 1) { r += `The corporation adds dicks where needed. `; - V.activeSlave.dick = 2, + V.activeSlave.dick = 2; V.activeSlave.prostate = 1; } else if (V.corpSpecDick === -1) { r += `The corporation removes dicks where possible. `; - V.activeSlave.dick = 0, + V.activeSlave.dick = 0; V.activeSlave.prostate = 0; } if (V.corpSpecBalls === 1 && V.activeSlave.dick > 0) { @@ -240,7 +251,7 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { V.activeSlave.balls = 2; } else if (V.corpSpecBalls === -1) { r += `The corporation removes balls where possible. `; - V.activeSlave.balls = 0, + V.activeSlave.balls = 0; V.activeSlave.scrotum = 0; } if (typeof V.corpSpecPussy === "undefined" && typeof V.corpSpecDick === "undefined" && typeof V.corpSpecBalls === "undefined") { @@ -342,9 +353,9 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { if (V.corpSpecInjection > 0) { if (V.corpSpecInjection === 1) { r += `If anything, hormones are used to reduce asset sizes. `; - V.activeSlave.lips = jsRandom(0, 20), - V.activeSlave.butt = jsRandom(1, 2), - V.activeSlave.boobs = 10 * jsRandom(30, 60), + V.activeSlave.lips = jsRandom(0, 20); + V.activeSlave.butt = jsRandom(1, 2); + V.activeSlave.boobs = 10 * jsRandom(30, 60); V.activeSlave.nipples = jsEither(["cute", "tiny"]); if (V.activeSlave.dick > 0) { V.activeSlave.dick = jsRandom(1, 2); @@ -354,9 +365,9 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { } } else if (V.corpSpecInjection === 2) { r += `Growth hormones are used to correct flat chests and butts. `; - V.activeSlave.lips = jsRandom(25, 45), - V.activeSlave.butt = jsRandom(3, 4), - V.activeSlave.boobs = 10 * jsRandom(70, 100), + V.activeSlave.lips = jsRandom(25, 45); + V.activeSlave.butt = jsRandom(3, 4); + V.activeSlave.boobs = 10 * jsRandom(70, 100); V.activeSlave.nipples = jsEither(["cute", "partially inverted"]); if (V.activeSlave.dick > 0) { V.activeSlave.dick = jsRandom(3, 4); @@ -366,9 +377,9 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { } } else if (V.corpSpecInjection === 3) { r += `Growth hormones are used throughout slave training to ensure expansion. `; - V.activeSlave.lips = jsRandom(35, 55), - V.activeSlave.butt = jsRandom(4, 5), - V.activeSlave.boobs = 10 * jsRandom(120, 180), + V.activeSlave.lips = jsRandom(35, 55); + V.activeSlave.butt = jsRandom(4, 5); + V.activeSlave.boobs = 10 * jsRandom(120, 180); V.activeSlave.nipples = jsEither(["cute", "partially inverted"]); if (V.activeSlave.dick > 0) { V.activeSlave.dick = jsRandom(4, 5); @@ -378,9 +389,9 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { } } else if (V.corpSpecInjection === 4) { r += `Advanced growth hormones are applied on a grand scale. `; - V.activeSlave.lips = jsRandom(55, 85), - V.activeSlave.butt = jsRandom(6, 8), - V.activeSlave.boobs = 100 * jsRandom(40, 60), + V.activeSlave.lips = jsRandom(55, 85); + V.activeSlave.butt = jsRandom(6, 8); + V.activeSlave.boobs = 100 * jsRandom(40, 60); V.activeSlave.nipples = jsEither(["huge", "inverted"]); if (V.activeSlave.dick > 0) { V.activeSlave.dick = jsRandom(5, 6); @@ -390,9 +401,9 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { } } else if (V.corpSpecInjection === 5) { r += `Advanced growth hormones are applied with total focus on increasing slaves' productiveness. `; - V.activeSlave.lips = jsRandom(35, 65), - V.activeSlave.butt = jsRandom(4, 6), - V.activeSlave.boobs = 100 * jsRandom(60, 80), + V.activeSlave.lips = jsRandom(35, 65); + V.activeSlave.butt = jsRandom(4, 6); + V.activeSlave.boobs = 100 * jsRandom(60, 80); V.activeSlave.nipples = jsEither(["huge", "inverted"]); if (V.activeSlave.dick > 0) { V.activeSlave.dick = jsRandom(6, 8); @@ -429,12 +440,12 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { } if (V.corpSpecMilk === 1) { r += `The corporation provides naturally lactating slaves `; - V.activeSlave.lactation = 1, - V.activeSlave.lactationDuration = 2, + V.activeSlave.lactation = 1; + V.activeSlave.lactationDuration = 2; V.activeSlave.lactationAdaptation = 15; } else if (V.corpSpecMilk === 2) { r += `The corporation provides slaves with chemically induced lactation. `; - V.activeSlave.lactation = 2, + V.activeSlave.lactation = 2; V.activeSlave.lactationDuration = 2; } break; @@ -454,6 +465,9 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { V.fixedRace = V.arcologies[market].FSSubjugationistRace; } V.activeSlave = GenerateNewSlave(); + generatePronouns(V.activeSlave); + pronounsGenerated = true; + pronoun = getPronouns(V.activeSlave); V.activeSlave.origin = "You bought her from "; V.activeSlave.origin += V.arcologies[market].name; V.activeSlave.origin += "."; @@ -481,7 +495,7 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { V.activeSlave.behavioralFlaw = "none"; } if (V.arcologies[market].FSSubjugationist > 20) { - r += `They're universally V.arcologies[market].FSSubjugationistRace. `; + r += `They're universally ${V.arcologies[market].FSSubjugationistRace}. `; } if (V.arcologies[market].FSRepopulationFocus > 50) { r += `They are exclusively female and all extremely pregnant. `; @@ -510,7 +524,9 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { } else if (V.arcologies[market].FSRestart > 50) { r += `They have all been rendered unable to reproduce. `; if (V.activeSlave.ovaries === 1) { - V.activeSlave.preg = -2, V.activeSlave.belly = 0, V.activeSlave.bellyPreg = 0; + V.activeSlave.preg = -2; + V.activeSlave.belly = 0; + V.activeSlave.bellyPreg = 0; } if (V.activeSlave.balls > 0) { V.activeSlave.balls = 0; @@ -640,7 +656,7 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { V.activeSlave.lipsImplant = jsEither([10, 20]); V.activeSlave.lips += V.activeSlave.lipsImplant; if (V.arcologies[market].FSTransformationFetishistResearch === 1 && jsRandom(1, 100) <= 20) { - r += `This one's implants are unusually large; a showcase of what V.his home arcology is capable of. `; + r += `This one's implants are unusually large; a showcase of what ${pronoun.possessive} home arcology is capable of. `; V.activeSlave.boobsImplant += 200*jsRandom(100, 200); V.activeSlave.boobs += V.activeSlave.boobsImplant; V.activeSlave.buttImplant += jsRandom(7, 12); @@ -669,7 +685,8 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { } } else { r += `And if they aren't, they sure don't look their age. `; - V.activeSlave.ageImplant = 1, V.activeSlave.faceImplant += jsRandom(10, 30); + V.activeSlave.ageImplant = 1; + V.activeSlave.faceImplant += jsRandom(10, 30); ageImplantAdjustment(V.activeSlave); } } @@ -702,7 +719,7 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { V.activeSlave.weight = jsRandom(-30, 0); } if (V.arcologies[market].FSSlimnessEnthusiastResearch === 1 && jsRandom(1, 100) <= 50) { - r += `This one is perfectly flat; an ideal showcase of V.his home arcology's tastes. `; + r += `This one is perfectly flat; an ideal showcase of ${pronoun.possessive} home arcology's tastes. `; V.activeSlave.boobs = 100; V.activeSlave.butt = 0; V.activeSlave.weight = jsRandom(-30, 0); @@ -720,7 +737,7 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { V.activeSlave.weight += jsRandom(0, 20); } if (V.arcologies[market].FSAssetExpansionistResearch === 1 && jsRandom(1, 100) <= 20) { - r += `This one is unusually large; a showcase of what V.his home arcology is capable of. `; + r += `This one is unusually large; a showcase of what ${pronoun.possessive} home arcology is capable of. `; V.activeSlave.boobs = 200*jsRandom(100, 200); V.activeSlave.butt = jsRandom(10, 20); if (V.activeSlave.dick > 0 && V.seeDicks !== 0) { @@ -748,8 +765,10 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { V.activeSlave.trust += jsRandom(5, 15); V.activeSlave.energy += jsRandom(0, 10); if (V.arcologies[market].FSHedonisticDecadenceResearch === 1) { - r += `They appear to have greatly enjoyed their stay at V.arcologies[market].name. `; - V.activeSlave.energy += jsRandom(0, 10), V.activeSlave.trust += jsRandom(10, 20), V.activeSlave.devotion += jsRandom(10, 20); + r += `They appear to have greatly enjoyed their stay at ${V.arcologies[market].name}. `; + V.activeSlave.energy += jsRandom(0, 10); + V.activeSlave.trust += jsRandom(10, 20); + V.activeSlave.devotion += jsRandom(10, 20); } if (jsRandom(0, 3) === 0) { V.activeSlave.behavioralFlaw = "gluttonous"; @@ -801,7 +820,8 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { r += `Big balls and huge loads are commonplace among them, even if they sometimes lack dicks. They tend to be hard workers, as well. `; V.activeSlave.chem += jsRandom(10, 100); if (V.arcologies[market].FSRestart > 50) { - V.activeSlave.dick = 0, V.activeSlave.vagina = -1; + V.activeSlave.dick = 0; + V.activeSlave.vagina = -1; } if (V.activeSlave.balls < 20) { V.activeSlave.balls += jsRandom(5, 20); @@ -881,20 +901,20 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { if ((V.arcologies[0].FSDegradationist !== "unset") && (V.arcologies[market].FSPaternalist !== "unset")) { V.activeSlave.devotion = jsRandom(-90, -60); V.activeSlave.trust = -20; - r += `'' V.arcologies[market].name'' is Paternalist, and your arcology is Degradationist. To its slaves, other niceties of social alignment are trivial. They view your arcology as a literal Hell on Earth. `; + r += `<b>${V.arcologies[market].name}</b> is Paternalist, and your arcology is Degradationist. To its slaves, other niceties of social alignment are trivial. They view your arcology as a literal Hell on Earth. `; } else if ((V.arcologies[0].FSDegradationist !== "unset") && (V.arcologies[market].FSPaternalist !== "unset")) { V.activeSlave.devotion = jsRandom(60, 90); V.activeSlave.trust = 20; - r += `'' V.arcologies[market].name'' is Degradationist, and your arcology is Paternalist. To its slaves, other niceties of social alignment are trivial. They view your arcology as a promised land. `; + r += `<b>${V.arcologies[market].name}</b> is Degradationist, and your arcology is Paternalist. To its slaves, other niceties of social alignment are trivial. They view your arcology as a promised land. `; } else if (V.opinion !== 0) { V.activeSlave.devotion += V.opinion; V.activeSlave.trust += V.opinion; V.activeSlave.devotion = Math.clamp(V.activeSlave.devotion, -100, 75); V.activeSlave.trust = Math.clamp(V.activeSlave.trust, -100, 75); if (V.opinion > 2) { - r += `Your arcology's close social alignment with '' V.arcologies[market].name'' makes its slaves more accepting of the prospect of life in your arcology, and willing to trust that they'll know how to survive there. `; + r += `Your arcology's close social alignment with <b>${V.arcologies[market].name}</b> makes its slaves more accepting of the prospect of life in your arcology, and willing to trust that they'll know how to survive there. `; } else if (V.opinion < -2) { - r += `Your arcology's very different culture from '' V.arcologies[market].name'''s makes its slaves unhappy with the prospect of life in your arcology, and afraid of what will happen to them there. `; + r += `Your arcology's very different culture from <b>${V.arcologies[market].name}</b>'s makes its slaves unhappy with the prospect of life in your arcology, and afraid of what will happen to them there. `; } } break; @@ -921,7 +941,8 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { if (V.activeSlave.vagina > -1) { V.activeSlave.vagina = jsEither([1, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 10]); V.activeSlave.preg = jsRandom(-3, -1); - V.activeSlave.belly = 0, V.activeSlave.bellyPreg = 0; + V.activeSlave.belly = 0; + V.activeSlave.bellyPreg = 0; V.activeSlave.counter.vaginal += jsRandom(0, 300); } V.activeSlave.anus = jsEither([1, 2, 2, 3, 3, 3, 3, 4, 4, 4]); @@ -1085,7 +1106,9 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { V.activeSlave.health = jsRandom(-10, 70); if (V.activeSlave.vagina > -1) { V.activeSlave.preg = jsEither([-2, -1, -1, -1, -1, -1, -1, -1, 1, 1]); - if (V.activeSlave.physicalAge < V.activeSlave.pubertyAgeXX) {V.activeSlave.preg = -1;} + if (V.activeSlave.physicalAge < V.activeSlave.pubertyAgeXX) { + V.activeSlave.preg = -1; + } if (V.activeSlave.preg > 0) { V.activeSlave.pregType = setPregType(V.activeSlave); } @@ -1296,7 +1319,8 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { V.activeSlave.butt = jsRandom(4, 10); if (V.GRI.schoolUpgrade === 2) { V.activeSlave.boobs = 200*jsRandom(15, 30); - V.activeSlave.lactation = 2, V.activeSlave.lactationDuration = 2; + V.activeSlave.lactation = 2; + V.activeSlave.lactationDuration = 2; } else { V.activeSlave.boobs = 200*jsRandom(4, 20); } @@ -1426,13 +1450,21 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { if (V.LDE.schoolUpgrade === 2) { V.activeSlave.dick = jsEither([3, 4]); V.activeSlave.balls = jsEither([3, 4]); - if (V.activeSlave.foreskin > 0) {V.activeSlave.foreskin = V.activeSlave.dick;} - if (V.activeSlave.balls > 0) {V.activeSlave.scrotum = V.activeSlave.balls;} + if (V.activeSlave.foreskin > 0) { + V.activeSlave.foreskin = V.activeSlave.dick; + } + if (V.activeSlave.balls > 0) { + V.activeSlave.scrotum = V.activeSlave.balls; + } } else { V.activeSlave.dick = jsEither([1, 1, 1, 2]); V.activeSlave.balls = jsEither([1, 1, 1, 2]); - if (V.activeSlave.foreskin > 0) {V.activeSlave.foreskin = V.activeSlave.dick;} - if (V.activeSlave.balls > 0) {V.activeSlave.scrotum = V.activeSlave.balls;} + if (V.activeSlave.foreskin > 0) { + V.activeSlave.foreskin = V.activeSlave.dick; + } + if (V.activeSlave.balls > 0) { + V.activeSlave.scrotum = V.activeSlave.balls; + } V.activeSlave.pubertyXY = 0; V.activeSlave.pubertyAgeXY = jsRandom(24, 50); } @@ -1609,7 +1641,8 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { V.activeSlave.career = "a dairy cow"; V.activeSlave.butt = jsEither([3, 3, 4, 4, 4, 5, 6]); V.activeSlave.boobs = ((V.activeSlave.physicalAge*100)*2)+jsEither([-100, -100, 0, 0, 100, 100, 200, 200, 300, 500]); - V.activeSlave.lactation = 1, V.activeSlave.lactationDuration = 2; + V.activeSlave.lactation = 1; + V.activeSlave.lactationDuration = 2; V.activeSlave.lactationAdaptation = 100; V.activeSlave.anus = 1; V.activeSlave.vagina = 3; @@ -1829,7 +1862,9 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { V.activeSlave.butt = sisterAge+jsRandom(2, 4); V.activeSlave.boobs = 50*((10*sisterAge)+jsRandom(10, 20)); V.activeSlave.dick = sisterAge+jsRandom(1, 2); - if (V.activeSlave.foreskin > 0) {V.activeSlave.foreskin = V.activeSlave.dick;} + if (V.activeSlave.foreskin > 0) { + V.activeSlave.foreskin = V.activeSlave.dick; + } V.activeSlave.preg = -3; if (V.TFS.farmUpgrade > 0) { V.activeSlave.ovaries = 1; @@ -1918,7 +1953,7 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { V.activeSlave.health = jsRandom(60, 80); minHeight = jsRandom(170, 180); if (V.HA.schoolUpgrade === 2) { - V.activeSlave.height = Math.trunc(Math.clamp(Height.random(V.activeSlave, {limitMult: [2, 15], spread: .1}), minHeight, 274)); + V.activeSlave.height = Math.trunc(Math.clamp(Height.random(V.activeSlave, {limitMult: [2, 15], spread: 0.1}), minHeight, 274)); V.activeSlave.muscles = jsRandom(40, 80); } else { V.activeSlave.height = Math.trunc(Math.clamp(Height.random(V.activeSlave, {limitMult: [1, 4]}), minHeight, 274)); @@ -2085,7 +2120,7 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { V.activeSlave.weight = jsRandom(-30, 10); V.activeSlave.waist = jsRandom(10, 70); V.activeSlave.chem = 10 * jsRandom(1, 3); - V.activeSlave.custom.tattoo = "The prominent emblem of a local gang spans the length of his shoulders."; + V.activeSlave.custom.tattoo = "The prominent emblem of a local gang spans the length of $his shoulders."; V.activeSlave.skill.combat = 1; break; case "gang thief": V.activeSlave.origin = "You purchased her life at a prison sale. She was locked away for gang related raiding of several local warehouses."; @@ -2102,7 +2137,7 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { V.activeSlave.weight = jsRandom(-30, 30); V.activeSlave.waist = jsRandom(10, 70); V.activeSlave.chem = 10 * jsRandom(1, 3); - V.activeSlave.custom.tattoo = "The prominent emblem of a local gang spans the length of his shoulders."; + V.activeSlave.custom.tattoo = "The prominent emblem of a local gang spans the length of $his shoulders."; V.activeSlave.skill.combat = 1; break; case "drug peddler": V.activeSlave.origin = "You purchased her life at a prison sale. She was locked away for gang related drug distribution."; @@ -2116,7 +2151,7 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { V.activeSlave.health = jsRandom(-20, 20); V.activeSlave.muscles = jsRandom(20, 40); V.activeSlave.chem = 10 * jsRandom(3, 5); - V.activeSlave.custom.tattoo = "The prominent emblem of a local gang spans the length of his shoulders."; + V.activeSlave.custom.tattoo = "The prominent emblem of a local gang spans the length of $his shoulders."; V.activeSlave.skill.combat = 1; break; case "hitman": V.activeSlave.origin = "You purchased her life at a prison sale. She was locked away for a series of high profile murders."; @@ -2381,7 +2416,7 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { switch (criminal) { case "racketeering": V.activeSlave.career = jsEither(["a businessman", "a lawyer", "a stockbroker"]); - V.activeSlave.origin = `You purchased her life at a prison sale. She was ${ V.activeSlave.career } convicted of racketeering. `; + V.activeSlave.origin = `You purchased her life at a prison sale. She was ${V.activeSlave.career} convicted of racketeering. `; V.prisonCrime = "is incarcerated for racketeering."; V.activeSlave.devotion = jsRandom(-20, 20); V.activeSlave.trust = jsRandom(-20, 20); @@ -2390,7 +2425,7 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { V.activeSlave.health = jsRandom(20, 60); break; case "bribery": V.activeSlave.career = jsEither(["a businessman", "a lawyer", "a stockbroker"]); - V.activeSlave.origin = `You purchased her life at a prison sale. She was ${ V.activeSlave.career } arrested and sentenced for bribing government officials. `; + V.activeSlave.origin = `You purchased her life at a prison sale. She was ${V.activeSlave.career} arrested and sentenced for bribing government officials. `; V.prisonCrime = "is incarcerated for bribery."; V.activeSlave.devotion = jsRandom(-50, -20); V.activeSlave.trust = jsRandom(20, 50); @@ -2400,7 +2435,7 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { V.activeSlave.behavioralFlaw = "arrogant"; break; case "blackmail": V.activeSlave.career = jsEither(["a businessman", "a lawyer", "a stockbroker"]); - V.activeSlave.origin = `You purchased her life at a prison sale. She was ${ V.activeSlave.career } convicted of blackmail against a sorority of university students, forcing them to do sexual favors. `; + V.activeSlave.origin = `You purchased her life at a prison sale. She was ${V.activeSlave.career} convicted of blackmail against a sorority of university students, forcing them to do sexual favors. `; V.prisonCrime = "is incarcerated for blackmail."; V.activeSlave.devotion = jsRandom(-20, 20); V.activeSlave.trust = jsRandom(20, 50); @@ -2412,7 +2447,7 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { V.activeSlave.fetishStrength = 100; break; case "embezzlement": V.activeSlave.career = jsEither(["a businessman", "a lawyer", "a stockbroker"]); - V.activeSlave.origin = `You purchased her life at a prison sale. She was ${ V.activeSlave.career } involved in a scandal and convicted of embezzlement. `; + V.activeSlave.origin = `You purchased her life at a prison sale. She was ${V.activeSlave.career} involved in a scandal and convicted of embezzlement. `; V.prisonCrime = "is incarcerated for embezzlement."; V.activeSlave.devotion = jsRandom(0, 20); V.activeSlave.trust = jsRandom(-10, 10); @@ -2421,7 +2456,7 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { V.activeSlave.health = jsRandom(20, 60); break; case "fraud": V.activeSlave.career = jsEither(["a businessman", "a lawyer", "a stockbroker"]); - V.activeSlave.origin = `You purchased her life at a prison sale. She was ${ V.activeSlave.career } convicted of fraud. `; + V.activeSlave.origin = `You purchased her life at a prison sale. She was ${V.activeSlave.career} convicted of fraud. `; V.prisonCrime = "is incarcerated for fraud."; V.activeSlave.devotion = jsRandom(20, 40); V.activeSlave.trust = jsRandom(20, 50); @@ -2430,7 +2465,7 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { V.activeSlave.health = jsRandom(20, 60); break; case "tax evasion": V.activeSlave.career = jsEither(["a businessman", "a lawyer", "a stockbroker"]); - V.activeSlave.origin = `You purchased her life at a prison sale. She was ${ V.activeSlave.career } convicted of tax evasion. `; + V.activeSlave.origin = `You purchased her life at a prison sale. She was ${V.activeSlave.career} convicted of tax evasion. `; V.prisonCrime = "is incarcerated for tax evasion."; V.activeSlave.devotion = jsRandom(-20, 0); V.activeSlave.trust = jsRandom(20, 50); @@ -2439,7 +2474,7 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { V.activeSlave.health = jsRandom(20, 60); break; case "malpractice": V.activeSlave.career = jsEither(["a doctor", "a nurse", "a physician"]); - V.activeSlave.origin = `You purchased her life at a prison sale. She was ${ V.activeSlave.career } that took advantage of her position to molest and modify her patients. `; + V.activeSlave.origin = `You purchased her life at a prison sale. She was ${V.activeSlave.career} that took advantage of her position to molest and modify her patients. `; V.prisonCrime = "is incarcerated for malpractice."; V.activeSlave.devotion = jsRandom(-50, 0); V.activeSlave.trust = jsRandom(-100, -50); @@ -2448,7 +2483,7 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { V.activeSlave.health = jsRandom(-40, 20); break; case "abuse of power": V.activeSlave.career = jsEither(["a judge", "a lawyer", "a police officer"]); - V.activeSlave.origin = `You purchased her life at a prison sale. She was ${ V.activeSlave.career } that took advantage of her position for her own benefit. `; + V.activeSlave.origin = `You purchased her life at a prison sale. She was ${V.activeSlave.career} that took advantage of her position for her own benefit. `; V.prisonCrime = "is incarcerated for abuse of power."; V.activeSlave.devotion = jsRandom(-100, 0); V.activeSlave.trust = jsRandom(-50, 50); @@ -2761,6 +2796,8 @@ if (V.activeSlave.vagina > -1) { r += "Someone messed up. market is not known."; break; } - generatePronouns(V.activeSlave); + if (!pronounsGenerated) { + generatePronouns(V.activeSlave); + } return r; }; diff --git a/src/pregmod/seFCTVremote.tw b/src/pregmod/seFCTVremote.tw index e7d83b510e1c4976245482d2a12d8ade6c5244b2..680a37cc2bf7635f5d268dc18a6b6d7d68025e6c 100644 --- a/src/pregmod/seFCTVremote.tw +++ b/src/pregmod/seFCTVremote.tw @@ -119,13 +119,13 @@ $He unboxes the new remote and turns $his back to you, eagerly demonstrating how /* set up tech */ <<set $activeSlave.clitPiercing = 3>> <<if $seeDicks == 0>> - <<set $activeSlave.backTat = "FCTV SERVICE for clits">> + <<set $activeSlave.backTat = "'FCTV SERVICE for clits' is tattooed across $his upper back.">> <<elseif $seeDicks == 100>> - <<set $activeSlave.backTat = "FCTV SERVICE for dicks">> + <<set $activeSlave.backTat = "'FCTV SERVICE for dicks' is tattooed across $his upper back.">> <<else>> - <<set $activeSlave.backTat = "FCTV SERVICE for clits and dicks">> + <<set $activeSlave.backTat = "'FCTV SERVICE for clits and dicks' is tattooed across $his upper back.">> <</if>> -<<set $activeSlave.stampTat = "Shove that upgraded package here">> +<<set $activeSlave.stampTat = "'Shove that upgraded package here' is tattooed above $his rear.">> <<run cashX(forceNeg(($modCost*2) + $SPcost), "slaveMod", $activeSlave)>> /* two tats and a smart piercing */ At the touch of a button, $his drone whirs to a stop and begins to fall to the floor. Before it hits, you touch a second and a dart hits $him in the neck. $He collapses into darkness. diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw index a6b84c458a22de5d811703f4c799a7f1ee29e45c..c588261c6ee030461de817af88c4dadb0c40b758 100644 --- a/src/uncategorized/RESS.tw +++ b/src/uncategorized/RESS.tw @@ -5929,7 +5929,7 @@ brought in to you. This time <<EventNameLink>> has been sent to deliver it. $He <<set $activeSlave.devotion += 4>> <<= BothVCheck()>> <</replace>> -<</link>><<if ($activeSlave.anus == 0) || ($activeSlave.vagina == 0)>> //This option will take $his virginity//<</if>> +<</link>><<if ($activeSlave.anus == 0 && canDoAnal($activeSlave)) || ($activeSlave.vagina == 0 && canDoVaginal($activeSlave))>> //This option will take virginity//<</if>> <br><<link "Give $him a massage">> <<EventNameDelink $activeSlave>> <<replace "#result">> diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw index ec3a43af2ebb299b7bbbc879ed7eed4785a3a64f..955cdcd441c82a7ce500aff67bba08f2ff2c62cc 100644 --- a/src/uncategorized/saLongTermEffects.tw +++ b/src/uncategorized/saLongTermEffects.tw @@ -4492,7 +4492,7 @@ <<else>> /* pick a random starting point in the slave array and iterate (wrapping around) until finding eligible father or coming back to starting point */ <<if $slaves.length == 1>> - <<if canImpreg($slaves[$i], $slaves[$i]) && _conceptionSeed > 95 && ($slaves[$i].releaseRules == "permissive" || $slaves[$i].releaseRules == "masturbation")>> + <<if canImpreg($slaves[$i], $slaves[$i]) && _conceptionSeed > 95 && ($slaves[$i].releaseRules == "permissive")>> <<set $slaves[$i].pregSource = $slaves[$i].ID>> <</if>> <<elseif $slaves[$i].releaseRules == "permissive" || ($slaves[$i].devotion <= 20 && $slaves[$i].trust > 50) || $universalRulesConsent == 0>>