diff --git a/devNotes/VersionChangeLog-Premod+LoliMod.txt b/devNotes/VersionChangeLog-Premod+LoliMod.txt index 7c2ebbfc6ef73c773b42463b4fe5a71b305fd13c..6110e5117a0973399f0a4b2082a077d7a9dcf2a6 100644 --- a/devNotes/VersionChangeLog-Premod+LoliMod.txt +++ b/devNotes/VersionChangeLog-Premod+LoliMod.txt @@ -2,6 +2,12 @@ 0.10.7.1-0.10.x +11/05/2018 + + 45 + -fixes + -more pronoun work + 11/04/2018 44 diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt index be73806c9c547d66e68e435b31a230f94bebaec2..3c806b04612c749fff92281e8b3846c3703de953 100644 --- a/devNotes/twine JS.txt +++ b/devNotes/twine JS.txt @@ -34061,98 +34061,51 @@ window.walkPasts = function(slave, _seed) { if (typeof slave.value !== "string") slave.value = default; */ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) { + slaveAgeDatatypeCleanup(slave); + slavePhysicalDatatypeCleanup(slave); + slaveFaceDatatypeCleanup(slave); + slaveHairDatatypeCleanup(slave); + slaveBoobsDatatypeCleanup(slave); + slaveButtDatatypeCleanup(slave); + slavePregnancyDatatypeCleanup(slave); + slaveBellyDatatypeCleanup(slave); + slaveGenitaliaDatatypeCleanup(slave); + slaveImplantsDatatypeCleanup(slave); + slavePiercingsDatatypeCleanup(slave); + slaveTattooDatatypeCleanup(slave); + slaveCosmeticsDatatypeCleanup(slave); + slaveDietDatatypeCleanup(slave); + slavePornDatatypeCleanup(slave); + slaveRelationDatatypeCleanup(slave); + slaveSkillsDatatypeCleanup(slave); + slaveStatCountDatatypeCleanup(slave); + slavePreferencesDatatypeCleanup(slave); + slaveRulesDatatypeCleanup(slave); + slaveCustomStatsDatatypeCleanup(slave); + slaveMiscellaneousDatatypeCleanup(slave); + generatePronouns(slave); +}; + +window.slaveAgeDatatypeCleanup = function slaveAgeDatatypeCleanup(slave) { const V = State.variables; - slave.weekAcquired = Math.max(+slave.weekAcquired, 1) || 1; - slave.prestige = Math.clamp(+slave.prestige, 0, 3) || 0; - slave.pornFeed = Math.clamp(+slave.pornFeed, 0, 1) || 0; - slave.pornFame = Math.max(+slave.pornFame, 0) || 0; - slave.pornFameSpending = Math.max(+slave.pornFameSpending, 0) || 0; - slave.pornPrestige = Math.clamp(+slave.pornPrestige, 0, 3) || 0; - if (typeof slave.pornPrestigeDesc !== "string") { - slave.pornPrestigeDesc = 0; - } - if (typeof slave.pornFameType !== "string") { - slave.pornFameType = "none"; - } - if (typeof slave.pornFocus !== "string") { - slave.pornFocus = "none"; - } - slave.pornTypeGeneral = Math.max(+slave.pornTypeGeneral, 0) || 0; - slave.pornTypeFuckdoll = Math.max(+slave.pornTypeFuckdoll, 0) || 0; - slave.pornTypeRape = Math.max(+slave.pornTypeRape, 0) || 0; - slave.pornTypePreggo = Math.max(+slave.pornTypePreggo, 0) || 0; - slave.pornTypeBBW = Math.max(+slave.pornTypeBBW, 0) || 0; - slave.pornTypeGainer = Math.max(+slave.pornTypeGainer, 0) || 0; - slave.pornTypeStud = Math.max(+slave.pornTypeStud, 0) || 0; - slave.pornTypeLoli = Math.max(+slave.pornTypeLoli, 0) || 0; - slave.pornTypeDeepThroat = Math.max(+slave.pornTypeDeepThroat, 0) || 0; - slave.pornTypeStruggleFuck = Math.max(+slave.pornTypeStruggleFuck, 0) || 0; - slave.pornTypePainal = Math.max(+slave.pornTypePainal, 0) || 0; - slave.pornTypeTease = Math.max(+slave.pornTypeTease, 0) || 0; - slave.pornTypeRomantic = Math.max(+slave.pornTypeRomantic, 0) || 0; - slave.pornTypePervert = Math.max(+slave.pornTypePervert, 0) || 0; - slave.pornTypeCaring = Math.max(+slave.pornTypeCaring, 0) || 0; - slave.pornTypeUnflinching = Math.max(+slave.pornTypeUnflinching, 0) || 0; - slave.pornTypeSizeQueen = Math.max(+slave.pornTypeSizeQueen, 0) || 0; - slave.pornTypeNeglectful = Math.max(+slave.pornTypeNeglectful, 0) || 0; - slave.pornTypeCumAddict = Math.max(+slave.pornTypeCumAddict, 0) || 0; - slave.pornTypeAnalAddict = Math.max(+slave.pornTypeAnalAddict, 0) || 0; - slave.pornTypeAttentionWhore = Math.max(+slave.pornTypeAttentionWhore, 0) || 0; - slave.pornTypeBreastGrowth = Math.max(+slave.pornTypeBreastGrowth, 0) || 0; - slave.pornTypeAbusive = Math.max(+slave.pornTypeAbusive, 0) || 0; - slave.pornTypeMalicious = Math.max(+slave.pornTypeMalicious, 0) || 0; - slave.pornTypeSelfHating = Math.max(+slave.pornTypeSelfHating, 0) || 0; - slave.pornTypeBreeder = Math.max(+slave.pornTypeBreeder, 0) || 0; - slave.pornTypeSub = Math.max(+slave.pornTypeSub, 0) || 0; - slave.pornTypeCumSlut = Math.max(+slave.pornTypeCumSlut, 0) || 0; - slave.pornTypeAnal = Math.max(+slave.pornTypeAnal, 0) || 0; - slave.pornTypeHumiliation = Math.max(+slave.pornTypeHumiliation, 0) || 0; - slave.pornTypeBoobs = Math.max(+slave.pornTypeBoobs, 0) || 0; - slave.pornTypeDom = Math.max(+slave.pornTypeDom, 0) || 0; - slave.pornTypeSadist = Math.max(+slave.pornTypeSadist, 0) || 0; - slave.pornTypeMasochist = Math.max(+slave.pornTypeMasochist, 0) || 0; - slave.pornTypePregnancy = Math.max(+slave.pornTypePregnancy, 0) || 0; - slave.mother = +slave.mother || 0; - slave.father = +slave.father || 0; - if (V.familyTesting == 0) { - slave.relationTarget = Math.max(+slave.relationTarget, 0) || 0; - } - slave.relationship = Math.clamp(+slave.relationship, -3, 5) || 0; - slave.relationshipTarget = Math.max(+slave.relationshipTarget, 0) || 0; - slave.rivalryTarget = Math.max(+slave.rivalryTarget, 0) || 0; - slave.rivalry = Math.clamp(+slave.rivalry, 0, 3) || 0; - slave.subTarget = Math.max(+slave.subTarget, 0) || 0; - slave.canRecruit = Math.clamp(+slave.canRecruit, 0, 1) || 0; - slave.choosesOwnAssignment = Math.clamp(+slave.choosesOwnAssignment, 0) || 0; - slave.sentence = Math.max(+slave.sentence, 0) || 0; - slave.training = Math.clamp(+slave.training, 0, 150) || 0; - if (slave.indenture !== 0) { - slave.indenture = Math.max(+slave.indenture, -1) || -1; - } - slave.indentureRestrictions = Math.clamp(+slave.indentureRestriction, 0, 2) || 0; slave.birthWeek = Math.clamp(+slave.birthWeek, 0, 51) || 0; if (slave.age > 0) { - slave.actualAge = Math.max(+slave.actualAge, 0) || slave.age; /* if negative or undefined, this sets to slave.age */ + slave.actualAge = Math.clamp(+slave.actualAge, V.minimumSlaveAge, Infinity) || slave.age; /* if undefined, this sets to slave.age */ } else { - slave.actualAge = Math.max(+slave.actualAge, 0) || 18; + slave.actualAge = Math.clamp(+slave.actualAge, V.minimumSlaveAge, Infinity) || 18; slave.age = slave.actualAge; } slave.visualAge = Math.max(+slave.visualAge, 0) || slave.actualAge; slave.physicalAge = Math.max(+slave.physicalAge, 0) || slave.actualAge; - slave.ovaryAge = Math.max(+slave.ovaryAge, 0) || slave.actualAge; - slave.ageImplant = Math.clamp(+slave.ageImplant, 0, 1) || 0; - slave.health = Math.clamp(+slave.health, -100, 100) || 0; - if (typeof slave.minorInjury !== "string") { - slave.minorInjury = 0; - } - slave.devotion = Math.clamp(+slave.devotion, -100, 100) || 0; - slave.oldDevotion = Math.clamp(+slave.oldDevotion, -100, 100) || 0; - slave.trust = Math.clamp(+slave.trust, -100, 100) || 0; - slave.oldTrust = Math.clamp(+slave.oldTrust, -100, 100) || 0; - slave.muscles = Math.clamp(+slave.muscles, -100, 100) || 0; - slave.weight = Math.clamp(+slave.weight, -100, 200) || 0; - slave.waist = Math.clamp(+slave.waist, -100, 100) || 0; + slave.ovaryAge = Math.max(+slave.ovaryAge, 0) || slave.physicalAge; + slave.pubertyAgeXX = Math.max(+slave.pubertyAgeXX, 0) || V.fertilityAge; + slave.pubertyAgeXY = Math.max(+slave.pubertyAgeXY, 0) || V.potencyAge; + slave.ageAdjust = Math.clamp(+slave.ageAdjust, -40, 40) || 0; + slave.NCSyouthening = Math.max(+slave.NCSyouthening, 0) || 0; +}; + +window.slavePhysicalDatatypeCleanup = function slavePhysicalDatatypeCleanup(slave) { if (typeof slave.nationality !== "string") { slave.nationality = "slave"; } @@ -34162,10 +34115,28 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) { if (typeof slave.origRace !== "string") { slave.origRace = slave.race; } + if (typeof slave.skin !== "string") { + slave.skin = "light"; + } + if (typeof slave.origSkin !== "string") { + slave.origSkin = slave.skin; + } + if (typeof slave.minorInjury !== "string") { + slave.minorInjury = 0; + } + slave.health = Math.clamp(+slave.health, -100, 100) || 0; + slave.muscles = Math.clamp(+slave.muscles, -100, 100) || 0; + slave.weight = Math.clamp(+slave.weight, -100, 200) || 0; + slave.waist = Math.clamp(+slave.waist, -100, 100) || 0; slave.height = Math.round(Math.max(+slave.height, 0)) || Math.round(Height.mean(slave)); - slave.heightImplant = Math.clamp(+slave.heightImplant, -1, 1) || 0; - if (typeof slave.markings !== "string") { - slave.markings = "none"; + slave.shoulders = Math.clamp(+slave.shoulders, -2, 2) || 0; + slave.hips = Math.clamp(+slave.hips, -2, 3) || 0; +}; + +window.slaveFaceDatatypeCleanup = function slaveFaceDatatypeCleanup(slave) { + slave.face = Math.clamp(+slave.face, -100, 100) || 0; + if (typeof slave.faceShape !== "string") { + slave.faceShape = "normal"; } slave.eyes = Math.clamp(+slave.eyes, -3, 1) || 1; /* if 0 or undefined, this sets to 1 */ if (typeof slave.eyeColor !== "string") { @@ -34180,120 +34151,86 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) { if (typeof slave.sclerae !== "string") { slave.sclerae = "white"; } - if (typeof slave.eyewear !== "string") { - slave.eyewear = "none"; - } - slave.hears = Math.clamp(+slave.hears, -2, 0) || 0; - if (typeof slave.earwear !== "string") { - slave.earwear = "none"; + if (slave.lips !== 0) { + slave.lips = Math.clamp(+slave.lips, 0, 100) || 15; } - slave.earImplant = Math.clamp(+slave.earImplant, 0, 1) || 0; +}; + +window.slaveHairDatatypeCleanup = function slaveHairDatatypeCleanup(slave) { if (typeof slave.hColor !== "string") { slave.hColor = "brown"; } if (typeof slave.origHColor !== "string") { slave.origHColor = slave.hColor; } - if (typeof slave.pubicHColor !== "string") { - slave.pubicHColor = slave.hColor; - } - if (typeof slave.underArmHColor !== "string") { - slave.underArmHColor = "slave.hColor"; - } - if (typeof slave.eyebrowHColor !== "string") { - slave.eyebrowHColor = "slave.hColor"; - } - if (typeof slave.skin !== "string") { - slave.skin = "light"; - } - if (typeof slave.origSkin !== "string") { - slave.origSkin = slave.skin; - } if (slave.hLength !== 0) { slave.hLength = Math.clamp(+slave.hLength, 0, 300) || 60; } if (typeof slave.hStyle !== "string") { slave.hStyle = "long"; } + slave.haircuts = Math.clamp(+slave.haircuts, 0, 1) || 0; + slave.bald = Math.clamp(+slave.bald, 0, 1) || 0; + if (typeof slave.pubicHColor !== "string") { + slave.pubicHColor = slave.hColor; + } if (typeof slave.pubicHStyle !== "string") { slave.pubicHStyle = "neat"; } + if (typeof slave.underArmHColor !== "string") { + slave.underArmHColor = "slave.hColor"; + } if (typeof slave.underArmHStyle !== "string") { slave.underArmHStyle = "waxed"; } + if (typeof slave.eyebrowHColor !== "string") { + slave.eyebrowHColor = "slave.hColor"; + } if (typeof slave.eyebrowHStyle !== "string") { slave.eyebrowHStyle = "natural"; } if (typeof slave.eyebrowFullness !== "string") { slave.eyebrowFullness = "natural"; } - slave.corsetPiercing = Math.clamp(+slave.corsetPiercing, 0, 1) || 0; - slave.amp = Math.clamp(+slave.amp, -5, 1) || 0; - slave.PLimb = Math.clamp(+slave.PLimb, 0, 1) || 0; - slave.heels = Math.clamp(+slave.heels, 0, 1) || 0; - slave.voiceImplant = Math.clamp(+slave.voiceImplant, -1, 1) || 0; - if (slave.voice !== 0) { - slave.voice = Math.clamp(+slave.voice, 0, 3) || 1; - } - slave.electrolarynx = Math.clamp(+slave.electrolarynx, 0, 1) || 0; - slave.accent = Math.clamp(+slave.accent, 0, 3) || 0; - slave.shoulders = Math.clamp(+slave.shoulders, -2, 2) || 0; - slave.shouldersImplant = Math.clamp(+slave.shouldersImplant, -1, 1) || 0; +}; + +window.slaveBoobsDatatypeCleanup = function slaveBoobsDatatypeCleanup(slave) { slave.boobs = Math.max(+slave.boobs, 100) || 200; - slave.boobsImplant = Math.max(+slave.boobsImplant, 0) || 0; - slave.boobsImplantType = Math.clamp(+slave.boobsImplantType, 0, 1) || 0; if (typeof slave.boobShape !== "string") { slave.boobShape = "normal"; } if (typeof slave.nipples !== "string") { slave.nipples = "cute"; } - slave.nipplesPiercing = Math.clamp(+slave.nipplesPiercing, 0, 2) || 0; if (typeof slave.nipplesAccessory !== "string") { slave.nipplesAccessory = "none"; } slave.areolae = Math.clamp(+slave.areolae, 0, 3) || 0; - slave.areolaePiercing = Math.clamp(+slave.areolaePiercing, 0, 2) || 0; if (typeof slave.areolaeShape !== "string") { slave.areolaeShape = "circle"; } - if (typeof slave.boobsTat !== "string") { - slave.boobsTat = 0; - } slave.lactation = Math.clamp(+slave.lactation, 0, 2) || 0; slave.lactationAdaptation = Math.clamp(+slave.lactationAdaptation, 0, 100) || 0; - slave.milk = Math.max(+slave.milk, 0) || 0; - slave.cum = Math.max(+slave.cum, 0) || 0; - slave.hips = Math.clamp(+slave.hips, -2, 3) || 0; - slave.hipsImplant = Math.clamp(+slave.hipsImplant, -1, 1) || 0; +}; + +window.slaveButtDatatypeCleanup = function slaveButtDatatypeCleanup(slave) { if (slave.butt !== 0) { slave.butt = Math.clamp(+slave.butt, 0, 20) || 1; - } - slave.buttImplant = Math.clamp(+slave.buttImplant, 0, 3) || 0; - slave.buttImplantType = Math.clamp(+slave.buttImplantType, 0, 1) || 0; - if (typeof slave.buttTat !== "string") { - slave.buttTat = 0; - } - slave.face = Math.clamp(+slave.face, -100, 100) || 0; - slave.faceImplant = Math.clamp(+slave.faceImplant, 0, 100) || 0; - if (typeof slave.faceShape !== "string") { - slave.faceShape = "normal"; - } - if (slave.lips !== 0) { - slave.lips = Math.clamp(+slave.lips, 0, 100) || 15; - } - slave.lipsImplant = Math.clamp(+slave.lipsImplant, 0, 100) || 0; - slave.lipsPiercing = Math.clamp(+slave.lipsPiercing, 0, 2) || 0; - if (typeof slave.lipsTat !== "string") { - slave.lipsTat = 0; - } - slave.tonguePiercing = Math.clamp(+slave.tonguePiercing, 0, 2) || 0; - slave.vagina = Math.clamp(+slave.vagina, -1, 10) || 0; - slave.vaginaLube = Math.clamp(+slave.vaginaLube, 0, 2) || 0; - slave.vaginaPiercing = Math.clamp(+slave.vaginaPiercing, 0, 2) || 0; - if (typeof slave.vaginaTat !== "string") { - slave.vaginaTat = 0; - } + } + slave.anus = Math.clamp(+slave.anus, 0, 4) || 0; + slave.analArea = Math.max(+slave.analArea, 0) || 0; +}; + +window.slavePregnancyDatatypeCleanup = function slavePregnancyDatatypeCleanup(slave) { + slave.induce = Math.clamp(+slave.induce, 0, 1) || 0; + slave.labor = Math.clamp(+slave.labor, 0, 1) || 0; + slave.cSec = Math.clamp(+slave.cSec, 0, 1) || 0; + slave.prematureBirth = Math.clamp(+slave.prematureBirth, 0, 1) || 0; + slave.ovaries = Math.clamp(+slave.ovaries, 0, 1) || 0; + slave.vasectomy = Math.clamp(+slave.vasectomy, 0, 1) || 0; + slave.mpreg = Math.clamp(+slave.mpreg, 0, 1) || 0; + slave.reservedChildren = Math.max(+slave.reservedChildren, 0) || 0; + slave.reservedChildrenNursery = Math.max(+slave.reservedChildrenNursery, 0) || 0; if (slave.pregAdaptation !== 0) { slave.pregAdaptation = Math.max(+slave.pregAdaptation, 0) || 50; } @@ -34303,19 +34240,37 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) { slave.broodmotherFetuses = Math.max(+slave.broodmotherFetuses, 0) || 0; slave.broodmotherOnHold = Math.clamp(+slave.broodmotherOnHold, 0, 1) || 0; slave.pregSource = +slave.pregSource || 0; - slave.labor = Math.clamp(+slave.labor, 0, 1) || 0; - slave.births = Math.max(+slave.births, 0) || 0; - slave.birthsTotal = Math.max(+slave.birthsTotal, 0) || slave.births; - slave.laborCount = Math.max(+slave.laborCount, 0) || slave.birthsTotal; - slave.cSec = Math.clamp(+slave.cSec, 0, 1) || 0; - if (typeof slave.bellyAccessory !== "string") { - slave.bellyAccessory = "none"; + if (typeof slave.pregControl !== "string") { + slave.pregControl = "none"; + } + WombNormalizePreg(slave); +}; + +window.slaveBellyDatatypeCleanup = function slaveBellyDatatypeCleanup(slave) { + slave.inflation = Math.clamp(+slave.inflation, 0, 3) || 0; + if (typeof slave.inflationType !== "string") { + slave.inflationType = "none"; + } + slave.inflationMethod = Math.clamp(+slave.inflationMethod, 0, 3) || 0; + slave.milkSource = Math.max(+slave.milkSource, 0) || 0; + slave.cumSource = Math.max(+slave.cumSource, 0) || 0; + slave.burst = Math.clamp(+slave.burst, 0, 1) || 0; + if (slave.bellyImplant !== 0) { + slave.bellyImplant = Math.max(+slave.bellyImplant, -1) || -1; } + slave.cervixImplant = Math.clamp(+slave.cervixImplant, 0, 1) || 0; + slave.bellySag = Math.max(+slave.bellySag, 0) || 0; + slave.bellySagPreg = Math.max(+slave.bellySagPreg, 0) || slave.bellySag; + slave.bellyPain = Math.clamp(+slave.bellyPain, 0, 2) || 0; + SetBellySize(slave); +}; + +window.slaveGenitaliaDatatypeCleanup = function slaveGenitaliaDatatypeCleanup(slave) { + slave.vagina = Math.clamp(+slave.vagina, -1, 10) || 0; + slave.vaginaLube = Math.clamp(+slave.vaginaLube, 0, 2) || 0; slave.labia = Math.clamp(+slave.labia, 0, 3) || 0; slave.clit = Math.clamp(+slave.clit, 0, 5) || 0; - slave.clitPiercing = Math.clamp(+slave.clitPiercing, 0, 3) || 0; slave.foreskin = Math.max(+slave.foreskin, 0) || 0; - slave.anus = Math.clamp(+slave.anus, 0, 4) || 0; slave.dick = Math.max(+slave.dick, 0) || 0; if (slave.dick && slave.prostate !== 0) { slave.prostate = Math.clamp(+slave.prostate, 0, 3) || 1; @@ -34324,71 +34279,86 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) { } slave.balls = Math.max(+slave.balls, 0) || 0; slave.scrotum = Math.max(+slave.scrotum, 0) || slave.balls; - slave.ovaries = Math.clamp(+slave.ovaries, 0, 1) || 0; - slave.analArea = Math.max(+slave.analArea, 0) || 0; - slave.dickPiercing = Math.clamp(+slave.dickPiercing, 0, 2) || 0; - if (typeof slave.dickTat !== "string") { - slave.dickTat = 0; - } - slave.anusPiercing = Math.clamp(+slave.anusPiercing, 0, 2) || 0; - if (typeof slave.anusTat !== "string") { - slave.anusTat = 0; - } - slave.makeup = Math.clamp(+slave.makeup, 0, 8) || 0; - slave.nails = Math.clamp(+slave.nails, 0, 9) || 0; - slave.brand = Math.clamp(+slave.brand, 0, 1) || 0; - if (typeof slave.brandLocation !== "string") { - slave.brandLocation = 0; - } +}; + +window.slaveImplantsDatatypeCleanup = function slaveImplantsDatatypeCleanup(slave) { + slave.ageImplant = Math.clamp(+slave.ageImplant, 0, 1) || 0; + slave.faceImplant = Math.clamp(+slave.faceImplant, 0, 100) || 0; + slave.lipsImplant = Math.clamp(+slave.lipsImplant, 0, 100) || 0; + slave.voiceImplant = Math.clamp(+slave.voiceImplant, -1, 1) || 0; + slave.boobsImplant = Math.max(+slave.boobsImplant, 0) || 0; + slave.boobsImplantType = Math.clamp(+slave.boobsImplantType, 0, 1) || 0; + slave.breastMesh = Math.clamp(+slave.breastMesh, 0, 1) || 0; + slave.buttImplant = Math.clamp(+slave.buttImplant, 0, 3) || 0; + slave.buttImplantType = Math.clamp(+slave.buttImplantType, 0, 1) || 0; + slave.heightImplant = Math.clamp(+slave.heightImplant, -1, 1) || 0; + slave.earImplant = Math.clamp(+slave.earImplant, 0, 1) || 0; + slave.shouldersImplant = Math.clamp(+slave.shouldersImplant, -1, 1) || 0; + slave.hipsImplant = Math.clamp(+slave.hipsImplant, -1, 1) || 0; +}; + +window.slavePiercingsDatatypeCleanup = function slavePiercingsDatatypeCleanup(slave) { slave.earPiercing = Math.clamp(+slave.earPiercing, 0, 2) || 0; slave.nosePiercing = Math.clamp(+slave.nosePiercing, 0, 2) || 0; slave.eyebrowPiercing = Math.clamp(+slave.eyebrowPiercing, 0, 2) || 0; + slave.lipsPiercing = Math.clamp(+slave.lipsPiercing, 0, 2) || 0; + slave.tonguePiercing = Math.clamp(+slave.tonguePiercing, 0, 2) || 0; + slave.nipplesPiercing = Math.clamp(+slave.nipplesPiercing, 0, 2) || 0; + slave.areolaePiercing = Math.clamp(+slave.areolaePiercing, 0, 2) || 0; + slave.corsetPiercing = Math.clamp(+slave.corsetPiercing, 0, 1) || 0; slave.navelPiercing = Math.clamp(+slave.navelPiercing, 0, 2) || 0; + slave.clitPiercing = Math.clamp(+slave.clitPiercing, 0, 3) || 0; + slave.vaginaPiercing = Math.clamp(+slave.vaginaPiercing, 0, 2) || 0; + slave.dickPiercing = Math.clamp(+slave.dickPiercing, 0, 2) || 0; + slave.anusPiercing = Math.clamp(+slave.anusPiercing, 0, 2) || 0; +}; + +window.slaveTattooDatatypeCleanup = function slaveTattooDatatypeCleanup(slave) { if (typeof slave.shouldersTat !== "string") { slave.shouldersTat = 0; } + if (typeof slave.lipsTat !== "string") { + slave.lipsTat = 0; + } + if (typeof slave.boobsTat !== "string") { + slave.boobsTat = 0; + } if (typeof slave.armsTat !== "string") { slave.armsTat = 0; } - if (typeof slave.legsTat !== "string") { - slave.legsTat = 0; - } if (typeof slave.backTat !== "string") { slave.backTat = 0; } if (typeof slave.stampTat !== "string") { slave.stampTat = 0; } - slave.oralSkill = Math.clamp(+slave.oralSkill, 0, 100) || 0; - slave.vaginalSkill = Math.clamp(+slave.vaginalSkill, 0, 100) || 0; - slave.analSkill = Math.clamp(+slave.analSkill, 0, 100) || 0; - slave.whoreSkill = Math.clamp(+slave.whoreSkill, 0, 100) || 0; - slave.entertainSkill = Math.clamp(+slave.entertainSkill, 0, 100) || 0; - slave.combatSkill = Math.clamp(+slave.combatSkill, 0, 1) || 0; - if (typeof slave.standardPunishment !== "string") { - slave.standardPunishment = "situational"; + if (typeof slave.buttTat !== "string") { + slave.buttTat = 0; } - if (typeof slave.standardReward !== "string") { - slave.standardReward = "situational"; + if (typeof slave.vaginaTat !== "string") { + slave.vaginaTat = 0; } - if (slave.useRulesAssistant !== 0) { - slave.useRulesAssistant = 1; + if (typeof slave.dickTat !== "string") { + slave.dickTat = 0; } - if (typeof slave.diet !== "string") { - slave.diet = "healthy"; + if (typeof slave.anusTat !== "string") { + slave.anusTat = 0; } - slave.dietCum = Math.clamp(+slave.dietCum, 0, 2) || 0; - slave.dietMilk = Math.clamp(+slave.dietMilk, 0, 2) || 0; - slave.tired = Math.clamp(+slave.tired, 0, 1) || 0; - slave.hormones = Math.clamp(+slave.hormones, -2, 2) || 0; - if (typeof slave.drugs !== "string") { - slave.drugs = "no drugs"; + if (typeof slave.legsTat !== "string") { + slave.legsTat = 0; } - slave.aphrodisiacs = Math.clamp(+slave.aphrodisiacs, 0, 2) || 0; - slave.curatives = Math.clamp(+slave.curatives, 0, 2) || 0; - slave.chem = Math.max(+slave.chem, 0) || 0; - slave.addict = Math.max(+slave.addict, 0) || 0; - slave.fuckdoll = Math.clamp(+slave.fuckdoll, 0, 100) || 0; + if (typeof slave.bellyTat !== "string") { + slave.bellyTat = 0; + } + if (typeof slave.customTat !== "string") { + slave.customTat = ""; + } +}; + +window.slaveCosmeticsDatatypeCleanup = function slaveCosmeticsDatatypeCleanup(slave) { + slave.makeup = Math.clamp(+slave.makeup, 0, 8) || 0; + slave.nails = Math.clamp(+slave.nails, 0, 9) || 0; + slave.scars = Math.clamp(+slave.scars, 0, 6) || 0; slave.choosesOwnClothes = Math.clamp(+slave.choosesOwnClothes, 0, 1) || 0; if (typeof slave.clothes !== "string") { slave.clothes = "no clothing"; @@ -34399,6 +34369,19 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) { if (typeof slave.shoes !== "string") { slave.shoes = "none"; } + if (typeof slave.eyewear !== "string") { + slave.eyewear = "none"; + } + slave.brand = Math.clamp(+slave.brand, 0, 1) || 0; + if (typeof slave.brandLocation !== "string") { + slave.brandLocation = 0; + } + if (typeof slave.markings !== "string") { + slave.markings = "none"; + } + if (typeof slave.bellyAccessory !== "string") { + slave.bellyAccessory = "none"; + } if (typeof slave.vaginalAccessory !== "string") { slave.vaginalAccessory = "none"; } @@ -34414,22 +34397,6 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) { if (typeof slave.buttplugAttachment !== "string") { slave.buttplugAttachment = "none"; } - slave.intelligence = Math.clamp(+slave.intelligence, -100, 100) || 0; - slave.intelligenceImplant = Math.clamp(+slave.intelligenceImplant, 0, 30) || 0; - slave.energy = Math.clamp(+slave.energy, 0, 100) || 0; - slave.need = Math.max(+slave.need, 0) || 0; - slave.attrXY = Math.clamp(+slave.attrXY, 0, 100) || 0; - slave.attrXX = Math.clamp(+slave.attrXX, 0, 100) || 0; - slave.attrKnown = Math.clamp(+slave.attrKnown, 0, 1) || 0; - slave.fetishStrength = Math.clamp(+slave.fetishStrength, 0, 100) || 0; - slave.fetishKnown = Math.clamp(+slave.fetishKnown, 0, 1) || 0; - slave.oralCount = Math.max(+slave.oralCount, 0) || 0; - slave.vaginalCount = Math.max(+slave.vaginalCount, 0) || 0; - slave.analCount = Math.max(+slave.analCount, 0) || 0; - slave.publicCount = Math.max(+slave.publicCount, 0) || 0; - slave.mammaryCount = Math.max(+slave.mammaryCount, 0) || 0; - slave.penetrativeCount = Math.max(+slave.penetrativeCount, 0) || 0; - slave.pitKills = Math.max(+slave.pitKills, 0) || 0; if (typeof slave.headAccessory !== "string") { slave.headAccessory = "none"; } @@ -34439,9 +34406,160 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) { if (typeof slave.backAccessory !== "string") { slave.backAccessory = "none"; } - if (typeof slave.customTat !== "string") { - slave.customTat = ""; +}; + +window.slaveDietDatatypeCleanup = function slaveDietDatatypeCleanup(slave) { + if (typeof slave.diet !== "string") { + slave.diet = "healthy"; + } + slave.dietCum = Math.clamp(+slave.dietCum, 0, 2) || 0; + slave.dietMilk = Math.clamp(+slave.dietMilk, 0, 2) || 0; + slave.onDiet = Math.clamp(+slave.onDiet, 0, 1) || 0; + slave.hormones = Math.clamp(+slave.hormones, -2, 2) || 0; + slave.hormoneBalance = Math.clamp(+slave.hormoneBalance, -400, 400) || 0; + if (typeof slave.drugs !== "string") { + slave.drugs = "no drugs"; + } + slave.aphrodisiacs = Math.clamp(+slave.aphrodisiacs, 0, 2) || 0; + slave.curatives = Math.clamp(+slave.curatives, 0, 2) || 0; +}; + +window.slavePornDatatypeCleanup = function slavePornDatatypeCleanup(slave) { + slave.pornFeed = Math.clamp(+slave.pornFeed, 0, 1) || 0; + slave.pornFame = Math.max(+slave.pornFame, 0) || 0; + slave.pornFameSpending = Math.max(+slave.pornFameSpending, 0) || 0; + slave.pornPrestige = Math.clamp(+slave.pornPrestige, 0, 3) || 0; + if (typeof slave.pornPrestigeDesc !== "string") { + slave.pornPrestigeDesc = 0; + } + if (typeof slave.pornFameType !== "string") { + slave.pornFameType = "none"; + } + if (typeof slave.pornFocus !== "string") { + slave.pornFocus = "none"; + } + slave.pornTypeGeneral = Math.max(+slave.pornTypeGeneral, 0) || 0; + slave.pornTypeFuckdoll = Math.max(+slave.pornTypeFuckdoll, 0) || 0; + slave.pornTypeRape = Math.max(+slave.pornTypeRape, 0) || 0; + slave.pornTypePreggo = Math.max(+slave.pornTypePreggo, 0) || 0; + slave.pornTypeBBW = Math.max(+slave.pornTypeBBW, 0) || 0; + slave.pornTypeGainer = Math.max(+slave.pornTypeGainer, 0) || 0; + slave.pornTypeStud = Math.max(+slave.pornTypeStud, 0) || 0; + slave.pornTypeLoli = Math.max(+slave.pornTypeLoli, 0) || 0; + slave.pornTypeDeepThroat = Math.max(+slave.pornTypeDeepThroat, 0) || 0; + slave.pornTypeStruggleFuck = Math.max(+slave.pornTypeStruggleFuck, 0) || 0; + slave.pornTypePainal = Math.max(+slave.pornTypePainal, 0) || 0; + slave.pornTypeTease = Math.max(+slave.pornTypeTease, 0) || 0; + slave.pornTypeRomantic = Math.max(+slave.pornTypeRomantic, 0) || 0; + slave.pornTypePervert = Math.max(+slave.pornTypePervert, 0) || 0; + slave.pornTypeCaring = Math.max(+slave.pornTypeCaring, 0) || 0; + slave.pornTypeUnflinching = Math.max(+slave.pornTypeUnflinching, 0) || 0; + slave.pornTypeSizeQueen = Math.max(+slave.pornTypeSizeQueen, 0) || 0; + slave.pornTypeNeglectful = Math.max(+slave.pornTypeNeglectful, 0) || 0; + slave.pornTypeCumAddict = Math.max(+slave.pornTypeCumAddict, 0) || 0; + slave.pornTypeAnalAddict = Math.max(+slave.pornTypeAnalAddict, 0) || 0; + slave.pornTypeAttentionWhore = Math.max(+slave.pornTypeAttentionWhore, 0) || 0; + slave.pornTypeBreastGrowth = Math.max(+slave.pornTypeBreastGrowth, 0) || 0; + slave.pornTypeAbusive = Math.max(+slave.pornTypeAbusive, 0) || 0; + slave.pornTypeMalicious = Math.max(+slave.pornTypeMalicious, 0) || 0; + slave.pornTypeSelfHating = Math.max(+slave.pornTypeSelfHating, 0) || 0; + slave.pornTypeBreeder = Math.max(+slave.pornTypeBreeder, 0) || 0; + slave.pornTypeSub = Math.max(+slave.pornTypeSub, 0) || 0; + slave.pornTypeCumSlut = Math.max(+slave.pornTypeCumSlut, 0) || 0; + slave.pornTypeAnal = Math.max(+slave.pornTypeAnal, 0) || 0; + slave.pornTypeHumiliation = Math.max(+slave.pornTypeHumiliation, 0) || 0; + slave.pornTypeBoobs = Math.max(+slave.pornTypeBoobs, 0) || 0; + slave.pornTypeDom = Math.max(+slave.pornTypeDom, 0) || 0; + slave.pornTypeSadist = Math.max(+slave.pornTypeSadist, 0) || 0; + slave.pornTypeMasochist = Math.max(+slave.pornTypeMasochist, 0) || 0; + slave.pornTypePregnancy = Math.max(+slave.pornTypePregnancy, 0) || 0; +}; + +window.slaveRelationDatatypeCleanup = function slaveRelationDatatypeCleanup(slave) { + slave.mother = +slave.mother || 0; + slave.father = +slave.father || 0; + if (State.variables.familyTesting == 0) { + slave.relationTarget = Math.max(+slave.relationTarget, 0) || 0; + } + slave.canRecruit = Math.clamp(+slave.canRecruit, 0, 1) || 0; + slave.relationship = Math.clamp(+slave.relationship, -3, 5) || 0; + slave.relationshipTarget = Math.max(+slave.relationshipTarget, 0) || 0; + slave.rivalryTarget = Math.max(+slave.rivalryTarget, 0) || 0; + slave.rivalry = Math.clamp(+slave.rivalry, 0, 3) || 0; +}; + +window.slaveSkillsDatatypeCleanup = function slaveSkillsDatatypeCleanup(slave) { + slave.oralSkill = Math.clamp(+slave.oralSkill, 0, 100) || 0; + slave.vaginalSkill = Math.clamp(+slave.vaginalSkill, 0, 100) || 0; + slave.analSkill = Math.clamp(+slave.analSkill, 0, 100) || 0; + slave.whoreSkill = Math.clamp(+slave.whoreSkill, 0, 100) || 0; + slave.entertainSkill = Math.clamp(+slave.entertainSkill, 0, 100) || 0; + slave.combatSkill = Math.clamp(+slave.combatSkill, 0, 1) || 0; + slave.skillHG = Math.clamp(+slave.skillHG, 0, 200) || 0; + slave.skillRC = Math.clamp(+slave.skillRC, 0, 200) || 0; + slave.skillBG = Math.clamp(+slave.skillBG, 0, 200) || 0; + slave.skillMD = Math.clamp(+slave.skillMD, 0, 200) || 0; + slave.skillDJ = Math.clamp(+slave.skillDJ, 0, 200) || 0; + slave.skillNU = Math.clamp(+slave.skillNU, 0, 200) || 0; + slave.skillTE = Math.clamp(+slave.skillTE, 0, 200) || 0; + slave.skillAT = Math.clamp(+slave.skillAT, 0, 200) || 0; + slave.skillMT = Math.clamp(+slave.skillMT, 0, 200) || 0; + slave.skillST = Math.clamp(+slave.skillST, 0, 200) || 0; + slave.skillMM = Math.clamp(+slave.skillMM, 0, 200) || 0; + slave.skillWA = Math.clamp(+slave.skillWA, 0, 200) || 0; + slave.skillS = Math.clamp(+slave.skillS, 0, 200) || 0; + slave.skillE = Math.clamp(+slave.skillE, 0, 200) || 0; + slave.skillW = Math.clamp(+slave.skillW, 0, 200) || 0; +}; + +window.slaveStatCountDatatypeCleanup = function slaveStatCountDatatypeCleanup(slave) { + slave.oralCount = Math.max(+slave.oralCount, 0) || 0; + slave.vaginalCount = Math.max(+slave.vaginalCount, 0) || 0; + slave.analCount = Math.max(+slave.analCount, 0) || 0; + slave.publicCount = Math.max(+slave.publicCount, 0) || 0; + slave.mammaryCount = Math.max(+slave.mammaryCount, 0) || 0; + slave.penetrativeCount = Math.max(+slave.penetrativeCount, 0) || 0; + slave.pitKills = Math.max(+slave.pitKills, 0) || 0; + slave.milk = Math.max(+slave.milk, 0) || 0; + slave.cum = Math.max(+slave.cum, 0) || 0; + slave.births = Math.max(+slave.births, 0) || 0; + slave.birthsTotal = Math.max(+slave.birthsTotal, 0) || slave.births; + slave.laborCount = Math.max(+slave.laborCount, 0) || slave.birthsTotal; + slave.slavesFathered = Math.max(+slave.slavesFathered, 0) || 0; + slave.PCChildrenFathered = Math.max(+slave.PCChildrenFathered, 0) || 0; + slave.slavesKnockedUp = Math.max(+slave.slavesKnockedUp, 0) || 0; + slave.PCKnockedUp = Math.max(+slave.PCKnockedUp, 0) || 0; + slave.bodySwap = Math.max(+slave.bodySwap, 0) || 0; +}; + +window.slavePreferencesDatatypeCleanup = function slavePreferencesDatatypeCleanup(slave) { + slave.energy = Math.clamp(+slave.energy, 0, 100) || 0; + slave.need = Math.max(+slave.need, 0) || 0; + slave.attrXY = Math.clamp(+slave.attrXY, 0, 100) || 0; + slave.attrXX = Math.clamp(+slave.attrXX, 0, 100) || 0; + slave.attrKnown = Math.clamp(+slave.attrKnown, 0, 1) || 0; + slave.fetishStrength = Math.clamp(+slave.fetishStrength, 0, 100) || 0; + slave.fetishKnown = Math.clamp(+slave.fetishKnown, 0, 1) || 0; +}; + +window.slaveRulesDatatypeCleanup = function slaveRulesDatatypeCleanup(slave) { + if (typeof slave.standardPunishment !== "string") { + slave.standardPunishment = "situational"; + } + if (typeof slave.standardReward !== "string") { + slave.standardReward = "situational"; } + if (slave.useRulesAssistant !== 0) { + slave.useRulesAssistant = 1; + } + slave.choosesOwnAssignment = Math.clamp(+slave.choosesOwnAssignment, 0) || 0; + slave.HGExclude = Math.clamp(+slave.HGExclude, 0, 1) || 0; + slave.choosesOwnChastity = Math.clamp(+slave.choosesOwnChastity, 0, 1) || 0; + slave.breedingMark = Math.clamp(+slave.breedingMark, 0, 1) || 0; + slave.rudeTitle = Math.clamp(+slave.rudeTitle, 0, 1) || 0; +}; + +window.slaveCustomStatsDatatypeCleanup = function slaveCustomStatsDatatypeCleanup(slave) { if (typeof slave.customLabel !== "string") { slave.customLabel = ""; } @@ -34454,51 +34572,55 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) { if (typeof slave.customTitleLisp !== "string") { slave.customTitleLisp = ""; } - slave.rudeTitle = Math.clamp(+slave.rudeTitle, 0, 1) || 0; if (typeof slave.customImage !== "string") { slave.customImage = 0; } - if (typeof slave.bellyTat !== "string") { - slave.bellyTat = 0; +}; + +window.slaveMiscellaneousDatatypeCleanup = function slaveMiscellaneousDatatypeCleanup(slave) { + slave.weekAcquired = Math.max(+slave.weekAcquired, 0) || 0; + slave.newGamePlus = Math.clamp(+slave.newGamePlus, 0, 1) || 0; + slave.prestige = Math.clamp(+slave.prestige, 0, 3) || 0; + slave.devotion = Math.clamp(+slave.devotion, -100, 100) || 0; + slave.oldDevotion = Math.clamp(+slave.oldDevotion, -100, 100) || 0; + slave.trust = Math.clamp(+slave.trust, -100, 100) || 0; + slave.oldTrust = Math.clamp(+slave.oldTrust, -100, 100) || 0; + slave.fuckdoll = Math.clamp(+slave.fuckdoll, 0, 100) || 0; + slave.chem = Math.max(+slave.chem, 0) || 0; + slave.addict = Math.max(+slave.addict, 0) || 0; + slave.intelligence = Math.clamp(+slave.intelligence, -100, 100) || 0; + slave.intelligenceImplant = Math.clamp(+slave.intelligenceImplant, 0, 30) || 0; + slave.premature = Math.clamp(+slave.premature, 0, 1) || 0; + slave.tankBaby = Math.clamp(+slave.tankBaby, 0, 2) || 0; + slave.subTarget = Math.max(+slave.subTarget, 0) || 0; + slave.sentence = Math.max(+slave.sentence, 0) || 0; + slave.training = Math.clamp(+slave.training, 0, 150) || 0; + if (slave.indenture !== 0) { + slave.indenture = Math.max(+slave.indenture, -1) || -1; } - slave.induce = Math.clamp(+slave.induce, 0, 1) || 0; - slave.mpreg = Math.clamp(+slave.mpreg, 0, 1) || 0; - slave.inflation = Math.clamp(+slave.inflation, 0, 3) || 0; - if (typeof slave.inflationType !== "string") { - slave.inflationType = "none"; + slave.indentureRestrictions = Math.clamp(+slave.indentureRestriction, 0, 2) || 0; + slave.tired = Math.clamp(+slave.tired, 0, 1) || 0; + slave.hears = Math.clamp(+slave.hears, -2, 0) || 0; + if (typeof slave.earwear !== "string") { + slave.earwear = "none"; } - slave.inflationMethod = Math.clamp(+slave.inflationMethod, 0, 3) || 0; - slave.milkSource = Math.max(+slave.milkSource, 0) || 0; - slave.cumSource = Math.max(+slave.cumSource, 0) || 0; - slave.burst = Math.clamp(+slave.burst, 0, 1) || 0; - SetBellySize(slave); - if (slave.bellyImplant !== 0) { - slave.bellyImplant = Math.max(+slave.bellyImplant, -1) || -1; + slave.heels = Math.clamp(+slave.heels, 0, 1) || 0; + slave.amp = Math.clamp(+slave.amp, -5, 1) || 0; + slave.PLimb = Math.clamp(+slave.PLimb, 0, 1) || 0; + if (slave.voice !== 0) { + slave.voice = Math.clamp(+slave.voice, 0, 3) || 1; } - slave.bellySag = Math.max(+slave.bellySag, 0) || 0; - slave.bellySagPreg = Math.max(+slave.bellySagPreg, 0) || slave.bellySag; - slave.bellyPain = Math.clamp(+slave.bellyPain, 0, 2) || 0; - slave.cervixImplant = Math.clamp(+slave.cervixImplant, 0, 1) || 0; - slave.pubertyAgeXX = Math.max(+slave.pubertyAgeXX, 0) || V.fertilityAge; - slave.pubertyAgeXY = Math.max(+slave.pubertyAgeXY, 0) || V.potencyAge; - slave.scars = Math.clamp(+slave.scars, 0, 6) || 0; - slave.breedingMark = Math.clamp(+slave.breedingMark, 0, 1) || 0; - slave.bodySwap = Math.max(+slave.bodySwap, 0) || 0; - slave.HGExclude = Math.clamp(+slave.HGExclude, 0, 1) || 0; + slave.electrolarynx = Math.clamp(+slave.electrolarynx, 0, 1) || 0; + slave.accent = Math.clamp(+slave.accent, 0, 3) || 0; + slave.missingEyes = Math.clamp(+slave.missingEyes, 0, 3) || 0; + slave.missingArms = Math.clamp(+slave.missingArms, 0, 3) || 0; + slave.missingLegs = Math.clamp(+slave.missingLegs, 0, 3) || 0; if (typeof slave.ballType !== "string") { slave.ballType = "human"; } if (typeof slave.eggType !== "string") { slave.eggType = "human"; } - slave.reservedChildren = Math.max(+slave.reservedChildren, 0) || 0; - slave.reservedChildrenNursery = Math.max(+slave.reservedChildrenNursery, 0) || 0; - slave.choosesOwnChastity = Math.clamp(+slave.choosesOwnChastity, 0, 1) || 0; - if (typeof slave.pregControl !== "string") { - slave.pregControl = "none"; - } - slave.ageAdjust = Math.clamp(+slave.ageAdjust, -40, 40) || 0; - slave.bald = Math.clamp(+slave.bald, 0, 1) || 0; if (typeof slave.origBodyOwner !== "string") { slave.origBodyOwner = ""; } @@ -34506,39 +34628,6 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) { if (typeof slave.death !== "string") { slave.death = ""; } - slave.hormoneBalance = Math.clamp(+slave.hormoneBalance, -400, 400) || 0; - slave.onDiet = Math.clamp(+slave.onDiet, 0, 1) || 0; - slave.breastMesh = Math.clamp(+slave.breastMesh, 0, 1) || 0; - slave.slavesFathered = Math.max(+slave.slavesFathered, 0) || 0; - slave.PCChildrenFathered = Math.max(+slave.PCChildrenFathered, 0) || 0; - slave.slavesKnockedUp = Math.max(+slave.slavesKnockedUp, 0) || 0; - slave.PCKnockedUp = Math.max(+slave.PCKnockedUp, 0) || 0; - slave.prematureBirth = Math.clamp(+slave.prematureBirth, 0, 1) || 0; - slave.premature = Math.clamp(+slave.premature, 0, 1) || 0; - slave.vasectomy = Math.clamp(+slave.vasectomy, 0, 1) || 0; - slave.haircuts = Math.clamp(+slave.haircuts, 0, 1) || 0; - slave.newGamePlus = Math.clamp(+slave.newGamePlus, 0, 1) || 0; - slave.skillHG = Math.clamp(+slave.skillHG, 0, 200) || 0; - slave.skillRC = Math.clamp(+slave.skillRC, 0, 200) || 0; - slave.skillBG = Math.clamp(+slave.skillBG, 0, 200) || 0; - slave.skillMD = Math.clamp(+slave.skillMD, 0, 200) || 0; - slave.skillDJ = Math.clamp(+slave.skillDJ, 0, 200) || 0; - slave.skillNU = Math.clamp(+slave.skillNU, 0, 200) || 0; - slave.skillTE = Math.clamp(+slave.skillTE, 0, 200) || 0; - slave.skillAT = Math.clamp(+slave.skillAT, 0, 200) || 0; - slave.skillMT = Math.clamp(+slave.skillMT, 0, 200) || 0; - slave.skillST = Math.clamp(+slave.skillST, 0, 200) || 0; - slave.skillMM = Math.clamp(+slave.skillMM, 0, 200) || 0; - slave.skillWA = Math.clamp(+slave.skillWA, 0, 200) || 0; - slave.skillS = Math.clamp(+slave.skillS, 0, 200) || 0; - slave.skillE = Math.clamp(+slave.skillE, 0, 200) || 0; - slave.skillW = Math.clamp(+slave.skillW, 0, 200) || 0; - slave.tankBaby = Math.clamp(+slave.tankBaby, 0, 2) || 0; - slave.NCSyouthening = Math.max(+slave.NCSyouthening, 0) || 0; - slave.missingEyes = Math.clamp(+slave.missingEyes, 0, 3) || 0; - slave.missingArms = Math.clamp(+slave.missingArms, 0, 3) || 0; - slave.missingLegs = Math.clamp(+slave.missingLegs, 0, 3) || 0; - generatePronouns(slave); }; window.ArcologyDatatypeCleanup = function ArcologyDatatypeCleanup () { diff --git a/src/cheats/mod_EditSlaveCheatDatatypeCleanup.tw b/src/cheats/mod_EditSlaveCheatDatatypeCleanup.tw index 9b32a9d81784041941b577a54fcf7d8d3ce7c654..1a50994b1a043c71c2c319916e23d1009a79910e 100644 --- a/src/cheats/mod_EditSlaveCheatDatatypeCleanup.tw +++ b/src/cheats/mod_EditSlaveCheatDatatypeCleanup.tw @@ -7,13 +7,12 @@ <<goto "Slave Interact">> <</if>> -<<run SlaveDatatypeCleanup($tempSlave)>> <<set $rep = Number($rep) || 0>> <<set $cash = Number($cash) || 0>> <<set $week = Number($week) || 1>> <<set $tempSlave.preg = Number($tempSlave.preg) || 0>> <<set $tempSlave.pregType = Number($tempSlave.pregType) || 0>> - <<if $tempSlave.broodmother == 0>> +<<if $tempSlave.broodmother == 0>> <<set WombInit($tempSlave)>> /* just to make sure */ <<set $tempSlave.womb.length = 0>> /* simple way to delete all fetuses */ <<set WombImpregnate($tempSlave, $tempSlave.pregType, $tempSlave.pregSource, $tempSlave.preg)>> /* recreates fetuses */ @@ -25,7 +24,7 @@ <<else>> <<set $tempSlave.pregKnown = 0, $tempSlave.pregWeek = 0>> <</if>> -<<run SetBellySize($tempSlave)>> +<<run SlaveDatatypeCleanup($tempSlave)>> /* will break cheated pregnancies if run before the above block of code */ You perform the dark rituals, pray to the dark gods and sold your soul for the power to change and mold slaves to your will. diff --git a/src/cheats/mod_EditSlaveCheatDatatypeCleanupNew.tw b/src/cheats/mod_EditSlaveCheatDatatypeCleanupNew.tw index 8c32a1f521ec64f013558988f3cb683fc3b15abf..ad60d75e1d9b025893a98d8a5e4e2e4e9b3ece8f 100644 --- a/src/cheats/mod_EditSlaveCheatDatatypeCleanupNew.tw +++ b/src/cheats/mod_EditSlaveCheatDatatypeCleanupNew.tw @@ -17,7 +17,6 @@ <</if>> <<unset $customEvalCode>> -<<run SlaveDatatypeCleanup($tempSlave)>> <<set $rep = Number($rep) || 0>> <<set $cash = Number($cash) || 0>> <<set $week = Number($week) || 1>> @@ -36,25 +35,10 @@ <<elseif $tempSlave.preg > 0>> <<set $tempSlave.pregKnown = 1>> <</if>> +<<run SlaveDatatypeCleanup($tempSlave)>> /* will break cheated pregnancies if run before the above block of code */ /* Dependency Check */ <br> -<<if $tempSlave.indenture == -1>> - <<set $tempSlave.indentureRestrictions = 0>> -<<elseif $tempSlave.indenture < -1>> - <<set $tempSlave.indenture = -1>> - <<print "Indenture was smaller than -1 reset to Fulltime Slave">><br> -<<elseif $tempSlave.indentureRestrictions < 0>> - <<set $tempSlave.indentureRestrictions = 0>> - <<print "Indenture Restriction was smaller than 0 reset to No Restrictions">><br> -<<elseif $tempSlave.indentureRestrictions > 2>> - <<set $tempSlave.indentureRestrictions = 2>> - <<print "Indenture Restrictions was bigger than 2 reset to Full Restrictions">><br> -<</if>> -<<if $tempSlave.weekAcquired < 0>> - <<set $tempSlave.weekAcquired = 0>> - <<print "Week Acquired was negative reset to 0">><br> -<</if>> <<if ($tempSlave.relationshipTarget == $tempSlave.ID) && ($tempSlave.relationship > 0)>> <<set $tempSlave.relationshipTarget = 0>> <<set $tempSlave.relationship = -1>> @@ -65,48 +49,10 @@ <<set $tempSlave.rivalry = 0>> <<print "The Slave was her own Rival reset to No Rivalry">><br> <</if>> -<<if $tempSlave.actualAge < 0>> - <<print "Slave actual Age is set too low, reset to Arcology Minimum Age">><br> - <<set $tempSlave.actualAge = $minimumSlaveAge>> -<</if>> -<<if $tempSlave.physicalAge < 0>> - <<print "Slave physical Age is set too low, reset to Arcology Minimum Age">><br> - <<set $tempSlave.physicalAge = $minimumSlaveAge>> -<</if>> -<<if $tempSlave.visualAge < 0>> - <<print "Slave visual Age is set too low, reset to Arcology Minimum Age">><br> - <<set $tempSlave.visualAge = $minimumSlaveAge>> -<</if>> <<if ($tempSlave.ageImplant == 1) && ($tempSlave.visualAge < 25)>> <<print "Slaves Visual Age is smaller than 25 reset to no lifting">><br> <<set $tempSlave.ageImplant = 0>> <</if>> -<<if $tempSlave.ovaryAge < 0>> - <<print "Slave ovary Age is set too low, reset to match physical age">><br> - <<set $tempSlave.ovaryAge = $tempSlave.physicalAge>> -<</if>> -<<if $tempSlave.chem < 0>> - <<print "Slaves DNA Error is set too low, reset to 0">><br> - <<set $tempSlave.chem = 0>> -<</if>> -<<if $tempSlave.face < -100>> - <<print "Face Beauty was set too low, reset to -100">><br> - <<set $tempSlave.face = -100>> -<<elseif $tempSlave.face > 100>> - <<print "Face Beauty was set too high, reset to 100">><br> - <<set $tempSlave.face = 100>> -<</if>> -<<if $tempSlave.hLength < 0>> - <<print "Slaves Hair length was set too low, reset to 0">><br> - <<set $tempSlave.hLength = 0>> -<</if>> -<<if $tempSlave.lips < 0>> - <<print "Lips size too small, reset to 0">><br> - <<set $tempSlave.lips = 0>> -<<elseif $tempSlave.lips > 100>> - <<print "Lips size too high, reset to 100">><br> - <<set $tempSlave.lips = 100>> -<</if>> <<if ($tempSlave.voice == 0) && ($tempSlave.voiceImplant != 0)>> <<print "Slave is mute, voice surgery reset" >><br> <<set $tempSlave.voiceImplant = 0>> @@ -168,78 +114,11 @@ <</if>> <</if>> <</if>> -<<if $tempSlave.fuckdoll < 0>> - <<print "Fuckdoll Value too low, reset to 0 (Not a Fuckdoll)">><br> - <<set $tempSlave.fuckdoll = 0>> -<<elseif $tempSlave.fuckdoll > 100>> - <<print "Fuckdoll Value too high, reset to 100 (Total Fuckdoll)">><br> - <<set $tempSlave.fuckdoll = 100>> -<</if>> -<<if $tempSlave.muscles < -100>> - <<print "Muscle Value too low, reset to -100 (Frail)">><br> - <<set $tempSlave.muscles = 0>> -<<elseif $tempSlave.muscles > 100>> - <<print "Muscle Value too high, reset to 100 (Hugely Muscular)">><br> - <<set $tempSlave.muscles = 100>> -<</if>> -<<if $tempSlave.weight < -100>> - <<print "Weight Value too low, reset to -100 (Emaciated)">><br> - <<set $tempSlave.weight = -100>> -<<elseif $tempSlave.weight > 200 >> - <<print "Weight Value too high, reset to 200 (Extremely Obese)">><br> - <<set $tempSlave.weight = 200>> -<</if>> -<<if $tempSlave.waist < -100>> - <<print "Waist Value too low, reset to -100 (Absurd)">><br> - <<set $tempSlave.waist = -100>> -<<elseif $tempSlave.waist > 100>> - <<print "Waist Value too high, reset to 100 (Masculine)">><br> - <<set $tempSlave.waist = 100>> -<</if>> -<<if $tempSlave.height < 1>> - <<print "Height Value too low, reset to 140 (Seriously its still a Human Being)">><br> - <<set $tempSlave.height = 140>> -<</if>> -<<if $tempSlave.heightImplant < -1>> - <<print "heightImplant Value too low, reset to -1 (Artificially Shortened)">><br> - <<set $tempSlave.heightImplant = -1>> -<<elseif $tempSlave.heightImplant > 1>> - <<print "heightImplant Value too high, reset to 1 (Artificially Lengthened)">><br> - <<set $tempSlave.heightImplant = 1>> -<</if>> -<<if $tempSlave.bellyImplant < -1>> - <<print "Belly Implant Value too low, reset -1 (no Implant)">><br> - <<set $tempSlave.bellyImplant = -1>> -<</if>> -<<if $tempSlave.bellySag < 0>> - <<print "Bellysag Value too low, reset 0">><br> - <<set $tempSlave.bellySag = 0>> -<</if>> -<<if $tempSlave.boobs < 0>> - <<print "Breasts Value too low, reset to 200">><br> - <<set $tempSlave.boobs = 200>> -<</if>> -<<if $tempSlave.boobsImplant < 0>> - <<print "Breast Implant Value too low, reset to 0">><br> - <<set $tempSlave.boobsImplant = 0>> -<</if>> -<<if $tempSlave.butt < 0>> - <<print "Butt Value too low, reset to 0">><br> - <<set $tempSlave.butt = 0>> -<</if>> -<<if (ndef $tempSlave.pubertyAgeXX) || ($tempSlave.pubertyAgeXX < 0)>> - <<print "Puberty Age was not set or set too low, reset to Arcology fertility age">><br> - <<set $tempSlave.pubertyAgeXX = $fertilityAge>> -<</if>> <<if (ndef $tempSlave.pubertyXX) && ($tempSlave.physicalAge >= $tempSlave.pubertyAgeXX)>> <<set $tempSlave.pubertyXX = 1>> <<elseif (ndef $tempSlave.pubertyXX) && ($tempSlave.physicalAge < $tempSlave.pubertyAgeXX)>> <<set $tempSlave.pubertyXX = 0>> <</if>> -<<if $tempSlave.dick < 0>> - <<print "Slave Dick Value set too low, reset to 0 (No Dick)" >><br> - <<set $tempSlave.dick = 0>> -<</if>> <<if $tempSlave.dick == 0>> <<set $tempSlave.dickTat = 0>> <</if>> @@ -267,6 +146,7 @@ <<set $tempSlave.pregType = 0>> <<set $tempSlave.pregSource = 0>> <<set $tempSlave.pregWeek = 0>> + <<run WombFlush($tempSlave)>> <</if>> <<if ($tempSlave.pubertyXX != 1) && ($tempSlave.physicalAge >= $tempSlave.pubertyAgeXX)>> <<print "Slaves physical Age is equal or higher than female Puberty Age, Puberty set to 1 (Post Puberty)" >><br> @@ -282,22 +162,7 @@ <<set $tempSlave.pregType = 0>> <<set $tempSlave.pregSource = 0>> <<set $tempSlave.pregWeek = 0>> -<</if>> -<<if $tempSlave.balls < 0>> - <<print "Slave Balls Value set too low, reset to 0 (No Balls)">><br> - <<set $tempSlave.balls = 0>> -<</if>> -<<if $tempSlave.foreskin < 0>> - <<print "Slave Foreskin Value set too low, reset to 0 (None)">><br> - <<set $tempSlave.foreskin = 0>> -<</if>> -<<if $tempSlave.scrotum < 0>> - <<print "Slave Scrotum Value set too low, reset to 0 (No Scrotum)">><br> - <<set $tempSlave.scrotum = 0>> -<</if>> -<<if (ndef $tempSlave.pubertyAgeXY) || ($tempSlave.pubertyAgeXY < 0)>> - <<print "XY Puberty Age was not set or set too low, reset to Arcology Puberty Age">><br> - <<set $tempSlave.pubertyAgeXY = $potencyAge>> + <<run WombFlush($tempSlave)>> <</if>> <<if (ndef $tempSlave.pubertyXY) && ($tempSlave.physicalAge >= $tempSlave.pubertyAgeXY)>> <<set $tempSlave.pubertyXY = 1>> @@ -308,108 +173,6 @@ <<print "Slaves physical Age is equal or higher than male Puberty Age, Puberty set to 1 (Post Puberty)" >><br> <<set $tempSlave.pubertyXY = 1>> <</if>> -<<if $tempSlave.oralSkill < 0>> - <<print "Oral Skill Value set too low, reset to 0">><br> - <<set $tempSlave.oralSkill = 0>> -<<elseif $tempSlave.oralSkill > 100>> - <<print "Oral Skill Value set too high, reset to 100">><br> - <<set $tempSlave.oralSkill = 100>> -<</if>> -<<if $tempSlave.vaginalSkill < 0>> - <<print "Vaginal Skill Value too low, reset to 0">><br> - <<set $tempSlave.vaginalSkill = 0>> -<<elseif $tempSlave.vaginalSkill > 100>> - <<print "Vaginal Skill Value too high, reset to 100">><br> - <<set $tempSlave.vaginalSkill = 100>> -<</if>> -<<if $tempSlave.analSkill < 0>> - <<print "Anal Skill Value set too low, reset to 0">><br> - <<set $tempSlave.analSkill = 0>> -<<elseif $tempSlave.analSkill > 100>> - <<print "Anal Skill Value set too high, reset to 100">><br> - <<set $tempSlave.analSkill = 100>> -<</if>> -<<if $tempSlave.whoreSkill < 0>> - <<print "Whoring Skill Value set too low, reset to 0">><br> - <<set $tempSlave.whoreSkill = 0>> -<<elseif $tempSlave.whoreSkill > 100>> - <<print "Whoring Skill Value set too high, reset to 100">><br> - <<set $tempSlave.whoreSkill = 100>> -<</if>> -<<if $tempSlave.entertainSkill < 0>> - <<print "Entertainment Skill Value set too low, reset to 0">><br> - <<set $tempSlave.entertainSkill = 0>> -<<elseif $tempSlave.entertainSkill > 100>> - <<print "Entertainment Skill Value set too high, reset to 100">><br> - <<set $tempSlave.entertainSkill = 100>> -<</if>> -<<if $tempSlave.intelligence < -100>> - <<print "Slave Intelligence Value set too low, reset to -100">><br> - <<set $tempSlave.intelligence = -100>> -<<elseif $tempSlave.intelligence > 100>> - <<print "Slave Intelligence Value set too high, reset to 100">><br> - <<set $tempSlave.intelligence = 100>> -<</if>> -<<if $tempSlave.intelligenceImplant < 0>> - <<print "Slave intelligenceImplant Value set too low, reset to 0">><br> - <<set $tempSlave.intelligenceImplant = 0>> -<<elseif $tempSlave.intelligenceImplant > 30>> - <<print "Slave intelligenceImplant Value set too high, reset to 30">><br> - <<set $tempSlave.intelligenceImplant = 30>> -<</if>> -<<if $tempSlave.fetishStrength < 0>> - <<print "Fetish Strength set too low, reset to 0">><br> - <<set $tempSlave.fetishStrength = 0>> -<<elseif $tempSlave.fetishStrength > 100>> - <<print "Fetish Strength set too high, reset to 100">><br> - <<set $tempSlave.fetishStrength = 100>> -<</if>> -<<if $tempSlave.energy < 0>> - <<print "Sex Drive was set too low, reset to 0">><br> - <<set $tempSlave.energy = 0>> -<<elseif $tempSlave.energy > 100>> - <<print "Sex Drive was set too high, reset to 100">><br> - <<set $tempSlave.energy = 100>> -<</if>> -<<if $tempSlave.penetrativeCount < 0>> - <<print "Penetrative sex Count was set too low, reset to 0">><br> - <<set $tempSlave.penetrativeCount = 0>> -<</if>> -<<if $tempSlave.oralCount < 0>> - <<print "Oral sex Count set too low, reset to 0">><br> - <<set $tempSlave.oralCount = 0>> -<</if>> -<<if $tempSlave.vaginalCount < 0>> - <<print "Vaginal sex Count set too low, reset to 0">><br> - <<set $tempSlave.vaginalCount = 0>> -<</if>> -<<if $tempSlave.analCount < 0>> - <<print "Anal sex Count set too low, reset to 0">><br> - <<set $tempSlave.analCount = 0>> -<</if>> -<<if $tempSlave.publicCount < 0>> - <<print "Public sex Count set too low, reset 0">><br> - <<set $tempSlave.publicCount = 0>> -<</if>> -<<if $tempSlave.mammaryCount < 0>> - <<print "Titjobs Count set too low, reset to 0">><br> - <<set $tempSlave.mammaryCount = 0>> -<</if>> -<<if $tempSlave.birthsTotal < 0>> - <<print "Total birth Count set too low, reset to 0">><br> - <<set $tempSlave.birthsTotal = 0>> -<</if>> -<<if $tempSlave.pitKills < 0>> - <<print "Pit Kills Count set too low, reset to 0">><br> - <<set $tempSlave.pitKills = 0>> -<</if>> -<<if $tempSlave.prestige < 0>> - <<print "Prestige set too low, reset to 0">><br> - <<set $tempSlave.prestige = 0>> -<<elseif $tempSlave.prestige > 3>> - <<print "Prestige set too high, reset to 3">><br> - <<set $tempSlave.prestige = 3>> -<</if>> <<if $tempSlave.breedingMark == 1 && ["whore", "serve the public", "work a glory hole", "work in the dairy", "serve in the club", "be the DJ", "be the Madam", "live with your Head Girl", "be confined in the arcade", "work in the brothel", "be a subordinate slave"].includes($tempSlave.assignment)>> <<print "Eugenics Breeding Marked slave detected in questionable use, defaulting slave assignment to 'rest'">><br> <<= assignJob($tempSlave, "rest")>> diff --git a/src/js/datatypeCleanupJS.tw b/src/js/datatypeCleanupJS.tw index 0a6ce740a78260e9346e8676e709c2a54d4d63a8..96df97919002d1e265b1c349ef6ff142760ff0f0 100644 --- a/src/js/datatypeCleanupJS.tw +++ b/src/js/datatypeCleanupJS.tw @@ -28,98 +28,51 @@ if (typeof slave.value !== "string") slave.value = default; */ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) { + slaveAgeDatatypeCleanup(slave); + slavePhysicalDatatypeCleanup(slave); + slaveFaceDatatypeCleanup(slave); + slaveHairDatatypeCleanup(slave); + slaveBoobsDatatypeCleanup(slave); + slaveButtDatatypeCleanup(slave); + slavePregnancyDatatypeCleanup(slave); + slaveBellyDatatypeCleanup(slave); + slaveGenitaliaDatatypeCleanup(slave); + slaveImplantsDatatypeCleanup(slave); + slavePiercingsDatatypeCleanup(slave); + slaveTattooDatatypeCleanup(slave); + slaveCosmeticsDatatypeCleanup(slave); + slaveDietDatatypeCleanup(slave); + slavePornDatatypeCleanup(slave); + slaveRelationDatatypeCleanup(slave); + slaveSkillsDatatypeCleanup(slave); + slaveStatCountDatatypeCleanup(slave); + slavePreferencesDatatypeCleanup(slave); + slaveRulesDatatypeCleanup(slave); + slaveCustomStatsDatatypeCleanup(slave); + slaveMiscellaneousDatatypeCleanup(slave); + generatePronouns(slave); +}; + +window.slaveAgeDatatypeCleanup = function slaveAgeDatatypeCleanup(slave) { const V = State.variables; - slave.weekAcquired = Math.max(+slave.weekAcquired, 1) || 1; - slave.prestige = Math.clamp(+slave.prestige, 0, 3) || 0; - slave.pornFeed = Math.clamp(+slave.pornFeed, 0, 1) || 0; - slave.pornFame = Math.max(+slave.pornFame, 0) || 0; - slave.pornFameSpending = Math.max(+slave.pornFameSpending, 0) || 0; - slave.pornPrestige = Math.clamp(+slave.pornPrestige, 0, 3) || 0; - if (typeof slave.pornPrestigeDesc !== "string") { - slave.pornPrestigeDesc = 0; - } - if (typeof slave.pornFameType !== "string") { - slave.pornFameType = "none"; - } - if (typeof slave.pornFocus !== "string") { - slave.pornFocus = "none"; - } - slave.pornTypeGeneral = Math.max(+slave.pornTypeGeneral, 0) || 0; - slave.pornTypeFuckdoll = Math.max(+slave.pornTypeFuckdoll, 0) || 0; - slave.pornTypeRape = Math.max(+slave.pornTypeRape, 0) || 0; - slave.pornTypePreggo = Math.max(+slave.pornTypePreggo, 0) || 0; - slave.pornTypeBBW = Math.max(+slave.pornTypeBBW, 0) || 0; - slave.pornTypeGainer = Math.max(+slave.pornTypeGainer, 0) || 0; - slave.pornTypeStud = Math.max(+slave.pornTypeStud, 0) || 0; - slave.pornTypeLoli = Math.max(+slave.pornTypeLoli, 0) || 0; - slave.pornTypeDeepThroat = Math.max(+slave.pornTypeDeepThroat, 0) || 0; - slave.pornTypeStruggleFuck = Math.max(+slave.pornTypeStruggleFuck, 0) || 0; - slave.pornTypePainal = Math.max(+slave.pornTypePainal, 0) || 0; - slave.pornTypeTease = Math.max(+slave.pornTypeTease, 0) || 0; - slave.pornTypeRomantic = Math.max(+slave.pornTypeRomantic, 0) || 0; - slave.pornTypePervert = Math.max(+slave.pornTypePervert, 0) || 0; - slave.pornTypeCaring = Math.max(+slave.pornTypeCaring, 0) || 0; - slave.pornTypeUnflinching = Math.max(+slave.pornTypeUnflinching, 0) || 0; - slave.pornTypeSizeQueen = Math.max(+slave.pornTypeSizeQueen, 0) || 0; - slave.pornTypeNeglectful = Math.max(+slave.pornTypeNeglectful, 0) || 0; - slave.pornTypeCumAddict = Math.max(+slave.pornTypeCumAddict, 0) || 0; - slave.pornTypeAnalAddict = Math.max(+slave.pornTypeAnalAddict, 0) || 0; - slave.pornTypeAttentionWhore = Math.max(+slave.pornTypeAttentionWhore, 0) || 0; - slave.pornTypeBreastGrowth = Math.max(+slave.pornTypeBreastGrowth, 0) || 0; - slave.pornTypeAbusive = Math.max(+slave.pornTypeAbusive, 0) || 0; - slave.pornTypeMalicious = Math.max(+slave.pornTypeMalicious, 0) || 0; - slave.pornTypeSelfHating = Math.max(+slave.pornTypeSelfHating, 0) || 0; - slave.pornTypeBreeder = Math.max(+slave.pornTypeBreeder, 0) || 0; - slave.pornTypeSub = Math.max(+slave.pornTypeSub, 0) || 0; - slave.pornTypeCumSlut = Math.max(+slave.pornTypeCumSlut, 0) || 0; - slave.pornTypeAnal = Math.max(+slave.pornTypeAnal, 0) || 0; - slave.pornTypeHumiliation = Math.max(+slave.pornTypeHumiliation, 0) || 0; - slave.pornTypeBoobs = Math.max(+slave.pornTypeBoobs, 0) || 0; - slave.pornTypeDom = Math.max(+slave.pornTypeDom, 0) || 0; - slave.pornTypeSadist = Math.max(+slave.pornTypeSadist, 0) || 0; - slave.pornTypeMasochist = Math.max(+slave.pornTypeMasochist, 0) || 0; - slave.pornTypePregnancy = Math.max(+slave.pornTypePregnancy, 0) || 0; - slave.mother = +slave.mother || 0; - slave.father = +slave.father || 0; - if (V.familyTesting == 0) { - slave.relationTarget = Math.max(+slave.relationTarget, 0) || 0; - } - slave.relationship = Math.clamp(+slave.relationship, -3, 5) || 0; - slave.relationshipTarget = Math.max(+slave.relationshipTarget, 0) || 0; - slave.rivalryTarget = Math.max(+slave.rivalryTarget, 0) || 0; - slave.rivalry = Math.clamp(+slave.rivalry, 0, 3) || 0; - slave.subTarget = Math.max(+slave.subTarget, 0) || 0; - slave.canRecruit = Math.clamp(+slave.canRecruit, 0, 1) || 0; - slave.choosesOwnAssignment = Math.clamp(+slave.choosesOwnAssignment, 0) || 0; - slave.sentence = Math.max(+slave.sentence, 0) || 0; - slave.training = Math.clamp(+slave.training, 0, 150) || 0; - if (slave.indenture !== 0) { - slave.indenture = Math.max(+slave.indenture, -1) || -1; - } - slave.indentureRestrictions = Math.clamp(+slave.indentureRestriction, 0, 2) || 0; slave.birthWeek = Math.clamp(+slave.birthWeek, 0, 51) || 0; if (slave.age > 0) { - slave.actualAge = Math.max(+slave.actualAge, 0) || slave.age; /* if negative or undefined, this sets to slave.age */ + slave.actualAge = Math.clamp(+slave.actualAge, V.minimumSlaveAge, Infinity) || slave.age; /* if undefined, this sets to slave.age */ } else { - slave.actualAge = Math.max(+slave.actualAge, 0) || 18; + slave.actualAge = Math.clamp(+slave.actualAge, V.minimumSlaveAge, Infinity) || 18; slave.age = slave.actualAge; } slave.visualAge = Math.max(+slave.visualAge, 0) || slave.actualAge; slave.physicalAge = Math.max(+slave.physicalAge, 0) || slave.actualAge; - slave.ovaryAge = Math.max(+slave.ovaryAge, 0) || slave.actualAge; - slave.ageImplant = Math.clamp(+slave.ageImplant, 0, 1) || 0; - slave.health = Math.clamp(+slave.health, -100, 100) || 0; - if (typeof slave.minorInjury !== "string") { - slave.minorInjury = 0; - } - slave.devotion = Math.clamp(+slave.devotion, -100, 100) || 0; - slave.oldDevotion = Math.clamp(+slave.oldDevotion, -100, 100) || 0; - slave.trust = Math.clamp(+slave.trust, -100, 100) || 0; - slave.oldTrust = Math.clamp(+slave.oldTrust, -100, 100) || 0; - slave.muscles = Math.clamp(+slave.muscles, -100, 100) || 0; - slave.weight = Math.clamp(+slave.weight, -100, 200) || 0; - slave.waist = Math.clamp(+slave.waist, -100, 100) || 0; + slave.ovaryAge = Math.max(+slave.ovaryAge, 0) || slave.physicalAge; + slave.pubertyAgeXX = Math.max(+slave.pubertyAgeXX, 0) || V.fertilityAge; + slave.pubertyAgeXY = Math.max(+slave.pubertyAgeXY, 0) || V.potencyAge; + slave.ageAdjust = Math.clamp(+slave.ageAdjust, -40, 40) || 0; + slave.NCSyouthening = Math.max(+slave.NCSyouthening, 0) || 0; +}; + +window.slavePhysicalDatatypeCleanup = function slavePhysicalDatatypeCleanup(slave) { if (typeof slave.nationality !== "string") { slave.nationality = "slave"; } @@ -129,10 +82,28 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) { if (typeof slave.origRace !== "string") { slave.origRace = slave.race; } + if (typeof slave.skin !== "string") { + slave.skin = "light"; + } + if (typeof slave.origSkin !== "string") { + slave.origSkin = slave.skin; + } + if (typeof slave.minorInjury !== "string") { + slave.minorInjury = 0; + } + slave.health = Math.clamp(+slave.health, -100, 100) || 0; + slave.muscles = Math.clamp(+slave.muscles, -100, 100) || 0; + slave.weight = Math.clamp(+slave.weight, -100, 200) || 0; + slave.waist = Math.clamp(+slave.waist, -100, 100) || 0; slave.height = Math.round(Math.max(+slave.height, 0)) || Math.round(Height.mean(slave)); - slave.heightImplant = Math.clamp(+slave.heightImplant, -1, 1) || 0; - if (typeof slave.markings !== "string") { - slave.markings = "none"; + slave.shoulders = Math.clamp(+slave.shoulders, -2, 2) || 0; + slave.hips = Math.clamp(+slave.hips, -2, 3) || 0; +}; + +window.slaveFaceDatatypeCleanup = function slaveFaceDatatypeCleanup(slave) { + slave.face = Math.clamp(+slave.face, -100, 100) || 0; + if (typeof slave.faceShape !== "string") { + slave.faceShape = "normal"; } slave.eyes = Math.clamp(+slave.eyes, -3, 1) || 1; /* if 0 or undefined, this sets to 1 */ if (typeof slave.eyeColor !== "string") { @@ -147,120 +118,86 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) { if (typeof slave.sclerae !== "string") { slave.sclerae = "white"; } - if (typeof slave.eyewear !== "string") { - slave.eyewear = "none"; - } - slave.hears = Math.clamp(+slave.hears, -2, 0) || 0; - if (typeof slave.earwear !== "string") { - slave.earwear = "none"; + if (slave.lips !== 0) { + slave.lips = Math.clamp(+slave.lips, 0, 100) || 15; } - slave.earImplant = Math.clamp(+slave.earImplant, 0, 1) || 0; +}; + +window.slaveHairDatatypeCleanup = function slaveHairDatatypeCleanup(slave) { if (typeof slave.hColor !== "string") { slave.hColor = "brown"; } if (typeof slave.origHColor !== "string") { slave.origHColor = slave.hColor; } - if (typeof slave.pubicHColor !== "string") { - slave.pubicHColor = slave.hColor; - } - if (typeof slave.underArmHColor !== "string") { - slave.underArmHColor = "slave.hColor"; - } - if (typeof slave.eyebrowHColor !== "string") { - slave.eyebrowHColor = "slave.hColor"; - } - if (typeof slave.skin !== "string") { - slave.skin = "light"; - } - if (typeof slave.origSkin !== "string") { - slave.origSkin = slave.skin; - } if (slave.hLength !== 0) { slave.hLength = Math.clamp(+slave.hLength, 0, 300) || 60; } if (typeof slave.hStyle !== "string") { slave.hStyle = "long"; } + slave.haircuts = Math.clamp(+slave.haircuts, 0, 1) || 0; + slave.bald = Math.clamp(+slave.bald, 0, 1) || 0; + if (typeof slave.pubicHColor !== "string") { + slave.pubicHColor = slave.hColor; + } if (typeof slave.pubicHStyle !== "string") { slave.pubicHStyle = "neat"; } + if (typeof slave.underArmHColor !== "string") { + slave.underArmHColor = "slave.hColor"; + } if (typeof slave.underArmHStyle !== "string") { slave.underArmHStyle = "waxed"; } + if (typeof slave.eyebrowHColor !== "string") { + slave.eyebrowHColor = "slave.hColor"; + } if (typeof slave.eyebrowHStyle !== "string") { slave.eyebrowHStyle = "natural"; } if (typeof slave.eyebrowFullness !== "string") { slave.eyebrowFullness = "natural"; } - slave.corsetPiercing = Math.clamp(+slave.corsetPiercing, 0, 1) || 0; - slave.amp = Math.clamp(+slave.amp, -5, 1) || 0; - slave.PLimb = Math.clamp(+slave.PLimb, 0, 1) || 0; - slave.heels = Math.clamp(+slave.heels, 0, 1) || 0; - slave.voiceImplant = Math.clamp(+slave.voiceImplant, -1, 1) || 0; - if (slave.voice !== 0) { - slave.voice = Math.clamp(+slave.voice, 0, 3) || 1; - } - slave.electrolarynx = Math.clamp(+slave.electrolarynx, 0, 1) || 0; - slave.accent = Math.clamp(+slave.accent, 0, 3) || 0; - slave.shoulders = Math.clamp(+slave.shoulders, -2, 2) || 0; - slave.shouldersImplant = Math.clamp(+slave.shouldersImplant, -1, 1) || 0; +}; + +window.slaveBoobsDatatypeCleanup = function slaveBoobsDatatypeCleanup(slave) { slave.boobs = Math.max(+slave.boobs, 100) || 200; - slave.boobsImplant = Math.max(+slave.boobsImplant, 0) || 0; - slave.boobsImplantType = Math.clamp(+slave.boobsImplantType, 0, 1) || 0; if (typeof slave.boobShape !== "string") { slave.boobShape = "normal"; } if (typeof slave.nipples !== "string") { slave.nipples = "cute"; } - slave.nipplesPiercing = Math.clamp(+slave.nipplesPiercing, 0, 2) || 0; if (typeof slave.nipplesAccessory !== "string") { slave.nipplesAccessory = "none"; } slave.areolae = Math.clamp(+slave.areolae, 0, 3) || 0; - slave.areolaePiercing = Math.clamp(+slave.areolaePiercing, 0, 2) || 0; if (typeof slave.areolaeShape !== "string") { slave.areolaeShape = "circle"; } - if (typeof slave.boobsTat !== "string") { - slave.boobsTat = 0; - } slave.lactation = Math.clamp(+slave.lactation, 0, 2) || 0; slave.lactationAdaptation = Math.clamp(+slave.lactationAdaptation, 0, 100) || 0; - slave.milk = Math.max(+slave.milk, 0) || 0; - slave.cum = Math.max(+slave.cum, 0) || 0; - slave.hips = Math.clamp(+slave.hips, -2, 3) || 0; - slave.hipsImplant = Math.clamp(+slave.hipsImplant, -1, 1) || 0; +}; + +window.slaveButtDatatypeCleanup = function slaveButtDatatypeCleanup(slave) { if (slave.butt !== 0) { slave.butt = Math.clamp(+slave.butt, 0, 20) || 1; - } - slave.buttImplant = Math.clamp(+slave.buttImplant, 0, 3) || 0; - slave.buttImplantType = Math.clamp(+slave.buttImplantType, 0, 1) || 0; - if (typeof slave.buttTat !== "string") { - slave.buttTat = 0; - } - slave.face = Math.clamp(+slave.face, -100, 100) || 0; - slave.faceImplant = Math.clamp(+slave.faceImplant, 0, 100) || 0; - if (typeof slave.faceShape !== "string") { - slave.faceShape = "normal"; - } - if (slave.lips !== 0) { - slave.lips = Math.clamp(+slave.lips, 0, 100) || 15; - } - slave.lipsImplant = Math.clamp(+slave.lipsImplant, 0, 100) || 0; - slave.lipsPiercing = Math.clamp(+slave.lipsPiercing, 0, 2) || 0; - if (typeof slave.lipsTat !== "string") { - slave.lipsTat = 0; - } - slave.tonguePiercing = Math.clamp(+slave.tonguePiercing, 0, 2) || 0; - slave.vagina = Math.clamp(+slave.vagina, -1, 10) || 0; - slave.vaginaLube = Math.clamp(+slave.vaginaLube, 0, 2) || 0; - slave.vaginaPiercing = Math.clamp(+slave.vaginaPiercing, 0, 2) || 0; - if (typeof slave.vaginaTat !== "string") { - slave.vaginaTat = 0; - } + } + slave.anus = Math.clamp(+slave.anus, 0, 4) || 0; + slave.analArea = Math.max(+slave.analArea, 0) || 0; +}; + +window.slavePregnancyDatatypeCleanup = function slavePregnancyDatatypeCleanup(slave) { + slave.induce = Math.clamp(+slave.induce, 0, 1) || 0; + slave.labor = Math.clamp(+slave.labor, 0, 1) || 0; + slave.cSec = Math.clamp(+slave.cSec, 0, 1) || 0; + slave.prematureBirth = Math.clamp(+slave.prematureBirth, 0, 1) || 0; + slave.ovaries = Math.clamp(+slave.ovaries, 0, 1) || 0; + slave.vasectomy = Math.clamp(+slave.vasectomy, 0, 1) || 0; + slave.mpreg = Math.clamp(+slave.mpreg, 0, 1) || 0; + slave.reservedChildren = Math.max(+slave.reservedChildren, 0) || 0; + slave.reservedChildrenNursery = Math.max(+slave.reservedChildrenNursery, 0) || 0; if (slave.pregAdaptation !== 0) { slave.pregAdaptation = Math.max(+slave.pregAdaptation, 0) || 50; } @@ -270,19 +207,37 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) { slave.broodmotherFetuses = Math.max(+slave.broodmotherFetuses, 0) || 0; slave.broodmotherOnHold = Math.clamp(+slave.broodmotherOnHold, 0, 1) || 0; slave.pregSource = +slave.pregSource || 0; - slave.labor = Math.clamp(+slave.labor, 0, 1) || 0; - slave.births = Math.max(+slave.births, 0) || 0; - slave.birthsTotal = Math.max(+slave.birthsTotal, 0) || slave.births; - slave.laborCount = Math.max(+slave.laborCount, 0) || slave.birthsTotal; - slave.cSec = Math.clamp(+slave.cSec, 0, 1) || 0; - if (typeof slave.bellyAccessory !== "string") { - slave.bellyAccessory = "none"; + if (typeof slave.pregControl !== "string") { + slave.pregControl = "none"; + } + WombNormalizePreg(slave); +}; + +window.slaveBellyDatatypeCleanup = function slaveBellyDatatypeCleanup(slave) { + slave.inflation = Math.clamp(+slave.inflation, 0, 3) || 0; + if (typeof slave.inflationType !== "string") { + slave.inflationType = "none"; + } + slave.inflationMethod = Math.clamp(+slave.inflationMethod, 0, 3) || 0; + slave.milkSource = Math.max(+slave.milkSource, 0) || 0; + slave.cumSource = Math.max(+slave.cumSource, 0) || 0; + slave.burst = Math.clamp(+slave.burst, 0, 1) || 0; + if (slave.bellyImplant !== 0) { + slave.bellyImplant = Math.max(+slave.bellyImplant, -1) || -1; } + slave.cervixImplant = Math.clamp(+slave.cervixImplant, 0, 1) || 0; + slave.bellySag = Math.max(+slave.bellySag, 0) || 0; + slave.bellySagPreg = Math.max(+slave.bellySagPreg, 0) || slave.bellySag; + slave.bellyPain = Math.clamp(+slave.bellyPain, 0, 2) || 0; + SetBellySize(slave); +}; + +window.slaveGenitaliaDatatypeCleanup = function slaveGenitaliaDatatypeCleanup(slave) { + slave.vagina = Math.clamp(+slave.vagina, -1, 10) || 0; + slave.vaginaLube = Math.clamp(+slave.vaginaLube, 0, 2) || 0; slave.labia = Math.clamp(+slave.labia, 0, 3) || 0; slave.clit = Math.clamp(+slave.clit, 0, 5) || 0; - slave.clitPiercing = Math.clamp(+slave.clitPiercing, 0, 3) || 0; slave.foreskin = Math.max(+slave.foreskin, 0) || 0; - slave.anus = Math.clamp(+slave.anus, 0, 4) || 0; slave.dick = Math.max(+slave.dick, 0) || 0; if (slave.dick && slave.prostate !== 0) { slave.prostate = Math.clamp(+slave.prostate, 0, 3) || 1; @@ -291,71 +246,86 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) { } slave.balls = Math.max(+slave.balls, 0) || 0; slave.scrotum = Math.max(+slave.scrotum, 0) || slave.balls; - slave.ovaries = Math.clamp(+slave.ovaries, 0, 1) || 0; - slave.analArea = Math.max(+slave.analArea, 0) || 0; - slave.dickPiercing = Math.clamp(+slave.dickPiercing, 0, 2) || 0; - if (typeof slave.dickTat !== "string") { - slave.dickTat = 0; - } - slave.anusPiercing = Math.clamp(+slave.anusPiercing, 0, 2) || 0; - if (typeof slave.anusTat !== "string") { - slave.anusTat = 0; - } - slave.makeup = Math.clamp(+slave.makeup, 0, 8) || 0; - slave.nails = Math.clamp(+slave.nails, 0, 9) || 0; - slave.brand = Math.clamp(+slave.brand, 0, 1) || 0; - if (typeof slave.brandLocation !== "string") { - slave.brandLocation = 0; - } +}; + +window.slaveImplantsDatatypeCleanup = function slaveImplantsDatatypeCleanup(slave) { + slave.ageImplant = Math.clamp(+slave.ageImplant, 0, 1) || 0; + slave.faceImplant = Math.clamp(+slave.faceImplant, 0, 100) || 0; + slave.lipsImplant = Math.clamp(+slave.lipsImplant, 0, 100) || 0; + slave.voiceImplant = Math.clamp(+slave.voiceImplant, -1, 1) || 0; + slave.boobsImplant = Math.max(+slave.boobsImplant, 0) || 0; + slave.boobsImplantType = Math.clamp(+slave.boobsImplantType, 0, 1) || 0; + slave.breastMesh = Math.clamp(+slave.breastMesh, 0, 1) || 0; + slave.buttImplant = Math.clamp(+slave.buttImplant, 0, 3) || 0; + slave.buttImplantType = Math.clamp(+slave.buttImplantType, 0, 1) || 0; + slave.heightImplant = Math.clamp(+slave.heightImplant, -1, 1) || 0; + slave.earImplant = Math.clamp(+slave.earImplant, 0, 1) || 0; + slave.shouldersImplant = Math.clamp(+slave.shouldersImplant, -1, 1) || 0; + slave.hipsImplant = Math.clamp(+slave.hipsImplant, -1, 1) || 0; +}; + +window.slavePiercingsDatatypeCleanup = function slavePiercingsDatatypeCleanup(slave) { slave.earPiercing = Math.clamp(+slave.earPiercing, 0, 2) || 0; slave.nosePiercing = Math.clamp(+slave.nosePiercing, 0, 2) || 0; slave.eyebrowPiercing = Math.clamp(+slave.eyebrowPiercing, 0, 2) || 0; + slave.lipsPiercing = Math.clamp(+slave.lipsPiercing, 0, 2) || 0; + slave.tonguePiercing = Math.clamp(+slave.tonguePiercing, 0, 2) || 0; + slave.nipplesPiercing = Math.clamp(+slave.nipplesPiercing, 0, 2) || 0; + slave.areolaePiercing = Math.clamp(+slave.areolaePiercing, 0, 2) || 0; + slave.corsetPiercing = Math.clamp(+slave.corsetPiercing, 0, 1) || 0; slave.navelPiercing = Math.clamp(+slave.navelPiercing, 0, 2) || 0; + slave.clitPiercing = Math.clamp(+slave.clitPiercing, 0, 3) || 0; + slave.vaginaPiercing = Math.clamp(+slave.vaginaPiercing, 0, 2) || 0; + slave.dickPiercing = Math.clamp(+slave.dickPiercing, 0, 2) || 0; + slave.anusPiercing = Math.clamp(+slave.anusPiercing, 0, 2) || 0; +}; + +window.slaveTattooDatatypeCleanup = function slaveTattooDatatypeCleanup(slave) { if (typeof slave.shouldersTat !== "string") { slave.shouldersTat = 0; } + if (typeof slave.lipsTat !== "string") { + slave.lipsTat = 0; + } + if (typeof slave.boobsTat !== "string") { + slave.boobsTat = 0; + } if (typeof slave.armsTat !== "string") { slave.armsTat = 0; } - if (typeof slave.legsTat !== "string") { - slave.legsTat = 0; - } if (typeof slave.backTat !== "string") { slave.backTat = 0; } if (typeof slave.stampTat !== "string") { slave.stampTat = 0; } - slave.oralSkill = Math.clamp(+slave.oralSkill, 0, 100) || 0; - slave.vaginalSkill = Math.clamp(+slave.vaginalSkill, 0, 100) || 0; - slave.analSkill = Math.clamp(+slave.analSkill, 0, 100) || 0; - slave.whoreSkill = Math.clamp(+slave.whoreSkill, 0, 100) || 0; - slave.entertainSkill = Math.clamp(+slave.entertainSkill, 0, 100) || 0; - slave.combatSkill = Math.clamp(+slave.combatSkill, 0, 1) || 0; - if (typeof slave.standardPunishment !== "string") { - slave.standardPunishment = "situational"; + if (typeof slave.buttTat !== "string") { + slave.buttTat = 0; } - if (typeof slave.standardReward !== "string") { - slave.standardReward = "situational"; + if (typeof slave.vaginaTat !== "string") { + slave.vaginaTat = 0; } - if (slave.useRulesAssistant !== 0) { - slave.useRulesAssistant = 1; + if (typeof slave.dickTat !== "string") { + slave.dickTat = 0; } - if (typeof slave.diet !== "string") { - slave.diet = "healthy"; + if (typeof slave.anusTat !== "string") { + slave.anusTat = 0; } - slave.dietCum = Math.clamp(+slave.dietCum, 0, 2) || 0; - slave.dietMilk = Math.clamp(+slave.dietMilk, 0, 2) || 0; - slave.tired = Math.clamp(+slave.tired, 0, 1) || 0; - slave.hormones = Math.clamp(+slave.hormones, -2, 2) || 0; - if (typeof slave.drugs !== "string") { - slave.drugs = "no drugs"; + if (typeof slave.legsTat !== "string") { + slave.legsTat = 0; } - slave.aphrodisiacs = Math.clamp(+slave.aphrodisiacs, 0, 2) || 0; - slave.curatives = Math.clamp(+slave.curatives, 0, 2) || 0; - slave.chem = Math.max(+slave.chem, 0) || 0; - slave.addict = Math.max(+slave.addict, 0) || 0; - slave.fuckdoll = Math.clamp(+slave.fuckdoll, 0, 100) || 0; + if (typeof slave.bellyTat !== "string") { + slave.bellyTat = 0; + } + if (typeof slave.customTat !== "string") { + slave.customTat = ""; + } +}; + +window.slaveCosmeticsDatatypeCleanup = function slaveCosmeticsDatatypeCleanup(slave) { + slave.makeup = Math.clamp(+slave.makeup, 0, 8) || 0; + slave.nails = Math.clamp(+slave.nails, 0, 9) || 0; + slave.scars = Math.clamp(+slave.scars, 0, 6) || 0; slave.choosesOwnClothes = Math.clamp(+slave.choosesOwnClothes, 0, 1) || 0; if (typeof slave.clothes !== "string") { slave.clothes = "no clothing"; @@ -366,6 +336,19 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) { if (typeof slave.shoes !== "string") { slave.shoes = "none"; } + if (typeof slave.eyewear !== "string") { + slave.eyewear = "none"; + } + slave.brand = Math.clamp(+slave.brand, 0, 1) || 0; + if (typeof slave.brandLocation !== "string") { + slave.brandLocation = 0; + } + if (typeof slave.markings !== "string") { + slave.markings = "none"; + } + if (typeof slave.bellyAccessory !== "string") { + slave.bellyAccessory = "none"; + } if (typeof slave.vaginalAccessory !== "string") { slave.vaginalAccessory = "none"; } @@ -381,22 +364,6 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) { if (typeof slave.buttplugAttachment !== "string") { slave.buttplugAttachment = "none"; } - slave.intelligence = Math.clamp(+slave.intelligence, -100, 100) || 0; - slave.intelligenceImplant = Math.clamp(+slave.intelligenceImplant, 0, 30) || 0; - slave.energy = Math.clamp(+slave.energy, 0, 100) || 0; - slave.need = Math.max(+slave.need, 0) || 0; - slave.attrXY = Math.clamp(+slave.attrXY, 0, 100) || 0; - slave.attrXX = Math.clamp(+slave.attrXX, 0, 100) || 0; - slave.attrKnown = Math.clamp(+slave.attrKnown, 0, 1) || 0; - slave.fetishStrength = Math.clamp(+slave.fetishStrength, 0, 100) || 0; - slave.fetishKnown = Math.clamp(+slave.fetishKnown, 0, 1) || 0; - slave.oralCount = Math.max(+slave.oralCount, 0) || 0; - slave.vaginalCount = Math.max(+slave.vaginalCount, 0) || 0; - slave.analCount = Math.max(+slave.analCount, 0) || 0; - slave.publicCount = Math.max(+slave.publicCount, 0) || 0; - slave.mammaryCount = Math.max(+slave.mammaryCount, 0) || 0; - slave.penetrativeCount = Math.max(+slave.penetrativeCount, 0) || 0; - slave.pitKills = Math.max(+slave.pitKills, 0) || 0; if (typeof slave.headAccessory !== "string") { slave.headAccessory = "none"; } @@ -406,9 +373,160 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) { if (typeof slave.backAccessory !== "string") { slave.backAccessory = "none"; } - if (typeof slave.customTat !== "string") { - slave.customTat = ""; +}; + +window.slaveDietDatatypeCleanup = function slaveDietDatatypeCleanup(slave) { + if (typeof slave.diet !== "string") { + slave.diet = "healthy"; + } + slave.dietCum = Math.clamp(+slave.dietCum, 0, 2) || 0; + slave.dietMilk = Math.clamp(+slave.dietMilk, 0, 2) || 0; + slave.onDiet = Math.clamp(+slave.onDiet, 0, 1) || 0; + slave.hormones = Math.clamp(+slave.hormones, -2, 2) || 0; + slave.hormoneBalance = Math.clamp(+slave.hormoneBalance, -400, 400) || 0; + if (typeof slave.drugs !== "string") { + slave.drugs = "no drugs"; + } + slave.aphrodisiacs = Math.clamp(+slave.aphrodisiacs, 0, 2) || 0; + slave.curatives = Math.clamp(+slave.curatives, 0, 2) || 0; +}; + +window.slavePornDatatypeCleanup = function slavePornDatatypeCleanup(slave) { + slave.pornFeed = Math.clamp(+slave.pornFeed, 0, 1) || 0; + slave.pornFame = Math.max(+slave.pornFame, 0) || 0; + slave.pornFameSpending = Math.max(+slave.pornFameSpending, 0) || 0; + slave.pornPrestige = Math.clamp(+slave.pornPrestige, 0, 3) || 0; + if (typeof slave.pornPrestigeDesc !== "string") { + slave.pornPrestigeDesc = 0; + } + if (typeof slave.pornFameType !== "string") { + slave.pornFameType = "none"; + } + if (typeof slave.pornFocus !== "string") { + slave.pornFocus = "none"; } + slave.pornTypeGeneral = Math.max(+slave.pornTypeGeneral, 0) || 0; + slave.pornTypeFuckdoll = Math.max(+slave.pornTypeFuckdoll, 0) || 0; + slave.pornTypeRape = Math.max(+slave.pornTypeRape, 0) || 0; + slave.pornTypePreggo = Math.max(+slave.pornTypePreggo, 0) || 0; + slave.pornTypeBBW = Math.max(+slave.pornTypeBBW, 0) || 0; + slave.pornTypeGainer = Math.max(+slave.pornTypeGainer, 0) || 0; + slave.pornTypeStud = Math.max(+slave.pornTypeStud, 0) || 0; + slave.pornTypeLoli = Math.max(+slave.pornTypeLoli, 0) || 0; + slave.pornTypeDeepThroat = Math.max(+slave.pornTypeDeepThroat, 0) || 0; + slave.pornTypeStruggleFuck = Math.max(+slave.pornTypeStruggleFuck, 0) || 0; + slave.pornTypePainal = Math.max(+slave.pornTypePainal, 0) || 0; + slave.pornTypeTease = Math.max(+slave.pornTypeTease, 0) || 0; + slave.pornTypeRomantic = Math.max(+slave.pornTypeRomantic, 0) || 0; + slave.pornTypePervert = Math.max(+slave.pornTypePervert, 0) || 0; + slave.pornTypeCaring = Math.max(+slave.pornTypeCaring, 0) || 0; + slave.pornTypeUnflinching = Math.max(+slave.pornTypeUnflinching, 0) || 0; + slave.pornTypeSizeQueen = Math.max(+slave.pornTypeSizeQueen, 0) || 0; + slave.pornTypeNeglectful = Math.max(+slave.pornTypeNeglectful, 0) || 0; + slave.pornTypeCumAddict = Math.max(+slave.pornTypeCumAddict, 0) || 0; + slave.pornTypeAnalAddict = Math.max(+slave.pornTypeAnalAddict, 0) || 0; + slave.pornTypeAttentionWhore = Math.max(+slave.pornTypeAttentionWhore, 0) || 0; + slave.pornTypeBreastGrowth = Math.max(+slave.pornTypeBreastGrowth, 0) || 0; + slave.pornTypeAbusive = Math.max(+slave.pornTypeAbusive, 0) || 0; + slave.pornTypeMalicious = Math.max(+slave.pornTypeMalicious, 0) || 0; + slave.pornTypeSelfHating = Math.max(+slave.pornTypeSelfHating, 0) || 0; + slave.pornTypeBreeder = Math.max(+slave.pornTypeBreeder, 0) || 0; + slave.pornTypeSub = Math.max(+slave.pornTypeSub, 0) || 0; + slave.pornTypeCumSlut = Math.max(+slave.pornTypeCumSlut, 0) || 0; + slave.pornTypeAnal = Math.max(+slave.pornTypeAnal, 0) || 0; + slave.pornTypeHumiliation = Math.max(+slave.pornTypeHumiliation, 0) || 0; + slave.pornTypeBoobs = Math.max(+slave.pornTypeBoobs, 0) || 0; + slave.pornTypeDom = Math.max(+slave.pornTypeDom, 0) || 0; + slave.pornTypeSadist = Math.max(+slave.pornTypeSadist, 0) || 0; + slave.pornTypeMasochist = Math.max(+slave.pornTypeMasochist, 0) || 0; + slave.pornTypePregnancy = Math.max(+slave.pornTypePregnancy, 0) || 0; +}; + +window.slaveRelationDatatypeCleanup = function slaveRelationDatatypeCleanup(slave) { + slave.mother = +slave.mother || 0; + slave.father = +slave.father || 0; + if (State.variables.familyTesting == 0) { + slave.relationTarget = Math.max(+slave.relationTarget, 0) || 0; + } + slave.canRecruit = Math.clamp(+slave.canRecruit, 0, 1) || 0; + slave.relationship = Math.clamp(+slave.relationship, -3, 5) || 0; + slave.relationshipTarget = Math.max(+slave.relationshipTarget, 0) || 0; + slave.rivalryTarget = Math.max(+slave.rivalryTarget, 0) || 0; + slave.rivalry = Math.clamp(+slave.rivalry, 0, 3) || 0; +}; + +window.slaveSkillsDatatypeCleanup = function slaveSkillsDatatypeCleanup(slave) { + slave.oralSkill = Math.clamp(+slave.oralSkill, 0, 100) || 0; + slave.vaginalSkill = Math.clamp(+slave.vaginalSkill, 0, 100) || 0; + slave.analSkill = Math.clamp(+slave.analSkill, 0, 100) || 0; + slave.whoreSkill = Math.clamp(+slave.whoreSkill, 0, 100) || 0; + slave.entertainSkill = Math.clamp(+slave.entertainSkill, 0, 100) || 0; + slave.combatSkill = Math.clamp(+slave.combatSkill, 0, 1) || 0; + slave.skillHG = Math.clamp(+slave.skillHG, 0, 200) || 0; + slave.skillRC = Math.clamp(+slave.skillRC, 0, 200) || 0; + slave.skillBG = Math.clamp(+slave.skillBG, 0, 200) || 0; + slave.skillMD = Math.clamp(+slave.skillMD, 0, 200) || 0; + slave.skillDJ = Math.clamp(+slave.skillDJ, 0, 200) || 0; + slave.skillNU = Math.clamp(+slave.skillNU, 0, 200) || 0; + slave.skillTE = Math.clamp(+slave.skillTE, 0, 200) || 0; + slave.skillAT = Math.clamp(+slave.skillAT, 0, 200) || 0; + slave.skillMT = Math.clamp(+slave.skillMT, 0, 200) || 0; + slave.skillST = Math.clamp(+slave.skillST, 0, 200) || 0; + slave.skillMM = Math.clamp(+slave.skillMM, 0, 200) || 0; + slave.skillWA = Math.clamp(+slave.skillWA, 0, 200) || 0; + slave.skillS = Math.clamp(+slave.skillS, 0, 200) || 0; + slave.skillE = Math.clamp(+slave.skillE, 0, 200) || 0; + slave.skillW = Math.clamp(+slave.skillW, 0, 200) || 0; +}; + +window.slaveStatCountDatatypeCleanup = function slaveStatCountDatatypeCleanup(slave) { + slave.oralCount = Math.max(+slave.oralCount, 0) || 0; + slave.vaginalCount = Math.max(+slave.vaginalCount, 0) || 0; + slave.analCount = Math.max(+slave.analCount, 0) || 0; + slave.publicCount = Math.max(+slave.publicCount, 0) || 0; + slave.mammaryCount = Math.max(+slave.mammaryCount, 0) || 0; + slave.penetrativeCount = Math.max(+slave.penetrativeCount, 0) || 0; + slave.pitKills = Math.max(+slave.pitKills, 0) || 0; + slave.milk = Math.max(+slave.milk, 0) || 0; + slave.cum = Math.max(+slave.cum, 0) || 0; + slave.births = Math.max(+slave.births, 0) || 0; + slave.birthsTotal = Math.max(+slave.birthsTotal, 0) || slave.births; + slave.laborCount = Math.max(+slave.laborCount, 0) || slave.birthsTotal; + slave.slavesFathered = Math.max(+slave.slavesFathered, 0) || 0; + slave.PCChildrenFathered = Math.max(+slave.PCChildrenFathered, 0) || 0; + slave.slavesKnockedUp = Math.max(+slave.slavesKnockedUp, 0) || 0; + slave.PCKnockedUp = Math.max(+slave.PCKnockedUp, 0) || 0; + slave.bodySwap = Math.max(+slave.bodySwap, 0) || 0; +}; + +window.slavePreferencesDatatypeCleanup = function slavePreferencesDatatypeCleanup(slave) { + slave.energy = Math.clamp(+slave.energy, 0, 100) || 0; + slave.need = Math.max(+slave.need, 0) || 0; + slave.attrXY = Math.clamp(+slave.attrXY, 0, 100) || 0; + slave.attrXX = Math.clamp(+slave.attrXX, 0, 100) || 0; + slave.attrKnown = Math.clamp(+slave.attrKnown, 0, 1) || 0; + slave.fetishStrength = Math.clamp(+slave.fetishStrength, 0, 100) || 0; + slave.fetishKnown = Math.clamp(+slave.fetishKnown, 0, 1) || 0; +}; + +window.slaveRulesDatatypeCleanup = function slaveRulesDatatypeCleanup(slave) { + if (typeof slave.standardPunishment !== "string") { + slave.standardPunishment = "situational"; + } + if (typeof slave.standardReward !== "string") { + slave.standardReward = "situational"; + } + if (slave.useRulesAssistant !== 0) { + slave.useRulesAssistant = 1; + } + slave.choosesOwnAssignment = Math.clamp(+slave.choosesOwnAssignment, 0) || 0; + slave.HGExclude = Math.clamp(+slave.HGExclude, 0, 1) || 0; + slave.choosesOwnChastity = Math.clamp(+slave.choosesOwnChastity, 0, 1) || 0; + slave.breedingMark = Math.clamp(+slave.breedingMark, 0, 1) || 0; + slave.rudeTitle = Math.clamp(+slave.rudeTitle, 0, 1) || 0; +}; + +window.slaveCustomStatsDatatypeCleanup = function slaveCustomStatsDatatypeCleanup(slave) { if (typeof slave.customLabel !== "string") { slave.customLabel = ""; } @@ -421,51 +539,55 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) { if (typeof slave.customTitleLisp !== "string") { slave.customTitleLisp = ""; } - slave.rudeTitle = Math.clamp(+slave.rudeTitle, 0, 1) || 0; if (typeof slave.customImage !== "string") { slave.customImage = 0; } - if (typeof slave.bellyTat !== "string") { - slave.bellyTat = 0; +}; + +window.slaveMiscellaneousDatatypeCleanup = function slaveMiscellaneousDatatypeCleanup(slave) { + slave.weekAcquired = Math.max(+slave.weekAcquired, 0) || 0; + slave.newGamePlus = Math.clamp(+slave.newGamePlus, 0, 1) || 0; + slave.prestige = Math.clamp(+slave.prestige, 0, 3) || 0; + slave.devotion = Math.clamp(+slave.devotion, -100, 100) || 0; + slave.oldDevotion = Math.clamp(+slave.oldDevotion, -100, 100) || 0; + slave.trust = Math.clamp(+slave.trust, -100, 100) || 0; + slave.oldTrust = Math.clamp(+slave.oldTrust, -100, 100) || 0; + slave.fuckdoll = Math.clamp(+slave.fuckdoll, 0, 100) || 0; + slave.chem = Math.max(+slave.chem, 0) || 0; + slave.addict = Math.max(+slave.addict, 0) || 0; + slave.intelligence = Math.clamp(+slave.intelligence, -100, 100) || 0; + slave.intelligenceImplant = Math.clamp(+slave.intelligenceImplant, 0, 30) || 0; + slave.premature = Math.clamp(+slave.premature, 0, 1) || 0; + slave.tankBaby = Math.clamp(+slave.tankBaby, 0, 2) || 0; + slave.subTarget = Math.max(+slave.subTarget, 0) || 0; + slave.sentence = Math.max(+slave.sentence, 0) || 0; + slave.training = Math.clamp(+slave.training, 0, 150) || 0; + if (slave.indenture !== 0) { + slave.indenture = Math.max(+slave.indenture, -1) || -1; } - slave.induce = Math.clamp(+slave.induce, 0, 1) || 0; - slave.mpreg = Math.clamp(+slave.mpreg, 0, 1) || 0; - slave.inflation = Math.clamp(+slave.inflation, 0, 3) || 0; - if (typeof slave.inflationType !== "string") { - slave.inflationType = "none"; + slave.indentureRestrictions = Math.clamp(+slave.indentureRestriction, 0, 2) || 0; + slave.tired = Math.clamp(+slave.tired, 0, 1) || 0; + slave.hears = Math.clamp(+slave.hears, -2, 0) || 0; + if (typeof slave.earwear !== "string") { + slave.earwear = "none"; } - slave.inflationMethod = Math.clamp(+slave.inflationMethod, 0, 3) || 0; - slave.milkSource = Math.max(+slave.milkSource, 0) || 0; - slave.cumSource = Math.max(+slave.cumSource, 0) || 0; - slave.burst = Math.clamp(+slave.burst, 0, 1) || 0; - SetBellySize(slave); - if (slave.bellyImplant !== 0) { - slave.bellyImplant = Math.max(+slave.bellyImplant, -1) || -1; + slave.heels = Math.clamp(+slave.heels, 0, 1) || 0; + slave.amp = Math.clamp(+slave.amp, -5, 1) || 0; + slave.PLimb = Math.clamp(+slave.PLimb, 0, 1) || 0; + if (slave.voice !== 0) { + slave.voice = Math.clamp(+slave.voice, 0, 3) || 1; } - slave.bellySag = Math.max(+slave.bellySag, 0) || 0; - slave.bellySagPreg = Math.max(+slave.bellySagPreg, 0) || slave.bellySag; - slave.bellyPain = Math.clamp(+slave.bellyPain, 0, 2) || 0; - slave.cervixImplant = Math.clamp(+slave.cervixImplant, 0, 1) || 0; - slave.pubertyAgeXX = Math.max(+slave.pubertyAgeXX, 0) || V.fertilityAge; - slave.pubertyAgeXY = Math.max(+slave.pubertyAgeXY, 0) || V.potencyAge; - slave.scars = Math.clamp(+slave.scars, 0, 6) || 0; - slave.breedingMark = Math.clamp(+slave.breedingMark, 0, 1) || 0; - slave.bodySwap = Math.max(+slave.bodySwap, 0) || 0; - slave.HGExclude = Math.clamp(+slave.HGExclude, 0, 1) || 0; + slave.electrolarynx = Math.clamp(+slave.electrolarynx, 0, 1) || 0; + slave.accent = Math.clamp(+slave.accent, 0, 3) || 0; + slave.missingEyes = Math.clamp(+slave.missingEyes, 0, 3) || 0; + slave.missingArms = Math.clamp(+slave.missingArms, 0, 3) || 0; + slave.missingLegs = Math.clamp(+slave.missingLegs, 0, 3) || 0; if (typeof slave.ballType !== "string") { slave.ballType = "human"; } if (typeof slave.eggType !== "string") { slave.eggType = "human"; } - slave.reservedChildren = Math.max(+slave.reservedChildren, 0) || 0; - slave.reservedChildrenNursery = Math.max(+slave.reservedChildrenNursery, 0) || 0; - slave.choosesOwnChastity = Math.clamp(+slave.choosesOwnChastity, 0, 1) || 0; - if (typeof slave.pregControl !== "string") { - slave.pregControl = "none"; - } - slave.ageAdjust = Math.clamp(+slave.ageAdjust, -40, 40) || 0; - slave.bald = Math.clamp(+slave.bald, 0, 1) || 0; if (typeof slave.origBodyOwner !== "string") { slave.origBodyOwner = ""; } @@ -473,39 +595,6 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) { if (typeof slave.death !== "string") { slave.death = ""; } - slave.hormoneBalance = Math.clamp(+slave.hormoneBalance, -400, 400) || 0; - slave.onDiet = Math.clamp(+slave.onDiet, 0, 1) || 0; - slave.breastMesh = Math.clamp(+slave.breastMesh, 0, 1) || 0; - slave.slavesFathered = Math.max(+slave.slavesFathered, 0) || 0; - slave.PCChildrenFathered = Math.max(+slave.PCChildrenFathered, 0) || 0; - slave.slavesKnockedUp = Math.max(+slave.slavesKnockedUp, 0) || 0; - slave.PCKnockedUp = Math.max(+slave.PCKnockedUp, 0) || 0; - slave.prematureBirth = Math.clamp(+slave.prematureBirth, 0, 1) || 0; - slave.premature = Math.clamp(+slave.premature, 0, 1) || 0; - slave.vasectomy = Math.clamp(+slave.vasectomy, 0, 1) || 0; - slave.haircuts = Math.clamp(+slave.haircuts, 0, 1) || 0; - slave.newGamePlus = Math.clamp(+slave.newGamePlus, 0, 1) || 0; - slave.skillHG = Math.clamp(+slave.skillHG, 0, 200) || 0; - slave.skillRC = Math.clamp(+slave.skillRC, 0, 200) || 0; - slave.skillBG = Math.clamp(+slave.skillBG, 0, 200) || 0; - slave.skillMD = Math.clamp(+slave.skillMD, 0, 200) || 0; - slave.skillDJ = Math.clamp(+slave.skillDJ, 0, 200) || 0; - slave.skillNU = Math.clamp(+slave.skillNU, 0, 200) || 0; - slave.skillTE = Math.clamp(+slave.skillTE, 0, 200) || 0; - slave.skillAT = Math.clamp(+slave.skillAT, 0, 200) || 0; - slave.skillMT = Math.clamp(+slave.skillMT, 0, 200) || 0; - slave.skillST = Math.clamp(+slave.skillST, 0, 200) || 0; - slave.skillMM = Math.clamp(+slave.skillMM, 0, 200) || 0; - slave.skillWA = Math.clamp(+slave.skillWA, 0, 200) || 0; - slave.skillS = Math.clamp(+slave.skillS, 0, 200) || 0; - slave.skillE = Math.clamp(+slave.skillE, 0, 200) || 0; - slave.skillW = Math.clamp(+slave.skillW, 0, 200) || 0; - slave.tankBaby = Math.clamp(+slave.tankBaby, 0, 2) || 0; - slave.NCSyouthening = Math.max(+slave.NCSyouthening, 0) || 0; - slave.missingEyes = Math.clamp(+slave.missingEyes, 0, 3) || 0; - slave.missingArms = Math.clamp(+slave.missingArms, 0, 3) || 0; - slave.missingLegs = Math.clamp(+slave.missingLegs, 0, 3) || 0; - generatePronouns(slave); }; window.ArcologyDatatypeCleanup = function ArcologyDatatypeCleanup () { diff --git a/src/npc/fFeelings.tw b/src/npc/fFeelings.tw index cedd7caa2ef2fb8de1ed398e2191390871c13ebd..3bc3546f7663df160d05351bcf0f0c96aa962fd4 100644 --- a/src/npc/fFeelings.tw +++ b/src/npc/fFeelings.tw @@ -158,19 +158,19 @@ My favorite part of my body i<<s>> <</if>> <<elseif ($activeSlave.sexualFlaw == "breeder") && ($activeSlave.fetishStrength > 95)>> <<if ($activeSlave.bellyPreg >= 600000)>> - ... um... our impo<<ss>>ibly pregnant belly, of cour<<s>>e. we love being <<s>>o packed full with life that we're more baby than woman, now. And the way our belly keep<<s>> our <<s>>lutty preggo bodie<<s>> <<s>>tuck to the floor! We're <<s>>o hot ju<<s>>t thinking about it. + ... um... our impo<<ss>>ibly pregnant belly, of cour<<s>>e. We love being <<s>>o packed full with life that we're more baby than woman, now. And the way our belly keep<<s>> our <<s>>lutty preggo bodie<<s>> <<s>>tuck to the floor! We're <<s>>o hot ju<<s>>t thinking about it. <<if $activeSlave.pregSource == -1>> Thank you for breeding u<<s>>, <<Master>>! Our womb i<<s>> your<<s>> to impregnate. <</if>> What? Oh, I'm thinking of my<<s>>elf and my <<if ($activeSlave.fetus_count >=2) || ($activeSlave.broodmother >=1)>> babie<<s>> <<else>> baby <</if>> as one person again, aren't I? I'm <<s>>orry, <<Master>>. It'<<s>> ju<<s>>t so hard to remember when my womb i<<s>> <<s>>o much more than I am in every way. <<elseif ($activeSlave.bellyPreg >= 300000)>> - ... um... our ma<<ss>>ive pregnant belly, of cour<<s>>e. we love feeling our womb <<s>>well with life. It<<s>> so hard to move now! We're <<s>>o hot ju<<s>>t thinking about it. + ... um... our ma<<ss>>ive pregnant belly, of cour<<s>>e. We love feeling our womb <<s>>well with life. It<<s>> so hard to move now! We're <<s>>o hot ju<<s>>t thinking about it. <<if $activeSlave.pregSource == -1>> Thank you for breeding u<<s>>, <<Master>>! Our womb i<<s>> your<<s>> to impregnate. <</if>> What? Oh, I'm thinking of my<<s>>elf and my <<if ($activeSlave.fetus_count >=2) || ($activeSlave.broodmother >=1)>> babie<<s>> <<else>> baby <</if>> as one person again, aren't I? I'm <<s>>orry, <<Master>>. It'<<s>> ju<<s>>t so hard to remember when my womb i<<s>> <<s>>o much more than I am in every way. <<elseif ($activeSlave.bellyPreg >= 15000)>> - ... um... our bulging pregnant belly, of cour<<s>>e. we love feeling our womb <<s>>well with life. + ... um... our bulging pregnant belly, of cour<<s>>e. We love feeling our womb <<s>>well with life. <<if $activeSlave.pregSource == -1>> Thank you for breeding u<<s>>, <<Master>>! Our womb i<<s>> your<<s>> to impregnate. <</if>> diff --git a/src/pregmod/pAssociatesPublicSlut.tw b/src/pregmod/pAssociatesPublicSlut.tw index c48ec886185ea80beff6ee94c11e03c38c3bc5ac..24fa22ceba702784fbcf9f2598597959746dd2df 100644 --- a/src/pregmod/pAssociatesPublicSlut.tw +++ b/src/pregmod/pAssociatesPublicSlut.tw @@ -17,13 +17,13 @@ You take a detour down one of the minor byways that feed into the Promenade prop <br><br> <<if _num < $seeDicks>> - The one restraining him is a business associate of yours. She's a beautiful woman who cuts a gorgeous figure in her expensive, tasteful business attire. You have some rapport with one another and she greets you cheerily and you make small talk as she finishes up shackling her newly minted slave. He was, she explains, her boyfriend, who had accrued significant debt due to his severe lack of business sense and tact. She had bought out his debt in order to save him from enslavement, only to find out not long after that he had been cheating on her with another free woman. Since she owned his debt, it took only a few formalities to turn him into her property as revenge. "Since he likes sluts so much, I'm going to turn him into one!" She giggles, while stroking the struggling traps luxurious bleach blond hair. Her eyes light up as her gaze returns to you. You know whats coming, and are surprised it took this long for it to occur to her. She reaches around her slave and spreads his ass cheeks. "<<if $dick>>Sir<<else>> Ma'am<</if>>, it would honor me if you fucked him!". + The one restraining him is a business associate of yours. She's a beautiful woman who cuts a gorgeous figure in her expensive, tasteful business attire. You have some rapport with one another and she greets you cheerily and you make small talk as she finishes up shackling her newly minted slave. He was, she explains, her boyfriend, who had accrued significant debt due to his severe lack of business sense and tact. She had bought out his debt in order to save him from enslavement, only to find out not long after that he had been cheating on her with another free woman. Since she owned his debt, it took only a few formalities to turn him into her property as revenge. "Since he likes sluts so much, I'm going to turn him into one!" She giggles, while stroking the struggling traps luxurious bleach blond hair. Her eyes light up as her gaze returns to you. You know whats coming, and are surprised it took this long for it to occur to her. She reaches around her slave and spreads his ass cheeks. "<<if $dick>>Sir<<else>> Ma'am<</if>>, it would honor me if you fucked him!" - You consider the slaves anus. Your associate has clearly spent all day customising her new toy, it looks freshly bleached, and is smooth and inviting. It effectively has been transformed into a sex organ. + You consider the slave's anus. Your associate has clearly spent all day customising her new toy, it looks freshly bleached and is smooth and inviting. It effectively has been transformed into a sex organ. <<else>> - The one restraining her is a business associate of yours. Hes a well built man who cuts a handsome figure in his expensive, tasteful business attire. You have some rapport with one another and he greets you cheerily and you make small talk as he finishes up shackling his newly minted slave. She was, he explains, his girlfriend, who had accrued significant debt due to her severe lack of business sense and tact. He had bought out her debt in order to save her from enslavement, only to find out not long after that she had been cheating on him with another free woman. Since he owned her debt, it took only a few formalities to turn her into his property as revenge. "She was already a slut, Ive simply made her look the part, and play it more honestly!" he chuckles, while fondling the struggling bimbo's ample ass. He favors you with a rueful smile as his gaze returns to you. You know whats coming, and are surprised it took this long for it to occur to him. He reaches around his slave and spreads her ass cheeks. "<<if $dick>>Sir<<else>> Ma'am<</if>>, it would honor me if you fucked her! Ive had her hymen restored just a few hours ago, first time is all yours if you want it.". + The one restraining her is a business associate of yours. He's a well built man who cuts a handsome figure in his expensive, tasteful business attire. You have some rapport with one another and he greets you cheerily and you make small talk as he finishes up shackling his newly minted slave. She was, he explains, his girlfriend, who had accrued significant debt due to her severe lack of business sense and tact. He had bought out her debt in order to save her from enslavement, only to find out not long after that she had been cheating on him with another free woman. Since he owned her debt, it took only a few formalities to turn her into his property as revenge. "She was already a slut, Ive simply made her look the part, and play it more honestly!" he chuckles, while fondling the struggling bimbo's ample ass. He favors you with a rueful smile as his gaze returns to you. You know whats coming, and are surprised it took this long for it to occur to him. He reaches around his slave and spreads her ass cheeks. "<<if $dick>>Sir<<else>> Ma'am<</if>>, it would honor me if you fucked her! Ive had her hymen restored just a few hours ago, first time is all yours if you want it." - You consider the slaves pussy. Your associate has clearly spent all day customising his new toy, it looks tight and inviting. Surprisingly, she's quite moist, indicating that in spite of her struggling, she's actually rather aroused, seems she has a bit of a fetish for humiliation. She'll assuredly make an excellent slave if thats the case. + You consider the slave's pussy. Your associate has clearly spent all day customising his new toy, it looks tight and inviting. Surprisingly, she's quite moist, indicating that in spite of her struggling, she's actually rather aroused, seems she has a bit of a fetish for humiliation. She'll assuredly make an excellent slave if thats the case. <</if>> <br><br> @@ -40,7 +40,7 @@ You take a detour down one of the minor byways that feed into the Promenade prop <<set $rep += 100>> <</replace>> <</link>> -<br><<link "Decline, but suggest Coffee in the Cafe across the street">> +<br><<link "Decline, but suggest coffee in the cafe across the street">> <<replace "#result">> <<if _num < $seeDicks>> You decline her offer, but instead offer to buy her coffee at the nearby cafe. You enjoy some especially delicious coffee together while admiring the view of her slaves ass being broken in by a trickle of curious parties, who also occasionally walk around to the other side of the helpless sissy to use his mouth. diff --git a/src/uncategorized/dairy.tw b/src/uncategorized/dairy.tw index 8208a5b8ff1f088f87e3b8410bb9f2993b833bae..8f9660eea09a13362b04bec598ebe5dcc2f33f54 100644 --- a/src/uncategorized/dairy.tw +++ b/src/uncategorized/dairy.tw @@ -512,7 +512,7 @@ $dairyNameCaps <<if $milkmaidImpregnates == 1>> Keeping the cows pregnant is part of $his job. <<link "Order $him to stop impregnating" "Dairy">><<set $milkmaidImpregnates = 0>><</link>> <<elseif $seePreg != 0>> - $He could be directed to keep the cows pregnant $himself. << "Order $him to impregnate" "Dairy">><<set $milkmaidImpregnates = 1>><</link>> + $He could be directed to keep the cows pregnant $himself. <<link "Order $him to impregnate" "Dairy">><<set $milkmaidImpregnates = 1>><</link>> <</if>> <</if>> <<elseif $dairyRestraintsSetting > 1>> diff --git a/src/uncategorized/discardConfirm.tw b/src/uncategorized/discardConfirm.tw index 604299b3a5e87ada486dc23383c85c69b4c10994..0d2780f4ae744cae6af0103c9b7ebb20197d5bed 100644 --- a/src/uncategorized/discardConfirm.tw +++ b/src/uncategorized/discardConfirm.tw @@ -1,7 +1,11 @@ -:: Discard Confirm +:: Discard Confirm [nobr] -This will permanently remove $activeSlave.slaveName from the game, and you will not receive any money for her. This is primarily intended as a way to rid yourself of bugged slaves. Are you certain? +This will permanently remove $activeSlave.slaveName from the game, and you will not receive any money for $him. This is primarily intended as a way to rid yourself of bugged slaves. Are you certain? -[[Discard her|Slave Sold]] +<br><br> + +<<link "Discard $him" "Slave Sold">><</link>> + +<br><br> [[Cancel|Slave Interact]] diff --git a/src/uncategorized/djSelect.tw b/src/uncategorized/djSelect.tw index 09971ddbab2a7377d6cb0de730e931c8b0815fc8..4d4cb064d23f7de06940b00aaa571ac831ac5481 100644 --- a/src/uncategorized/djSelect.tw +++ b/src/uncategorized/djSelect.tw @@ -3,7 +3,8 @@ <<set $nextButton = "Back", $nextLink = "Club", $showEncyclopedia = 1>><<set $encyclopedia = "DJ">> <<showallAssignmentFilter>> <<if ($DJ != 0)>> - ''__@@.pink;<<= SlaveFullName($DJ)>>@@__'' is serving as your DJ.<br><br>She will headline entertainment in $clubName. + <<setLocalPronouns $DJ>> + ''__@@.pink;<<= SlaveFullName($DJ)>>@@__'' is serving as your DJ.<br><br>$He will headline entertainment in $clubName. <<else>> You have not selected a DJ. <</if>> diff --git a/src/uncategorized/freeRangeDairyAssignmentScene.tw b/src/uncategorized/freeRangeDairyAssignmentScene.tw index a4eaebe2902481cef878a1c769d20233a2f337d7..4a8f0452bb5bc2d08971ad97d8c9b3c6c199b5d8 100644 --- a/src/uncategorized/freeRangeDairyAssignmentScene.tw +++ b/src/uncategorized/freeRangeDairyAssignmentScene.tw @@ -3,82 +3,88 @@ /* This scene wants $dairyRestraintsSetting == 0 && $activeSlave.devotion > 0 && $activeSlave.fetish != "mindbroken" */ <<set $nextButton = "Continue", $nextLink = $returnTo>> +<<setLocalPronouns $activeSlave>> $activeSlave.slaveName reports to the dairy. <<if $activeSlave.energy > 90 >> -She rejoices since she is actually eager to be milked. + $He rejoices since $he is actually eager to be milked. <</if>> /* AROUSAL WHEN ENTERING */ -<<set $aroused = false >> +<<set _aroused = false >> <<if $dairySlaves > 1 && canSee($activeSlave)>> <br><br> -While <<if canWalk($activeSlave) >>walking<<else>>being carried<</if>> to her designated stall, she passes the other cows currently at their milking machines. Not being hurried, she occasionally watches a cow in detail. - <<if $activeSlave.fetish == "boobs" >> +While <<if canWalk($activeSlave) >>walking<<else>>being carried<</if>> to $his designated stall, $he passes the other cows currently at their milking machines. Not being hurried, $he occasionally watches a cow in detail. + <<if $activeSlave.fetish == "boobs">> /* TODO: check if there actually are lactating cows at the dairy */ - <<set $aroused = true>> - <br> She cannot help but to feel aroused at the view of all those udders being thoroughly milked. - <<if $activeSlave.sexualFlaw == "breast growth" >> - She is already fantasizing of having her breasts expanded to ridiculous proportions - <<if $activeSlave.lactation > 0 >> - so she can produce even more milk - <</if>> - . + <<set _aroused = true>> + <br> $He cannot help but to feel aroused at the view of all those udders being thoroughly milked. + <<if $activeSlave.sexualFlaw == "breast growth">> + $He is already fantasizing of having $his breasts expanded to ridiculous proportions<<if $activeSlave.lactation > 0>> so $he can produce even more milk<</if>>. <</if>> - <</if>> - <<if $activeSlave.fetish == "buttslut" && $dairyStimulatorsSetting == 1>> - <<set $aroused = true >> - <br> The automatic sodomizers are currently active. They are not running on an industrial setting, but on a gentler one. Every cow's anus is filled with a dildo attached on a mechanical arm. There is a wide range of sizes. Some dildos are small and provide expert stimulation for the sensitive areas. Other cows seem to prefer forearm-length horse-cocks for more intense stimulation. The automatic thrusting speeds vary, too. Some cows are currently asleep. Their respective stimulators are comfortably resting deeply buried in their behinds. Whenever a cow reaches climax, the sodomizers can thrust at ridiculous speeds. Good thing they provide not only nutrition, but lubrication, too. - The sight of all those lovely rear-ends relentlessly reamed arouses $activeSlave.slaveName. + <<elseif $activeSlave.fetish == "pregnancy" && $dairyPregSetting == 1>> + <<set _aroused = true >> + <br> The automatic impregnators are currently active. They are not running on an industrial setting, but on a gentler one. Every fertile cow's pussy is filled with a dildo attached on a mechanical arm. There is a wide range of sizes. Some dildos are small and provide expert stimulation for the sensitive areas. Other cows seem to prefer forearm-length horse-cocks for more intense stimulation. The automatic thrusting speeds vary, too, but all of them fill the slave completely so not a drop of sperm can leak out. Some cows are currently asleep. Their respective stimulators are comfortably resting deeply buried in their vaginas, keeping the loads right where they belong. Whenever a cow reaches climax, the sodomizers can thrust at ridiculous speeds to encourage fertilization. + The sight of all those lovely baby bumps arouses $activeSlave.slaveName. + <<if $activeSlave.sexualFlaw == "breeder" && isFertile($activeSlave)>> + $He cannot wait to get impregnated too. + <</if>> + <<elseif $activeSlave.fetish == "buttslut" && $dairyStimulatorsSetting == 1>> + <<set _aroused = true >> + <br> The automatic sodomizers are currently active. They are not running on an industrial setting, but on a gentler one. Every cow's anus is filled with a dildo attached on a mechanical arm. There is a wide range of sizes. Some dildos are small and provide expert stimulation for the sensitive areas. Other cows seem to prefer forearm-length horse-cocks for more intense stimulation. The automatic thrusting speeds vary, too. Some cows are currently asleep. Their respective stimulators are comfortably resting deeply buried in their behinds. Whenever a cow reaches climax, the sodomizers can thrust at ridiculous speeds. Good thing they provide not only nutrition, but lubrication, too. + The sight of all those lovely rear-ends relentlessly reamed arouses $activeSlave.slaveName. <<if $activeSlave.sexualFlaw == "anal addict">> - She cannot wait to be sodomized, too. + $He cannot wait to be sodomized, too. <</if>> <</if>> - <<for $i = 0; $i < $slaves.length; $i++>> - <<if $slaves[$i].assignment == "work in the dairy" && $slaves[$i].ID != $activeSlave.ID && $slaves[$i].balls >= 10>> - <<set $aroused = true>> - <br> The hyper-endowed cum-cow $slaves[$i].slaveName is the pride of $dairyName. She is limply hanging on her milking chair, panting heavily because of the constant suction on her dick. She is obviously nearing climax. Soon, her eyes bulge and her muscles tense. + <<for _frdas = 0; _frdas < $slaves.length; _frdas++>> + <<if $slaves[_frdas].assignment == "work in the dairy" && $slaves[_frdas].ID != $activeSlave.ID && $slaves[_frdas].balls >= 10 && $slaves[_frdas].dick > 0>> + <<setLocalPronouns $slaves[_frdas] 2>> + <<set _aroused = true>> + <br> The hyper-endowed cum-cow $slaves[_frdas].slaveName is the pride of $dairyName. _He2 is limply hanging on _his2 milking chair, panting heavily because of the constant suction on _his2 dick. _He2 is obviously nearing climax. Soon, _his2 eyes bulge and _his2 muscles tense. <<if $dairyStimulatorsSetting == 1>> - <<if $slaves[$i].prostate != 0>> - Her anus clenches around the dildo in her rear. The automatic sodomizer speeds up to give her prostate a helpful pounding. + <<if $slaves[_frdas].prostate != 0>> + _His2 anus clenches around the dildo in _his2 rear. The automatic sodomizer speeds up to give _his2 prostate a helpful pounding. <<else>> - She lacks a prostate, so the automatic sodomizer is forced to pound her mercilessly to make her cum. + _He2 lacks a prostate, so the automatic sodomizer is forced to pound _him2 mercilessly to make _him2 cum. <</if>> + <<elseif ($Milkmaid.dick > 4) && (canPenetrate($Milkmaid))>> + $Milkmaid.slaveName quickly steps in and penetrates _his2 rear to push _him2 powerfully over the edge. <<else>> - Her butthole opens and closes. + _His2 butthole opens and closes. <</if>> - Her cock twitches as it begins to unload. Inhumanly large amounts of semen spurt into the receptacle which encases her dick. Her orgasm does not seem to end for minutes. The milking machine keeps her cumming longer than naturally possible. Only primal moans escape her throat. - As her orgasm finally subsides, she slumps back, grinning in post-orgasmic bliss. - All things considered, $slaves[$i].slaveName seems to be very happy with being a cow. - <<if $slaves[$i].dickTat == "bovine patterns" >>Even her dick is tattooed to look like a bull's.<</if>> - <br>"Moo", she moans lustily, imitating a cow. + _His2 cock twitches as it begins to unload. Inhumanly large amounts of semen spurt into the receptacle which encases _his2 dick. _His2 orgasm does not seem to end for minutes. The milking machine keeps _him2 cumming longer than naturally possible. Only primal moans escape _his2 throat. + As _his2 orgasm finally subsides, _he2 slumps back, grinning in post-orgasmic bliss. + All things considered, $slaves[_frdas].slaveName seems to be very happy with being a cow. + <<if $slaves[_frdas].dickTat == "bovine patterns" >>Even _his2 dick is tattooed to look like a bull's.<</if>> + <br>"Moo", _he2 moans lustily, imitating a cow. <<break>> <</if>> <</for>> /* TODO: watch a specific cow, e.g. lover or relative or huge-titted */ <</if>> -<<if $aroused>> -<br> -All this lewd display turns $activeSlave.slaveName on and she is almost overcome by lust. She realizes, she probably should not have taken so much interest in the other cows. - <<if $activeSlave.dick > 0 >> - She feels her blood rush into her <<if $activeSlave.dick > 8>>gargantuan<<elseif $activeSlave.dick > 6>>huge<<elseif $activeSlave.dick > 2>>fair-sized<<else>>small<</if>> dick. +<<if _aroused>> + <br> + All this lewd display turns $activeSlave.slaveName on and $he is almost overcome by lust. $He realizes, $he probably should not have taken so much interest in the other cows. + <<if $activeSlave.dick > 0>> + $He feels $his blood rush into $his <<if $activeSlave.dick > 8>>gargantuan<<elseif $activeSlave.dick > 6>>huge<<elseif $activeSlave.dick > 2>>fair-sized<<else>>small<</if>> dick. <</if>> <<if $activeSlave.vagina > -1 >> - Her pussy moistens. + $His pussy moistens. <</if>> <<if $activeSlave.lactation > 0>> <<if $activeSlave.nipples == "fuckable">> - Milk begins to leak out of her nipplecunts. + Milk begins to leak out of $his nipplecunts. <<else>> - Her milk-dripping nipples stiffen. + $His milk-dripping nipples stiffen. <</if>> <</if>> <</if>> /* AROUSAL WHEN ENTERING END*/ <br><br> /* GETTING IN */ -Eventually, $activeSlave.slaveName arrives at her designated milking stall. +Eventually, $activeSlave.slaveName arrives at $his designated milking stall. <<set _assayedSlaveAvailable = 0>> <<if $familyTesting == 1>> <<if totalRelatives($activeSlave) > 0>> @@ -132,38 +138,41 @@ Eventually, $activeSlave.slaveName arrives at her designated milking stall. <</if>> <</if>> <<if _assayedSlaveAvailable == 1>> - Her _assayType _assayedSlave.slaveName is at the dairy, too. She is in the adjacent stall. The two of them are going to be milked right next to each other. + <<setLocalPronouns _assayedSlave 2>> + $His _assayType _assayedSlave.slaveName is at the dairy, too. _He2 is in the adjacent stall. The two of them are going to be milked right next to each other. <</if>> -The only "furniture" in the stall looks like a dentist's chair. It looks very medical, but it turns out to be quite comfortable actually. She <<if $activeSlave.devotion >90>>eagerly<<elseif $activeSlave.slaveName < 40>>hesitantly<</if>> gets into the chair. +The only "furniture" in the stall looks like a dentist's chair. It looks very medical, but it turns out to be quite comfortable actually. $He <<if $activeSlave.devotion >90>>eagerly<<elseif $activeSlave.slaveName < 40>>hesitantly<</if>> gets into the chair. <<if $Milkmaid == 0 >> -Automated machinery springs to life, preparing her for milking. +Automated machinery springs to life, preparing $him for milking. <<else>> Your appointed milkmaid $Milkmaid.slaveName helps $activeSlave.slaveName with installing the milking devices. <</if>> <<if $activeSlave.lactation > 0 >> -Suction cups are attached <<if $activeSlave.nipples == "fuckable">>over<<else>>to<</if>> her nipples. +Suction cups are attached <<if $activeSlave.nipples == "fuckable">>over<<else>>to<</if>> $his nipples. <</if>> -<<if $activeSlave.dick > 0>> +<<if $activeSlave.balls > 0>> <<if $activeSlave.dick > 8>> - A huge receptacle is attached to her over-sized member. + A huge receptacle is attached to $his over-sized member. <<elseif $activeSlave.dick > 6>> - A large cock-milker is attached to her huge dick. + A large cock-milker is attached to $his huge dick. <<elseif $activeSlave.dick > 2>> - A special cock-milker is attached to her dick. + A special cock-milker is attached to $his dick. + <<elseif $activeSlave.dick > 0>> + A suction cup is attached to $his small dicklet. Due to the embarrassingly small size of $his penis, the very kind of cup is used that normally goes on nipples. <<else>> - A suction cup is attached to her small dicklet. Due to the embarrassingly small size of her penis, the very kind of cup is used that normally goes on nipples. + A suction cup is attached over $his hidden cumhole. <</if>> <</if>> <br/> <<if $dairyFeedersSetting == 1>> -Near the headrest of the chair, an artificial phallus is installed. The cow can easily reach it with her mouth. The phallus provides hydration and nutrition when sucked. The supplement consists of excess- or low-quality milk and cum from the dairy itself as well as aphrodisiacs and hormones enhancing lactation and semen production. + Near the headrest of the chair, an artificial phallus is installed. The cow can easily reach it with $his mouth. The phallus provides hydration and nutrition when sucked. The supplement consists of excess- or low-quality milk and cum from the dairy itself as well as aphrodisiacs and hormones enhancing lactation and semen production. <<if $activeSlave.sexualFlaw == "cum addict" || $activeSlave.fetish == "cumslut">> - $activeSlave.slaveName eagerly shoves the artificial phallus into her mouth. She gives it an experimental suckle. To her joy, she soon is rewarded with a fresh spurt of semen-like nutrition supplement. Then she readjusts the holder to keep the phallus lodged in her mouth, effectively forcing herself to keep sucking the artificial dick. + $activeSlave.slaveName eagerly shoves the artificial phallus into $his mouth. $He gives it an experimental suckle. To $his joy, $he soon is rewarded with a fresh spurt of semen-like nutrition supplement. Then $he readjusts the holder to keep the phallus lodged in $his mouth, effectively forcing $himself to keep sucking the artificial dick. <</if>> <</if>> <br/> -The milking chair comes with a small screen, providing mental stimulation for the cow. It is highly pornographic, of course. It also includes live-streams of close-ups from the cow's being milked or their orifices being penetrated. $activeSlave.slaveName selects her favorite program<<if !canSee($activeSlave)>> to listen to<</if>>. It features +The milking chair comes with a small screen, providing mental stimulation for the cow. It is highly pornographic, of course. It also includes live-streams of close-ups from the cow's being milked or their orifices being penetrated. $activeSlave.slaveName selects $his favorite program<<if !canSee($activeSlave)>> to listen to<</if>>. It features <<if $activeSlave.attrXY > $activeSlave.attrXX || $activeSlave.behavioralQuirk == "adores men">> men <<else>> @@ -178,14 +187,14 @@ The milking chair comes with a small screen, providing mental stimulation for th sucking dick for all it's worth. <</if>> <<if $dairyFeedersSetting == 1 >> - The dairy feeders ejaculations are synced with the events in the video. $activeSlave.slaveName receives a load of cum-like nutrition every time a dick shoots. It really draws her into the pornography. + The dairy feeders ejaculations are synced with the events in the video. $activeSlave.slaveName receives a load of cum-like nutrition every time a dick shoots. It really draws $him into the pornography. <</if>> <<elseif ($activeSlave.fetish == "humiliation")>> being humiliated. <<elseif ($activeSlave.fetish == "buttslut")>> being fucked in the ass. <<if $dairyStimulatorsSetting == 1>> - The dairy stimulators are synced to the videos. The automatic sodomizers thrust in exactly the same way as the dicks or dildos in the video. $activeSlave.slaveName is amazed by this advanced pornography. It feels like it was her being fucked in the videos all over. + The dairy stimulators are synced to the videos. The automatic sodomizers thrust in exactly the same way as the dicks or dildos in the video. $activeSlave.slaveName is amazed by this advanced pornography. It feels like it was $him being fucked in the videos all over. <</if>> <<elseif ($activeSlave.fetish == "dom")>> dominating their sexual partners. @@ -198,6 +207,9 @@ The milking chair comes with a small screen, providing mental stimulation for th fucking pregnant women. <<else>> being fucked while pregnant. + <<if $dairyPregSetting > 0>> + The dairy stimulators are synced to the videos. The impregnating dildo thrusts in exactly the same way as the dicks or dildos in the video. $activeSlave.slaveName is amazed by this advanced pornography. It feels like it was $him being fucked and cummed inside in the videos all over. + <</if>> <</if>> <<else>> engaging in vanilla intercourse. @@ -208,39 +220,43 @@ Sexual stimulation increases product output. Unfortunately, there is neither a milkmaid providing personal assistance nor automatic sodomizers installed in your dairy.<br/> <<else>> <<if $Milkmaid != 0>> - Your milkmaid $Milkmaid.slaveName is working in the dairy. Whenever a cow needs her assistance, she is happy to help. - <<if $Milkmaid.dick > 1 && canAchieveErection($Milkmaid)>> - Most often, she uses her cock to penetrate the cows. + <<setLocalPronouns $Milkmaid 2>> + Your milkmaid $Milkmaid.slaveName is working in the dairy. Whenever a cow needs _his2 assistance, _he2 is happy to help. + <<if $Milkmaid.dick > 1 && canPenetrate($Milkmaid)>> + Most often, _he2 uses _his2 cock to penetrate the cows. <<else>> - Lacking penile equipment of appropriate size, she relies on her tongue to stimulate the cow's sexual organs. + Lacking penile equipment of appropriate size, _he2 relies on _his2 tongue to stimulate the cow's sexual organs. + <</if>> + _He2 is quite skilled in giving mammary massages and handjobs, too. + <<if milkmaidImpregnates == 1 && canPenetrate($Milkmaid) && $Milkmaid.pubertyXY == 1 && $Milkmaid.ballType == "human">> + If at all possible, it is _his duty to thoroughly knock up _his2 charges. <</if>> - She is quite skilled in giving mammary massages, too. <br/> <</if>> <<if $dairyStimulatorsSetting > 0>> - Automated sodomizers help the cows produce by penetrating their anuses. The milking chairs built-in sensors measure $activeSlave.slaveName's anal capacity. + Automated sodomizers help the cows produce by penetrating their anuses. The milking chairs built-in sensors measure $activeSlave.slaveName's anal capacity. <<if $activeSlave.anus == 0 >> - The machine detects an unused rear-end. In order to protect the her anal virginity, the automatic sodomizer stays inactive. + The machine detects an unused rear-end. In order to protect the $his anal virginity, the automatic sodomizer stays inactive. <<else>> - In order to provide adequate stimulation for her - <<if $activeSlave.anus > 3>> - gaping anus, the automatic sodomizer is equipped with a gigantic horse-like phallus. It wobbles menacingly. - <<elseif $activeSlave.anus > 2>> - well-used rear-end, the automatic sodomizer is equipped with a large phallus. It is nicely ribbed for extra stimulation. - <<else>> - anus, the automatic sodomizer is equipped with a fair-sized silicone phallus. - <</if>> + In order to provide adequate stimulation for $his + <<if $activeSlave.anus > 3>> + gaping anus, the automatic sodomizer is equipped with a gigantic horse-like phallus. It wobbles menacingly. + <<elseif $activeSlave.anus > 2>> + well-used rear-end, the automatic sodomizer is equipped with a large phallus. It is nicely ribbed for extra stimulation. + <<else>> + anus, the automatic sodomizer is equipped with a fair-sized silicone phallus. + <</if>> Lubrication spurts from a hole at the tip, giving the artificial phallus a very lifelike pre-dripping look. Gently, the mechanical arm pushes the phallus into $activeSlave.slaveName's behind. <<if $activeSlave.fetish == "buttslut" || $activeSlave.sexualFlaw == "anal addict">> - She shudders with joy. + $He shudders with joy. <</if>> - Soon, the automatic sodomizer pumps the dildo in and out of her butt-hole. + Soon, the automatic sodomizer pumps the dildo in and out of $his butt-hole. <<if ($activeSlave.balls > 0) && ($activeSlave.scrotum > 0)>> - Her <<if $activeSlave.balls > 5 >>massive<</if>> balls swing back and forth. + $His<<if $activeSlave.balls > 5 >> massive<</if>> balls swing back and forth. <</if>> <<if $activeSlave.dick > 0 >> <<if $activeSlave.prostate != 0>> - The dildo stimulates her prostate perfectly. Pre-cum begins to leak from her cock. + The dildo stimulates $his prostate perfectly. Pre-cum begins to leak from $his cock. <</if>> /* TODO: the next lines feel non-canon */ The milking machine remains at this setting for longer than normal. Pre-cum is considered a delicacy and is harvested as much as possible before having a negative impact on cum production. @@ -248,85 +264,110 @@ Sexual stimulation increases product output. <</if>> <br> <</if>> + <<if $dairyPregSetting > 0>> + Ejaculate squirting dildos keep the slave's wombs stuffed with seed until they are confirmed pregnant and aid in preparing them for childbirth. + <<if isFertile($activeSlave)>> + Since $he is quite fertile, it springs to life. + <<if $activeSlave.vagina == 0>> + The machine detects a virgin pussy. In order to protect the $his virginity, the automatic dildo returns to its housing. + <<else>> + In order to provide adequate stimulation for $his + <<if $activeSlave.vagina > 3>> + gaping vagina, the automatic dildo is equipped with a gigantic horse-like phallus. It wobbles menacingly. + <<elseif $activeSlave.vagina > 2>> + well-used rear-end, the automatic dildo is equipped with a large phallus. It is nicely ribbed for extra stimulation. + <<else>> + vagina, the automatic dildo is equipped with a fair-sized silicone phallus. + <</if>> + Lubrication spurts from a hole at the tip, giving the artificial phallus a very lifelike pre-dripping look. Gently, the mechanical arm pushes the phallus into $activeSlave.slaveName's pussy. + <<if $activeSlave.fetish == "pregnancy" || $activeSlave.sexualFlaw == "breeder">> + $He shudders with joy. + <</if>> + Soon, the automatic impregnator pumps the dildo in and out of $his body, frequently releasing large loads of potent cum directly into $his womb. + <</if>> + <</if>> <</if>> /* GETTING IN END */ <br> /* MILKING ROUTINE */ <<if $activeSlave.lactation > 0>> -The milking cups <<if $activeSlave.nipples == "fuckable">>over<<else>>on<</if>> her nipples begin to pulse rhythmically. Soon, a steady flow of breast-milk is sucked away into the storage tanks. + The milking cups <<if $activeSlave.nipples == "fuckable">>over<<else>>on<</if>> $his nipples begin to pulse rhythmically. Soon, a steady flow of breast-milk is sucked away into the storage tanks. <</if>> <<if $activeSlave.dick > 0>> -The milking machine uses suction to draw her dick into the receptacle. + The milking machine uses suction to draw $his dick into the receptacle. <<if $activeSlave.dick > 10>> - Her dick is too large to even consider getting hard again, so it just attaches firmly to the tip. + $His dick is too large to even consider getting hard again, so it just attaches firmly to the tip. <<elseif $activeSlave.dick > 8>> - She is on the verge of passing out as most of her blood volume rushes into her dick. She cannot possibly reach a full erection without the machine's help. She fights to stay awake so she can enjoy her inhuman cock at throbbing hardness. + $He is on the verge of passing out as most of $his blood volume rushes into $his dick. $He cannot possibly reach a full erection without the machine's help. $He fights to stay awake so $he can enjoy $his inhuman cock at throbbing hardness. <<elseif $activeSlave.dick > 6>> - She feels dizzy as most of her blood volume rushes into her dick. It is not easy for her body to maintain an erection. But with the machine's help, she can produce a full throbbing hard-on. + $He feels dizzy as most of $his blood volume rushes into $his dick. It is not easy for $his body to maintain an erection. But with the machine's help, $he can produce a full throbbing hard-on. <<else>> - It brings her to a full, throbbing erection within seconds. + It brings $him to a full, throbbing erection within seconds. <</if>> -The machine strokes her dick mechanically, but very pleasurable. + The machine strokes $his dick mechanically, but very pleasurable. <</if>> -It does not take long for $activeSlave.slaveName to reach her first orgasm of many. Her muscles tense. +It does not take long for $activeSlave.slaveName to reach $his first orgasm of many. $His muscles tense. <<if $activeSlave.dick > 0>> - Her <<if $activeSlave.balls > 5 >>cum-engorged<</if>> balls draw up. - Her <<if $activeSlave.dick > 8 >>gargantuan member<<elseif $activeSlave.dick > 6 >>huge cock<<else>>dick<</if>> twitches and flexes within its receptacle. + $His <<if $activeSlave.balls > 5 >>cum-engorged<</if>> balls draw up. + $His <<if $activeSlave.dick > 8 >>gargantuan member<<elseif $activeSlave.dick > 6 >>huge cock<<else>>dick<</if>> twitches and flexes within its receptacle. <<if $activeSlave.balls >= 50>> - A special tank beneath her holds her monolithic balls' endless ejaculate while the machine struggles to suck it away. + A special tank beneath $him holds $his monolithic balls' endless ejaculate while the machine struggles to suck it away. <<elseif $activeSlave.balls >= 37>> - A special tank attached to the hose holds her titanic balls' near endless ejaculate while the machine struggles to suck it away. + A special tank attached to the hose holds $his titanic balls' near endless ejaculate while the machine struggles to suck it away. <<elseif $activeSlave.balls >= 25>> - A special reservoir attached to the hose holds her massive balls' ridiculous ejaculate while the machine struggles to suck it away. + A special reservoir attached to the hose holds $his massive balls' ridiculous ejaculate while the machine struggles to suck it away. <<elseif $activeSlave.balls >= 10>> - The machine strains to suck down the giant load from her huge balls. + The machine strains to suck down the giant load from $his huge balls. <<elseif $activeSlave.balls > 5>> - The copious ejaculation from her over-sized balls give the machine something to work on. + The copious ejaculation from $his over-sized balls give the machine something to work on. <<elseif $activeSlave.balls > 0>> - Her ejaculate is quickly sucked away. + $His ejaculate is quickly sucked away. <<else>> - Her ballslessness impedes cum-production, but ejaculating feels nice, anyway. + $His ballslessness impedes cum-production, but ejaculating feels nice, anyway. <</if>> <</if>> <<if ($activeSlave.dick < 1) && ($activeSlave.balls > 0) && ($activeSlave.prostate > 0)>> - Cum splashes from her urethra and is quickly sucked away. + Cum splashes from $his urethra and is quickly sucked away. <</if>> <<if $activeSlave.lactation > 0>> <br> -The milking cups <<if $activeSlave.nipples == "fuckable">>over<<else>>on<</if>> her nipples switch from rhythmic pulsing into intense suction. Aided by her orgasm, milk spurts from her nipples +The milking cups <<if $activeSlave.nipples == "fuckable">>over<<else>>on<</if>> $his nipples switch from rhythmic pulsing into intense suction. Aided by $his orgasm, milk spurts from $his nipples <<if $activeSlave.boobs > 20000>> - in obscenely massive amounts. Her immense breasts seem to never empty. + in obscenely massive amounts. $His immense breasts seem to never empty. <<elseif $activeSlave.boobs > 10000>> - in absurdly large amounts. Her gargantuan breasts do not seem to get less milk-laden for a long time. + in absurdly large amounts. $His gargantuan breasts do not seem to get less milk-laden for a long time. <<elseif $activeSlave.boobs > 5000>> - in powerful jets. Her huge breasts can provide multiple liters of milk. + in powerful jets. $His huge breasts can provide multiple liters of milk. <<elseif $activeSlave.boobs > 1000>> - for quite some time. Her large breasts can store an impressive volume of milk. + for quite some time. $His large breasts can store an impressive volume of milk. <<elseif $activeSlave.boobs > 700>> - until there is enough for whitening a cup of coffee. Her average breasts cannot store much more milk. + until there is enough for whitening a cup of coffee. $His average breasts cannot store much more milk. <<elseif ($arcologies[0].FSSlimnessEnthusiast > 80)>> for a surprisingly long time. Your arcology succeeded in optimized the milking process for small breasts. <<else>> - for a short time. Her small tits cannot dispense much milk at once. + for a short time. $His small tits cannot dispense much milk at once. <</if>> <</if>> <<if $activeSlave.prostate != 0 && $activeSlave.dick == 0 && $activeSlave.balls == 0>> <br> -$activeSlave.slaveName has no cock, but a functional prostate gland. It's attached to her urethra, so she squirts <<if $activeSlave.prostate > 2>>massively<<else>>copiously<</if>> while she orgasms. The exotic fluid is caught by a basin positioned under her <<if $activeSlave.vagina >= 0 >>dripping pussy<<else>>featureless crotch<</if>>. +$activeSlave.slaveName has no cock, but a functional prostate gland. It's attached to $his urethra, so $he squirts <<if $activeSlave.prostate > 2>>massively<<else>>copiously<</if>> while $he orgasms. The exotic fluid is caught by a basin positioned under $his <<if $activeSlave.vagina >= 0 >>dripping pussy<<else>>featureless crotch<</if>>. <</if>> <br><br> With the first milking cycle being over, $activeSlave.slaveName drifts into a relaxing slumber. <<if $dairyFeedersSetting == 1 && ($activeSlave.sexualFlaw == "cum addict" || $activeSlave.fetish == "cumslut")>> -She grins madly around the phallus she stuffed in her mouth. +$He grins madly around the phallus $he stuffed in $his mouth. +<</if>> +<<if $dairyPregSetting > 0 && isFertile($activeSlave) && $activeSlave.vagina > 0>> + $He gets comfortable around $his cum-bloated belly as the impregantor continues its task. <</if>> <<if $activeSlave.lactation > 0>> -The milking cups <<if $activeSlave.nipples == "fuckable">>over<<else>>on<</if>> her nipples pulse slower and with less vigor. The lactation never fully subsides. The steady but gentle suction helps increasing milk production without actually draining the breasts. +The milking cups <<if $activeSlave.nipples == "fuckable">>over<<else>>on<</if>> $his nipples pulse slower and with less vigor. The lactation never fully subsides. The steady but gentle suction helps increasing milk production without actually draining the breasts. <</if>> <<if $activeSlave.dick > 0>> -The suction on her dick stops, allowing her abused member to go soft and have some rest. +The suction on $his dick stops, allowing $his abused member to go soft and have some rest. <</if>> <<if $activeSlave.balls > 0 && $activeSlave.scrotum > 0>> -Her balls rest, dangling down and relieved. They already started to produce more cum. They seem to wait for their next chance to unload. +$His balls rest, dangling down and relieved. They already started to produce more cum. They seem to wait for their next chance to unload. <</if>> <br><br> The next milking cycle will start soon. diff --git a/src/uncategorized/genericPlotEvents.tw b/src/uncategorized/genericPlotEvents.tw index f41b90ca756b2481cd545c623e747575ef8dc8d0..5aa6cd7b17fd2b44b35bdceb8b43a7d716b5e25d 100644 --- a/src/uncategorized/genericPlotEvents.tw +++ b/src/uncategorized/genericPlotEvents.tw @@ -8,6 +8,7 @@ <<case "bad curatives">> <<set _genPlot = $slaves.findIndex(function(s) { return s.curatives > 1 || s.inflationType == "curative"; })>> +<<setLocalPronouns $slaves[_genPlot]>> <<if _genPlot != -1>> <<run $slaves.forEach(function(s) { if (s.curatives > 1 || s.inflationType == "curative") { @@ -19,7 +20,7 @@ <</if>> <<set $cash += 500*$slaves.length>> -Early one morning, you hear convulsive dry heaving coming from one of the bathrooms. On investigation, it seems that $slaves[_genPlot].slaveName woke up feeling terribly nauseous. She's in no danger, but you've hardly checked her over before more slaves stagger in. Every one of your slaves on curatives has been struck by the mysterious malady and has @@.red;sickened.@@ +Early one morning, you hear convulsive dry heaving coming from one of the bathrooms. On investigation, it seems that $slaves[_genPlot].slaveName woke up feeling terribly nauseous. $He's in no danger, but you've hardly checked $him over before more slaves stagger in. Every one of your slaves on curatives has been struck by the mysterious malady and has @@.red;sickened.@@ <br><br> It doesn't take much investigation before you find other slaveowners reporting the same thing. Elementary detective work fingers a particular drug supplier as the culprit, and before long the unfortunate Pharmaceutical concern is drowning under a rain of harsh public comment and harsher private contract warfare. As the day wears on, the poor slaves feel a bit better, but begin to report discomfort in their breasts. Apparently the problem has to do with contamination of the curative production line with A-HGH production reactants. <br><br> @@ -28,6 +29,7 @@ The firm promptly pays @@.yellowgreen;fair compensation@@ for the minor damage t <<case "bad breasts">> <<set _genPlot = $slaves.findIndex(function(s) { return ["breast injections", "intensive breast injections", "hyper breast injections"].includes(s.drugs); })>> +<<setLocalPronouns $slaves[_genPlot]>> <<if _genPlot != -1>> <<run $slaves.forEach(function(s) { if (["breast injections", "intensive breast injections", "hyper breast injections"].includes(s.drugs)) { @@ -38,7 +40,7 @@ The firm promptly pays @@.yellowgreen;fair compensation@@ for the minor damage t <<goto "Random Nonindividual Event">> <</if>> -Early one morning, you hear heaving coming from one of the bathrooms. On investigation, it seems that $slaves[_genPlot].slaveName woke up feeling terribly nauseous. She's in no danger, but you've hardly checked her over before more slaves stagger in. Every one of your slaves on breast focused A-HGH has been struck by the mysterious malady and has @@.red;sickened.@@ +Early one morning, you hear heaving coming from one of the bathrooms. On investigation, it seems that $slaves[_genPlot].slaveName woke up feeling terribly nauseous. $He's in no danger, but you've hardly checked $him over before more slaves stagger in. Every one of your slaves on breast focused A-HGH has been struck by the mysterious malady and has @@.red;sickened.@@ <br><br> It doesn't take much investigation before you find other slaveowners reporting the same thing. Elementary detective work fingers a particular drug supplier as the culprit, and before long the unfortunate Pharmaceutical concern is drowning under a rain of harsh public comment and harsher private contract warfare. As the day wears on, the poor slaves feel much better, and appear positively glowing. However, their breasts swell slightly and their bellies bulge, pointing to the issue being the contamination of the A-HGH production line with fertility agents. <br><br> @@ -58,6 +60,8 @@ As you step off the elevator, you hear female shouting. Apparently one of $arcol <<set $oneTimeDisableDisability = 1>> <<if $arcologies[0].FSSupremacistLawME == 1>><<set $fixedRace = $arcologies[0].FSSupremacistRace>><</if>> <<include "Generate New Slave">> +<<setLocalPronouns $activeSlave>> +<<run Enunciate($activeSlave)>> <<if $PStrip == 1>> <<set $activeSlave.origin = "She offered herself to you as a slave to escape the hard life of a free whore.">> <<set $activeSlave.career = "a prostitute">> @@ -76,9 +80,9 @@ As you step off the elevator, you hear female shouting. Apparently one of $arcol <<slaveCost $activeSlave>> One day, you walk by the commercial space where the strip club that closed was located. It's now advertised as a massage parlor, but the real merchandise on offer is obvious. You can see a bored-looking, half-dressed masseuse rubbing a client, but the sounds of someone having hard sex are filtering out from the back room, and the pricing sheet lists more orifices than massage options. <br><br> - As you pass, a tired-looking streetwalker walking by wearing ripped jeans and a torn top offers herself to you. She's halfway through her clumsy come-on before she curses and rushes over to kneel at your feet. As she does, she shrieks, "You own this arcology! You - you offered to enslave us strippers when the old place closed down! Please, please, can I accept? I'm sorry I didn't earlier. I'm sorry. I'll fucking do anything! Please!" + As you pass, a tired-looking streetwalker walking by wearing ripped jeans and a torn top offers herself to you. $He's halfway through $his clumsy come-on before $he curses and rushes over to kneel at your feet. As $he does, $he shrieks, "You own thi<<s>> arcology! You - you offered to en<<s>>lave u<<s>> <<s>>tripper<<s>> when the old pla<<c>>e clo<<s>>ed down! Plea<<s>>e, plea<<s>>e, can I a<<cc>>ept? I'm <<s>>orry I didn't earlier. I'm <<s>>orry. I'll fucking do anything! Plea<<s>>e!" <br><br> - //Enslaving her will cost <<print cashFormat($contractCost)>>. Alternatively, you could sell her. Less costs, this will bring in <<print cashFormat($slaveCost)>>.// + //Enslaving $him will cost <<print cashFormat($contractCost)>>. Alternatively, you could sell $him. Less costs, this will bring in <<print cashFormat($slaveCost)>>.// <br><br> <<set $saleDescription = 0>> <<include "Long Slave Description">> @@ -98,6 +102,7 @@ As you step off the elevator, you hear female shouting. Apparently one of $arcol <<set $activeSlave.whoreSkill = 35>> <<set $activeSlave.boobs += 600>> <<set $activeSlave.boobsImplant = 600>> + <<set $activeSlave.boobsImplantType = 1>> <<set $activeSlave.lipsPiercing = 1>> <<set $activeSlave.earPiercing = 1>> <<set $activeSlave.nosePiercing = 1>> @@ -109,9 +114,9 @@ As you step off the elevator, you hear female shouting. Apparently one of $arcol <<slaveCost $activeSlave>> One day, you walk by the commercial space where the strip club that closed was located. It's now advertised as a massage parlor, and indeed, you can see a couple of competent-looking, modestly dressed masseuses seeing to clients. The only chink in the old world decorum is the pretty sign detailing pricing, which lists not only various massages but the masseuses' hands, breasts, mouths, pussies, and anuses. <br><br> - As you pass, a pretty streetwalker walking by wearing an attractive club girl outfit sidles up to you. She's halfway through her first flirty come-on before she recognizes you. She gasps and says, "You own this arcology! <<= properTitle()>>, I was a stripper here! Thank you so much for helping us. That money set most of us up pretty well." She hefts her chest. "It bought me new boobs, that's for sure. So, um," she bites her lip in indecision, "I hear -" she hesitates and then the words come out in a rush. "I hear your girls do really well. I've seen them, they look good. Can I come?" You arch an eyebrow and begin to ask whether she knows what that means. "Yep," she interrupts. "I'll be your sex slave." + As you pass, a pretty streetwalker walking by wearing an attractive club girl outfit sidles up to you. $He's halfway through $his first flirty come-on before $he recognizes you. $He gasps and <<say>>s, "You own thi<<s>> arcology! <<if PC.title != 0>><<S>>ir<<else>>Ma'am<</if>>, I wa<<s>> a <<s>>tripper here! Thank you <<s>>o much for helping u<<s>>. That money <<s>>et mo<<s>>t of u<<s>> up pretty well." $He hefts $his chest. "It bought me new boob<<s>>, that'<<s>> for <<s>>ure. <<S>>o, um," $he bites $his lip in indecision, "I hear -" $he hesitates and then the words come out in a rush. "I hear your girl<<s>> do really well. I've <<s>>een them, they look good. Can I come?" You arch an eyebrow and begin to ask whether $he knows what that means. "Yep," $he interrupts. "I'll be your <<s>>e<<x>> <<s>>lave." <br><br> - //Enslaving her will cost <<print cashFormat($contractCost)>>. Alternatively, you could sell her. Less costs, this will bring in <<print cashFormat($slaveCost)>>.// + //Enslaving $him will cost <<print cashFormat($contractCost)>>. Alternatively, you could sell $him. Less costs, this will bring in <<print cashFormat($slaveCost)>>.// <br><br> <<set $saleDescription = 0>> <<include "Long Slave Description">> @@ -949,12 +954,28 @@ A screen opposite your desk springs to life, <<if $assistant == 0>>showing your <<replace "#result">> The hapless manufacturer eventually goes bankrupt. However, you do manage to force surgical correction of the pregnancies before they do. As additional compensation, they agree to naturally enhance your afflicted slaves' busts knowing full well that most buyers are not interested in slaves that have been knocked up. At the managers expense, your slaves move through a top-flight surgeons care and are pregnancy free and sporting @@.lime;larger breasts@@. <<run $slaves.forEach(function(s) { - if (s.drugs == "breast injections") { - if (s.geneMods.NCS > 0) { - s.boobs += Math.floor(Math.random() * 10 + 1) * 50; - } - else { - s.boobs += Math.floor(Math.random() * 10 + 1) * 100; + if canGetPregnant(s) { + if (s.drugs == "breast injections") { + if (s.geneMods.NCS > 0) { + s.boobs += Math.floor(Math.random() * 10 + 1) * 50; + } + else { + s.boobs += Math.floor(Math.random() * 10 + 1) * 100; + } + } else if (s.drugs == "intensive breast injections") { + if (s.geneMods.NCS > 0) { + s.boobs += Math.floor(Math.random() * 10 + 1) * 100; + } + else { + s.boobs += Math.floor(Math.random() * 10 + 1) * 150; + } + } else if (s.drugs == "hyper breast injections") { + if (s.geneMods.NCS > 0) { + s.boobs += Math.floor(Math.random() * 10 + 1) * 200; + } + else { + s.boobs += Math.floor(Math.random() * 10 + 1) * 300; + } } } })>> @@ -994,19 +1015,19 @@ A screen opposite your desk springs to life, <<if $assistant == 0>>showing your <<if $PStrip != 3>> <<if $cash >= $contractCost>> - <<link "Enslave her">> + <<link "Enslave $him">> <<set $cash -= $contractCost>> <<replace "#result">> <<if $PStrip == 1>> - She sobs with gratitude as the biometric scanners scrupulously record her every particular as belonging not to a person but to a piece of human property. The medical scan discloses that her aphrodisiac addiction is very new: she will probably be able to kick the habit in short order if you decide to withhold further doses. + $He sobs with gratitude as the biometric scanners scrupulously record $his every particular as belonging not to a person but to a piece of human property. The medical scan discloses that $his aphrodisiac addiction is very new: $he will probably be able to kick the habit in short order if you decide to withhold further doses. <<else>> - She smiles with gratitude as the biometric scanners scrupulously record her every particular as belonging not to a person but to a piece of human property. She's seen what Free Cities life is, and she seems to have come to the conclusion that being a slave in the penthouse is better than being a free whore on the lower levels. + $He smiles with gratitude as the biometric scanners scrupulously record $his every particular as belonging not to a person but to a piece of human property. $He's seen what Free Cities life is, and $he seems to have come to the conclusion that being a slave in the penthouse is better than being a free whore on the lower levels. <</if>> <<include "New Slave Intro">> <</replace>> <</link>> <<else>> - //You lack the necessary funds to enslave her.// + //You lack the necessary funds to enslave $him.// <</if>> <<else>> <<link "Take an Arcology Tour">> @@ -1112,7 +1133,7 @@ A screen opposite your desk springs to life, <<if $assistant == 0>>showing your <<run newSlave($activeSlave)>> /* skip New Slave Intro */ <</replace>> <</link>> -<<if $pedo_mode == 1 && $minimumSlaveAge <= 8>> +<<if $minimumSlaveAge <= 8>> <br><<link "Hit the loli with the unnaturally wide hips struggling along">> <<replace "#result">> You decide to stop the wide-hipped loli struggling to run, and easily place your taser slug in her broad rear. She goes stiff and falls flat on her face. Your taser slug is linked to $assistantName, but since the girl can't manage to flip over, let alone stand, shocking her more is unneeded. Fury glints from her eyes, but she fully realizes it's over for her. By the time you approach her, she's hoisted her overly wide rear upwards, presenting herself, moisture beginning to ooze from her virgin cunt. It looks like she was being groomed to be a breeding slave, and she seems to understand her role quite well, judging by the way she rocks her hips back and forth for you. You thoroughly enjoy her gratifyingly tight pussy, which is so nice that you confine yourself entirely to it despite the appealing sight of her virgin butthole. diff --git a/src/uncategorized/growthResearchInstitute.tw b/src/uncategorized/growthResearchInstitute.tw index 309d88077a9714251a850c01dc40c87544c08bb3..1450bc2ab09243959ee8ca311c0f9f25e5a00b25 100644 --- a/src/uncategorized/growthResearchInstitute.tw +++ b/src/uncategorized/growthResearchInstitute.tw @@ -13,6 +13,7 @@ <<GenerateMarketSlave "GRI">> <<slaveCost $activeSlave>> +<<setLocalPronouns $activeSlave>> <<if $GRI.schoolSale != 0>> <<set $slaveCost = Math.trunc($slaveCost*0.5)>> <<elseif $GRI.schoolUpgrade != 0>> @@ -23,16 +24,16 @@ <br><br>The price is <<print cashFormat($slaveCost)>>.<<if $slavesSeen > $slaveMarketLimit>> You have cast such a wide net for slaves this week that it is becoming more expensive to find more for sale. Your reputation helps determine your reach within the slave market.<</if>> <<if $cash >= $slaveCost>> - <br>[[Buy her and check out other slaves to order|Growth Research Institute][$cash -= $slaveCost, $GRI.schoolSale = 0, $GRI.studentsBought += 1, $newSlaves.push($activeSlave), $introType = "multi", $slavesSeen+=1]] + <br>[["Buy "+$his+" and check out other slaves to order"|Growth Research Institute][$cash -= $slaveCost, $GRI.schoolSale = 0, $GRI.studentsBought += 1, $newSlaves.push($activeSlave), $introType = "multi", $slavesSeen+=1]] <<if $newSlaves.length == 0>> - <br>[[Buy her slave contract|New Slave Intro][$cash -= $slaveCost, $GRI.schoolSale = 0, $GRI.studentsBought += 1, $nextButton = "Continue", $nextLink = "AS Dump", $returnTo = "Main"]] + <br>[["Buy "+$his+" slave contract"|New Slave Intro][$cash -= $slaveCost, $GRI.schoolSale = 0, $GRI.studentsBought += 1, $nextButton = "Continue", $nextLink = "AS Dump", $returnTo = "Main"]] <<else>> - <br>[[Buy her and Finish your order of slaves|Bulk Slave Intro][$cash -= $slaveCost, $GRI.schoolSale = 0, $GRI.studentsBought += 1, $newSlaves.push($activeSlave)]] + <br>[[["Buy "+$his+" and Finish your order of slaves"|Bulk Slave Intro][$cash -= $slaveCost, $GRI.schoolSale = 0, $GRI.studentsBought += 1, $newSlaves.push($activeSlave)]] <</if>> <<else>> //You lack the necessary funds to buy this slave.// <</if>> -<br>[[Decline to purchase her and check out another slave|Growth Research Institute][$slavesSeen += 1]] +<br>[["Decline to purchase "+$his+" and check out another slave"|Growth Research Institute][$slavesSeen += 1]] <<if $newSlaves.length > 0>> <br>[[Finish your order of slaves|Bulk Slave Intro]] <</if>> diff --git a/src/uncategorized/headGirlSuite.tw b/src/uncategorized/headGirlSuite.tw index 5ddc209624814256efad65075a94489ac0d0195e..9de9910d74951d5ec5ff9a3f00a1c6b48bf6d69c 100644 --- a/src/uncategorized/headGirlSuite.tw +++ b/src/uncategorized/headGirlSuite.tw @@ -11,12 +11,14 @@ <<if $HeadGirl == 0>> You have no Head Girl appointed to live in $HGSuiteName. <<elseif $HGSuiteSlaves > 0>> - Your Head Girl $HeadGirl.slaveName has $slaves[_i].slaveName living in $HGSuiteName with her, as her servant, assistant, and sexual appliance. + <<setLocalPronouns $HeadGirl>> + Your Head Girl $HeadGirl.slaveName has $slaves[_i].slaveName living in $HGSuiteName with $him, as $his servant, assistant, and sexual appliance. <<else>> - Your Head Girl $HeadGirl.slaveName lives alone in her handsome suite. + <<setLocalPronouns $HeadGirl>> + Your Head Girl $HeadGirl.slaveName lives alone in $his handsome suite. <</if>> -<br>//Any slave assigned to live with your Head Girl will become, for most practical purposes, her slave.// +<br>//Any slave assigned to live with your Head Girl will become, for most practical purposes, $his slave.// <br> <<if $HGSuiteEquality == 1>> @@ -25,21 +27,21 @@ The current Head Girl will ''remain Head Girl.'' [[Have them alternate|Head Girl Suite][$HGSuiteEquality = 1,$HGSuiteSurgery = 0,$HGSuiteDrugs = 0,$HGSuiteHormones = 0]] //This will only take effect if the other girl is an appropriate candidate// <br> <<if $HGSuiteSurgery == 1>> - She is ''allowed'' to use surgical modification on her slave. [[Disallow|Head Girl Suite][$HGSuiteSurgery = 0]] + $He is ''allowed'' to use surgical modification on $his slave. [[Disallow|Head Girl Suite][$HGSuiteSurgery = 0]] <<else>> - She is ''not allowed'' to use surgical modification on her slave. [[Allow|Head Girl Suite][$HGSuiteSurgery = 1]] + $He is ''not allowed'' to use surgical modification on $his slave. [[Allow|Head Girl Suite][$HGSuiteSurgery = 1]] <</if>> <br> <<if $HGSuiteDrugs == 1>> - She is ''allowed'' to use growth hormones on her slave. [[Disallow|Head Girl Suite][$HGSuiteDrugs = 0]] + $He is ''allowed'' to use growth hormones on $his slave. [[Disallow|Head Girl Suite][$HGSuiteDrugs = 0]] <<else>> - She is ''not allowed'' to use growth hormones on her slave. [[Allow|Head Girl Suite][$HGSuiteDrugs = 1]] + $He is ''not allowed'' to use growth hormones on $his slave. [[Allow|Head Girl Suite][$HGSuiteDrugs = 1]] <</if>> <br> <<if $HGSuiteHormones == 1>> - She is ''allowed'' to customize her slave with hormone treatments. [[Disallow|Head Girl Suite][$HGSuiteHormones = 0]] + $He is ''allowed'' to customize $his slave with hormone treatments. [[Disallow|Head Girl Suite][$HGSuiteHormones = 0]] <<else>> - She is ''not allowed'' to customize her slave with hormone treatments. [[Allow|Head Girl Suite][$HGSuiteHormones = 1]] + $He is ''not allowed'' to customize $his slave with hormone treatments. [[Allow|Head Girl Suite][$HGSuiteHormones = 1]] <</if>> <</if>> diff --git a/src/uncategorized/hgApplication.tw b/src/uncategorized/hgApplication.tw index 79829ee53291c01efc192080f2d283eed4642ca0..18bf290746645350282a037047fd010c30ed9cdc 100644 --- a/src/uncategorized/hgApplication.tw +++ b/src/uncategorized/hgApplication.tw @@ -1,5 +1,8 @@ :: HG Application [nobr] +<<setLocalPronouns $HeadGirl>> +<<setLocalPronouns $activeSlave 2>> + <<if ndef $HGSeverity>> <<set $HGSeverity = 0>> <</if>> @@ -25,76 +28,76 @@ <<case "flaw">> has an unpleasant flaw worth fixing. <<case "soften">> - has an unpleasant flaw that she can try to soften into a unique quirk. + has an unpleasant flaw that $he can try to soften into a unique quirk. <<case "oral skill">> - isn't as orally skilled as she is. + isn't as orally skilled as $he is. <<case "anal skill">> - isn't as skilled at taking anal as she is. + isn't as skilled at taking anal as $he is. <<case "fuck skill">> - isn't as skilled at vaginal intercourse as she is. + isn't as skilled at vaginal intercourse as $he is. <<case "whore skill">> - isn't as skilled at the fine art of sex for money as she is. + isn't as skilled at the fine art of sex for money as $he is. <<case "entertain skill">> - isn't as skilled at entertainment as she is. + isn't as skilled at entertainment as $he is. <</switch>> <<if $HGtraining == "health">> -She helps $activeSlave.slaveName however she can. The tender care has @@.green;improved $activeSlave.slaveName's health.@@ +$He helps $activeSlave.slaveName however $he can. The tender care has @@.green;improved $activeSlave.slaveName's health.@@ <<set $activeSlave.health += 10>> <<set $activeSlave.training = 0>> <<else>> <<if $HeadGirl.career == "an arcology owner">> - She was once an arcology owner herself, making her truly peerless as a Head Girl. + $He was once an arcology owner $himself, making $him truly peerless as a Head Girl. <<set _effectiveness += 50>> <<elseif setup.HGCareers.includes($HeadGirl.career)>> - She was used to giving commands and being obeyed in her life before she was a slave, experience she can call on now. + $He was used to giving commands and being obeyed in $his life before $he was a slave, experience $he can call on now. <<set _effectiveness += 5>> <<elseif $HeadGirl.skillHG >= $masteredXP>> - She is used to giving commands and being obeyed because of her experience being your Head Girl, making her more effective. + $He is used to giving commands and being obeyed through experience, rendering $him more effective. <<set _effectiveness += 5>> <</if>> <<if $HeadGirl.actualAge > 30>> - Her age and experience help her as she works with $activeSlave.slaveName. + $His age and experience help $him as $he works with $activeSlave.slaveName. <<elseif $HeadGirl.actualAge < 25 && $AgePenalty > 0>> - Her youth and inexperience impede her as she works with $activeSlave.slaveName. + $His youth and inexperience impede $him as $he works with $activeSlave.slaveName. <</if>> <<if $HeadGirl.accent >= 3>> - She does her best to give orders in $language, but has to resort to a lot of unseemly gesticulation and shouting, making her much less effective. + $He does $his best to give orders in $language, but has to resort to a lot of unseemly gesticulation and shouting, making $him much less effective. <<elseif $HeadGirl.accent == 2>> - Her heavy $HeadGirl.nationality accent impedes her clarity in $language, making her somewhat less effective. + $His heavy $HeadGirl.nationality accent impedes $his clarity in $language, making $him somewhat less effective. <</if>> <<if ($HGtraining == "obedience") || ($HGtraining == "flaw") || ($HGtraining == "soften")>> <<if $HeadGirl.intelligence+$HeadGirl.intelligenceImplant > 50>> <<if $activeSlave.intelligence+$activeSlave.intelligenceImplant > 50>> - She needs her wits about her to mold $activeSlave.slaveName, who's quite intelligent herself. + $He needs $his wits about $him to mold $activeSlave.slaveName, who's quite intelligent _himself2. <<elseif $activeSlave.intelligence+$activeSlave.intelligenceImplant >= -50>> - Her intelligence helps her mold $activeSlave.slaveName. + $His intelligence helps $him mold $activeSlave.slaveName. <<else>> - Molding $activeSlave.slaveName is very easy, especially for a smart Head Girl like her. + Molding $activeSlave.slaveName is very easy, especially for a smart Head Girl like $him. <</if>> <</if>> <<else>> <<if $HeadGirl.intelligence+$HeadGirl.intelligenceImplant > 50>> <<if $activeSlave.intelligence+$activeSlave.intelligenceImplant > 50>> - Both slaves are quite intelligent, making her job much easier. + Both slaves are quite intelligent, making $his job much easier. <<elseif $activeSlave.intelligence+$activeSlave.intelligenceImplant >= -50>> - She's quite intelligent and can teach $activeSlave.slaveName well. + $He's quite intelligent and can teach $activeSlave.slaveName well. <<else>> - She needs all her considerable intelligence to get through to the idiot she has to teach. + $He needs all $his considerable intelligence to get through to the idiot $he has to teach. <</if>> <</if>> <</if>> <<if $HGSeverity > 0>> - Your directives encourage her to rape any slave that fails in the slightest way, a task she approaches + Your directives encourage $him to rape any slave that fails in the slightest way, a task $he approaches <<if $HeadGirl.sexualFlaw == "abusive">> - eagerly, since she prefers to take her pleasure without consent. + eagerly, since $he prefers to take $his pleasure without consent. <<elseif $HeadGirl.fetish == "sadist">> with sadistic enthusiasm. <<elseif $HeadGirl.fetish == "dom">> @@ -102,22 +105,22 @@ She helps $activeSlave.slaveName however she can. The tender care has @@.green;i <<elseif $HeadGirl.energy > 95>> as a convenient way to <<if ($HeadGirl.balls > 0)>> - drain her perpetually overfilled balls into a series of spasming holes. + drain $his perpetually overfilled balls into a series of spasming holes. <<else>> - sate her excess sexual appetite. + sate $his excess sexual appetite. <</if>> <<else>> dutifully. <</if>> <<if $activeSlave.vagina == 0>> - In $activeSlave.slaveName's case, she's careful to limit her sexual abuse to things that won't take the girl's virginity. The slave + In $activeSlave.slaveName's case, $he's careful to limit _his2 sexual abuse to things that won't take the _girl2's virginity. The slave <<elseif $activeSlave.anus == 0>> - She's careful to molest $activeSlave.slaveName in ways that don't involve penetrating her virgin ass. The slave + $He's careful to molest $activeSlave.slaveName in ways that don't involve penetrating _his2 virgin ass. The slave <<else>> $activeSlave.slaveName <</if>> <<if $activeSlave.devotion > 50>> - accepts the abuse, believing she deserves to be raped. + accepts the abuse, believing _he2 deserves to be raped. <<elseif $activeSlave.devotion >= -20>> is @@.gold;frightened@@ by the unceasing abuse. <<set $activeSlave.trust -= 1>> @@ -126,37 +129,37 @@ She helps $activeSlave.slaveName however she can. The tender care has @@.green;i <<set $activeSlave.trust -= 1>> <<set $activeSlave.devotion -= 1>> <</if>> - $HeadGirl.slaveName makes sure her victim hates it, every time, and $activeSlave.slaveName can't help but do her very best to avoid this treatment. + $HeadGirl.slaveName makes sure $his victim hates it, every time, and $activeSlave.slaveName can't help but do _his2 very best to avoid this treatment. <<elseif $HGSeverity == 0>> - You allow her to use her own judgment when punishing failures, + You allow $him to use $his own judgment when punishing failures, <<if $HeadGirl.sexualFlaw == "abusive">> - and she usually decides in favor of forcing misbehaving slaves to get her off. + and $he usually decides in favor of forcing misbehaving slaves to get $him off. <<elseif $HeadGirl.fetish == "sadist">> - permission the sadist uses for her own gratification. + permission the sadist uses for $his own gratification. <<elseif $HeadGirl.fetish == "dom">> - which the dominant girl uses confidently. + which the dominant $girl uses confidently. <<elseif $HeadGirl.energy > 95>> - which she uses to + which $he uses to <<if ($HeadGirl.balls > 0)>> - force her subordinates to keep her balls drained. + force $his subordinates to keep $his balls drained. <<else>> - extract the constant sexual favors her libido demands. + extract the constant sexual favors $his libido demands. <</if>> <<else>> - and she does her best to be fair. + and $he does $his best to be fair. <</if>> $activeSlave.slaveName <<if $activeSlave.devotion > 50>> - is @@.mediumaquamarine;grateful@@ that she is punished justly when she makes mistakes. + is @@.mediumaquamarine;grateful@@ that _he2 is punished justly when _he2 makes mistakes. <<set $activeSlave.trust += 1>> <<elseif $activeSlave.devotion >= -20>> - does her best to learn quickly and avoid punishment. + does _his2 best to learn quickly and avoid punishment. <<else>> - is @@.gold;scared@@ by her inability to get away with the smallest disobedience. + is @@.gold;scared@@ by _his2 inability to get away with the smallest disobedience. <<set $activeSlave.trust -= 1>> <</if>> <<else>> - You require her to use respect when punishing; she does her best to motivate, but is unable to use real fear as a tool. $activeSlave.slaveName understands this, and @@.mediumaquamarine;trusts@@ that if she fails, the consequences won't be too awful. + You require $him to use respect when punishing; $he does $his best to motivate, but is unable to use real fear as a tool. $activeSlave.slaveName understands this, and @@.mediumaquamarine;trusts@@ that if _he2 fails, the consequences won't be too awful. <<set $activeSlave.trust += 1>> <</if>> @@ -165,15 +168,15 @@ She helps $activeSlave.slaveName however she can. The tender care has @@.green;i <<set $activeSlave.training = 0>> <<set _effectiveness -= ($activeSlave.intelligence+$activeSlave.intelligenceImplant)/3>> <<if _effectiveness <= 0>> - $activeSlave.slaveName is smart enough to complicate things; she manages to outwit her this week and makes no progress. + $activeSlave.slaveName is smart enough to complicate things; _he2 manages to outwit $him this week and makes no progress. <<else>> <<set $activeSlave.devotion += Math.ceil(_effectiveness/4)>> <<if $activeSlave.devotion < -50>> - She helps watch and restrain the rebellious $activeSlave.slaveName, helping wear her down, @@.gold;breaking $activeSlave.slaveName's rebelliousness.@@ + $He helps watch and restrain the rebellious $activeSlave.slaveName, helping wear _him2 down, @@.gold;breaking $activeSlave.slaveName's rebelliousness.@@ <<elseif $activeSlave.devotion < -20>> - She keeps $activeSlave.slaveName constantly aware of her slavery, @@.gold;breaking $activeSlave.slaveName's resistance.@@ + $He keeps $activeSlave.slaveName constantly aware of _his2 slavery, @@.gold;breaking $activeSlave.slaveName's resistance.@@ <<else>> - She acts as another pair of eyes watching $activeSlave.slaveName and metes out punishments, @@.gold;improving $activeSlave.slaveName's servitude.@@ + $He acts as another pair of eyes watching $activeSlave.slaveName and metes out punishments, @@.gold;improving $activeSlave.slaveName's servitude.@@ <</if>> <</if>> @@ -181,7 +184,7 @@ She helps $activeSlave.slaveName however she can. The tender care has @@.green;i <<set _effectiveness -= ($activeSlave.intelligence+$activeSlave.intelligenceImplant)/3>> <<set $activeSlave.training += _effectiveness>> -$HeadGirl.slaveName does her best to get $activeSlave.slaveName past it with punishments and rewards, +$HeadGirl.slaveName does $his best to get $activeSlave.slaveName past it with punishments and rewards, <<if $activeSlave.training > 100>> and @@.green;resolves $activeSlave.slaveName's paraphilia.@@ <<set $activeSlave.training = 0>> @@ -194,7 +197,7 @@ $HeadGirl.slaveName does her best to get $activeSlave.slaveName past it with pun <<set _effectiveness -= ($activeSlave.intelligence+$activeSlave.intelligenceImplant)/3>> <<set $activeSlave.training += _effectiveness>> -$HeadGirl.slaveName punishes $activeSlave.slaveName whenever she catches her indulging in her bad habits, +$HeadGirl.slaveName punishes $activeSlave.slaveName whenever $he catches _him2 indulging in _his2 bad habits, <<if $activeSlave.training > 100>> and @@.green;fixes $activeSlave.slaveName's flaw.@@ <<set $activeSlave.training = 0>> @@ -211,7 +214,7 @@ $HeadGirl.slaveName punishes $activeSlave.slaveName whenever she catches her ind <<set _effectiveness -= ($activeSlave.intelligence+$activeSlave.intelligenceImplant)/3>> <<set $activeSlave.training += _effectiveness>> -She punishes $activeSlave.slaveName whenever she sees her breaking the rules yet does her best to retain what makes the slave special, +$He punishes $activeSlave.slaveName whenever $he sees _him2 breaking the rules yet does $his best to retain what makes the slave special, <<if $activeSlave.training > 150>> <<set $activeSlave.training = 0>> and successfully @@.green;softens $activeSlave.slaveName's flaw.@@ @@ -228,16 +231,16 @@ She punishes $activeSlave.slaveName whenever she sees her breaking the rules yet <<set $activeSlave.training = 0>> <<if ($HeadGirl.fetish == "cumslut") && ($HeadGirl.fetishStrength > 60)>> - In spare moments she teaches $activeSlave.slaveName how to suck cocks, cunts, and assholes. Her enthusiasm for oral sex is infectious. $activeSlave.slaveName's @@.green;oral skills have improved.@@ + In spare moments $he teaches $activeSlave.slaveName how to suck cocks, cunts, and assholes. $His enthusiasm for oral sex is infectious. $activeSlave.slaveName's @@.green;oral skills have improved.@@ <<set $skillIncrease = random(5,10)>><<OralSkillIncrease $activeSlave>> -<<elseif ($HeadGirl.dick > 0) && canAchieveErection($HeadGirl) && $HeadGirl.dickAccessory != ("chastity")>> - In spare moments she teaches $activeSlave.slaveName how to suck cocks, cunts, and assholes. Your head girl uses her penis as an effective teaching tool. $activeSlave.slaveName's @@.green;oral skills have improved.@@ +<<elseif ($HeadGirl.dick > 0) && canPenetrate($HeadGirl)>> + In spare moments $he teaches $activeSlave.slaveName how to suck cocks, cunts, and assholes. Your head girl uses $his penis as an effective teaching tool. $activeSlave.slaveName's @@.green;oral skills have improved.@@ <<set $skillIncrease = random(5,10)>><<OralSkillIncrease $activeSlave>> <<elseif ($HeadGirl.clit > 2)>> - In spare moments she teaches $activeSlave.slaveName how to suck cocks, cunts, and assholes. Your head girl uses her pseudophallus-sized clit as an effective teaching tool. $activeSlave.slaveName's @@.green;oral skills have improved.@@ + In spare moments $he teaches $activeSlave.slaveName how to suck cocks, cunts, and assholes. Your head girl uses $his pseudophallus-sized clit as an effective teaching tool. $activeSlave.slaveName's @@.green;oral skills have improved.@@ <<set $skillIncrease = random(5,10)>><<OralSkillIncrease $activeSlave>> <<else>> - In spare moments she teaches $activeSlave.slaveName how to suck cocks, cunts, and assholes. $activeSlave.slaveName's @@.green;oral skills have improved.@@ + In spare moments $he teaches $activeSlave.slaveName how to suck cocks, cunts, and assholes. $activeSlave.slaveName's @@.green;oral skills have improved.@@ <</if>> <<set $skillIncrease = Math.ceil(_effectiveness/10)>><<OralSkillIncrease $activeSlave>> @@ -245,16 +248,16 @@ She punishes $activeSlave.slaveName whenever she sees her breaking the rules yet <<set $activeSlave.training = 0>> <<if ($HeadGirl.fetish == "buttslut") && ($HeadGirl.fetishStrength > 60)>> - In spare moments she teaches $activeSlave.slaveName how to take it up the ass. Your head girl's enthusiasm for backdoor loving is infectious. $activeSlave.slaveName's @@.green;anal skills have improved.@@ + In spare moments $he teaches $activeSlave.slaveName how to take it up the ass. Your head girl's enthusiasm for backdoor loving is infectious. $activeSlave.slaveName's @@.green;anal skills have improved.@@ <<set $skillIncrease = random(5,10)>><<AnalSkillIncrease $activeSlave>> -<<elseif ($HeadGirl.dick > 0) && canAchieveErection($HeadGirl) && $HeadGirl.dickAccessory != ("chastity")>> - In spare moments she teaches $activeSlave.slaveName how to take a dick up the butt. Your head girl uses her penis as an effective teaching tool. $activeSlave.slaveName's @@.green;anal skills have improved.@@ +<<elseif ($HeadGirl.dick > 0) && canPenetrate($HeadGirl)>> + In spare moments $he teaches $activeSlave.slaveName how to take a dick up the butt. Your head girl uses $his penis as an effective teaching tool. $activeSlave.slaveName's @@.green;anal skills have improved.@@ <<set $skillIncrease = random(5,10)>><<AnalSkillIncrease $activeSlave>> <<elseif ($HeadGirl.clit > 2)>> - In spare moments she teaches $activeSlave.slaveName how to take a phallus up the butt. Your head girl uses her pseudophallus-sized clit as an effective teaching tool. $activeSlave.slaveName's @@.green;anal skills have improved.@@ + In spare moments $he teaches $activeSlave.slaveName how to take a phallus up the butt. Your head girl uses $his pseudophallus-sized clit as an effective teaching tool. $activeSlave.slaveName's @@.green;anal skills have improved.@@ <<set $skillIncrease = random(5,10)>><<AnalSkillIncrease $activeSlave>> <<else>> - In spare moments she teaches $activeSlave.slaveName how to take a dick up the butt. $activeSlave.slaveName's @@.green;anal skills have improved.@@ + In spare moments $he teaches $activeSlave.slaveName how to take a dick up the butt. $activeSlave.slaveName's @@.green;anal skills have improved.@@ <</if>> <<set $skillIncrease = Math.ceil(_effectiveness/10)>><<AnalSkillIncrease $activeSlave>> @@ -262,33 +265,33 @@ She punishes $activeSlave.slaveName whenever she sees her breaking the rules yet <<set $activeSlave.training = 0>> <<if ($HeadGirl.energy > 95)>> - In spare moments she teaches $activeSlave.slaveName how to take a dick. Your head girl's enthusiasm for sex is infectious. $activeSlave.slaveName's @@.green;vanilla sex skills have improved.@@ + In spare moments $he teaches $activeSlave.slaveName how to take a dick. Your head girl's enthusiasm for sex is infectious. $activeSlave.slaveName's @@.green;vanilla sex skills have improved.@@ <<set $skillIncrease = random(5,10)>><<VaginalSkillIncrease $activeSlave>> -<<elseif ($HeadGirl.dick > 0) && canAchieveErection($HeadGirl) && $HeadGirl.dickAccessory != ("chastity")>> - In spare moments she teaches $activeSlave.slaveName how to take a dick. Your head girl uses her penis as an effective teaching tool. $activeSlave.slaveName's @@.green;vanilla sex skills have improved.@@ +<<elseif ($HeadGirl.dick > 0) && canPenetrate($HeadGirl)>> + In spare moments $he teaches $activeSlave.slaveName how to take a dick. Your head girl uses $his penis as an effective teaching tool. $activeSlave.slaveName's @@.green;vanilla sex skills have improved.@@ <<set $skillIncrease = random(5,10)>><<VaginalSkillIncrease $activeSlave>> <<elseif ($HeadGirl.clit > 2)>> - In spare moments she teaches $activeSlave.slaveName how to take a phallus. Your head girl uses her pseudophallus-sized clit as an effective teaching tool. $activeSlave.slaveName's @@.green;vanilla sex skills have improved.@@ + In spare moments $he teaches $activeSlave.slaveName how to take a phallus. Your head girl uses $his pseudophallus-sized clit as an effective teaching tool. $activeSlave.slaveName's @@.green;vanilla sex skills have improved.@@ <<set $skillIncrease = random(5,10)>><<VaginalSkillIncrease $activeSlave>> <<else>> - In spare moments she teaches $activeSlave.slaveName how to take a dick. $activeSlave.slaveName's @@.green;vanilla sex skills have improved.@@ + In spare moments $he teaches $activeSlave.slaveName how to take a dick. $activeSlave.slaveName's @@.green;vanilla sex skills have improved.@@ <</if>> <<set $skillIncrease = Math.ceil(_effectiveness/10)>><<VaginalSkillIncrease $activeSlave>> <<elseif $HGtraining == "whore skill">> <<set $activeSlave.training = 0>> -In spare moments she teaches $activeSlave.slaveName how to prostitute herself. $activeSlave.slaveName's @@.green;whoring skills have improved.@@ +In spare moments $he teaches $activeSlave.slaveName how to prostitute _himself2. $activeSlave.slaveName's @@.green;whoring skills have improved.@@ <<set $skillIncrease = Math.ceil(_effectiveness/10)>><<WhoreSkillIncrease $activeSlave>> <<elseif $HGtraining == "entertain skill">> <<set $activeSlave.training = 0>> <<if ($HeadGirl.fetish == "humiliation") && ($HeadGirl.fetishStrength > 60)>> - In spare moments she teaches $activeSlave.slaveName how to entertain. Your head girl's enthusiasm for public display is infectious. $activeSlave.slaveName's @@.green;entertainment skills have improved.@@ + In spare moments $he teaches $activeSlave.slaveName how to entertain. Your head girl's enthusiasm for public display is infectious. $activeSlave.slaveName's @@.green;entertainment skills have improved.@@ <<set $skillIncrease = random(5,10)>><<EntertainSkillIncrease $activeSlave>> <<else>> - In spare moments she teaches $activeSlave.slaveName how to entertain. $activeSlave.slaveName's @@.green;entertainment skills have improved.@@ + In spare moments $he teaches $activeSlave.slaveName how to entertain. $activeSlave.slaveName's @@.green;entertainment skills have improved.@@ <</if>> <<set $skillIncrease = Math.ceil(_effectiveness/10)>><<EntertainSkillIncrease $activeSlave>> @@ -298,7 +301,7 @@ In spare moments she teaches $activeSlave.slaveName how to prostitute herself. $ <<if ($activeSlave.devotion >= -20)>> <<if ($activeSlave.attrKnown == 0)>> <<set $activeSlave.attrKnown = 1>> - $HeadGirl.slaveName also investigates the slave's basic sexual orientation, finding that she is + $HeadGirl.slaveName also investigates the slave's basic sexual orientation, finding that _he2 is <<if ($activeSlave.attrXY <= 40)>> @@.red;disgusted by men@@ <<elseif ($activeSlave.attrXY <= 60)>> @@ -321,9 +324,7 @@ In spare moments she teaches $activeSlave.slaveName how to prostitute herself. $ <</if>> <</if>> -<<if $activeSlave.devotion >= -20>> -<<if $activeSlave.genes == "XY">> -<<if $activeSlave.attrXY <= 35>> +<<if $activeSlave.devotion >= -20 && $activeSlave.genes == "XY" && $activeSlave.attrXY <= 35>> <<set _piercingForbidden = 0>> <<for _i = 0; _i < 1; _i++>> <<if $activeSlave.earPiercing == 0>> @@ -332,7 +333,7 @@ In spare moments she teaches $activeSlave.slaveName how to prostitute herself. $ <<if $activeSlave.earPiercing != $slaveAfterRA.earPiercing>> <<set _piercingForbidden = 1, $activeSlave.earPiercing = 0>> <<else>> - $HeadGirl.slaveName knows that $activeSlave.slaveName needs help adjusting to life as a slave girl, so she has the slave's ears pierced. A little feminine touch can make a big difference. + $HeadGirl.slaveName knows that $activeSlave.slaveName needs help adjusting to life as a slave _girl2, so $he has the slave's ears pierced. A little feminine touch can make a big difference. <<set $cash -= $modCost>> <<break>> <</if>> @@ -343,7 +344,7 @@ In spare moments she teaches $activeSlave.slaveName how to prostitute herself. $ <<if $activeSlave.nosePiercing != $slaveAfterRA.nosePiercing>> <<set _piercingForbidden = 1, $activeSlave.nosePiercing = 0>> <<else>> - $HeadGirl.slaveName knows that $activeSlave.slaveName needs help adjusting to life as a slave girl, so she gives the slave a cute little nose piercing. It should help $activeSlave.slaveName see herself as a bit more feminine. + $HeadGirl.slaveName knows that $activeSlave.slaveName needs help adjusting to life as a slave _girl2, so $he gives the slave a cute little nose piercing. It should help $activeSlave.slaveName see _himself2 as a bit more feminine. <<set $cash -= $modCost>> <<break>> <</if>> @@ -354,7 +355,7 @@ In spare moments she teaches $activeSlave.slaveName how to prostitute herself. $ <<if $activeSlave.eyebrowPiercing != $slaveAfterRA.eyebrowPiercing>> <<set _piercingForbidden = 1, $activeSlave.eyebrowPiercing = 0>> <<else>> - $HeadGirl.slaveName knows that $activeSlave.slaveName needs help adjusting to life as a slave girl, so she gives the slave a cute little eyebrow piercing. A slutty touch for a teenage girl should help her feel a little hungrier for cock. + $HeadGirl.slaveName knows that $activeSlave.slaveName needs help adjusting to life as a slave _girl2, so $he gives the slave a cute little eyebrow piercing. A slutty touch for a teenage _girl2 should help _him2 feel a little hungrier for cock. <<set $cash -= $modCost>> <<break>> <</if>> @@ -365,7 +366,7 @@ In spare moments she teaches $activeSlave.slaveName how to prostitute herself. $ <<if $activeSlave.lipsPiercing != $slaveAfterRA.lipsPiercing>> <<set _piercingForbidden = 1, $activeSlave.lipsPiercing = 0>> <<else>> - $HeadGirl.slaveName knows that $activeSlave.slaveName needs help adjusting to life as a slave girl, so she has the slave's lower lip pierced. Her mouth is for pleasing penises now, so it'll help her if it looks like it. + $HeadGirl.slaveName knows that $activeSlave.slaveName needs help adjusting to life as a slave _girl2, so $he has the slave's lower lip pierced. _His2 mouth is for pleasing penises now, so it'll help _him2 if it looks like it. <<set $cash -= $modCost>> <<break>> <</if>> @@ -376,7 +377,7 @@ In spare moments she teaches $activeSlave.slaveName how to prostitute herself. $ <<if $activeSlave.navelPiercing != $slaveAfterRA.navelPiercing>> <<set _piercingForbidden = 1, $activeSlave.navelPiercing = 0>> <<else>> - $HeadGirl.slaveName knows that $activeSlave.slaveName needs help adjusting to life as a slave girl, so she has the slave's navel pierced. The prettier her lower half looks, the less reluctant she should feel to take it up the butt. + $HeadGirl.slaveName knows that $activeSlave.slaveName needs help adjusting to life as a slave _girl2, so $he has the slave's navel pierced. The prettier _his2 lower half looks, the less reluctant _he2 should feel to take it up the butt. <<set $cash -= $modCost>> <<break>> <</if>> @@ -384,11 +385,9 @@ In spare moments she teaches $activeSlave.slaveName how to prostitute herself. $ <<break>> <</for>> <<if _piercingForbidden>> - $HeadGirl.slaveName thinks some cute piercings might help $activeSlave.slaveName adjust to life as a slave girl, but she also knows you have rules applied to this slave that forbid it. + $HeadGirl.slaveName thinks some cute piercings might help $activeSlave.slaveName adjust to life as a slave _girl2, but $he also knows you have rules applied to this slave that forbid it. <</if>> <</if>> -<</if>> -<</if>> <<set $slaves[$slaveIndices[$activeSlave.ID]] = $activeSlave>> /* save changes */ diff --git a/src/uncategorized/hgSelect.tw b/src/uncategorized/hgSelect.tw index 2800059da2493567e87cced258508886cc5d916a..9fcb6453d69e06c1962e67130af7329dba36c0a7 100644 --- a/src/uncategorized/hgSelect.tw +++ b/src/uncategorized/hgSelect.tw @@ -8,6 +8,7 @@ <<set _HGName = "Your Head Girl">> <<if ($HeadGirl != 0)>> <<set $HeadGirl = getSlave($HeadGirl.ID)>> + <<setLocalPronouns $HeadGirl>> <<if $surnameOrder != 1>> <<switch $HeadGirl.nationality>> <<case "Cambodian" "Chinese" "Hungarian" "Japanese" "Korean" "Mongolian" "Taiwanese" "Vietnamese">> @@ -24,7 +25,7 @@ <<set _HGName = $HeadGirl.slaveName>> <<if $HeadGirl.slaveSurname>><<set _HGName += " " + $HeadGirl.slaveSurname>><</if>> <</if>> - ''__@@.pink;_HGName@@__'' is serving as your Head Girl<<if $arcologies[0].FSEgyptianRevivalistLaw == 1>> and Consort; it is her role to serve and comfort you at your side, in addition to performing normal head girl duties<</if>>. + ''__@@.pink;_HGName@@__'' is serving as your Head Girl<<if $arcologies[0].FSEgyptianRevivalistLaw == 1>> and Consort; it is $his role to serve and comfort you at your side, in addition to performing normal head girl duties<</if>>. <br><br> <</if>> @@ -83,18 +84,18 @@ _HGName <br><br>_HGName is responsible for impregnating fertile slaves. <<set $HGCum = 2+Math.trunc(($HeadGirl.balls/5)+($HeadGirl.energy/95)+($HeadGirl.health/95)+($HeadGirl.devotion/95)+($reproductionFormula*5))>> <<if canPenetrate($HeadGirl) && $HeadGirl.pubertyXY == 1>> - To maximize the chances of impregnation, she will fuck fertile pussies frequently during the week. $HeadGirl.slaveName can service $HGCum slaves this way. - <<if $HeadGirl.devotion > 95>>She loves you so much she'll fuck them until she's sore.<<else>>If she were more devoted to you, she might be able to drive herself to get hard and service one more.<</if>> - <<if $HeadGirl.balls >= 120>>Her unreal balls produce nearly an endless supply of semen; her ability to impregnate is almost limitless.<<elseif $HeadGirl.balls >= 80>>Her inhuman balls produce so much semen she can easily impregnate twenty girls in one sitting.<<elseif $HeadGirl.balls >= 50>>Her giant balls produce so much semen she can easily impregnate twelve girls in one sitting.<<elseif $HeadGirl.balls >= 25>>Her oversized balls produce so much semen she can cum repeatedly in a single session.<<elseif $HeadGirl.balls >= 5>>Her big balls produce so much semen she can cum more before she's drained.<<else>>Bigger balls would let her cum more before she's drained.<</if>> - <<if $HeadGirl.health > 95>>Her wonderful health lets her get hard and stay hard all the time.<<else>>If her health were perfect, she might be able to get hard more often.<</if>> - <<if $HeadGirl.energy > 95>>Her nymphomania drives her to go above and beyond in this.<<else>>A more powerful sex drive could reduce her refractory period.<</if>> + To maximize the chances of impregnation, $he will fuck fertile pussies frequently during the week. $HeadGirl.slaveName can service $HGCum slaves this way. + <<if $HeadGirl.devotion > 95>>$He loves you so much $he'll fuck them until $he's sore.<<else>>If $he were more devoted to you, $he might be able to drive herself to get hard and service one more.<</if>> + <<if $HeadGirl.balls >= 120>>$His unreal balls produce nearly an endless supply of semen; $his ability to impregnate is almost limitless.<<elseif $HeadGirl.balls >= 80>>$His inhuman balls produce so much semen $he can easily impregnate twenty girls in one sitting.<<elseif $HeadGirl.balls >= 50>>$His giant balls produce so much semen $he can easily impregnate twelve girls in one sitting.<<elseif $HeadGirl.balls >= 25>>$His oversized balls produce so much semen $he can cum repeatedly in a single session.<<elseif $HeadGirl.balls >= 5>>$His big balls produce so much semen $he can cum more before $he's drained.<<else>>Bigger balls would let $him cum more before $he's drained.<</if>> + <<if $HeadGirl.health > 95>>$His wonderful health lets $him get hard and stay hard all the time.<<else>>If $his health were perfect, $he might be able to get hard more often.<</if>> + <<if $HeadGirl.energy > 95>>$His nymphomania drives $his to go above and beyond in this.<<else>>A more powerful sex drive could reduce $his refractory period.<</if>> <<else>> However, $HeadGirl.slaveName cannot perform this duty. <</if>> - [[Rescind her impregnation responsibility|HG Select][$universalRulesImpregnation = "none"]] | [[See to it yourself|HG Select][$universalRulesImpregnation = "PC"]] + [["Rescind "+$his+" impregnation responsibility"|HG Select][$universalRulesImpregnation = "none"]] | [[See to it yourself|HG Select][$universalRulesImpregnation = "PC"]] <<else>> <<if canPenetrate($HeadGirl) && $HeadGirl.pubertyXY == 1>> - <br><br>_HGName is capable of impregnating slaves, but it's not part of her responsibilities. [[Assign her to impregnate|HG Select][$universalRulesImpregnation = "HG"]] + <br><br>_HGName is capable of impregnating slaves, but it's not part of $his responsibilities. [["Assign "+$his+" to impregnate"|HG Select][$universalRulesImpregnation = "HG"]] <</if>> <</if>> <</if>> diff --git a/src/uncategorized/seLethalPit.tw b/src/uncategorized/seLethalPit.tw index b6a750c85c00d35672c0e87eff33697394c78c3c..e6a8efe6fdde86682d24afe65dd7c19c2c7fe995 100644 --- a/src/uncategorized/seLethalPit.tw +++ b/src/uncategorized/seLethalPit.tw @@ -783,6 +783,10 @@ In any case, <<if $pitAnimal == 0>>both of the slaves have<<else>>the slave and <<if $pitBG == 0 || ($Bodyguard.ID != _winner.ID)>> <<set $fighterIDs.push(_winner.ID)>> <</if>> + <<if $pitAnimal == 0>> + <<set $activeSlave = getSlave(_loser.ID)>> + <<include "Remove activeSlave">> + <</if>> <<else>> <<set $activeSlave = getSlave(_loser.ID)>> <<include "Remove activeSlave">> diff --git a/src/utility/descriptionWidgetsFlesh.tw b/src/utility/descriptionWidgetsFlesh.tw index b4de6475dac63973f36c65298085fff6bc559ed2..2050ebf44157b59510a64de0f1b3dd13a9b3d900 100644 --- a/src/utility/descriptionWidgetsFlesh.tw +++ b/src/utility/descriptionWidgetsFlesh.tw @@ -7167,7 +7167,7 @@ $He has <<else>> $activeSlave.slaveName's unfathomable, hyper-swollen pregnancy is craddled by an equally oversized support band <</if>> - doing its best to try and lesson the strain on $his body. + doing its best to alleviate the strain on $his body. <<elseif $activeSlave.belly >= 750000>> <<if $activeSlave.bellyFluid >= $activeSlave.bellyPreg && $activeSlave.bellyFluid >= $activeSlave.bellyImplant>> <<elseif $activeSlave.bellyImplant > 0>> @@ -7191,7 +7191,7 @@ $He has <<else>> $activeSlave.slaveName's gigantic pregnant belly strains against $his extra large support band <</if>> - as it dutifully lessons the stress on $his body. + as it dutifully alleviates the stress on $his body. <<elseif $activeSlave.belly >= 300000>> <<if $activeSlave.bellyFluid >= $activeSlave.bellyPreg && $activeSlave.bellyFluid >= $activeSlave.bellyImplant>> <<elseif $activeSlave.bellyImplant > 0>> @@ -7215,7 +7215,7 @@ $He has <<else>> $activeSlave.slaveName's giant pregnant belly strains against $his support band <</if>> - as it dutifully lessons the stress on $his body. + as it dutifully alleviates the stress on $his body. <<elseif $activeSlave.belly >= 30000>> <<if $activeSlave.bellyFluid >= $activeSlave.bellyPreg && $activeSlave.bellyFluid >= $activeSlave.bellyImplant>> <<elseif $activeSlave.bellyImplant > 0>> @@ -7233,7 +7233,7 @@ $He has <<else>> $activeSlave.slaveName's huge pregnant belly is craddled by $his support band, <</if>> - lowering the strain to $his back. + reducing the strain on $his back. <<elseif $activeSlave.belly >= 10000 || ($activeSlave.bellyAccessory == "a large empathy belly")>> <<if $activeSlave.bellyFluid >= $activeSlave.bellyPreg && $activeSlave.bellyFluid >= $activeSlave.bellyImplant>> $activeSlave.slaveName's hugely swollen belly is craddled by $his support band, @@ -7242,7 +7242,7 @@ $He has <<else>> $activeSlave.slaveName's big pregnant belly is craddled by $his support band, <</if>> - lowering the strain to $his back. + reducing the strain on $his back. <<elseif $activeSlave.weight > 160>> $activeSlave.slaveName's giant gut is craddled by $his support band, giving it a rather smooth appearance. <<elseif $activeSlave.weight > 130>> diff --git a/src/utility/slaveCreationWidgets.tw b/src/utility/slaveCreationWidgets.tw index 054a3f108607ea9bf0f359eee10c0ef37f29356d..c1ef5f458a8244ec52fe1b196af19d849c13bf1b 100644 --- a/src/utility/slaveCreationWidgets.tw +++ b/src/utility/slaveCreationWidgets.tw @@ -3446,6 +3446,7 @@ <<set $activeSlave.origin = "You bought her from the enigmatic Futanari Sisters after they sold her into slavery.">> <<set $activeSlave.career = "a Futanari Sister">> <<set $activeSlave.faceShape = either("sensual", "exotic")>> + <<set $activeSlave.pubertyXY = 1>> <<set _sisterAge = random(1,5)>> <<if _sisterAge == 1>> <<set $activeSlave.intelligence = -60>> @@ -3613,6 +3614,7 @@ <<if $TFS.farmUpgrade > 0>> <<set $activeSlave.ovaries = 1>> <<set $activeSlave.preg = -1>> + <<set $activeSlave.pubertyXX = 1>> <<if $TFS.farmUpgrade >= 2>> <<if $week - $TFS.farmUpgradeAsked < 35>> <<set $activeSlave.preg = random(1,($week - $TFS.farmUpgradeAsked))>>