diff --git a/.gitattributes b/.gitattributes index 5e76e859a615ca4605797792a20a3902a9fa63df..24a33ca406126585ede3e9287d1672ddd150724a 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,8 +1,9 @@ -*.bat text eol=crlf -*.tw text eol=lf -*.sh text eol=lf -*.py text eol=lf -*.txt text eol=lf -compile text eol=lf -compile-git text eol=lf -sanityCheck text eol=lf +*.bat text eol=crlf +*.js text eol=lf +*.tw text eol=lf +*.sh text eol=lf +*.py text eol=lf +*.txt text eol=lf +compile text eol=lf +compile-git text eol=lf +sanityCheck text eol=lf diff --git a/src/js/DefaultRules.js b/src/js/DefaultRules.js index eee279a64b79f0d95ec9e9399c1b7eef12a4f12c..675dbf18ddea0bbb34a80630feb1acd46b4cc49b 100644 --- a/src/js/DefaultRules.js +++ b/src/js/DefaultRules.js @@ -11,7 +11,7 @@ window.DefaultRules = (function() { /** @param {App.Entity.SlaveState} slave */ function DefaultRules(slave) { - if (slave.useRulesAssistant === 0) return r; //exempted + if (slave.useRulesAssistant === 0) return r; // exempted V = State.variables; r = ""; @@ -23,7 +23,7 @@ window.DefaultRules = (function() { if (Object.keys(rule).length === 0) return r; // no rules apply AssignJobToSlave(slave, rule); - if(slave.fuckdoll === 0) { + if (slave.fuckdoll === 0) { ProcessClothing(slave, rule); ProcessCollar(slave, rule); ProcessEyewear(slave, rule); @@ -37,10 +37,12 @@ window.DefaultRules = (function() { ProcessLegAccessory(slave, rule); } ProcessBellyImplant(slave, rule); - if (isFertile(slave) || slave.pregWeek < 0) + if (isFertile(slave) || slave.pregWeek < 0) { ProcessContraceptives(slave, rule); - if (slave.preg > 0 && slave.pregKnown == 1 && slave.broodmother == 0) + } + if (slave.preg > 0 && slave.pregKnown == 1 && slave.broodmother == 0) { ProcessAbortions(slave, rule); + } ProcessOtherDrugs(slave, rule); ProcessAssetGrowthDrugs(slave, rule); ProcessEnema(slave, rule); @@ -50,7 +52,7 @@ window.DefaultRules = (function() { ProcessPenisHormones(slave, rule); ProcessFemaleHormones(slave, rule); ProcessPregnancyDrugs(slave, rule); - if(slave.fuckdoll === 0) { + if (slave.fuckdoll === 0) { ProcessLivingStandard(slave, rule); ProcessSpeech(slave, rule); ProcessRelationship(slave, rule); @@ -61,8 +63,9 @@ window.DefaultRules = (function() { ProcessToyHole(slave, rule); ProcessDietCum(slave, rule); ProcessDietMilk(slave, rule); - if (V.arcologies[0].FSHedonisticDecadenceResearch === 1) + if (V.arcologies[0].FSHedonisticDecadenceResearch === 1) { ProcessSolidFood(slave, rule); + } ProcessTeeth(slave, rule); ProcessStyle(slave, rule); ProcessPiercings(slave, rule); @@ -77,9 +80,9 @@ window.DefaultRules = (function() { /** @param {App.Entity.SlaveState} slave */ function MergeRules(slave) { // merge all rules applying on a slave into one big rule - const rules = V.defaultRules.filter(x => ruleAppliesP(x.condition, slave)); - slave.currentRules = rules.map(x => x.ID); - return mergeRules(rules.map(x => ProcessAssignments(slave, Object.assign({}, x.set)))); + const rules = V.defaultRules.filter((x) => ruleAppliesP(x.condition, slave)); + slave.currentRules = rules.map((x) => x.ID); + return mergeRules(rules.map((x) => ProcessAssignments(slave, Object.assign({}, x.set)))); } /** @param {App.Entity.SlaveState} slave */ @@ -93,77 +96,76 @@ window.DefaultRules = (function() { case "rest": case "please you": - case "choose her own job": // slaves always qualify for this assignment break; case "live with your Head Girl": - if ((V.HGSuiteSlaves < 1 && slave.indentureRestrictions <= 0)) + if ((V.HGSuiteSlaves < 1 && slave.indentureRestrictions <= 0)) { break; - else { + } else { RAFacilityRemove(slave, rule); // before deleting rule.setAssignment delete rule.setAssignment; } break; case "be confined in the arcade": - if ((V.arcadeSlaves < V.arcade && slave.indentureRestrictions <= 0 && (slave.breedingMark !== 1 || V.propOutcome === 0))) + if ((V.arcadeSlaves < V.arcade && slave.indentureRestrictions <= 0 && (slave.breedingMark !== 1 || V.propOutcome === 0))) { break; - else { + } else { RAFacilityRemove(slave, rule); // before deleting rule.setAssignment delete rule.setAssignment; } break; case "serve in the master suite": - if ((V.masterSuiteSlaves < V.masterSuite && (slave.devotion > 20 || slave.trust < -50 || (slave.devotion >= -50 && slave.trust < -20)))) + if ((V.masterSuiteSlaves < V.masterSuite && (slave.devotion > 20 || slave.trust < -50 || (slave.devotion >= -50 && slave.trust < -20)))) { break; - else { + } else { RAFacilityRemove(slave, rule); // before deleting rule.setAssignment delete rule.setAssignment; } break; case "get treatment in the clinic": - if ((V.clinicSlaves < V.clinic && (slave.health < 20 || (slave.chem > 15 && V.Nurse !== 0 && V.clinicUpgradeFilters === 1)) || ((slave.bellyImplant > -1) && (V.bellyImplants === 1)) || slave.preg > 1)) + if ((V.clinicSlaves < V.clinic && (slave.health < 20 || (slave.chem > 15 && V.Nurse !== 0 && V.clinicUpgradeFilters === 1)) || ((slave.bellyImplant > -1) && (V.bellyImplants === 1)) || slave.preg > 1)) { break; - else { + } else { RAFacilityRemove(slave, rule); // before deleting rule.setAssignment delete rule.setAssignment; } break; case "rest in the spa": - if ((V.spaSlaves < V.spa) && (slave.health < 20) || (slave.trust < 60) || (slave.devotion <= 60) || (slave.fetish === "mindbroken") && (slave.devotion >= -20)) + if ((V.spaSlaves < V.spa) && (slave.health < 20) || (slave.trust < 60) || (slave.devotion <= 60) || (slave.fetish === "mindbroken") && (slave.devotion >= -20)) { break; - else { - RAFacilityRemove(slave,rule); // before deleting rule.setAssignment + } else { + RAFacilityRemove(slave, rule); // before deleting rule.setAssignment delete rule.setAssignment; } break; case "work as a nanny": - if ((V.nurserySlaves < V.nursery) && !slave.fuckdoll && (slave.devotion > 20 || slave.trust > 20)) + if ((V.nurserySlaves < V.nursery) && !slave.fuckdoll && (slave.devotion > 20 || slave.trust > 20)) { break; - else { + } else { RAFacilityRemove(slave, rule); // before deleting rule.setAssignment delete rule.setAssignment; } break; case "work in the brothel": - if ((V.brothelSlaves < V.brothel && (slave.devotion > 50 || slave.trust > 50 || slave.trust < -50 || (slave.devotion >= -50 && slave.trust < -20)) && (slave.breedingMark !== 1 || V.propOutcome === 0))) + if ((V.brothelSlaves < V.brothel && (slave.devotion > 50 || slave.trust > 50 || slave.trust < -50 || (slave.devotion >= -50 && slave.trust < -20)) && (slave.breedingMark !== 1 || V.propOutcome === 0))) { break; - else { + } else { RAFacilityRemove(slave, rule); // before deleting rule.setAssignment delete rule.setAssignment; } break; case "serve in the club": - if ((V.clubSlaves < V.club && (slave.devotion > 50 || slave.trust > 50 || slave.trust < -50 || (slave.devotion >= -50 && slave.trust < -20)) && (slave.breedingMark !== 1 || V.propOutcome === 0))) + if ((V.clubSlaves < V.club && (slave.devotion > 50 || slave.trust > 50 || slave.trust < -50 || (slave.devotion >= -50 && slave.trust < -20)) && (slave.breedingMark !== 1 || V.propOutcome === 0))) { break; - else { + } else { RAFacilityRemove(slave, rule); // before deleting rule.setAssignment delete rule.setAssignment; } @@ -171,30 +173,30 @@ window.DefaultRules = (function() { case "work in the dairy": if ((V.dairy > V.dairySlaves+V.bioreactorsXY+V.bioreactorsXX+V.bioreactorsHerm+V.bioreactorsBarren)) { - if ((slave.indentureRestrictions > 0) && (V.dairyRestraintsSetting > 1)) + if ((slave.indentureRestrictions > 0) && (V.dairyRestraintsSetting > 1)) { break; - else if (((slave.indentureRestrictions > 1) && (V.dairyRestraintsSetting > 0)) || (slave.breedingMark === 1 && V.propOutcome === 1 && V.dairyRestriantsSettings > 0) || ((V.dairyPregSetting > 0) && ((slave.bellyImplant !== -1) || (slave.broodmother !== 0)))) + } else if (((slave.indentureRestrictions > 1) && (V.dairyRestraintsSetting > 0)) || (slave.breedingMark === 1 && V.propOutcome === 1 && V.dairyRestriantsSettings > 0) || ((V.dairyPregSetting > 0) && ((slave.bellyImplant !== -1) || (slave.broodmother !== 0)))) { break; - else { + } else { if ((slave.lactation > 0 || ((V.dairySlimMaintainUpgrade === 0 || V.dairySlimMaintain === 0) && (slave.boobs > 300 || slave.dick === 0 || V.dairyImplantsSetting === 1) && V.dairyImplantsSetting !== 2)) || (slave.balls > 0)) { if ((slave.devotion > 20) || ((slave.devotion >= -50) && (slave.trust < -20)) || (slave.trust < -50) || (slave.amp === 1) || (V.dairyRestraintsUpgrade === 1)) { if ((V.dairyStimulatorsSetting < 2) || (slave.anus > 2) || (V.dairyPrepUpgrade === 1)) { - if ((V.dairyPregSetting < 2) || (slave.vagina > 2) || (slave.ovaries === 0) || (V.dairyPrepUpgrade === 1)) + if ((V.dairyPregSetting < 2) || (slave.vagina > 2) || (slave.ovaries === 0) || (V.dairyPrepUpgrade === 1)) { break; - else { - RAFacilityRemove(slave,rule); // before deleting rule.setAssignment + } else { + RAFacilityRemove(slave, rule); // before deleting rule.setAssignment delete rule.setAssignment; } } else { - RAFacilityRemove(slave,rule); // before deleting rule.setAssignment + RAFacilityRemove(slave, rule); // before deleting rule.setAssignment delete rule.setAssignment; } } else { - RAFacilityRemove(slave,rule); // before deleting rule.setAssignment + RAFacilityRemove(slave, rule); // before deleting rule.setAssignment delete rule.setAssignment; } } else { - RAFacilityRemove(slave,rule); // before deleting rule.setAssignment + RAFacilityRemove(slave, rule); // before deleting rule.setAssignment delete rule.setAssignment; } } @@ -202,92 +204,98 @@ window.DefaultRules = (function() { break; case "work as a farmhand": - if ((V.farmyardSlaves < V.farmyard)) //TODO: rework these requirements + if ((V.farmyardSlaves < V.farmyard)) { // TODO: rework these requirements break; - else { + } else { RAFacilityRemove(slave, rule); delete rule.setAssignment; } break; case "work as a servant": - if ((V.servantsQuartersSlaves < V.servantsQuarters && canSee(slave) && canWalk(slave) && (slave.devotion >= -20 || slave.trust < -20 || (slave.devotion >= -50 && slave.trust <= 20)))) + if ((V.servantsQuartersSlaves < V.servantsQuarters && canSee(slave) && canWalk(slave) && (slave.devotion >= -20 || slave.trust < -20 || (slave.devotion >= -50 && slave.trust <= 20)))) { break; - else { - RAFacilityRemove(slave,rule); // before deleting rule.setAssignment + } else { + RAFacilityRemove(slave, rule); // before deleting rule.setAssignment delete rule.setAssignment; } break; case "learn in the schoolroom": - if ((V.schoolroomSlaves < V.schoolroom && slave.fetish !== "mindbroken" && (slave.devotion >= -20 || slave.trust < -50 || (slave.devotion >= -50 && slave.trust < -20)))) - if ((slave.intelligenceImplant < 30) || (slave.voice !== 0 && slave.accent+V.schoolroomUpgradeLanguage > 2) || (slave.oralSkill <= 10+V.schoolroomUpgradeSkills*20) || (slave.whoreSkill <= 10+V.schoolroomUpgradeSkills*20) || (slave.entertainSkill <= 10+V.schoolroomUpgradeSkills*20) || (slave.analSkill < 10+V.schoolroomUpgradeSkills*20) || ((slave.vagina >= 0) && (slave.vaginalSkill < 10+V.schoolroomUpgradeSkills*20))) + if ((V.schoolroomSlaves < V.schoolroom && slave.fetish !== "mindbroken" && (slave.devotion >= -20 || slave.trust < -50 || (slave.devotion >= -50 && slave.trust < -20)))) { + if ((slave.intelligenceImplant < 30) || (slave.voice !== 0 && slave.accent+V.schoolroomUpgradeLanguage > 2) || (slave.oralSkill <= 10+V.schoolroomUpgradeSkills*20) || (slave.whoreSkill <= 10+V.schoolroomUpgradeSkills*20) || (slave.entertainSkill <= 10+V.schoolroomUpgradeSkills*20) || (slave.analSkill < 10+V.schoolroomUpgradeSkills*20) || ((slave.vagina >= 0) && (slave.vaginalSkill < 10+V.schoolroomUpgradeSkills*20))) { break; - else { - RAFacilityRemove(slave,rule); // before deleting rule.setAssignment + } else { + RAFacilityRemove(slave, rule); // before deleting rule.setAssignment delete rule.setAssignment; } - else { - RAFacilityRemove(slave,rule); // before deleting rule.setAssignment + } else { + RAFacilityRemove(slave, rule); // before deleting rule.setAssignment delete rule.setAssignment; } break; case "be confined in the cellblock": - if ((V.cellblockSlaves < V.cellblock && ((slave.devotion < -20 && slave.trust >= -20) || (slave.devotion < -50 && slave.trust >= -50)))) + if ((V.cellblockSlaves < V.cellblock && ((slave.devotion < -20 && slave.trust >= -20) || (slave.devotion < -50 && slave.trust >= -50)))) { break; - else { - RAFacilityRemove(slave,rule); // before deleting rule.setAssignment + } else { + RAFacilityRemove(slave, rule); // before deleting rule.setAssignment delete rule.setAssignment; } break; case "take classes": - if (slave.intelligenceImplant < 15 && slave.fetish !== "mindbroken" && (slave.devotion >= -20 || slave.trust < -50 || (slave.trust < -20 && slave.devotion >= -50))) + if (slave.intelligenceImplant < 15 && slave.fetish !== "mindbroken" && (slave.devotion >= -20 || slave.trust < -50 || (slave.trust < -20 && slave.devotion >= -50))) { break; - else + } else { delete rule.setAssignment; + } break; case "choose her own job": - if ((slave.fetish !== "mindbroken")) + if ((slave.fetish !== "mindbroken")) { break; - else + } else { delete rule.setAssignment; + } break; case "get milked": - if ((slave.lactation > 0 || slave.balls > 0)) + if ((slave.lactation > 0 || slave.balls > 0)) { break; - else + } else { delete rule.setAssignment; + } break; case "be a servant": - if ((canWalk(slave) && canSee(slave) && (slave.devotion >= -20 || slave.trust < -50 || (slave.trust < -20 && slave.devotion >= -50)))) + if ((canWalk(slave) && canSee(slave) && (slave.devotion >= -20 || slave.trust < -50 || (slave.trust < -20 && slave.devotion >= -50)))) { break; - else + } else { delete rule.setAssignment; + } break; case "work a glory hole": - if (slave.indentureRestrictions <= 0 && (slave.breedingMark !== 1 || V.propOutcome === 0)) + if (slave.indentureRestrictions <= 0 && (slave.breedingMark !== 1 || V.propOutcome === 0)) { break; - else + } else { delete rule.setAssignment; + } break; case "whore": case "serve the public": case "stay confined": - if ((slave.fuckdoll === 0) && (slave.breedingMark !== 1 || V.propOutcome === 0)) + if ((slave.fuckdoll === 0) && (slave.breedingMark !== 1 || V.propOutcome === 0)) { break; - else + } else { delete rule.setAssignment; + } break; default: - r += `<span class="red">raWidgets missing case for assignment 'V.{rule.setAssignment}'</span>.`; + r += "<span class=\"red\">raWidgets missing case for assignment 'V.{rule.setAssignment}'</span>."; break; } return rule; @@ -373,23 +381,25 @@ window.DefaultRules = (function() { // apply collar to slave if ((rule.collar !== undefined) && (rule.collar !== "no default setting")) { if ((slave.collar !== rule.collar)) { - r += '<br>'; + r += "<br>"; if (rule.collar === "preg biometrics" && slave.preg <= -1 && slave.ovaries === 0 && slave.mpreg === 0) { slave.collar = "none"; r += `${slave.slaveName} cannot utilize preg biometrics. `; } else if ((rule.collar === "massive dildo gag" && slave.oralSkill <= 50)) { slave.collar = "none"; r += `${slave.slaveName} lacks the oral skill to successfully keep the massive dildo gag in ${his} throat. `; - } else + } else { slave.collar = rule.collar; - if ((slave.collar === "none")) + } + if ((slave.collar === "none")) { r += `${slave.slaveName} has been given no collar.`; - else if ((slave.collar === "pretty jewelry")) + } else if ((slave.collar === "pretty jewelry")) { r += `${slave.slaveName} has been given ${slave.collar}.`; - else if ((["ball gag", "bell collar", "bit gag", "bowtie", "dildo gag", "massive dildo gag", "neck corset", "porcelain mask"].includes(slave.collar))) + } else if ((["ball gag", "bell collar", "bit gag", "bowtie", "dildo gag", "massive dildo gag", "neck corset", "porcelain mask"].includes(slave.collar))) { r += `${slave.slaveName} has been given a ${slave.collar}.`; - else + } else { r += `${slave.slaveName} has been given a ${slave.collar} collar.`; + } } } } @@ -548,12 +558,13 @@ window.DefaultRules = (function() { /** @param {App.Entity.SlaveState} slave */ function ProcessDildos(slave, rule) { // apply vaginal dildos to slave - if (slave.vagina === 0) + if (slave.vagina === 0) { ProcessVVirginDildos(slave, rule); - else if ((slave.vagina > 0) && (slave.anus === 0)) + } else if ((slave.vagina > 0) && (slave.anus === 0)) { ProcessAVirginDildos(slave, rule); - else if (slave.vagina > 0) + } else if (slave.vagina > 0) { ProcessNonVirginDildos(slave, rule); + } } /** @param {App.Entity.SlaveState} slave */ @@ -565,9 +576,9 @@ window.DefaultRules = (function() { switch (slave.vaginalAccessory) { case "huge dildo": r += `<br>${slave.slaveName} is a virgin and has been given a `; - if (slave.vagina >= 2) + if (slave.vagina >= 2) { r += `massive dildo to permanently gape ${his} cunt.`; - else { + } else { r += `large dildo for ${his} pussy, since it must be stretched before it can accommodate a huge one.`; slave.vaginalAccessory = "large dildo"; } @@ -593,9 +604,9 @@ window.DefaultRules = (function() { slave.vaginalAccessory = "huge dildo"; } else { r += `<br>${slave.slaveName} is a virgin and has been given a `; - if (slave.vagina >= 2) + if (slave.vagina >= 2) { r += `massive and oversized dildo to permanently gape ${his} cunt.`; - else { + } else { r += `long, large dildo for ${his} pussy, since it must be stretched before it can accommodate a huge one.`; slave.vaginalAccessory = "long, large dildo"; } @@ -623,9 +634,9 @@ window.DefaultRules = (function() { switch (slave.vaginalAccessory) { case "huge dildo": r += `<br>${slave.slaveName} is a virgin and has been given a `; - if (slave.vagina >= 2) + if (slave.vagina >= 2) { r += `massive dildo to permanently gape ${his} cunt.`; - else { + } else { r += `large dildo for ${his} pussy, since it must be stretched before it can accommodate a huge one.`; slave.vaginalAccessory = "large dildo"; } @@ -651,9 +662,9 @@ window.DefaultRules = (function() { slave.vaginalAccessory = "huge dildo"; } else { r += `<br>${slave.slaveName} is a virgin and has been given a `; - if (slave.vagina >= 2) + if (slave.vagina >= 2) { r += `massive and oversized dildo to permanently gape ${his} cunt.`; - else { + } else { r += `long, large dildo for ${his} pussy, since it must be stretched before it can accommodate a huge one.`; slave.vaginalAccessory = "long, large dildo"; } @@ -681,9 +692,9 @@ window.DefaultRules = (function() { switch (slave.vaginalAccessory) { case "huge dildo": r += `<br>${slave.slaveName} has been given a `; - if (slave.vagina >= 2) + if (slave.vagina >= 2) { r += `massive dildo to permanently gape ${his} cunt.`; - else { + } else { r += `large dildo for ${his} pussy, since it must be stretched before it can accommodate a huge one.`; slave.vaginalAccessory = "large dildo"; } @@ -709,9 +720,9 @@ window.DefaultRules = (function() { slave.vaginalAccessory = "huge dildo"; } else { r += `<br>${slave.slaveName} has been given a `; - if (slave.vagina >= 2) + if (slave.vagina >= 2) { r += `massive and oversized dildo to permanently gape ${his} cunt.`; - else { + } else { r += `long, large dildo for ${his} pussy, since it must be stretched before it can accommodate a huge one.`; slave.vaginalAccessory = "long, large dildo"; } @@ -737,20 +748,22 @@ window.DefaultRules = (function() { if ((rule.aVirginDickAccessory !== undefined) && (rule.aVirginDickAccessory !== "no default setting")) { if ((slave.dickAccessory !== rule.aVirginDickAccessory)) { slave.dickAccessory = rule.aVirginDickAccessory; - if (slave.dickAccessory === "none") + if (slave.dickAccessory === "none") { r += `<br>${slave.slaveName} is a virgin and has been instructed not to wear a dick accessory.`; - else + } else { r += `<br>${slave.slaveName} is a virgin and has been given a ${slave.dickAccessory} accessory for ${his} cock.`; + } } } } else { if ((rule.dickAccessory !== undefined) && (rule.dickAccessory !== "no default setting")) { if ((slave.dickAccessory !== rule.dickAccessory)) { slave.dickAccessory = rule.dickAccessory; - if (slave.dickAccessory === "none") + if (slave.dickAccessory === "none") { r += `<br>${slave.slaveName} has been instructed not to wear a dick accessory.`; - else + } else { r += `<br>${slave.slaveName} has been given a ${slave.dickAccessory} accessory for ${his} cock.`; + } } } } @@ -819,10 +832,11 @@ window.DefaultRules = (function() { slave.bellyAccessory = "none"; } else { slave.bellyAccessory = rule.bellyAccessory; - if (slave.bellyAccessory === "none") + if (slave.bellyAccessory === "none") { r += `<br>${slave.slaveName} has been instructed not to wear a torso accessory.`; - else + } else { r += `<br>${slave.slaveName} has been given ${slave.bellyAccessory} to wear.`; + } } } } @@ -840,10 +854,11 @@ window.DefaultRules = (function() { function ProcessAnalAccessories(slave, rule) { // apply buttplugs and buttplug accessories to slave if (slave.chastityAnus !== 1) { - if (slave.anus === 0) + if (slave.anus === 0) { ProcessAnalVirginButtplugs(slave, rule); - else + } else { ProcessNonVirginButtplugs(slave, rule); + } } ProcessButtplugAttachments(slave, rule); } @@ -857,9 +872,9 @@ window.DefaultRules = (function() { switch (slave.buttplug) { case "huge plug": r += `<br>${slave.slaveName} is an anal virgin and has been given a `; - if ((slave.anus >= 2)) + if ((slave.anus >= 2)) { r += `massive plug to permanently gape ${his} asshole.`; - else { + } else { slave.buttplug = "large plug"; r += `large buttplug for ${his} asshole, since it must be stretched before it can accommodate a huge one.`; } @@ -885,9 +900,9 @@ window.DefaultRules = (function() { slave.buttplug = "huge plug"; } else { r += `<br>${slave.slaveName} is an anal virgin and has been given a `; - if (slave.anus >= 2) + if (slave.anus >= 2) { r += `massive and oversized plug to permanently gape ${his} asshole.`; - else { + } else { r += `long, large buttplug for ${his} asshole, since it must be stretched before it can accommodate a huge one.`; slave.buttplug = "long, large plug"; } @@ -915,9 +930,9 @@ window.DefaultRules = (function() { switch (slave.buttplug) { case "huge plug": r += `<br>${slave.slaveName} has been given a `; - if ((slave.anus >= 2)) + if ((slave.anus >= 2)) { r += `massive plug to permanently gape ${his} asshole.`; - else { + } else { slave.buttplug = "large plug"; r += `large buttplug for ${his} asshole, since it must be stretched before it can accommodate a huge one.`; } @@ -943,9 +958,9 @@ window.DefaultRules = (function() { slave.buttplug = "huge plug"; } else { r += `<br>${slave.slaveName} has been given a `; - if (slave.anus >= 2) + if (slave.anus >= 2) { r += `massive and oversized plug to permanently gape ${his} asshole.`; - else { + } else { r += `long, large buttplug for ${his} asshole, since it must be stretched before it can accommodate a huge one.`; slave.buttplug = "long, large plug"; } @@ -968,12 +983,11 @@ window.DefaultRules = (function() { function ProcessButtplugAttachments(slave, rule) { // apply buttplug accessories to slaves if (slave.buttplug === "none" && slave.buttplugAttachment !== "none") { - slave.buttplugAttachment = "none"; //clears buttplug attachments when buttplugs are removed above + slave.buttplugAttachment = "none"; // clears buttplug attachments when buttplugs are removed above } else if ((rule.buttplugAttachment !== undefined) && (rule.buttplugAttachment !== "no default setting")) { if ((slave.buttplugAttachment !== rule.buttplugAttachment)) { slave.buttplugAttachment = rule.buttplugAttachment; switch (slave.buttplugAttachment) { - case "none": r += `<br>${slave.slaveName} has been instructed not to use an attachment for ${his} anal accessory.`; break; @@ -1046,8 +1060,9 @@ window.DefaultRules = (function() { } } } else { // bellyDown - if (slave.bellyImplant < 0) + if (slave.bellyImplant < 0) { slave.bellyImplant = 0; + } SetBellySize(slave); if (slave.devotion > 50) { slave.devotion += 3; @@ -1073,12 +1088,11 @@ window.DefaultRules = (function() { } } } - + /** @param {App.Entity.SlaveState} slave */ function ProcessAbortions(slave, rule) { if ((rule.abortion !== undefined) && (rule.abortion !== "no default setting")) { if (rule.abortion === "all") { - if (slave.preg < 4 || (slave.fetish === "mindbroken" || slave.fuckdoll != 0)) { r += `<br>${slave.slaveName}'s pregnancy has been terminated.`; } else { @@ -1094,7 +1108,7 @@ window.DefaultRules = (function() { slave.trust -= 10, slave.devotion -= 10; } else if (slave.fetish === "pregnancy") { r += `${he} did not handle it well.`; - var fetishModifier = (slave.fetishStrength / 2); + let fetishModifier = (slave.fetishStrength / 2); slave.devotion -= (1 * fetishModifier), (slave.trust -= 1 * fetishModifier); } else if (slave.devotion <= 20) { r += `${he} did not handle it well.`; @@ -1103,12 +1117,18 @@ window.DefaultRules = (function() { r += `${he} did not handle it well.`; slave.trust -= 10; } else { - r += `it had little mental effect.`; + r += "it had little mental effect."; } } - if (lastPregRule(slave, V.defaultRules)) { slave.preg = -1; } else { slave.preg = 0; } - if (slave.abortionTat > -1) { slave.abortionTat++, cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); } + if (lastPregRule(slave, V.defaultRules)) { + slave.preg = -1; + } else { + slave.preg = 0; + } + if (slave.abortionTat > -1) { + slave.abortionTat++, cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); + } V.reservedChildren = FetusGlobalReserveCount("incubator"); V.reservedChildrenNursery = FetusGlobalReserveCount("nursery"); slave.pregType = 0, slave.pregSource = 0, slave.pregKnown = 0, slave.pregWeek = -2; @@ -1142,7 +1162,6 @@ window.DefaultRules = (function() { if (WL === 0) { slave.pregType = 0, slave.pregSource = 0, slave.pregKnown = 0, slave.pregWeek = -2; WombFlush(slave); - } r += `<br>${slave.slaveName}'s female fetuses have been terminated.`; } @@ -1171,7 +1190,7 @@ window.DefaultRules = (function() { } else if ((slave.boobs > parseInt(rule.growth_boobs)+200) && slave.weight < 100 && (V.arcologies[0].FSSlimnessEnthusiastResearch === 1)) { _priority = { drug: "breast redistributors", - weight: (1+((slave.boobs-slave.boobsImplant-slave.boobsMilk-rule.growth_boobs)/rule.growth_boobs)) }; + weight: (1+((slave.boobs-slave.boobsImplant-slave.boobsMilk-rule.growth_boobs)/rule.growth_boobs))}; _priorities.push(_priority); } } @@ -1183,7 +1202,7 @@ window.DefaultRules = (function() { } else if ((Math.trunc(slave.butt) > rule.growth_butt) && slave.weight < 100 && (V.arcologies[0].FSSlimnessEnthusiastResearch === 1)) { _priority = { drug: "butt redistributors", - weight: (1+((slave.butt-slave.buttImplant-rule.growth_butt)/rule.growth_butt)) }; + weight: (1+((slave.butt-slave.buttImplant-rule.growth_butt)/rule.growth_butt))}; _priorities.push(_priority); } } @@ -1224,12 +1243,14 @@ window.DefaultRules = (function() { } } if (_priorities.length > 1) { - _priorities = _priorities.sort(function(a, b){if(a.weight > b.weight) return -1; if(a.weight < b.weight) return 1; return 0;}); + _priorities = _priorities.sort(function(a, b) { + if (a.weight > b.weight) return -1; if (a.weight < b.weight) return 1; return 0; + }); if (slave.drugs !== _priorities[0].drug) { slave.drugs = _priorities[0].drug; r += `<br>${slave.slaveName} has been put on `; if (rule.growth_intensity && slave.drugs !== "lip injections" && slave.health > 0) { - slave.drugs = "intensive " + slave.drugs; + slave.drugs = `intensive ${ slave.drugs}`; r += `${slave.drugs}, since ${he}'s healthy enough to take them, and `; } else { r += `${slave.drugs}, since `; @@ -1245,10 +1266,11 @@ window.DefaultRules = (function() { slave.drugs = _priorities[0].drug; r += `<br>${slave.slaveName} has been put on `; if (rule.growth_intensity && slave.drugs !== "lip injections" && slave.health > 0) { - slave.drugs = "intensive " + slave.drugs; + slave.drugs = `intensive ${ slave.drugs}`; r += `${slave.drugs}, since ${he}'s healthy enough to take them, and `; - } else + } else { r += `${slave.drugs}, since `; + } r += `that is the only part of ${his} body that does not meet the targeted size.`; } return; @@ -1364,143 +1386,170 @@ window.DefaultRules = (function() { if (slave.indentureRestrictions < 2 && rule.drug !== "no default setting" && slave.drugs !== rule.drug) { let flag = true; switch (rule.drug) { - case "anti-aging cream": - if (slave.visualAge < 18) - flag = false; - break; + case "anti-aging cream": + if (slave.visualAge < 18) { + flag = false; + } + break; - case "growth stimulants": - if (!(slave.height < 274 && slave.height < Math.clamp((Height.mean(slave) * 1.25),0,274))) - flag = false; - break; + case "growth stimulants": + if (!(slave.height < 274 && slave.height < Math.clamp((Height.mean(slave) * 1.25), 0, 274))) { + flag = false; + } + break; - case "sag-B-gone": - if (!(slave.boobs > 250 && slave.boobShape !== "saggy")) - flag = false; - break; + case "sag-B-gone": + if (!(slave.boobs > 250 && slave.boobShape !== "saggy")) { + flag = false; + } + break; - case "female hormone injections": - if (!((slave.breedingMark !== 1 || V.propOutcome === 0) && (slave.ovaries === 1 || slave.mpreg === 1) && slave.pubertyXX === 0)) - flag = false; - break; + case "female hormone injections": + if (!((slave.breedingMark !== 1 || V.propOutcome === 0) && (slave.ovaries === 1 || slave.mpreg === 1) && slave.pubertyXX === 0)) { + flag = false; + } + break; - case "male hormone injections": - if (!((slave.breedingMark !== 1 || V.propOutcome === 0) && slave.balls > 0 && slave.pubertyXY === 0)) - flag = false; - break; + case "male hormone injections": + if (!((slave.breedingMark !== 1 || V.propOutcome === 0) && slave.balls > 0 && slave.pubertyXY === 0)) { + flag = false; + } + break; - case "psychosuppressants": - if (!(slave.intelligence > -100 && slave.indentureRestrictions < 1)) - flag = false; - break; + case "psychosuppressants": + if (!(slave.intelligence > -100 && slave.indentureRestrictions < 1)) { + flag = false; + } + break; - case "breast injections": - if (!(slave.boobs < 48000)) - flag = false; - break; + case "breast injections": + if (!(slave.boobs < 48000)) { + flag = false; + } + break; - case "hyper breast injections": - if (!(slave.boobs < 48000)) - flag = false; - break; + case "hyper breast injections": + if (!(slave.boobs < 48000)) { + flag = false; + } + break; - case "breast redistributors": - if (!(slave.boobs - slave.boobsImplant > 100)) - flag = false; - break; + case "breast redistributors": + if (!(slave.boobs - slave.boobsImplant > 100)) { + flag = false; + } + break; - case "butt injections": - if (!(slave.butt < 9)) - flag = false; - break; + case "butt injections": + if (!(slave.butt < 9)) { + flag = false; + } + break; - case "hyper butt injections": - if (!(slave.butt < 20)) - flag = false; - break; + case "hyper butt injections": + if (!(slave.butt < 20)) { + flag = false; + } + break; - case "nipple atrophiers": - if (!(["cute", "huge", "puffy"].includes(slave.nipples))) - flag = false; - break; + case "nipple atrophiers": + if (!(["cute", "huge", "puffy"].includes(slave.nipples))) { + flag = false; + } + break; - case "butt redistributors": - if (!(slave.buttImplant > 0)) - flag = false; - break; + case "butt redistributors": + if (!(slave.buttImplant > 0)) { + flag = false; + } + break; - case "lip injections": - if (!(slave.lips <= 95 || (slave.lips <= 85 && V.seeExtreme !== 1))) - flag = false; - break; + case "lip injections": + if (!(slave.lips <= 95 || (slave.lips <= 85 && V.seeExtreme !== 1))) { + flag = false; + } + break; - case "lip atrophiers": - if (!(slave.lips - slave.lipsImplant > 0)) - flag = false; - break; + case "lip atrophiers": + if (!(slave.lips - slave.lipsImplant > 0)) { + flag = false; + } + break; - case "super fertility drugs": - if (!(slave.indentureRestrictions < 1 && (slave.breedingMark !== 1 || V.propOutcome === 0))) - flag = false; - break; + case "super fertility drugs": + if (!(slave.indentureRestrictions < 1 && (slave.breedingMark !== 1 || V.propOutcome === 0))) { + flag = false; + } + break; - case "penis enhancement": - if (!((slave.dick > 0 && slave.dick < 10) || slave.clit < 5)) - flag = false; - break; + case "penis enhancement": + if (!((slave.dick > 0 && slave.dick < 10) || slave.clit < 5)) { + flag = false; + } + break; - case "hyper penis enhancement": - if (!((slave.dick > 0 && slave.dick < 31) || slave.clit < 5)) - flag = false; - break; + case "hyper penis enhancement": + if (!((slave.dick > 0 && slave.dick < 31) || slave.clit < 5)) { + flag = false; + } + break; - case "penis atrophiers": - if (!(slave.dick > 1)) - flag = false; - break; + case "penis atrophiers": + if (!(slave.dick > 1)) { + flag = false; + } + break; - case "testicle enhancement": - if (!(slave.balls > 0)) - flag = false; - break; + case "testicle enhancement": + if (!(slave.balls > 0)) { + flag = false; + } + break; - case "hyper testicle enhancement": - if (!(slave.balls > 0)) - flag = false; - break; + case "hyper testicle enhancement": + if (!(slave.balls > 0)) { + flag = false; + } + break; - case "testicle atrophiers": - if (!(slave.balls > 1)) - flag = false; - break; + case "testicle atrophiers": + if (!(slave.balls > 1)) { + flag = false; + } + break; - case "clitoris atrophiers": - if (!(slave.clit > 0)) - flag = false; - break; + case "clitoris atrophiers": + if (!(slave.clit > 0)) { + flag = false; + } + break; - case "labia atrophiers": - if (!(slave.labia > 0)) - flag = false; - break; + case "labia atrophiers": + if (!(slave.labia > 0)) { + flag = false; + } + break; - case "appetite suppressors": - if (!(slave.weight <= -95)) - flag = false; - break; + case "appetite suppressors": + if (!(slave.weight <= -95)) { + flag = false; + } + break; - case "female hormone injections": - if (!((slave.breedingMark !== 1 || V.propOutcome === 0) && (slave.ovaries === 1 || slave.mpreg === 1) && slave.pubertyXX === 0)) - flag = false; - break; + case "female hormone injections": + if (!((slave.breedingMark !== 1 || V.propOutcome === 0) && (slave.ovaries === 1 || slave.mpreg === 1) && slave.pubertyXX === 0)) { + flag = false; + } + break; - case "male hormone injections": - if (!(slave.balls > 0 && slave.pubertyXY === 0)) - flag = false; - break; + case "male hormone injections": + if (!(slave.balls > 0 && slave.pubertyXY === 0)) { + flag = false; + } + break; - default: - break; + default: + break; } if (flag) { slave.drugs = rule.drug; @@ -1583,7 +1632,6 @@ window.DefaultRules = (function() { slave.diet = "restricted"; r += `<br>${slave.slaveName} is too fat so ${his} diet has been set to restricted.`; } - } else if ((slave.weight - rule.diet) < -5) { if ((slave.diet !== "fattening")) { slave.diet = "fattening"; @@ -1747,7 +1795,7 @@ window.DefaultRules = (function() { slave.curatives = rule.curatives; } } else { - r += `<br>${slave.slaveName} has been ${rule.curatives > 0 ? `put on preventatives` : `taken off health drugs`}`; + r += `<br>${slave.slaveName} has been ${rule.curatives > 0 ? "put on preventatives" : "taken off health drugs"}`; slave.curatives = rule.curatives; } } @@ -1758,7 +1806,7 @@ window.DefaultRules = (function() { function ProcessAphrodisiacs(slave, rule) { if ((rule.aphrodisiacs !== undefined) && (rule.aphrodisiacs !== "no default setting")) { if (slave.aphrodisiacs !== rule.aphrodisiacs) { - r += `<br>${slave.slaveName} has been ${rule.aphrodisiacs > 0 ? `put on the proper` : `taken off`} aphrodisiacs.`; + r += `<br>${slave.slaveName} has been ${rule.aphrodisiacs > 0 ? "put on the proper" : "taken off"} aphrodisiacs.`; slave.aphrodisiacs = rule.aphrodisiacs; } } @@ -1850,7 +1898,7 @@ window.DefaultRules = (function() { function ProcessLivingStandard(slave, rule) { if ((rule.livingRules !== undefined) && (rule.livingRules !== "no default setting")) { if (setup.facilityCareers.includes(slave.assignment)) { - r += ``; // `<br>${slave.slaveName}'s living standards are controlled by ${his} assignment.`; + r += ""; // `<br>${slave.slaveName}'s living standards are controlled by ${his} assignment.`; } else if (((slave.assignment === "be your Head Girl") && (V.HGSuite === 1)) || ((slave.assignment === "guard you") && (V.dojo > 1))) { r += `<br>${slave.slaveName} has a private room.`; } else if ((slave.fetish === "mindbroken")) { @@ -1863,10 +1911,11 @@ window.DefaultRules = (function() { if (V.roomsPopulation <= V.rooms-0.5) { slave.livingRules = rule.livingRules; r += `<br>${slave.slaveName}'s living standard has been set to ${rule.livingRules}.`; - if (slave.relationship >= 4) + if (slave.relationship >= 4) { V.roomsPopulation += 0.5; - else + } else { V.roomsPopulation += 1; + } } else { slave.livingRules = "normal"; r += `<br>${slave.slaveName}'s living standard has been set to normal, since there is no room for ${him} to occupy.`; @@ -1915,7 +1964,7 @@ window.DefaultRules = (function() { if ((slave.fetish !== "mindbroken")) { if ((rule.relationshipRules !== undefined) && (rule.relationshipRules !== "no default setting")) { if ((slave.relationshipRules !== rule.relationshipRules )) { - slave.relationshipRules = rule.relationshipRules ; + slave.relationshipRules = rule.relationshipRules; r += `<br>${slave.slaveName}'s relationship rules have been set to ${rule.relationshipRules}.`; } } @@ -1927,10 +1976,11 @@ window.DefaultRules = (function() { if ((rule.releaseRules !== undefined) && (rule.releaseRules !== "no default setting")) { let _release = 0; if (rule.releaseRules === "restrictive" && - !(["be a subordinate slave", "be confined in the arcade", "be your Head Girl", "get milked", "please you", "serve in the club", "serve in the master suite", "serve the public", "whore", "work a glory hole", "work as a farmhand", "work in the brothel", "work in the dairy"].contains(slave.assignment))) + !(["be a subordinate slave", "be confined in the arcade", "be your Head Girl", "get milked", "please you", "serve in the club", "serve in the master suite", "serve the public", "whore", "work a glory hole", "work as a farmhand", "work in the brothel", "work in the dairy"].contains(slave.assignment))) { _release = 1; - else + } else { _release = 1; + } if ((slave.fetish === "mindbroken") && (slave.releaseRules !== "permissive")) { slave.releaseRules = "permissive"; r += `<br>Since ${slave.slaveName} is mindbroken, ${his} masturbation rules have been set to permissive.`; @@ -1948,7 +1998,7 @@ window.DefaultRules = (function() { function ProcessPunishment(slave, rule) { if ((rule.standardPunishment !== undefined) && (rule.standardPunishment !== "no default setting")) { if ((slave.standardPunishment !== rule.standardPunishment)) { - slave.standardPunishment = rule.standardPunishment ; + slave.standardPunishment = rule.standardPunishment; r += `<br>${slave.slaveName}'s typical punishment has been updated to ${rule.standardPunishment}.`; } } @@ -1958,7 +2008,7 @@ window.DefaultRules = (function() { function ProcessReward(slave, rule) { if ((rule.standardReward !== undefined) && (rule.standardReward !== "no default setting")) { if ((slave.standardReward !== rule.standardReward)) { - slave.standardReward = rule.standardReward ; + slave.standardReward = rule.standardReward; r += `<br>${slave.slaveName}'s typical reward has been updated to ${rule.standardReward}.`; } } @@ -1969,30 +2019,30 @@ window.DefaultRules = (function() { if ((rule.toyHole !== undefined) && (rule.toyHole !== "no default setting")) { if (rule.toyHole === "pussy") { if (slave.vagina > 0 && canDoVaginal(slave)) { - slave.toyHole = rule.toyHole ; + slave.toyHole = rule.toyHole; r += `<br>${slave.slaveName} has been instructed to use ${his} ${rule.toyHole} to please you.`; } else if (slave.toyHole !== "all her holes") { - slave.toyHole = "all her holes" ; + slave.toyHole = "all her holes"; r += `<br>${slave.slaveName}'s hole preference has defaulted to all ${his} holes.`; } } else if (rule.toyHole === "ass") { if (slave.anus > 0 && canDoAnal(slave)) { - slave.toyHole = rule.toyHole ; + slave.toyHole = rule.toyHole; r += `<br>${slave.slaveName} has been instructed to use ${his} ${rule.toyHole} to please you.`; } else if (slave.toyHole !== "all her holes") { - slave.toyHole = "all her holes" ; + slave.toyHole = "all her holes"; r += `<br>${slave.slaveName}'s hole preference has defaulted to all ${his} holes.`; } } else if (rule.toyHole === "dick") { if (slave.dick > 0 && canPenetrate(slave)) { - slave.toyHole = rule.toyHole ; + slave.toyHole = rule.toyHole; r += `<br>${slave.slaveName} has been instructed to use ${his} ${rule.toyHole} to please you.`; } else if (slave.toyHole !== "all her holes") { - slave.toyHole = "all her holes" ; + slave.toyHole = "all her holes"; r += `<br>${slave.slaveName}'s hole preference has defaulted to all ${his} holes.`; } } else if ((slave.toyHole !== rule.toyHole)) { - slave.toyHole = rule.toyHole ; + slave.toyHole = rule.toyHole; r += `<br>${slave.slaveName} has been instructed to use ${his} ${rule.toyHole} to please you.`; } } @@ -2007,10 +2057,11 @@ window.DefaultRules = (function() { r += `<br>${slave.slaveName} has been put on a diet based on cum.`; slave.dietMilk = 0; } - if (slave.dietCum === 1) + if (slave.dietCum === 1) { r += `<br>${slave.slaveName} has had cum added to ${his} diet.`; - else + } else { r += `<br>${slave.slaveName} has had cum removed from ${his} diet.`; + } } } } @@ -2024,10 +2075,11 @@ window.DefaultRules = (function() { r += `<br>${slave.slaveName} has been put on a diet based on human milk.`; slave.dietCum = 0; } - if (slave.dietMilk === 1) + if (slave.dietMilk === 1) { r += `<br>${slave.slaveName} has had human milk added to ${his} diet.`; - else + } else { r += `<br>${slave.slaveName} has had human milk removed from ${his} diet.`; + } } } } @@ -2036,11 +2088,12 @@ window.DefaultRules = (function() { function ProcessSolidFood(slave, rule) { if ((rule.onDiet !== undefined) && (rule.onDiet !== "no default setting")) { if ((slave.onDiet !== rule.onDiet)) { - slave.onDiet = rule.onDiet ; - if (slave.onDiet === 1) + slave.onDiet = rule.onDiet; + if (slave.onDiet === 1) { r += `<br>${slave.slaveName} is not permitted to eat the solid slave food.`; - else + } else { r += `<br>${slave.slaveName} is permitted to eat the solid slave food.`; + } } } } @@ -2133,8 +2186,9 @@ window.DefaultRules = (function() { if ((rule.hStyle === "shaved")) { slave.hLength = 0; r += `<br>${slave.slaveName}'s hair has been shaved.`; - } else + } else { r += `<br>${slave.slaveName}'s hair has been restyled.`; + } } } } @@ -2149,8 +2203,8 @@ window.DefaultRules = (function() { cashX(forceNeg(V.modCost*Math.trunc((rule.hLength-slave.hLength)/10)), "slaveMod"); r += `<br>${slave.slaveName} has been given extensions; ${his} hair `; } - r += `is now ${lengthToEitherUnit(rule.hLength)} long.`; - slave.hLength = rule.hLength; + r += `is now ${lengthToEitherUnit(rule.hLength)} long.`; + slave.hLength = rule.hLength; } } } @@ -2287,8 +2341,6 @@ window.DefaultRules = (function() { r += `<br>${slave.slaveName}'s skin color has been set to ${rule.skinColor}.`; } } - - } function ProcessPiercings(slave, rule) { @@ -2324,22 +2376,24 @@ window.DefaultRules = (function() { if ((slave.clitPiercing !== rule.clitPiercing)) { if ((rule.clitPiercing === 0)) { slave.clitPiercing = 0; - if (slave.dick > 0) + if (slave.dick > 0) { r += `<br>${slave.slaveName}'s frenulum piercing has been removed.`; - else + } else { r += `<br>${slave.slaveName}'s clit piercing has been removed.`; - + } } else if ((slave.vagina !== -1) || (slave.dick !== 0)) { slave.clitPiercing = rule.clitPiercing; - if (slave.dick > 0) + if (slave.dick > 0) { r += `<br>${slave.slaveName}'s frenulum has been pierced.`; - else + } else { r += `<br>${slave.slaveName}'s clit has been pierced.`; + } - if (rule.clitPiercing === 3) + if (rule.clitPiercing === 3) { cashX(-1000, "slaveMod"); - else + } else { cashX(forceNeg(V.modCost), "slaveMod", slave); + } } } } @@ -2642,11 +2696,12 @@ window.DefaultRules = (function() { if ((slave.health > -20)) { slave.brand = V.brandDesign; slave.brandLocation = V.brandTarget; - if ((slave.devotion < 18)) + if ((slave.devotion < 18)) { slave.devotion -= 5; + } slave.trust -= 5; slave.health -= 10; - r += `<br>${slave.slaveName} has been branded, with <span class="gold">fear</span>${slave.devotion < 18? `, <span class="mediumorchid">regard,</span>`:``} and <span class="red">health</span> consequences.`; + r += `<br>${slave.slaveName} has been branded, with <span class="gold">fear</span>${slave.devotion < 18? ", <span class=\"mediumorchid\">regard,</span>":""} and <span class="red">health</span> consequences.`; } } } @@ -2662,7 +2717,9 @@ window.DefaultRules = (function() { } slave.pornFeed = rule.pornFeed; let yesno = slave.pornFeed ? "are now" : "are no longer"; - if (slave.pornFeed === 0) { slave.pornFameSpending = 0;} + if (slave.pornFeed === 0) { + slave.pornFameSpending = 0; + } r += `<br>Highlights of ${slave.slaveName}'s sex life ${yesno} being released.`; } @@ -2679,16 +2736,16 @@ window.DefaultRules = (function() { /** @param {App.Entity.SlaveState} slave */ function ProcessLabel(slave, rule) { - if (rule.label !== "no default setting" && !slave.customLabel.includes("["+rule.label+"]")) { - slave.customLabel = slave.customLabel + "[" + rule.label + "]"; + if (rule.label !== "no default setting" && !slave.customLabel.includes(`[${rule.label}]`)) { + slave.customLabel = `${slave.customLabel }[${ rule.label }]`; r += `<br>${slave.slaveName} has been tagged as ${rule.label}`; } - if (rule.removeLabel !== "no default setting" && slave.customLabel.includes("["+rule.removeLabel+"]")) { - slave.customLabel = slave.customLabel.replace("["+rule.removeLabel+"]", ""); + if (rule.removeLabel !== "no default setting" && slave.customLabel.includes(`[${rule.removeLabel}]`)) { + slave.customLabel = slave.customLabel.replace(`[${rule.removeLabel}]`, ""); r += `<br>${slave.slaveName}'s tag [${rule.removeLabel}] is removed.`; } } return DefaultRules; -})(); +})(); \ No newline at end of file diff --git a/src/js/datatypeCleanupJS.js b/src/js/datatypeCleanupJS.js index 3e8d36da42a552794981c4a744b119dd30adacd8..a95e28f526181629a8955e6622bccb4cadbe466a 100644 --- a/src/js/datatypeCleanupJS.js +++ b/src/js/datatypeCleanupJS.js @@ -199,8 +199,8 @@ window.SlaveDatatypeCleanup = (function SlaveDatatypeCleanup() { slave.analArea = Math.max(+slave.analArea, 0) || 0; } - /** @param {App.Entity.SlaveState} slave */ - function slaveNekoDatatypeCleanup(slave) { + /** @param {App.Entity.SlaveState} slave */ + function slaveNekoDatatypeCleanup(slave) { if (typeof slave.earShape !== "string") { slave.earShape = "normal"; } @@ -1442,10 +1442,13 @@ window.FacilityDatatypeCleanup = (function() { function FacilityIDArrayCleanup() { function helperFunction(facilityIDArray) { - if (!Array.isArray(facilityIDArray)) + if (!Array.isArray(facilityIDArray)) { facilityIDArray = []; - else if (typeof facilityIDArray[0] === "object") - facilityIDArray = facilityIDArray.map(function(a) { return a.ID; }); + } else if (typeof facilityIDArray[0] === "object") { + facilityIDArray = facilityIDArray.map(function(a) { + return a.ID; + }); + } } helperFunction(V.BrothiIDs); helperFunction(V.DairyiIDs); @@ -1509,7 +1512,9 @@ window.FacilityDatatypeCleanup = (function() { V.brothel = Math.max(+V.brothel, 0) || 0; V.brothelUpgradeDrugs = Math.clamp(+V.brothelUpgradeDrugs, 0, 2) || 0; /* madam */ - V.Madam = V.slaves.find(function(s) { return s.assignment === "be the Madam"; }) || 0; + V.Madam = V.slaves.find(function(s) { + return s.assignment === "be the Madam"; + }) || 0; V.MadamIgnoresFlaws = Math.clamp(+V.MadamIgnoresFlaws, 0, 1) || 0; } @@ -1539,7 +1544,9 @@ window.FacilityDatatypeCleanup = (function() { V.bioreactorsXY = Math.max(+V.bioreactorsXY, 0) || 0; V.bioreactorsBarren = Math.max(+V.bioreactorsBarren, 0) || 0; /* milkmaid */ - V.Milkmaid = V.slaves.find(function(s) { return s.assignment === "be the Milkmaid"; }) || 0; + V.Milkmaid = V.slaves.find(function(s) { + return s.assignment === "be the Milkmaid"; + }) || 0; V.milkmaidImpregnates = Math.clamp(+V.milkmaidImpregnates, 0, 1) || 0; } @@ -1556,7 +1563,9 @@ window.FacilityDatatypeCleanup = (function() { V.club = Math.max(+V.club, 0) || 0; V.clubUpgradePDAs = Math.clamp(+V.clubUpgradePDAs, 0, 1) || 0; /* madam */ - V.DJ = V.slaves.find(function(s) { return s.assignment === "be the DJ"; }) || 0; + V.DJ = V.slaves.find(function(s) { + return s.assignment === "be the DJ"; + }) || 0; V.DJignoresFlaws = Math.clamp(+V.DJignoresFlaws, 0, 1) || 0; } @@ -1565,7 +1574,9 @@ window.FacilityDatatypeCleanup = (function() { V.servantsQuarters = Math.max(+V.servantsQuarters, 0) || 0; V.servantsQuartersUpgradeMonitoring = Math.clamp(+V.servantsQuartersUpgradeMonitoring, 0, 1) || 0; /* stewardess */ - V.Stewardess = V.slaves.find(function(s) { return s.assignment === "be the Stewardess"; }) || 0; + V.Stewardess = V.slaves.find(function(s) { + return s.assignment === "be the Stewardess"; + }) || 0; V.stewardessImpregnates = Math.clamp(+V.stewardessImpregnates, 0, 1) || 0; } @@ -1576,7 +1587,9 @@ window.FacilityDatatypeCleanup = (function() { V.schoolroomUpgradeLanguage = Math.clamp(+V.schoolroomUpgradeLanguage, 0, 1) || 0; V.schoolroomUpgradeRemedial = Math.clamp(+V.schoolroomUpgradeRemedial, 0, 1) || 0; /* schoolteacher */ - V.Schoolteacher = V.slaves.find(function(s) { return s.assignment === "be the Schoolteacher"; }) || 0; + V.Schoolteacher = V.slaves.find(function(s) { + return s.assignment === "be the Schoolteacher"; + }) || 0; } function SpaDatatypeCleanup() { @@ -1584,7 +1597,9 @@ window.FacilityDatatypeCleanup = (function() { V.spa = Math.max(+V.spa, 0) || 0; V.spaUpgrade = Math.clamp(+V.spaUpgrade, 0, 1) || 0; /* attendant */ - V.Attendant = V.slaves.find(function(s) { return s.assignment === "be the Attendant"; }) || 0; + V.Attendant = V.slaves.find(function(s) { + return s.assignment === "be the Attendant"; + }) || 0; V.spaFix = Math.clamp(+V.spaFix, 0, 2) || 0; } @@ -1597,7 +1612,9 @@ window.FacilityDatatypeCleanup = (function() { V.clinicInflateBelly = Math.clamp(+V.clinicInflateBelly, 0, 1) || 0; V.clinicSpeedGestation = Math.clamp(+V.clinicSpeedGestation, 0, 1) || 0; /* nurse */ - V.Nurse = V.slaves.find(function(s) { return s.assignment === "be the Nurse"; }) || 0; + V.Nurse = V.slaves.find(function(s) { + return s.assignment === "be the Nurse"; + }) || 0; } function ArcadeDatatypeCleanup() { @@ -1614,7 +1631,9 @@ window.FacilityDatatypeCleanup = (function() { V.cellblock = Math.max(+V.cellblock, 0) || 0; V.cellblockUpgrade = Math.clamp(+V.cellblockUpgrade, 0, 1) || 0; /* wardeness */ - V.Wardeness = V.slaves.find(function(s) { return s.assignment === "be the Wardeness"; }) || 0; + V.Wardeness = V.slaves.find(function(s) { + return s.assignment === "be the Wardeness"; + }) || 0; V.cellblockWardenCumsInside = Math.clamp(+V.cellblockWardenCumsInside, 0, 1) || 0; } @@ -1628,18 +1647,25 @@ window.FacilityDatatypeCleanup = (function() { V.masterSuitePregnancyFertilityDrugs = Math.clamp(+V.masterSuitePregnancyFertilityDrugs, 0, 1) || 0; V.masterSuiteHyperPregnancy = Math.clamp(+V.masterSuiteHyperPregnancy, 0, 1) || 0; /* concubine */ - V.Concubine = V.slaves.find(function(s) { return s.assignment === "be your Concubine"; }) || 0; + V.Concubine = V.slaves.find(function(s) { + return s.assignment === "be your Concubine"; + }) || 0; } - function HeadGirlSuiteDatatypeCleanup(){ + function HeadGirlSuiteDatatypeCleanup() { /* headgirl */ - V.HeadGirl = V.slaves.find(function(s) { return s.assignment === "be your Head Girl"; }) || 0; + V.HeadGirl = V.slaves.find(function(s) { + return s.assignment === "be your Head Girl"; + }) || 0; V.HGSuiteEquality = Math.clamp(+V.HGSuiteEquality, 0, 1) || 0; - if (V.HGSuiteSurgery !== 0) + if (V.HGSuiteSurgery !== 0) { V.HGSuiteSurgery = 1; - if (V.HGSuiteDrugs !== 0) + } + if (V.HGSuiteDrugs !== 0) { V.HGSuiteDrugs = 1; - if (V.HGSuiteHormones !== 0) + } + if (V.HGSuiteHormones !== 0) { V.HGSuiteHormones = 1; + } } -})(); +})(); \ No newline at end of file diff --git a/src/js/eventSelectionJS.js b/src/js/eventSelectionJS.js index c20ae53c1b3d02c5d99415145b59bd2c475b88e8..da81a3936d3ca86f8c7f63a57b508f321ab02eee 100644 --- a/src/js/eventSelectionJS.js +++ b/src/js/eventSelectionJS.js @@ -1,11 +1,9 @@ -window.generateRandomEventPoolStandard = function (eventSlave) { - +window.generateRandomEventPoolStandard = function(eventSlave) { /* STANDARD EVENTS */ if (eventSlave.fetish !== "mindbroken") { if (canWalk(eventSlave)) { if (canTalk(eventSlave)) { - if (State.variables.RECockmilkInterceptionIDs.length > 1 || (State.variables.RECockmilkInterceptionIDs.length === 1 && eventSlave.ID !== State.variables.RECockmilkInterceptionIDs[0])) { if (eventSlave.devotion > 20) { if (eventSlave.dietCum > 0 || (eventSlave.fetishKnown && eventSlave.fetish === "cumslut")) { @@ -227,7 +225,9 @@ window.generateRandomEventPoolStandard = function (eventSlave) { } if (eventSlave.relationship > 3) { - var relationshipSlave = State.variables.slaves.find(function (s) { return s.ID === eventSlave.relationshipTarget; }); + let relationshipSlave = State.variables.slaves.find(function(s) { + return s.ID === eventSlave.relationshipTarget; + }); if (relationshipSlave.devotion > 20) { if (canWalk(relationshipSlave)) { if (canTalk(relationshipSlave)) { @@ -290,7 +290,7 @@ window.generateRandomEventPoolStandard = function (eventSlave) { if (eventSlave.devotion > 50) { if (eventSlave.trust > 50) { - var giver = 0; + let giver = 0; if (State.variables.HeadGirl === 0) { giver = 1; } else if (State.variables.HeadGirl.ID !== eventSlave.ID) { @@ -813,7 +813,6 @@ window.generateRandomEventPoolStandard = function (eventSlave) { } } } - } /* closes mute exempt */ if (eventSlave.devotion > 20) { @@ -1335,11 +1334,9 @@ window.generateRandomEventPoolStandard = function (eventSlave) { } } } - } /* closes amp/crawling exempt */ if (canTalk(eventSlave)) { - if (eventSlave.speechRules !== "restrictive") { if (eventSlave.boobsImplant > 400) { if (eventSlave.lipsImplant >= 30) { @@ -1478,7 +1475,6 @@ window.generateRandomEventPoolStandard = function (eventSlave) { } } } - } /* closes mute exempt */ if (State.variables.cockFeeder === 0) { @@ -1775,7 +1771,6 @@ window.generateRandomEventPoolStandard = function (eventSlave) { if (eventSlave.prestige === 0) { if (eventSlave.devotion > 50) { if (eventSlave.trust > 50) { - if (eventSlave.entertainSkill >= 100) { if (eventSlave.assignment === "serve the public") { State.variables.events.push("RE legendary entertainer"); @@ -1821,7 +1816,6 @@ window.generateRandomEventPoolStandard = function (eventSlave) { State.variables.events.push("RE former abolitionist"); } } - } } } @@ -1829,7 +1823,7 @@ window.generateRandomEventPoolStandard = function (eventSlave) { /* NICKNAME EVENTS */ if (State.variables.nicknamesAllowed === 1) { - var toSearch = eventSlave.slaveName.toLowerCase(); + let toSearch = eventSlave.slaveName.toLowerCase(); if (toSearch.indexOf("'") === -1) { if (State.variables.week - eventSlave.weekAcquired >= 4) { State.variables.events.push("RE nickname"); @@ -1837,7 +1831,6 @@ window.generateRandomEventPoolStandard = function (eventSlave) { } } /* closes nickname check */ } /* closes no nicknames option */ - } /* closes mindbreak exempt */ if (eventSlave.fetish === "mindbroken") { @@ -1865,18 +1858,15 @@ window.generateRandomEventPoolStandard = function (eventSlave) { } } } - }; /* servants spend a lot of time in the penthouse, so should be eligible for a number (but not all) random events */ -window.generateRandomEventPoolServant = function (eventSlave) { - +window.generateRandomEventPoolServant = function(eventSlave) { /* STANDARD EVENTS */ if (eventSlave.fetish !== "mindbroken") { if (canWalk(eventSlave)) { if (canTalk(eventSlave)) { - if (State.variables.RECockmilkInterceptionIDs.length > 1 || (State.variables.RECockmilkInterceptionIDs.length === 1 && eventSlave.ID !== State.variables.RECockmilkInterceptionIDs[0])) { if (eventSlave.devotion > 20) { if (eventSlave.dietCum > 0 || (eventSlave.fetishKnown && eventSlave.fetish === "cumslut")) { @@ -1962,7 +1952,9 @@ window.generateRandomEventPoolServant = function (eventSlave) { } if (eventSlave.relationship > 3) { - var relationshipSlave = State.variables.slaves.find(function (s) { return s.ID === eventSlave.relationshipTarget; }); + let relationshipSlave = State.variables.slaves.find(function(s) { + return s.ID === eventSlave.relationshipTarget; + }); if (relationshipSlave.devotion > 20) { if (canWalk(relationshipSlave)) { if (canTalk(relationshipSlave)) { @@ -1998,7 +1990,7 @@ window.generateRandomEventPoolServant = function (eventSlave) { if (eventSlave.devotion > 50) { if (eventSlave.trust > 50) { - var giver = 0; + let giver = 0; if (State.variables.HeadGirl === 0) { giver = 1; } else if (State.variables.HeadGirl.ID !== eventSlave.ID) { @@ -2307,7 +2299,6 @@ window.generateRandomEventPoolServant = function (eventSlave) { } } } - } /* closes mute exempt */ if (eventSlave.devotion > 20) { @@ -2675,11 +2666,9 @@ window.generateRandomEventPoolServant = function (eventSlave) { } } } - } /* closes amp/crawling exempt */ if (canTalk(eventSlave)) { - if (eventSlave.speechRules !== "restrictive") { if (eventSlave.boobsImplant > 400) { if (eventSlave.lipsImplant >= 30) { @@ -2731,7 +2720,6 @@ window.generateRandomEventPoolServant = function (eventSlave) { } } } - } /* closes mute exempt */ if (State.variables.cockFeeder === 0) { @@ -2946,7 +2934,7 @@ window.generateRandomEventPoolServant = function (eventSlave) { /* NICKNAME EVENTS */ if (State.variables.nicknamesAllowed === 1) { - var toSearch = eventSlave.slaveName.toLowerCase(); + let toSearch = eventSlave.slaveName.toLowerCase(); if (toSearch.indexOf("'") === -1) { if (State.variables.week - eventSlave.weekAcquired >= 4) { State.variables.events.push("RE nickname"); @@ -2954,7 +2942,6 @@ window.generateRandomEventPoolServant = function (eventSlave) { } } /* closes nickname check */ } /* closes no nicknames option */ - } /* closes mindbreak exempt */ if (eventSlave.fetish === "mindbroken") { @@ -2971,14 +2958,12 @@ window.generateRandomEventPoolServant = function (eventSlave) { } } } - }; -window.populateEventArray = function (RESS = State.variables.RESSevent.length, RESSTR = State.variables.RESSTRevent.length, RETS = State.variables.RETSevent.length, RECI = State.variables.RECIevent.length) { - +window.populateEventArray = function(RESS = State.variables.RESSevent.length, RESSTR = State.variables.RESSTRevent.length, RETS = State.variables.RETSevent.length, RECI = State.variables.RECIevent.length) { /* EVENT RANDOMIZATION */ - var events = State.variables.events; - var i = 0; + let events = State.variables.events; + let i = 0; for (i = 0; i < RESS; i++) { events.push("RESS"); @@ -2997,4 +2982,4 @@ window.populateEventArray = function (RESS = State.variables.RESSevent.length, R } return events; -}; +}; \ No newline at end of file