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 () {