diff --git a/src/js/SlaveState.js b/src/js/SlaveState.js index 6e7533c7acf237879bcf9ea025ff04b28a347db9..b39ffb23a952a606bb4f4aa3e0159c7caade00c8 100644 --- a/src/js/SlaveState.js +++ b/src/js/SlaveState.js @@ -1,3 +1,4 @@ +/* eslint-disable no-undef */ /** * Encapsulates the full description of a slave state. Serializable by the SugarCube state * management. diff --git a/src/js/economyJS.js b/src/js/economyJS.js index b8efa6520e9d7fb20d546cff37509d6b79f72bca..2615eb5cb55a958a26835e93e0709a219fa2801a 100644 --- a/src/js/economyJS.js +++ b/src/js/economyJS.js @@ -1,3 +1,5 @@ +/* eslint-disable no-redeclare */ +/* eslint-disable no-undef */ window.LivingRule = Object.freeze({LUXURIOUS: 'luxurious', NORMAL: 'normal', SPARE: 'spare'}); window.Job = Object.freeze({ DAIRY: 'work in the dairy', MILKMAID: 'be the Milkmaid', MASTER_SUITE: 'serve in the master suite', CONCUBINE: 'be your Concubine', @@ -267,23 +269,23 @@ window.getSecurityExpansionCost = function() { else { soldierMod = 2; } - if (State.variables.militiaUnits != null) { + if (State.variables.militiaUnits !== null) { for (var i = 0; i < State.variables.militiaUnits.length; i++) { - if( !(State.variables.militiaUnits[i] === null) ) { + if(State.variables.militiaUnits[i] !== null) { secExpCost += State.variables.militiaUnits[i].troops * State.variables.soldierUpkeep * soldierMod; } } } - if (State.variables.slaveUnits != null) { + if (State.variables.slaveUnits !== null) { for (var i = 0; i < State.variables.slaveUnits.length; i++) { - if( !( State.variables.slaveUnits[i] === null) ) { + if(State.variables.slaveUnits[i] !== null) { secExpCost += State.variables.slaveUnits[i].troops * State.variables.soldierUpkeep * 0.5 * soldierMod; } } } - if (State.variables.mercUnits != null) { + if (State.variables.mercUnits !== null) { for (var i = 0; i < State.variables.mercUnits.length; i++) { - if( !(State.variables.mercUnits[i] === null) ) { + if(State.variables.mercUnits[i] !== null) { secExpCost += State.variables.mercUnits[i].troops * State.variables.soldierUpkeep * 1.5 * soldierMod; } } @@ -606,6 +608,13 @@ window.getSlaveCost = function(s) { cost += rulesCost; } break; + case Job.FARMYARD: + if(s.livingRules === LivingRule.NORMAL) { + cost += rulesCost * 1.5; + } else { + cost += rulesCost; + } + break; case Job.BROTHEL: if(s.livingRules === LivingRule.NORMAL) { cost += rulesCost * 1.5; @@ -1175,7 +1184,7 @@ window.repX = function(rep, what, who) { } //record the action - if (what === "cheating" || passage() == "init" || passage() == "init Nationalities") { + if (what === "cheating" || passage() === "init" || passage() === "init Nationalities") { /*we don't want to curve startup or cheating.*/ V.lastWeeksRepIncome[what] += rep; } else if (typeof V.lastWeeksRepIncome[what] !== 'undefined') { diff --git a/src/js/itemAvailability.js b/src/js/itemAvailability.js index eeac0fb007d7a35cf66753a39943814cfb1eb814..6414d22eaeb38e6c236750de9869d78d69e2485e 100644 --- a/src/js/itemAvailability.js +++ b/src/js/itemAvailability.js @@ -1,3 +1,4 @@ +/* eslint-disable no-undef */ /* intended to condense the clothing/toy/etc availability checks into something less asinine */ window.isItemAccessible = function(string) { const V = State.variables; diff --git a/src/js/rulesAssistantOptions.js b/src/js/rulesAssistantOptions.js index a3caa9529ccbe59fb7768c55025e2ba5768d6cb4..8e2a0a10399ceafd8884ac1986013e4fc2fc41e7 100644 --- a/src/js/rulesAssistantOptions.js +++ b/src/js/rulesAssistantOptions.js @@ -1,3 +1,4 @@ +/* eslint-disable no-undef */ // rewrite of the rules assistant options page in javascript // uses an object-oriented widget pattern // wrapped in a closure so as not to pollute the global namespace diff --git a/src/js/slaveSummaryWidgets.js b/src/js/slaveSummaryWidgets.js index a9cc60634875e403f1d3bcb8dc83cc09527c6ec2..9b2b57b1b34e13eb8c8d71b802749e64fec438d3 100644 --- a/src/js/slaveSummaryWidgets.js +++ b/src/js/slaveSummaryWidgets.js @@ -1,3 +1,6 @@ +/* eslint-disable no-unused-vars */ +/* eslint-disable no-redeclare */ +/* eslint-disable no-undef */ window.clearSummaryCache = /** @param {App.Entity.SlaveState | number} slave */ function clearSummaryCache(slave) { if (!slave) setup.summaryCache = {}; @@ -4729,82 +4732,82 @@ App.UI.PassageSlaveFilers = { "Main": s => (s.assignmentVisible === 1), "Personal Attention Select": s => (s.assignmentVisible === 1 && s.fuckdoll <= 0), "Agent Select": s => (s.fuckdoll === 0 && s.devotion > 20 && s.intelligence + s.intelligenceImplant > 15 && s.intelligenceImplant >= 15 && canWalk(s) && canSee(s) && canHear(s) && canTalk(s) && s.broodmother < 2 && (s.breedingMark !== 1 || State.variables.propOutcome === 0)), - "BG Select": s => (s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && s.assignment != "guard you" && canWalk(s) && canSee(s) && canHear(s) && (s.breedingMark != 1 || State.variables.propOutcome == 0)), - "Recruiter Select": s => (s.assignmentVisible == 1 && s.fuckdoll == 0 && s.devotion > 50 && s.assignment != "recruit girls" && canWalk(s) && canSee(s) && canTalk(s)), - "HG Select": s => (s.assignmentVisible == 1 && s.fuckdoll == 0 && s.devotion > 50 && s.assignment != "be your Head Girl" && canWalk(s) && canHear(s) && canSee(s) && canTalk(s)), - "Head Girl Suite": s => (s.assignmentVisible == 1 && s.fuckdoll <= 0 && ( - (State.variables.Flag == 0 && s.assignment != "be your Head Girl" && s.indentureRestrictions <= 0 && (s.breedingMark != 1 || State.variables.propOutcome == 0)) || - (State.variables.Flag != 0 && s.assignment == "live with your Head Girl"))), - "Subordinate Targeting": s => (s.devotion >= -20 && s.fuckdoll == 0 && State.variables.activeSlave.ID != s.ID && (State.variables.activeSlave.amp != 1 || s.amp != 1)), - "Spa": s => (s.assignmentVisible == 1 && s.fuckdoll <= 0 && ( - (State.variables.Flag == 0 && s.assignment != "rest in the spa") || - (State.variables.Flag == 1 && s.assignment == "rest in the spa") || - (State.variables.Flag != 0 && State.variables.Flag != 1 && s.ID == State.variables.Attendant.ID))), - "Attendant Select": s => (s.assignmentVisible == 1 && s.fuckdoll == 0 && s.devotion > 50 && canWalk(s) && canHear(s)), - "Nursery": s => (s.assignmentVisible == 1 && s.fuckdoll <= 0 && (s.devotion > 20 || s.trust > 20) && ( - (State.variables.Flag == 0 && s.assignment != "work as a nanny") || - (State.variables.Flag == 1 && s.assignment == "work as a nanny") || - (State.variables.Flag != 0 && State.variables.Flag != 1 && s.ID == State.variables.Matron.ID))), - "Matron Select": s => (s.assignmentVisible == 1 && s.fuckdoll == 0 && s.devotion > 50 && canWalk(s) && canHear(s)), - "Brothel": s => (s.assignmentVisible == 1 && s.fuckdoll <= 0 && ( - (State.variables.Flag == 0 && s.assignment != "work in the brothel") || - (State.variables.Flag == 1 && s.assignment == "work in the brothel") || - (State.variables.Flag != 0 && State.variables.Flag != 1 && s.ID == State.variables.Madam.ID))), - "Madam Select": s => (s.assignmentVisible == 1 && s.fuckdoll == 0 && s.devotion > 50 && s.intelligence + s.intelligenceImplant >= -50 && canWalk(s) && canSee(s) && canHear(s) && (s.breedingMark != 1 || State.variables.propOutcome == 0)), - "Club": s => (s.assignmentVisible == 1 && s.fuckdoll <= 0 && ( - (State.variables.Flag == 0 && s.assignment != "serve in the club") || - (State.variables.Flag == 1 && s.assignment == "serve in the club") || - (State.variables.Flag != 0 && State.variables.Flag != 1 && s.ID == State.variables.DJ.ID))), - "DJ Select": s => (s.assignmentVisible == 1 && s.fuckdoll == 0 && s.devotion > 50 && s.intelligence + s.intelligenceImplant >= -50 && canTalk(s) && canHear(s) && canWalk(s) && (s.breedingMark != 1 || State.variables.propOutcome == 0)), - "Clinic": s => (s.assignmentVisible == 1 && s.fuckdoll <= 0 && ( - (State.variables.Flag == 0 && s.assignment != "get treatment in the clinic") || - (State.variables.Flag == 1 && s.assignment == "get treatment in the clinic") || - (State.variables.Flag != 0 && State.variables.Flag != 1 && s.ID == State.variables.Nurse.ID))), - "Nurse Select": s => (s.assignmentVisible == 1 && s.fuckdoll == 0 && s.devotion > 50 && canWalk(s) && canSee(s)), - "Schoolroom": s => (s.assignmentVisible == 1 && s.fuckdoll <= 0 && ( - (State.variables.Flag == 0 && s.fetish != "mindbroken" && s.assignment != "learn in the schoolroom") || - (State.variables.Flag == 1 && s.assignment == "learn in the schoolroom") || - (State.variables.Flag != 0 && State.variables.Flag != 1 && s.ID == State.variables.Schoolteacher.ID))), - "Schoolteacher Select": s => (s.assignmentVisible == 1 && s.fuckdoll == 0 && s.devotion > 50 && canTalk(s) && canHear(s) && canSee(s)), - "Dairy": s => (s.assignmentVisible == 1 && s.fuckdoll <= 0 && ( - (State.variables.Flag == 0 && s.assignment != "work in the dairy") || - (State.variables.Flag == 1 && s.assignment == "work in the dairy") || - (State.variables.Flag != 0 && State.variables.Flag != 1 && s.ID == State.variables.Milkmaid.ID))), - "Milkmaid Select": s => (s.assignmentVisible == 1 && s.fuckdoll == 0 && s.devotion > 20 && canWalk(s) && canSee(s) && canHear(s)), - "Farmyard": s => (s.assignmentVisible == 1 && s.fuckdoll <= 0 && canWalk(s) && ( - (State.variables.Flag == 0 && s.assignment != "work as a farmhand") || - (State.variables.Flag == 1 && s.assignment == "work as a farmhand") || - (State.variables.Flag != 0 && State.variables.Flag != 1 && s.ID == State.variables.Farmer.ID))), - "Farmer Select": s => (s.assignmentVisible == 1 && s.fuckdoll == 0 && s.devotion > 50 && canWalk(s) && canSee(s) && canHear(s)), - "Servants' Quarters": s => (s.assignmentVisible == 1 && s.fuckdoll <= 0 && ( - (State.variables.Flag == 0 && s.assignment != "work as a servant") || - (State.variables.Flag == 1 && s.assignment == "work as a servant") || - (State.variables.Flag != 0 && State.variables.Flag != 1 && s.ID == State.variables.Stewardess.ID))), - "Stewardess Select": s => (s.assignmentVisible == 1 && s.fuckdoll == 0 && s.devotion > 50 && s.intelligence + s.intelligenceImplant >= -50 && canWalk(s) && canSee(s) && canHear(s)), - "Master Suite": s => (s.assignmentVisible == 1 && s.fuckdoll <= 0 && ( - (State.variables.Flag == 0 && s.assignment != "serve in the master suite") || - (State.variables.Flag == 1 && s.assignment == "serve in the master suite") || - (State.variables.Flag != 0 && State.variables.Flag != 1 && s.ID == State.variables.Concubine.ID))), - "Concubine Select": s => (s.assignmentVisible == 1 && s.fuckdoll == 0 && s.devotion > 50 && s.amp != 1), - "Cellblock": s => (s.assignmentVisible == 1 && s.fuckdoll <= 0 && s.fetish != "mindbroken" && ( - (State.variables.Flag == 0 && s.assignment != "be confined in the cellblock") || - (State.variables.Flag == 1 && s.assignment == "be confined in the cellblock") || - (State.variables.Flag != 0 && State.variables.Flag != 1 && s.ID == State.variables.Wardeness.ID))), - "Wardeness Select": s => (s.assignmentVisible == 1 && s.fuckdoll == 0 && s.devotion > 50 && canWalk(s) && canSee(s) && canHear(s)), - "Arcade": s => (s.assignmentVisible == 1 && (State.variables.arcade >= State.variables.arcadeSlaves || State.variables.arcadeUpgradeFuckdolls == 1) && ( - (State.variables.Flag == 0 && s.assignment != "be confined in the arcade") || - (State.variables.Flag != 0 && s.assignment == "be confined in the arcade"))), - "Pit": s => (s.assignmentVisible == 1 && s.fuckdoll == 0 && ( - (State.variables.Flag == 0 && !State.variables.fighterIDs.includes(s.ID) && canWalk(s) && (s.assignment != "guard you") && (s.assignment != "work in the dairy" || State.variables.dairyRestraintsSetting < 2)) || - (State.variables.Flag != 0 && State.variables.fighterIDs.includes(s.ID)))), - "Coursing Association": s => (s.assignmentVisible == 1 && s.fuckdoll == 0 && ( - (State.variables.Flag == 0 && canWalk(s) && State.variables.Lurcher.ID != s.ID) || - (State.variables.Flag != 0 && State.variables.Lurcher.ID == s.ID))), - "New Game Plus": s => ((State.variables.Flag == 0 && s.assignment != "be imported") || (State.variables.Flag != 0 && s.assignment == "be imported")), - "Rules Slave Select": s => ((State.variables.Flag == 0 && !ruleSlaveSelected(s, State.variables.currentRule)) || (State.variables.Flag != 0 && ruleSlaveSelected(s, State.variables.currentRule))), - "Rules Slave Exclude": s => ((State.variables.Flag == 0 && !ruleSlaveExcluded(s, State.variables.currentRule)) || (State.variables.Flag != 0 && ruleSlaveExcluded(s, State.variables.currentRule))), - "Matchmaking": s => (s.devotion >= 100 && s.relationship == State.variables.activeSlave.relationship && s.ID != State.variables.activeSlave.ID), - "Dinner Party Preparations": s => (s.assignmentVisible == 1 && s.fuckdoll == 0), + "BG Select": s => (s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && s.assignment !== "guard you" && canWalk(s) && canSee(s) && canHear(s) && (s.breedingMark !== 1 || State.variables.propOutcome === 0)), + "Recruiter Select": s => (s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && s.assignment !== "recruit girls" && canWalk(s) && canSee(s) && canTalk(s)), + "HG Select": s => (s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && s.assignment !== "be your Head Girl" && canWalk(s) && canHear(s) && canSee(s) && canTalk(s)), + "Head Girl Suite": s => (s.assignmentVisible === 1 && s.fuckdoll <= 0 && ( + (State.variables.Flag === 0 && s.assignment !== "be your Head Girl" && s.indentureRestrictions <= 0 && (s.breedingMark !== 1 || State.variables.propOutcome === 0)) || + (State.variables.Flag !== 0 && s.assignment === "live with your Head Girl"))), + "Subordinate Targeting": s => (s.devotion >= -20 && s.fuckdoll === 0 && State.variables.activeSlave.ID !== s.ID && (State.variables.activeSlave.amp !== 1 || s.amp !== 1)), + "Spa": s => (s.assignmentVisible === 1 && s.fuckdoll <= 0 && ( + (State.variables.Flag === 0 && s.assignment !== "rest in the spa") || + (State.variables.Flag === 1 && s.assignment === "rest in the spa") || + (State.variables.Flag !== 0 && State.variables.Flag !== 1 && s.ID === State.variables.Attendant.ID))), + "Attendant Select": s => (s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && canWalk(s) && canHear(s)), + "Nursery": s => (s.assignmentVisible === 1 && s.fuckdoll <= 0 && (s.devotion > 20 || s.trust > 20) && ( + (State.variables.Flag === 0 && s.assignment !== "work as a nanny") || + (State.variables.Flag === 1 && s.assignment === "work as a nanny") || + (State.variables.Flag !== 0 && State.variables.Flag !== 1 && s.ID === State.variables.Matron.ID))), + "Matron Select": s => (s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && canWalk(s) && canHear(s)), + "Brothel": s => (s.assignmentVisible === 1 && s.fuckdoll <= 0 && ( + (State.variables.Flag === 0 && s.assignment !== "work in the brothel") || + (State.variables.Flag === 1 && s.assignment === "work in the brothel") || + (State.variables.Flag !== 0 && State.variables.Flag !== 1 && s.ID === State.variables.Madam.ID))), + "Madam Select": s => (s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && s.intelligence + s.intelligenceImplant >= -50 && canWalk(s) && canSee(s) && canHear(s) && (s.breedingMark !== 1 || State.variables.propOutcome === 0)), + "Club": s => (s.assignmentVisible === 1 && s.fuckdoll <= 0 && ( + (State.variables.Flag === 0 && s.assignment !== "serve in the club") || + (State.variables.Flag === 1 && s.assignment === "serve in the club") || + (State.variables.Flag !== 0 && State.variables.Flag !== 1 && s.ID === State.variables.DJ.ID))), + "DJ Select": s => (s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && s.intelligence + s.intelligenceImplant >= -50 && canTalk(s) && canHear(s) && canWalk(s) && (s.breedingMark !== 1 || State.variables.propOutcome === 0)), + "Clinic": s => (s.assignmentVisible === 1 && s.fuckdoll <= 0 && ( + (State.variables.Flag === 0 && s.assignment !== "get treatment in the clinic") || + (State.variables.Flag === 1 && s.assignment === "get treatment in the clinic") || + (State.variables.Flag !== 0 && State.variables.Flag !== 1 && s.ID === State.variables.Nurse.ID))), + "Nurse Select": s => (s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && canWalk(s) && canSee(s)), + "Schoolroom": s => (s.assignmentVisible === 1 && s.fuckdoll <= 0 && ( + (State.variables.Flag === 0 && s.fetish !== "mindbroken" && s.assignment !== "learn in the schoolroom") || + (State.variables.Flag === 1 && s.assignment === "learn in the schoolroom") || + (State.variables.Flag !== 0 && State.variables.Flag !== 1 && s.ID === State.variables.Schoolteacher.ID))), + "Schoolteacher Select": s => (s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && canTalk(s) && canHear(s) && canSee(s)), + "Dairy": s => (s.assignmentVisible === 1 && s.fuckdoll <= 0 && ( + (State.variables.Flag === 0 && s.assignment !== "work in the dairy") || + (State.variables.Flag === 1 && s.assignment === "work in the dairy") || + (State.variables.Flag !== 0 && State.variables.Flag !== 1 && s.ID === State.variables.Milkmaid.ID))), + "Milkmaid Select": s => (s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 20 && canWalk(s) && canSee(s) && canHear(s)), + "Farmyard": s => (s.assignmentVisible === 1 && s.fuckdoll <= 0 && canWalk(s) && ( + (State.variables.Flag === 0 && s.assignment !== "work as a farmhand") || + (State.variables.Flag === 1 && s.assignment === "work as a farmhand") || + (State.variables.Flag !== 0 && State.variables.Flag !== 1 && s.ID === State.variables.Farmer.ID))), + "Farmer Select": s => (s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && canWalk(s) && canSee(s) && canHear(s)), + "Servants' Quarters": s => (s.assignmentVisible === 1 && s.fuckdoll <= 0 && ( + (State.variables.Flag === 0 && s.assignment !== "work as a servant") || + (State.variables.Flag === 1 && s.assignment === "work as a servant") || + (State.variables.Flag !== 0 && State.variables.Flag !== 1 && s.ID === State.variables.Stewardess.ID))), + "Stewardess Select": s => (s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && s.intelligence + s.intelligenceImplant >= -50 && canWalk(s) && canSee(s) && canHear(s)), + "Master Suite": s => (s.assignmentVisible === 1 && s.fuckdoll <= 0 && ( + (State.variables.Flag === 0 && s.assignment !== "serve in the master suite") || + (State.variables.Flag === 1 && s.assignment === "serve in the master suite") || + (State.variables.Flag !== 0 && State.variables.Flag !== 1 && s.ID === State.variables.Concubine.ID))), + "Concubine Select": s => (s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && s.amp !== 1), + "Cellblock": s => (s.assignmentVisible === 1 && s.fuckdoll <= 0 && s.fetish !== "mindbroken" && ( + (State.variables.Flag === 0 && s.assignment !== "be confined in the cellblock") || + (State.variables.Flag === 1 && s.assignment === "be confined in the cellblock") || + (State.variables.Flag !== 0 && State.variables.Flag !== 1 && s.ID === State.variables.Wardeness.ID))), + "Wardeness Select": s => (s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && canWalk(s) && canSee(s) && canHear(s)), + "Arcade": s => (s.assignmentVisible === 1 && (State.variables.arcade >= State.variables.arcadeSlaves || State.variables.arcadeUpgradeFuckdolls === 1) && ( + (State.variables.Flag === 0 && s.assignment !== "be confined in the arcade") || + (State.variables.Flag !== 0 && s.assignment === "be confined in the arcade"))), + "Pit": s => (s.assignmentVisible === 1 && s.fuckdoll === 0 && ( + (State.variables.Flag === 0 && !State.variables.fighterIDs.includes(s.ID) && canWalk(s) && (s.assignment !== "guard you") && (s.assignment !== "work in the dairy" || State.variables.dairyRestraintsSetting < 2)) || + (State.variables.Flag !== 0 && State.variables.fighterIDs.includes(s.ID)))), + "Coursing Association": s => (s.assignmentVisible === 1 && s.fuckdoll === 0 && ( + (State.variables.Flag === 0 && canWalk(s) && State.variables.Lurcher.ID !== s.ID) || + (State.variables.Flag !== 0 && State.variables.Lurcher.ID === s.ID))), + "New Game Plus": s => ((State.variables.Flag === 0 && s.assignment !== "be imported") || (State.variables.Flag !== 0 && s.assignment === "be imported")), + "Rules Slave Select": s => ((State.variables.Flag === 0 && !ruleSlaveSelected(s, State.variables.currentRule)) || (State.variables.Flag !== 0 && ruleSlaveSelected(s, State.variables.currentRule))), + "Rules Slave Exclude": s => ((State.variables.Flag === 0 && !ruleSlaveExcluded(s, State.variables.currentRule)) || (State.variables.Flag !== 0 && ruleSlaveExcluded(s, State.variables.currentRule))), + "Matchmaking": s => (s.devotion >= 100 && s.relationship === State.variables.activeSlave.relationship && s.ID !== State.variables.activeSlave.ID), + "Dinner Party Preparations": s => (s.assignmentVisible === 1 && s.fuckdoll === 0), }; /** @@ -4872,8 +4875,8 @@ App.UI.slaveSummaryList = function (passageName) { function dividerAndImage(s, showImage) { showImage = showImage || true; - let r = [V.lineSeparations == 0 ? '<br>' : '<hr style="margin:0">']; - if (showImage && (V.seeImages == 1) && (V.seeSummaryImages == 1)) { + let r = [V.lineSeparations === 0 ? '<br>' : '<hr style="margin:0">']; + if (showImage && (V.seeImages === 1) && (V.seeSummaryImages === 1)) { r.push(slaveImage(s)); } return r.join(""); @@ -4895,13 +4898,13 @@ App.UI.slaveSummaryList = function (passageName) { const tabName = V.slaveAssignmentTab; let _tableCount = 0; - if (V.useSlaveListInPageJSNavigation == 1) { + if (V.useSlaveListInPageJSNavigation === 1) { const _Count = _indexSlavesIdxs.length; /* Useful for finding weird combinations — usages of this passage that don't yet generate the quick index. * <<print 'pass/count/indexed/flag::[' + passageName + '/' + _Count + '/' + _indexed + '/' + $Flag + ']'>> */ - if (((_Count > 1) && (_indexed == 0) && (((passageName == 'Main') && (V.Flag === undefined) && ((V.useSlaveSummaryTabs == 0) || (V.slaveAssignmentTab == "all"))) || (V.Flag == 1)))) { + if (((_Count > 1) && (_indexed === 0) && (((passageName === 'Main') && (V.Flag === undefined) && ((V.useSlaveSummaryTabs === 0) || (V.slaveAssignmentTab === "all"))) || (V.Flag === 1)))) { let _indexed = 1, _counter = 0, _buttons = [], @@ -4985,7 +4988,7 @@ App.UI.slaveSummaryList = function (passageName) { const _slaveName = SlaveFullName(_Slave); let _tableCount = 0; - let slaveImagePrinted = (V.seeImages == 1) && (V.seeSummaryImages == 1); + let slaveImagePrinted = (V.seeImages === 1) && (V.seeSummaryImages === 1); res.push('<div id="slave_' + _Slave.ID + '" style="clear:both">'); @@ -5002,7 +5005,7 @@ App.UI.slaveSummaryList = function (passageName) { else if ("recruit girls" === _Slave.assignment) res.push('<strong>@@.lightcoral;RC@@</strong> '); else if ("guard you" === _Slave.assignment) res.push('<strong>@@.lightcoral;BG@@</strong> '); - if (Array.isArray(V.personalAttention) && V.personalAttention.findIndex(s => s.ID == _Slave.ID) != -1) { + if (Array.isArray(V.personalAttention) && V.personalAttention.findIndex(s => s.ID === _Slave.ID) !== -1) { res.push('<strong>@@.lightcoral; PA@@</strong> '); } res.push(this.passageLink(_slaveName, 'Slave Interact', `$activeSlave = $slaves[${_ssi}]`)); /* lists their names */ @@ -5029,7 +5032,7 @@ App.UI.slaveSummaryList = function (passageName) { res.push(`[[${_slaveName}|HG Workaround][$i = ${_ssi}]]`); break; case "Head Girl Suite": - if (V.Flag == 0) { + if (V.Flag === 0) { res.push(dividerAndImage(_Slave)); res.push(`[[${_slaveName}|Slave Interact][$activeSlave = $slaves[${_ssi}]]]`); } else { @@ -5042,10 +5045,10 @@ App.UI.slaveSummaryList = function (passageName) { res.push(`[[${_slaveName}|Subordinate Targeting][$activeSlave.subTarget = $slaves[${_ssi}].ID]]`); break; case "Spa": - if (V.Flag == 0) { + if (V.Flag === 0) { if (V.spa <= V.spaSlaves) { res.pop(); continue; } - if ((_Slave.health < 20) || (_Slave.trust < 60) || (_Slave.devotion <= 60) || (_Slave.fetish == "mindbroken") || _Slave.sexualFlaw !== "none" || _Slave.behavioralFlaw !== "none") { - if (_Slave.devotion >= -20 || _Slave.fetish == "mindbroken") { + if ((_Slave.health < 20) || (_Slave.trust < 60) || (_Slave.devotion <= 60) || (_Slave.fetish === "mindbroken") || _Slave.sexualFlaw !== "none" || _Slave.behavioralFlaw !== "none") { + if (_Slave.devotion >= -20 || _Slave.fetish === "mindbroken") { res.push(dividerAndImage(_Slave)); res.push(`[[${_slaveName}|Slave Interact][$activeSlave = $slaves[${_ssi}]]]`); } else { @@ -5056,11 +5059,11 @@ App.UI.slaveSummaryList = function (passageName) { res.push(`<i>${_Slave.slaveName} cannot benefit from the spa</i></div>`); continue; } - } else if (V.Flag == 1) { + } else if (V.Flag === 1) { res.push(dividerAndImage(_Slave)); res.push(`[[${_slaveName}|Slave Interact][$activeSlave = $slaves[${_ssi}]]]`); } else { - if ((V.seeImages == 1) && (V.seeSummaryImages == 1)) res.push(slaveImage(_Slave)); + if ((V.seeImages === 1) && (V.seeSummaryImages === 1)) res.push(slaveImage(_Slave)); res.push(`[[${_slaveName}|Slave Interact][$activeSlave = $slaves[${_ssi}]]]`); } break; @@ -5069,7 +5072,7 @@ App.UI.slaveSummaryList = function (passageName) { res.push(`[[${_slaveName}|Attendant Workaround][$i = ${_ssi}]]`); break; case "Nursery": - if (V.Flag == 0) { + if (V.Flag === 0) { if (V.nurseryNannies <= V.nurserySlaves) { res.pop(); continue; } if ((_Slave.devotion >= -20) || ((_Slave.devotion >= -50) && (_Slave.trust <= 20)) || (_Slave.trust < -20)) { res.push(dividerAndImage(_Slave)); @@ -5078,11 +5081,11 @@ App.UI.slaveSummaryList = function (passageName) { res.push(`<i>${_Slave.slaveName} must be either more fearful of you or devoted to you</i></div>`); continue; } - } else if (V.Flag == 1) { + } else if (V.Flag === 1) { res.push(dividerAndImage(_Slave)); res.push(`[[${_slaveName}|Slave Interact][$activeSlave = $slaves[${_ssi}]]]`); } else { - if ((V.seeImages == 1) && (V.seeSummaryImages == 1)) { + if ((V.seeImages === 1) && (V.seeSummaryImages === 1)) { res.push(slaveImage(_Slave)); } res.push(`[[${_slaveName}|Slave Interact][$activeSlave = $slaves[${_ssi}]]]`); @@ -5093,9 +5096,9 @@ App.UI.slaveSummaryList = function (passageName) { res.push(`[[${_slaveName}|Matron Workaround][$i = ${_ssi}]]`); break; case "Brothel": - if (V.Flag == 0) { + if (V.Flag === 0) { if (V.brothel <= V.brothelSlaves) { res.pop(); continue; } - if (_Slave.breedingMark != 1 || V.propOutcome == 0) { + if (_Slave.breedingMark !== 1 || V.propOutcome === 0) { if ((_Slave.devotion > 50) || ((_Slave.devotion >= -50) && (_Slave.trust < -20)) || (_Slave.trust < -50) || (_Slave.trust > 50)) { res.push(dividerAndImage(_Slave)); res.push(`[[${_slaveName}|Slave Interact][$activeSlave = $slaves[${_ssi}]]]`); @@ -5107,11 +5110,11 @@ App.UI.slaveSummaryList = function (passageName) { res.push(`<i>${_Slave.slaveName} is for private use only</i></div>`); continue; } - } else if (V.Flag == 1) { + } else if (V.Flag === 1) { res.push(dividerAndImage(_Slave)); res.push(`[[${_slaveName}|Slave Interact][$activeSlave = $slaves[${_ssi}]]]`); } else { - if ((V.seeImages == 1) && (V.seeSummaryImages == 1)) { + if ((V.seeImages === 1) && (V.seeSummaryImages === 1)) { res.push(slaveImage(_Slave)); } res.push(`[[${_slaveName}|Slave Interact][$activeSlave = $slaves[${_ssi}]]]`); @@ -5122,9 +5125,9 @@ App.UI.slaveSummaryList = function (passageName) { res.push(`[[${_slaveName}|Madam Workaround][$i = ${_ssi}]]`); break; case "Club": - if (V.Flag == 0) { + if (V.Flag === 0) { if (V.club <= V.clubSlaves) { res.pop(); continue; } - if (_Slave.breedingMark != 1 || V.propOutcome == 0) { + if (_Slave.breedingMark !== 1 || V.propOutcome === 0) { if ((_Slave.devotion > 50) || ((_Slave.devotion >= -50) && (_Slave.trust < -20)) || (_Slave.trust < -50) || (_Slave.trust > 50)) { res.push(dividerAndImage(_Slave)); res.push(`[[${_slaveName}|Slave Interact][$activeSlave = $slaves[${_ssi}]]]`); @@ -5136,7 +5139,7 @@ App.UI.slaveSummaryList = function (passageName) { res.push(`//${_Slave.slaveName} is for private use only//</div>`); continue; } - } else if (V.Flag == 1) { + } else if (V.Flag === 1) { res.push(dividerAndImage(_Slave)); res.push(`[[${_slaveName}|Slave Interact][$activeSlave = $slaves[${_ssi}]]]`); } else { @@ -5149,16 +5152,16 @@ App.UI.slaveSummaryList = function (passageName) { res.push(`[[${_slaveName}|DJ Workaround][$i = ${_ssi}]]`); break; case "Clinic": - if (V.Flag == 0) { + if (V.Flag === 0) { if (V.clinic <= V.clinicSlaves) { res.pop(); continue; } - if ((_Slave.health < 20) || (V.Nurse != 0 && ((_Slave.chem > 15 && V.clinicUpgradeFilters == 1) || (V.bellyImplants == 1 && _Slave.bellyImplant > -1) || (_Slave.pregKnown == 1 && (V.clinicSpeedGestation >= 0 || _Slave.pregControl == "speed up")) || (_Slave.pregAdaptation * 1000 < _Slave.bellyPreg || _Slave.preg > _Slave.pregData.normalBirth / 1.33)))) { + if ((_Slave.health < 20) || (V.Nurse !== 0 && ((_Slave.chem > 15 && V.clinicUpgradeFilters === 1) || (V.bellyImplants === 1 && _Slave.bellyImplant > -1) || (_Slave.pregKnown === 1 && (V.clinicSpeedGestation >= 0 || _Slave.pregControl === "speed up")) || (_Slave.pregAdaptation * 1000 < _Slave.bellyPreg || _Slave.preg > _Slave.pregData.normalBirth / 1.33)))) { res.push(dividerAndImage(_Slave)); res.push(`[[${_slaveName}|Slave Interact][$activeSlave = $slaves[${_ssi}]]]`); } else { res.push(`//${_Slave.slaveName} cannot benefit from the clinic//</div>`); continue; } - } else if (V.Flag == 1) { + } else if (V.Flag === 1) { res.push(dividerAndImage(_Slave)); res.push(`[[${_slaveName}|Slave Interact][$activeSlave = $slaves[${_ssi}]]]`); } else { @@ -5171,10 +5174,10 @@ App.UI.slaveSummaryList = function (passageName) { res.push(`[[${_slaveName}|Nurse Workaround][$i = ${_ssi}]]`); break; case "Schoolroom": - if (V.Flag == 0) { + if (V.Flag === 0) { if (V.schoolroom <= V.schoolroomSlaves) { res.pop(); continue; } if ((_Slave.devotion >= -20) || ((_Slave.devotion >= -50) && (_Slave.trust < -20)) || (_Slave.trust < -50)) { - 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 ((_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))) { res.push(dividerAndImage(_Slave)); res.push(`[[${_slaveName}|Slave Interact][$activeSlave = $slaves[${_ssi}]]]`); } else { @@ -5185,7 +5188,7 @@ App.UI.slaveSummaryList = function (passageName) { res.push(`//${_Slave.slaveName} is too resistant to learn//</div>`); continue; } - } else if (V.Flag == 1) { + } else if (V.Flag === 1) { res.push(dividerAndImage(_Slave)); res.push(`[[${_slaveName}|Slave Interact][$activeSlave = $slaves[${_ssi}]]]`); } else { @@ -5198,9 +5201,9 @@ App.UI.slaveSummaryList = function (passageName) { res.push(`[[${_slaveName}|Schoolteacher Workaround][$i = ${_ssi}]]`); break; case "Dairy": - if (V.Flag == 0) { + if (V.Flag === 0) { const _dairySeed = V.bioreactorsXY + V.bioreactorsXX + V.bioreactorsHerm + V.bioreactorsBarren; - if (_Slave.assignment == "work in the dairy") { res.pop(); continue; } + if (_Slave.assignment === "work in the dairy") { res.pop(); continue; } if (V.dairy <= V.dairySlaves + _dairySeed) { res.pop(); continue; } if ((_Slave.indentureRestrictions > 0) && (V.dairyRestraintsSetting > 1)) { res.push(`//${_Slave.slaveName}'s indenture forbids extractive Dairy service.//</div>`); @@ -5208,17 +5211,17 @@ App.UI.slaveSummaryList = function (passageName) { } else if ((_Slave.indentureRestrictions > 1) && (V.dairyRestraintsSetting > 0)) { res.push(`//${_Slave.slaveName}'s indenture allows only free range milking.//</div>`); continue; - } else if (_Slave.breedingMark == 1 && V.propOutcome == 1 && V.dairyRestraintsSetting > 0) { + } else if (_Slave.breedingMark === 1 && V.propOutcome === 1 && V.dairyRestraintsSetting > 0) { res.push(`//${_Slave.slaveName} may only be a free range cow//</div>`); continue; - } else if ((V.dairyPregSetting > 0) && ((_Slave.bellyImplant != -1) || (_Slave.broodmother != 0))) { + } else if ((V.dairyPregSetting > 0) && ((_Slave.bellyImplant !== -1) || (_Slave.broodmother !== 0))) { res.push(`//${_Slave.slaveName}'s womb cannot accommodate current machine settings//</div>`); continue; } else { - if ((_Slave.lactation > 0) || (_Slave.balls > 0) || ((V.dairySlimMaintainUpgrade == 0 || V.dairySlimMaintain == 0) && (_Slave.boobs > 300 || _Slave.balls == 0 || V.dairyImplantsSetting == 1) && V.dairyImplantsSetting != 2)) { - 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 ((_Slave.lactation > 0) || (_Slave.balls > 0) || ((V.dairySlimMaintainUpgrade === 0 || V.dairySlimMaintain === 0) && (_Slave.boobs > 300 || _Slave.balls === 0 || V.dairyImplantsSetting === 1) && V.dairyImplantsSetting !== 2)) { + 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)) { res.push(dividerAndImage(_Slave)); res.push(`[[${_slaveName}|Slave Interact][$activeSlave = $slaves[${_ssi}]]]`); } else { @@ -5233,7 +5236,7 @@ App.UI.slaveSummaryList = function (passageName) { res.push(`//${_Slave.slaveName} must be obedient in order to be milked here//</div>`); continue; } - } else if ((V.dairySlimMaintainUpgrade == 1 && V.dairySlimMaintain == 1) || (V.dairyImplantsSetting == 2) || (_Slave.boobs <= 300 && _Slave.balls > 0 && (V.dairyImplantsSetting == 0 || V.dairyImplantsSetting == 3))) { + } else if ((V.dairySlimMaintainUpgrade === 1 && V.dairySlimMaintain === 1) || (V.dairyImplantsSetting === 2) || (_Slave.boobs <= 300 && _Slave.balls > 0 && (V.dairyImplantsSetting === 0 || V.dairyImplantsSetting === 3))) { res.push(`//${_Slave.slaveName} is not lactating ${(V.seeDicks > 0) ? 'or producing semen' : ''} and ${V.dairyName}'s current settings forbid the automatic implantation of lactation inducing drugs or manual stimulation to induce it, so she cannot be a cow//</div>`); continue; } else { @@ -5241,7 +5244,7 @@ App.UI.slaveSummaryList = function (passageName) { continue; } } - } else if (V.Flag == 1) { + } else if (V.Flag === 1) { res.push(dividerAndImage(_Slave)); res.push(`[[${_slaveName}|Slave Interact][$activeSlave = $slaves[${_ssi}]]]`); } else { @@ -5254,12 +5257,12 @@ App.UI.slaveSummaryList = function (passageName) { res.push(`[[${_slaveName}|Milkmaid Workaround][$i = ${_ssi}]]`); break; case "Farmyard": - if (V.Flag == 0) { - if (_Slave.assignment == "work as a farmhand") { res.pop(); continue; } + if (V.Flag === 0) { + if (_Slave.assignment === "work as a farmhand") { res.pop(); continue; } if (V.farmyard <= V.farmyardSlaves){ res.pop(); continue; } res.push(dividerAndImage(_Slave)); res.push(`[[${_slaveName}|Slave Interact][$activeSlave = $slaves[${_ssi}]]]`); - } else if (V.Flag == 1) { + } else if (V.Flag === 1) { res.push(dividerAndImage(_Slave)); res.push(`[[${_slaveName}|Slave Interact][$activeSlave = $slaves[${_ssi}]]]`); } else { @@ -5272,7 +5275,7 @@ App.UI.slaveSummaryList = function (passageName) { res.push(`[[${_slaveName}|Farmer Workaround][$i = ${_ssi}]]`); break; case "Servants' Quarters": - if (V.Flag == 0) { + if (V.Flag === 0) { if (V.servantsQuarters <= V.servantsQuartersSlaves) { res.pop(); continue; } if ((_Slave.devotion >= -20) || ((_Slave.devotion >= -50) && (_Slave.trust <= 20)) || (_Slave.trust < -20)) { res.push(dividerAndImage(_Slave)); @@ -5281,7 +5284,7 @@ App.UI.slaveSummaryList = function (passageName) { res.push(`//${_Slave.slaveName} must be either more fearful of you or devoted to you//</div>`); continue; } - } else if (V.Flag == 1) { + } else if (V.Flag === 1) { res.push(dividerAndImage(_Slave)); res.push(`[[${_slaveName}|Slave Interact][$activeSlave = $slaves[${_ssi}]]]`); } else { @@ -5294,7 +5297,7 @@ App.UI.slaveSummaryList = function (passageName) { res.push(`[[${_slaveName}|Stewardess Workaround][$i = ${_ssi}]]`); break; case "Master Suite": - if (V.Flag == 0) { + if (V.Flag === 0) { if (V.masterSuite <= V.masterSuiteSlaves) { res.pop(); continue; } if ((_Slave.devotion > 20) || ((_Slave.devotion >= -50) && (_Slave.trust < -20)) || (_Slave.trust < -50)) { res.push(dividerAndImage(_Slave)); @@ -5303,7 +5306,7 @@ App.UI.slaveSummaryList = function (passageName) { res.push(`//${_Slave.slaveName} is not sufficiently broken for the master suite//</div>`); continue; } - } else if (V.Flag == 1) { + } else if (V.Flag === 1) { res.push(dividerAndImage(_Slave)); res.push(`[[${_slaveName}|Slave Interact][$activeSlave = $slaves[${_ssi}]]]`); } else { @@ -5316,8 +5319,8 @@ App.UI.slaveSummaryList = function (passageName) { res.push(`[[${_slaveName}|Concubine Workaround][$i = ${_ssi}]]`); break; case "Cellblock": - if (_Slave.assignmentVisible != 1) { res.pop(); continue; } - if (V.Flag == 0) { + if (_Slave.assignmentVisible !== 1) { res.pop(); continue; } + if (V.Flag === 0) { if (V.cellblock <= V.cellblockSlaves) { res.pop(); continue; } if ((_Slave.devotion < -20 && _Slave.trust >= -20) || (_Slave.devotion < -50 && _Slave.trust >= -50)) { res.push(dividerAndImage(_Slave)); @@ -5326,7 +5329,7 @@ App.UI.slaveSummaryList = function (passageName) { res.push(`//${_Slave.slaveName} is sufficiently broken in so that the cellblock would have no effect//</div>`); continue; } - } else if (V.Flag == 1) { + } else if (V.Flag === 1) { res.push(dividerAndImage(_Slave)); res.push(`[[${_slaveName}|Slave Interact][$activeSlave = $slaves[${_ssi}]]]`); } else { @@ -5339,10 +5342,10 @@ App.UI.slaveSummaryList = function (passageName) { res.push(`[[${_slaveName}|Wardeness Workaround][$i = ${_ssi}]]`); break; case "Arcade": - if (V.Flag == 0) { - if (_Slave.assignment == "be confined in the arcade") { res.pop(); continue; } - if (V.arcade <= V.arcadeSlaves && V.arcadeUpgradeFuckdolls != 1) { res.pop(); continue; } - if ((_Slave.breedingMark != 1 || V.propOutcome == 0)) { + if (V.Flag === 0) { + if (_Slave.assignment === "be confined in the arcade") { res.pop(); continue; } + if (V.arcade <= V.arcadeSlaves && V.arcadeUpgradeFuckdolls !== 1) { res.pop(); continue; } + if ((_Slave.breedingMark !== 1 || V.propOutcome === 0)) { if (_Slave.indentureRestrictions <= 0) { res.push(dividerAndImage(_Slave)); res.push(`[[${_slaveName}|Slave Interact][$activeSlave = $slaves[${_ssi}]]]`); @@ -5360,14 +5363,14 @@ App.UI.slaveSummaryList = function (passageName) { } break; case "Pit": - if (V.Flag == 0) { - if ((_Slave.indentureRestrictions > 0) && (V.pitLethal == 1)) { + if (V.Flag === 0) { + if ((_Slave.indentureRestrictions > 0) && (V.pitLethal === 1)) { res.push(`//${_Slave.slaveName}'s indenture forbids lethal fights.//</div>`); continue; } else if (_Slave.indentureRestrictions > 1) { res.push(`//${_Slave.slaveName}'s indenture forbids fighting.//</div>`); continue; - } else if (_Slave.breedingMark == 1 && V.propOutcome == 1) { + } else if (_Slave.breedingMark === 1 && V.propOutcome === 1) { res.push(`//${_Slave.slaveName} may not participate in combat//</div>`); continue; } else { @@ -5380,7 +5383,7 @@ App.UI.slaveSummaryList = function (passageName) { } break; case "Coursing Association": - if (V.Flag == 0) { + if (V.Flag === 0) { res.push(dividerAndImage(_Slave)); res.push(`[[${_slaveName}|Assign][$i = ${_ssi}]]`); } else { @@ -5390,7 +5393,7 @@ App.UI.slaveSummaryList = function (passageName) { break; case "New Game Plus": res.push(dividerAndImage(_Slave)); - if (V.Flag == 0) { + if (V.Flag === 0) { res.push(`__''@@.pink;${_Slave.slaveName}@@''__`); } else { res.push(`__''@@.pink;${_Slave.slaveName}@@''__`); @@ -5398,7 +5401,7 @@ App.UI.slaveSummaryList = function (passageName) { break; case "Rules Slave Select": slaveImagePrinted = false; - if (V.Flag == 0) { + if (V.Flag === 0) { res.push(`__''[[${_slaveName}|Rules Slave Select Workaround][$activeSlave = $slaves[${_ssi}]]]''__`); } else { res.push(`__''[[${_slaveName}|Rules Slave Deselect Workaround][$activeSlave = $slaves[${_ssi}]]]''__`); @@ -5406,7 +5409,7 @@ App.UI.slaveSummaryList = function (passageName) { break; case "Rules Slave Exclude": slaveImagePrinted = false; - if (V.Flag == 0) { + if (V.Flag === 0) { res.push(`__''[[${_slaveName}|Rules Slave Exclude Workaround][$activeSlave = $slaves[${_ssi}]]]''__`); } else { res.push(`__''[[${_slaveName}|Rules Slave NoExclude Workaround][$activeSlave = $slaves[${_ssi}]]]''__`); @@ -5427,14 +5430,14 @@ App.UI.slaveSummaryList = function (passageName) { V.slaves[_ssi] = _Slave; res.push(' will '); - if ((_Slave.assignment == "rest") && (_Slave.health >= -20)) { + if ((_Slave.assignment === "rest") && (_Slave.health >= -20)) { res.push("''__@@.lawngreen;rest@@__''"); - } else if ((_Slave.assignment == "stay confined") && ((_Slave.devotion > 20) || ((_Slave.trust < -20) && (_Slave.devotion >= -20)) || ((_Slave.trust < -50) && (_Slave.devotion >= -50)))) { + } else if ((_Slave.assignment === "stay confined") && ((_Slave.devotion > 20) || ((_Slave.trust < -20) && (_Slave.devotion >= -20)) || ((_Slave.trust < -50) && (_Slave.devotion >= -50)))) { res.push("''__@@.lawngreen;stay confined.@@__''"); if (_Slave.sentence > 0) { res.push(`(${_Slave.sentence} weeks)`); } - } else if (_Slave.choosesOwnAssignment == 1) { + } else if (_Slave.choosesOwnAssignment === 1) { res.push('choose her own job'); } else { res.push(_Slave.assignment); @@ -5444,62 +5447,62 @@ App.UI.slaveSummaryList = function (passageName) { /** @type {string[]} */ let assignments = []; - if ((V.displayAssignments == 1) && (passageName == "Main") && (_Slave.ID != V.HeadGirl.ID) && (_Slave.ID != V.Recruiter.ID) && (_Slave.ID != V.Bodyguard.ID)) { - if (_Slave.assignment != "rest") { + if ((V.displayAssignments === 1) && (passageName === "Main") && (_Slave.ID !== V.HeadGirl.ID) && (_Slave.ID !== V.Recruiter.ID) && (_Slave.ID !== V.Bodyguard.ID)) { + if (_Slave.assignment !== "rest") { assignments.push(`<<link "Rest" "Main">><<= removeJob($slaves[${_ssi}], $slaves[${_ssi}].assignment)>><</link>>`); } else { assignments.push('Rest'); } - if (_Slave.assignment != "please you") { + if (_Slave.assignment !== "please you") { assignments.push(`<<link "Fucktoy" "Main">><<= assignJob($slaves[${_ssi}], "please you")>><</link>>`); } else { assignments.push('Fucktoy'); } - if (_Slave.indentureRestrictions <= 0 && (_Slave.breedingMark != 1 || V.propOutcome == 0)) { - if (_Slave.assignment != "work a glory hole") { + if (_Slave.indentureRestrictions <= 0 && (_Slave.breedingMark !== 1 || V.propOutcome === 0)) { + if (_Slave.assignment !== "work a glory hole") { assignments.push(`<<link "Gloryhole" "Main">><<= assignJob($slaves[${_ssi}], "work a glory hole")>><</link>>`); } else { assignments.push('Hole'); } } - if (_Slave.fuckdoll == 0) { /* NON-FUCKDOLL ASSIGNMENTS */ - if (_Slave.assignment != "take classes") { - if ((_Slave.intelligenceImplant < 15) && ((_Slave.devotion >= -20) || ((_Slave.trust < -20) && (_Slave.devotion >= -50)) || (_Slave.trust < -50)) && (_Slave.fetish != "mindbroken")) { + if (_Slave.fuckdoll === 0) { /* NON-FUCKDOLL ASSIGNMENTS */ + if (_Slave.assignment !== "take classes") { + if ((_Slave.intelligenceImplant < 15) && ((_Slave.devotion >= -20) || ((_Slave.trust < -20) && (_Slave.devotion >= -50)) || (_Slave.trust < -50)) && (_Slave.fetish !== "mindbroken")) { assignments.push(`<<link "Classes" "Main">><<= assignJob($slaves[${_ssi}], "take classes")>><</link>>`); } } else { assignments.push(`Classes`); } - if (_Slave.assignment != "be a servant") { + if (_Slave.assignment !== "be a servant") { if (((_Slave.devotion >= -20) || ((_Slave.trust < -20) && (_Slave.devotion >= -50)) || (_Slave.trust < -50)) && canWalk(_Slave) && canSee(_Slave)) { assignments.push(`<<link "House Servant" "Main">><<= assignJob($slaves[${_ssi}], "be a servant")>><</link>>`); } } else { assignments.push('House Servant'); } - if ((_Slave.assignment != "whore") && (_Slave.breedingMark != 1 || V.propOutcome == 0)) { + if ((_Slave.assignment !== "whore") && (_Slave.breedingMark !== 1 || V.propOutcome === 0)) { assignments.push(`<<link "Whore" "Main">><<= assignJob($slaves[${_ssi}], "whore")>><</link>>`); } else { assignments.push('Whore'); } - if ((_Slave.assignment != "serve the public") && (_Slave.breedingMark != 1 || V.propOutcome == 0)) { + if ((_Slave.assignment !== "serve the public") && (_Slave.breedingMark !== 1 || V.propOutcome === 0)) { assignments.push(`<<link "Public Servant" "Main">><<= assignJob($slaves[${_ssi}], "serve the public")>><</link>>`); } else { assignments.push('Public Servant'); } if ((_Slave.lactation > 0) || (_Slave.balls > 0)) { - if (_Slave.assignment != "get milked") { + if (_Slave.assignment !== "get milked") { assignments.push(`<<link "Milked" "Main">><<= assignJob($slaves[${_ssi}], "get milked")>><</link>>`); } else { assignments.push('Milked'); } } - if (_Slave.assignment != "stay confined") { + if (_Slave.assignment !== "stay confined") { assignments.push(`<<link "Confinement" "Main">><<= assignJob($slaves[${_ssi}], "stay confined")>><</link>>`); } else { assignments.push('Confinement'); } - if (_Slave.assignment != "choose her own job") { + if (_Slave.assignment !== "choose her own job") { assignments.push(`<<link "Let ${_Slave.object} choose" "Main">><<= assignJob($slaves[${_ssi}], "choose her own job")>><</link>>`); } else { assignments.push(`Let ${_Slave.object} choose`); @@ -5512,36 +5515,36 @@ App.UI.slaveSummaryList = function (passageName) { let _numFacilities = V.brothel + V.club + V.dairy + V.farmyard + V.servantsQuarters + V.masterSuite + V.spa + V.clinic + V.schoolroom + V.cellblock + V.arcade + V.HGSuite; if (_numFacilities > 0) { - if (passageName == "Main" || passageName == "Head Girl Suite" || passageName == "Spa" || passageName == "Brothel" || passageName == "Club" || passageName == "Arcade" || passageName == "Clinic" || passageName == "Schoolroom" || passageName == "Dairy" || passageName == "Farmyard" || passageName == "Servants' Quarters" || passageName == "Master Suite" || passageName == "Cellblock") { + if (passageName === "Main" || passageName === "Head Girl Suite" || passageName === "Spa" || passageName === "Brothel" || passageName === "Club" || passageName === "Arcade" || passageName === "Clinic" || passageName === "Schoolroom" || passageName === "Dairy" || passageName === "Farmyard" || passageName === "Servants' Quarters" || passageName === "Master Suite" || passageName === "Cellblock") { V.returnTo = passageName; res.push('<br>Transfer to: '); /** @type {string[]} */ let transfers = [] - if (_Slave.assignment != "rest" && _Slave.assignment != "please you" && _Slave.assignment != "take classes" && _Slave.assignment != "be a servant" && _Slave.assignment != "whore" && _Slave.assignment != "serve the public" && _Slave.assignment != "get milked" && _Slave.assignment != "stay confined") { + if (_Slave.assignment !== "rest" && _Slave.assignment !== "please you" && _Slave.assignment !== "take classes" && _Slave.assignment !== "be a servant" && _Slave.assignment !== "whore" && _Slave.assignment !== "serve the public" && _Slave.assignment !== "get milked" && _Slave.assignment !== "stay confined") { transfers.push(`<<link "Penthouse" "Main">><<= removeJob($slaves[${_ssi}], $slaves[${_ssi}].assignment)>><</link>>`); } else { transfers.push('Penthouse'); } - if (V.arcade != 0) { - if (V.arcade > V.arcadeSlaves && (_Slave.indentureRestrictions <= 0) && (_Slave.breedingMark != 1 || V.propOutcome == 0)) { + if (V.arcade !== 0) { + if (V.arcade > V.arcadeSlaves && (_Slave.indentureRestrictions <= 0) && (_Slave.breedingMark !== 1 || V.propOutcome === 0)) { transfers.push(`[[Arcade|Assign][$assignTo = "Arcade", $i = ${_ssi}]]`); /* $i = -1 tells Assign to use _Slave as-is */ } else { transfers.push('Arcade'); } } - if (_Slave.fuckdoll == 0) { /* NON-FUCKDOLL FACILITIES */ - if (V.clinic != 0) { - if (V.clinic > V.clinicSlaves && (_Slave.health < 20 || (V.Nurse != 0 && ((_Slave.chem > 15 && V.clinicUpgradeFilters == 1) || (V.bellyImplants == 1 && _Slave.bellyImplant > -1) || (_Slave.pregKnown == 1 && (V.clinicSpeedGestation >= 0 || _Slave.pregControl == "speed up")) || (_Slave.pregAdaptation * 1000 < _Slave.bellyPreg || _Slave.preg > _Slave.pregData.normalBirth / 1.33))))) { + if (_Slave.fuckdoll === 0) { /* NON-FUCKDOLL FACILITIES */ + if (V.clinic !== 0) { + if (V.clinic > V.clinicSlaves && (_Slave.health < 20 || (V.Nurse !== 0 && ((_Slave.chem > 15 && V.clinicUpgradeFilters === 1) || (V.bellyImplants === 1 && _Slave.bellyImplant > -1) || (_Slave.pregKnown === 1 && (V.clinicSpeedGestation >= 0 || _Slave.pregControl === "speed up")) || (_Slave.pregAdaptation * 1000 < _Slave.bellyPreg || _Slave.preg > _Slave.pregData.normalBirth / 1.33))))) { transfers.push(`[[Clinic|Assign][$assignTo = "Clinic", $i =${_ssi}]]`); /* $i = -1 tells Assign to use _Slave as-is */ } else { transfers.push('Clinic'); } } - if (V.masterSuite != 0) { + if (V.masterSuite !== 0) { if (V.masterSuite > V.masterSuiteSlaves && ((_Slave.devotion > 20) || ((_Slave.devotion >= -50) && (_Slave.trust < -20)) || (_Slave.trust < -50))) { transfers.push(`[[Master Suite|Assign][$assignTo = "Master Suite", $i = ${_ssi}]]`); /* $i = -1 tells Assign to use _Slave as-is */ } else { @@ -5549,7 +5552,7 @@ App.UI.slaveSummaryList = function (passageName) { } } - if (V.cellblock != 0) { + if (V.cellblock !== 0) { if (V.cellblock > V.cellblockSlaves && ((_Slave.devotion < -20 && _Slave.trust >= -20) || (_Slave.devotion < -50 && _Slave.trust >= -50))) { transfers.push(`[[Cellblock|Assign][$assignTo = "Cellblock", $i = ${_ssi}]]`); /* $i = -1 tells Assign to use _Slave as-is */ } else { @@ -5557,15 +5560,15 @@ App.UI.slaveSummaryList = function (passageName) { } } - if (V.schoolroom != 0) { - if (V.schoolroom > V.schoolroomSlaves && (_Slave.fetish != "mindbroken" && (_Slave.devotion >= -20 || (_Slave.devotion >= -50 && _Slave.trust < -20) || _Slave.trust < -50) && ((_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.schoolroom !== 0) { + if (V.schoolroom > V.schoolroomSlaves && (_Slave.fetish !== "mindbroken" && (_Slave.devotion >= -20 || (_Slave.devotion >= -50 && _Slave.trust < -20) || _Slave.trust < -50) && ((_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)))) { transfers.push(`[[Schoolroom|Assign][$assignTo = "Schoolroom", $i = ${_ssi}]]`); /* $i = -1 tells Assign to use _Slave as-is */ } else { transfers.push('Schoolroom') } } - if (V.servantsQuarters != 0) { + if (V.servantsQuarters !== 0) { if (V.servantsQuarters > V.servantsQuartersSlaves && (canWalk(_Slave) && canSee(_Slave) && (_Slave.devotion >= -20 || (_Slave.devotion >= -50 && _Slave.trust <= 20) || _Slave.trust < -20))) { transfers.push(`[[Servants' Quarters|Assign][$assignTo = "Servants' Quarters", $i = ${_ssi}]]`); /* $i = -1 tells Assign to use _Slave as-is */ } else { @@ -5573,36 +5576,36 @@ App.UI.slaveSummaryList = function (passageName) { } } - if (V.brothel != 0) { - if (V.brothel > V.brothelSlaves && (((_Slave.devotion > 50) || ((_Slave.devotion >= -50) && (_Slave.trust < -20)) || (_Slave.trust < -50) || (_Slave.trust > 50)) && (_Slave.breedingMark != 1 || V.propOutcome == 0))) { + if (V.brothel !== 0) { + if (V.brothel > V.brothelSlaves && (((_Slave.devotion > 50) || ((_Slave.devotion >= -50) && (_Slave.trust < -20)) || (_Slave.trust < -50) || (_Slave.trust > 50)) && (_Slave.breedingMark !== 1 || V.propOutcome === 0))) { transfers.push(`[[Brothel|Assign][$assignTo = "Brothel", $i = ${_ssi}]]`); /* $i = -1 tells Assign to use _Slave as-is */ } else { transfers.push('Brothel') } } - if (V.club != 0) { - if (V.club > V.clubSlaves && (((_Slave.devotion > 50) || ((_Slave.devotion >= -50) && (_Slave.trust < -20)) || (_Slave.trust < -50) || (_Slave.trust > 50)) && (_Slave.breedingMark != 1 || V.propOutcome == 0))) { + if (V.club !== 0) { + if (V.club > V.clubSlaves && (((_Slave.devotion > 50) || ((_Slave.devotion >= -50) && (_Slave.trust < -20)) || (_Slave.trust < -50) || (_Slave.trust > 50)) && (_Slave.breedingMark !== 1 || V.propOutcome === 0))) { transfers.push(`[[Club|Assign][$assignTo = "Club", $i = ${_ssi}]]`); /* $i = -1 tells Assign to use _Slave as-is */ } else { transfers.push('Club') } } - if (V.dairy != 0) { + if (V.dairy !== 0) { let _dairySeed = V.bioreactorsXY + V.bioreactorsXX + V.bioreactorsHerm + V.bioreactorsBarren; if (V.dairy <= V.dairySlaves + _dairySeed) { transfers.push('Dairy'); - } else if (((_Slave.indentureRestrictions > 0) && (V.dairyRestraintsSetting > 1)) || ((_Slave.indentureRestrictions > 1) && (V.dairyRestraintsSetting > 0)) || (_Slave.breedingMark == 1 && V.propOutcome == 1 && V.dairyRestraintsSetting > 0) || ((V.dairyPregSetting > 0) && ((_Slave.bellyImplant != -1) || (_Slave.broodmother > 0)))) { + } else if (((_Slave.indentureRestrictions > 0) && (V.dairyRestraintsSetting > 1)) || ((_Slave.indentureRestrictions > 1) && (V.dairyRestraintsSetting > 0)) || (_Slave.breedingMark === 1 && V.propOutcome === 1 && V.dairyRestraintsSetting > 0) || ((V.dairyPregSetting > 0) && ((_Slave.bellyImplant !== -1) || (_Slave.broodmother > 0)))) { transfers.push('Dairy'); - } else if (((_Slave.lactation > 0) || (_Slave.balls > 0)) || ((V.dairyFeedersUpgrade == 1) && (V.dairyFeedersSetting > 0) && (V.dairySlimMaintainUpgrade == 0))) { + } else if (((_Slave.lactation > 0) || (_Slave.balls > 0)) || ((V.dairyFeedersUpgrade === 1) && (V.dairyFeedersSetting > 0) && (V.dairySlimMaintainUpgrade === 0))) { transfers.push(`[[Dairy|Assign][$assignTo = "Dairy", $i = ${_ssi}]]`); /* $i = -1 tells Assign to use _Slave as-is */ } else { transfers.push('Dairy') } } - if (V.farmyard != 0) { + if (V.farmyard !== 0) { if (V.farmyard > V.farmyardSlaves) { transfers.push(`[[Farmyard|Assign][$assignTo = "Farmyard", $i = ${_ssi}]]`); /* $i = -1 tells Assign to use _Slave as-is */ } else { @@ -5610,16 +5613,16 @@ App.UI.slaveSummaryList = function (passageName) { } } - if (V.spa != 0) { - if (V.spa > V.spaSlaves && ((_Slave.devotion >= -20 || _Slave.fetish == "mindbroken") && (_Slave.health < 20 || _Slave.trust <= 60 || _Slave.devotion <= 60 || _Slave.fetish == "mindbroken" || _Slave.sexualFlaw !== "none" || _Slave.behavioralFlaw !== "none"))) { + if (V.spa !== 0) { + if (V.spa > V.spaSlaves && ((_Slave.devotion >= -20 || _Slave.fetish === "mindbroken") && (_Slave.health < 20 || _Slave.trust <= 60 || _Slave.devotion <= 60 || _Slave.fetish === "mindbroken" || _Slave.sexualFlaw !== "none" || _Slave.behavioralFlaw !== "none"))) { transfers.push(`[[Spa|Assign][$assignTo = "Spa", $i = ${_ssi}]]`); /* $i = -1 tells Assign to use _Slave as-is */ } else { transfers.push('Spa'); } } - if (V.nursery != 0) { - if (V.nurseryNannies > V.nurserySlaves && (_Slave.devotion > 20 || _Slave.trust > 20 || _Slave.fetish == "mindbroken")) { + if (V.nursery !== 0) { + if (V.nurseryNannies > V.nurserySlaves && (_Slave.devotion > 20 || _Slave.trust > 20 || _Slave.fetish === "mindbroken")) { transfers.push(`[[Nursery|Assign][$assignTo = "Nursery", $i = ${_ssi}]]`); /* $i = -1 tells Assign to use _Slave as-is */ } else { transfers.push('Nursery'); @@ -5631,7 +5634,7 @@ App.UI.slaveSummaryList = function (passageName) { } }/* closes _numFacilities */ - if ((passageName != 'Main') || (V.Flag !== undefined) || (V.useSlaveSummaryTabs == 0) || (tabName == "all")) { + if ((passageName !== 'Main') || (V.Flag !== undefined) || (V.useSlaveSummaryTabs === 0) || (tabName === "all")) { res.push(`<span id="slave-${slaves[_ssi].ID}"> </span>`); } res.push('<br/>'); @@ -5651,13 +5654,13 @@ App.UI.slaveSummaryList = function (passageName) { continue; case "HG Select": if (setup.HGCareers.includes(_Slave.career) || (_Slave.skillHG >= V.masteredXP)) { - res.push('<br>' + (V.seeImages != 1 || V.seeSummaryImages != 1 || V.imageChoice == 1) ? ' ' : ''); + res.push('<br>' + (V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1) ? ' ' : ''); res.push('@@.lime;Has applicable career experience.@@'); } break; case "Head Girl Suite": - res.push('<br>' + (V.seeImages != 1 || V.seeSummaryImages != 1 || V.imageChoice == 1) ? ' ' : ''); - if (V.Flag == 0) { + res.push('<br>' + (V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1) ? ' ' : ''); + if (V.Flag === 0) { res.push(`[[Send her to live with your Head Girl|Assign][$i = ${_ssi}]]`); } else { res.push(`[[Bring her out of the Head Girl's suite|Retrieve][$i = ${_ssi}]]`); @@ -5665,21 +5668,21 @@ App.UI.slaveSummaryList = function (passageName) { break; case "Recruiter Select": if (setup.recruiterCareers.includes(_Slave.career) || (_Slave.skillRC >= V.masteredXP)) { - res.push('<br>' + (V.seeImages != 1 || V.seeSummaryImages != 1 || V.imageChoice == 1) ? ' ' : ''); + res.push('<br>' + (V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1) ? ' ' : ''); res.push('@@.lime;Has applicable career experience.@@'); } break; case "BG Select": if (setup.bodyguardCareers.includes(_Slave.career) || (_Slave.skillBG >= V.masteredXP)) { - res.push('<br>' + (V.seeImages != 1 || V.seeSummaryImages != 1 || V.imageChoice == 1) ? ' ' : ''); + res.push('<br>' + (V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1) ? ' ' : ''); res.push('@@.lime;Has applicable career experience.@@'); } break; case "Spa": - res.push('<br>' + (V.seeImages != 1 || V.seeSummaryImages != 1 || V.imageChoice == 1) ? ' ' : ''); - if (V.Flag == 0) { + res.push('<br>' + (V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1) ? ' ' : ''); + if (V.Flag === 0) { res.push(`<<link "Send ${_Slave.object} to $spaName" "Assign">><<set $i = ${_ssi}>><</link>>`); - } else if (V.Flag == 1) { + } else if (V.Flag === 1) { res.push(`<<link "Remove ${_Slave.object} from ${V.spaName}" "Retrieve">><<set $i = ${_ssi}>><</link>>`); } else { res.push('[[Change or remove Attendant|Attendant Select]]'); @@ -5687,15 +5690,15 @@ App.UI.slaveSummaryList = function (passageName) { break; case "Attendant Select": if (setup.attendantCareers.includes(_Slave.career) || (_Slave.skillAT >= V.masteredXP)) { - res.push('<br>' + (V.seeImages != 1 || V.seeSummaryImages != 1 || V.imageChoice == 1) ? ' ' : ''); + res.push('<br>' + (V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1) ? ' ' : ''); res.push('@@.lime;Has applicable career experience.@@'); } break; case "Nursery": - res.push('<br>' + (V.seeImages != 1 || V.seeSummaryImages != 1 || V.imageChoice == 1) ? ' ' : ''); - if (V.Flag == 0) { + res.push('<br>' + (V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1) ? ' ' : ''); + if (V.Flag === 0) { res.push(`<<link "Send ${_Slave.object} to $nurseryName" "Assign">><<set $i = ${_ssi}>><</link>>`); - } else if (V.Flag == 1) { + } else if (V.Flag === 1) { res.push(`<<link "Remove ${_Slave.object} from $nurseryName" "Retrieve">><<set $i = ${_ssi}>><</link>>`); } else { res.push('[[Change or remove Matron|Matron Select]]'); @@ -5703,15 +5706,15 @@ App.UI.slaveSummaryList = function (passageName) { break; case "Matron Select": if (setup.matronCareers.includes(_Slave.career) || (_Slave.skillMT >= V.masteredXP)) { - res.push('<br>' + (V.seeImages != 1 || V.seeSummaryImages != 1 || V.imageChoice == 1) ? ' ' : ''); + res.push('<br>' + (V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1) ? ' ' : ''); res.push('@@.lime;Has applicable career experience.@@'); } break; case "Brothel": - res.push('<br>' + (V.seeImages != 1 || V.seeSummaryImages != 1 || V.imageChoice == 1) ? ' ' : ''); - if (V.Flag == 0) { + res.push('<br>' + (V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1) ? ' ' : ''); + if (V.Flag === 0) { res.push(`<<link "Send ${_Slave.object} to $brothelName" "Assign">><<set $i = ${_ssi}>><</link>>`); - } else if (V.Flag == 1) { + } else if (V.Flag === 1) { res.push(`<<link "Release ${_Slave.object} from $brothelName" "Retrieve">><<set $i = ${_ssi}>><</link>>`); } else { res.push('[[Change or remove Madam|Madam Select]]'); @@ -5719,23 +5722,23 @@ App.UI.slaveSummaryList = function (passageName) { break; case "Madam Select": if (setup.madamCareers.includes(_Slave.career) || (_Slave.skillMD >= V.masteredXP)) { - res.push('<br>' + (V.seeImages != 1 || V.seeSummaryImages != 1 || V.imageChoice == 1) ? ' ' : ''); + res.push('<br>' + (V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1) ? ' ' : ''); res.push('@@.lime;Has applicable career experience.@@'); } break; case "Club": - res.push('<br>' + (V.seeImages != 1 || V.seeSummaryImages != 1 || V.imageChoice == 1) ? ' ' : ''); - if (V.Flag == 0) { + res.push('<br>' + (V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1) ? ' ' : ''); + if (V.Flag === 0) { res.push(`<<link "Send ${_Slave.object} to $clubName" "Assign">><<set $i = ${_ssi}>><</link>>`); - } else if (V.Flag == 1) { + } else if (V.Flag === 1) { res.push(`<<link "Remove ${_Slave.object} from $clubName" "Retrieve">><<set $i = ${_ssi}>><</link>>`); } else { res.push('[[Change or remove DJ|DJ Select]]'); } break; case "Arcade": - res.push('<br>' + (V.seeImages != 1 || V.seeSummaryImages != 1 || V.imageChoice == 1) ? ' ' : ''); - if (V.Flag == 0) { + res.push('<br>' + (V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1) ? ' ' : ''); + if (V.Flag === 0) { res.push(`<<link "Confine ${_Slave.object} in $arcadeName" "Assign">><<set $i = ${_ssi}>><</link>>`); } else { res.push(`<<link "Release ${_Slave.object} from $arcadeName" "Retrieve">><<set $i = ${_ssi}>><</link>>`); @@ -5743,18 +5746,18 @@ App.UI.slaveSummaryList = function (passageName) { break; case "DJ Select": if (setup.DJCareers.includes(_Slave.career) || (_Slave.skillDJ >= V.masteredXP)) { - res.push('<br>' + (V.seeImages != 1 || V.seeSummaryImages != 1 || V.imageChoice == 1) ? ' ' : ''); + res.push('<br>' + (V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1) ? ' ' : ''); res.push('@@.lime;Has applicable career experience.@@'); } break; case "Clinic": - res.push('<br>' + (V.seeImages != 1 || V.seeSummaryImages != 1 || V.imageChoice == 1) ? ' ' : ''); - if (V.clinicUpgradeScanner == 1) { + res.push('<br>' + (V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1) ? ' ' : ''); + if (V.clinicUpgradeScanner === 1) { res.push(`@@.cyan;Estimated DNA error value: ${Math.ceil(_Slave.chem / 10)}@@`); } - if (V.Flag == 0) { + if (V.Flag === 0) { res.push(`<<link "Send ${_Slave.object} to $clinicName" "Assign">><<set $i = ${_ssi}>><</link>>`); - } else if (V.Flag == 1) { + } else if (V.Flag === 1) { res.push(`<<link "Take ${_Slave.object} out of $clinicName" "Retrieve">><<set $i = ${_ssi}>><</link>>`); } else { res.push('[[Change or remove Nurse|Nurse Select]]'); @@ -5762,15 +5765,15 @@ App.UI.slaveSummaryList = function (passageName) { break; case "Nurse Select": if (setup.nurseCareers.includes(_Slave.career) || (_Slave.skillNU >= V.masteredXP)) { - res.push('<br>' + (V.seeImages != 1 || V.seeSummaryImages != 1 || V.imageChoice == 1) ? ' ' : ''); + res.push('<br>' + (V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1) ? ' ' : ''); res.push('@@.lime;Has applicable career experience.@@'); } break; case "Schoolroom": - res.push('<br>' + (V.seeImages != 1 || V.seeSummaryImages != 1 || V.imageChoice == 1) ? ' ' : ''); - if (V.Flag == 0) { + res.push('<br>' + (V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1) ? ' ' : ''); + if (V.Flag === 0) { res.push(`<<link "Assign ${_Slave.object} to $schoolroomName" "Assign">><<set $i = ${_ssi}>><</link>>`); - } else if (V.Flag == 1) { + } else if (V.Flag === 1) { res.push(`<<link "Release ${_Slave.object} from $schoolroomName" "Retrieve">><<set $i = ${_ssi}>><</link>>`); } else { res.push('[[Change or remove Schoolteacher|Schoolteacher Select]]'); @@ -5778,15 +5781,15 @@ App.UI.slaveSummaryList = function (passageName) { break; case "Schoolteacher Select": if (setup.schoolteacherCareers.includes(_Slave.career) || (_Slave.skillTE >= V.masteredXP)) { - res.push('<br>' + (V.seeImages != 1 || V.seeSummaryImages != 1 || V.imageChoice == 1) ? ' ' : ''); + res.push('<br>' + (V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1) ? ' ' : ''); res.push('@@.lime;Has applicable career experience.@@'); } break; case "Dairy": - res.push('<br>' + (V.seeImages != 1 || V.seeSummaryImages != 1 || V.imageChoice == 1) ? ' ' : ''); - if (V.Flag == 0) { + res.push('<br>' + (V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1) ? ' ' : ''); + if (V.Flag === 0) { res.push(`<<link "Send ${_Slave.object} to $dairyName" "Assign">><<set $i = ${_ssi}>><</link>>`); - } else if (V.Flag == 1) { + } else if (V.Flag === 1) { res.push(`<<link "Release ${_Slave.object} from $dairyName" "Retrieve">><<set $i = ${_ssi}>><</link>>`); } else { res.push('[[Change or remove Milkmaid|Milkmaid Select]]'); @@ -5794,15 +5797,15 @@ App.UI.slaveSummaryList = function (passageName) { break; case "Milkmaid Select": if (setup.milkmaidCareers.includes(_Slave.career) || (_Slave.skillMM >= V.masteredXP)) { - res.push('<br>' + (V.seeImages != 1 || V.seeSummaryImages != 1 || V.imageChoice == 1) ? ' ' : ''); + res.push('<br>' + (V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1) ? ' ' : ''); res.push('@@.lime;Has applicable career experience.@@'); } break; case "Farmyard": - res.push('<br>' + (V.seeImages != 1 || V.seeSummaryImages != 1 || V.imageChoice == 1) ? ' ' : ''); - if (V.Flag == 0) { + res.push('<br>' + (V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1) ? ' ' : ''); + if (V.Flag === 0) { res.push(`<<link "Send ${_Slave.object} to $farmyardName" "Assign">><<set $i = ${_ssi}>><</link>>`); - } else if (V.Flag == 1) { + } else if (V.Flag === 1) { res.push(`<<link "Release ${_Slave.object} from $farmyardName" "Retrieve">><<set $i = ${_ssi}>><</link>>`); } else { res.push('[[Change or remove Farmer|Farmer Select]]'); @@ -5810,15 +5813,15 @@ App.UI.slaveSummaryList = function (passageName) { break; case "Farmer Select": if (setup.farmerCareers.includes(_Slave.career) || (_Slave.skillFA >= V.masteredXP)) { - res.push('<br>' + (V.seeImages != 1 || V.seeSummaryImages != 1 || V.imageChoice == 1) ? ' ' : ''); + res.push('<br>' + (V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1) ? ' ' : ''); res.push('@@.lime;Has applicable career experience.@@'); } break; case "Servants' Quarters": - res.push('<br>' + (V.seeImages != 1 || V.seeSummaryImages != 1 || V.imageChoice == 1) ? ' ' : ''); - if (V.Flag == 0) { + res.push('<br>' + (V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1) ? ' ' : ''); + if (V.Flag === 0) { res.push(`<<link "Assign ${_Slave.object} to $servantsQuartersName" "Assign">><<set $i = ${_ssi}>><</link>>`); - } else if (V.Flag == 1) { + } else if (V.Flag === 1) { res.push(`<<link "Release ${_Slave.object} from $servantsQuartersName" "Retrieve">><<set $i = ${_ssi}>><</link>>`); } else { res.push('[[Change or remove Stewardess|Stewardess Select]]'); @@ -5826,25 +5829,25 @@ App.UI.slaveSummaryList = function (passageName) { break; case "Stewardess Select": if (setup.stewardessCareers.includes(_Slave.career) || (_Slave.skillST >= V.masteredXP)) { - res.push('<br>' + (V.seeImages != 1 || V.seeSummaryImages != 1 || V.imageChoice == 1) ? ' ' : ''); + res.push('<br>' + (V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1) ? ' ' : ''); res.push('@@.lime;Has applicable career experience.@@'); } break; case "Master Suite": - res.push('<br>' + (V.seeImages != 1 || V.seeSummaryImages != 1 || V.imageChoice == 1) ? ' ' : ''); - if (V.Flag == 0) { + res.push('<br>' + (V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1) ? ' ' : ''); + if (V.Flag === 0) { res.push(`<<link "Add ${_Slave.object} to $masterSuiteName" "Assign">><<set $i = ${_ssi}>><</link>>`); - } else if (V.Flag == 1) { + } else if (V.Flag === 1) { res.push(`<<link "Send ${_Slave.object} out of $masterSuiteName" "Retrieve">><<set $i = ${_ssi}>><</link>>`); } else { res.push('[[Change or remove Concubine|Concubine Select]]'); } break; case "Cellblock": - res.push('<br>' + (V.seeImages != 1 || V.seeSummaryImages != 1 || V.imageChoice == 1) ? ' ' : ''); - if (V.Flag == 0) { + res.push('<br>' + (V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1) ? ' ' : ''); + if (V.Flag === 0) { res.push(`<<link "Confine ${_Slave.object} in $cellblockName" "Assign">><<set $i = ${_ssi}>><</link>>`); - } else if (V.Flag == 1) { + } else if (V.Flag === 1) { res.push(`<<link "Release ${_Slave.object} from $cellblockName" "Retrieve">><<set $i = ${_ssi}>><</link>>`); } else { res.push('[[Change or remove Wardeness|Wardeness Select]]'); @@ -5852,12 +5855,12 @@ App.UI.slaveSummaryList = function (passageName) { break; case "Wardeness Select": if (setup.wardenessCareers.includes(_Slave.career) || (_Slave.skillWA >= V.masteredXP)) { - res.push('<br>' + (V.seeImages != 1 || V.seeSummaryImages != 1 || V.imageChoice == 1) ? ' ' : ''); + res.push('<br>' + (V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1) ? ' ' : ''); res.push('@@.lime;Has applicable career experience.@@'); } break; case "New Game Plus": - res.push('<br>' + (V.seeImages != 1 || V.seeSummaryImages != 1 || V.imageChoice == 1) ? ' ' : ''); + res.push('<br>' + (V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1) ? ' ' : ''); if (V.Flag === 0) { res.push(`<<link "Add to import list" "New Game Plus">> <<set $slavesToImport += 1,$Flag = 1>> @@ -5871,11 +5874,11 @@ App.UI.slaveSummaryList = function (passageName) { } break; case "Matchmaking": - res.push('<br>' + (V.seeImages != 1 || V.seeSummaryImages != 1 || V.imageChoice == 1) ? ' ' : ''); + res.push('<br>' + (V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1) ? ' ' : ''); res.push(`[[Match them|Matchmaking][$subSlave = $slaves[${_ssi}]]]`); break; case "Dinner Party Preparations": - res.push('<br>' + (V.seeImages != 1 || V.seeSummaryImages != 1 || V.imageChoice == 1) ? ' ' : ''); + res.push('<br>' + (V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1) ? ' ' : ''); res.push(`[[Make her the main course|Dinner Party Execution][$activeSlave = $slaves[${_ssi}]]]`); break; } diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw index 7b6c2e8570ff9e1dcef99c0d75c2c060a1374a43..450011f914e92d4edd39c0afbc77ac77d52af69e 100644 --- a/src/uncategorized/RESS.tw +++ b/src/uncategorized/RESS.tw @@ -14130,7 +14130,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address $He keeps licking away, cleaning up the mess you made as $assistantName does everything $he can to make it seem like the slave is pleasuring $him. Partway through, $assistantName sticks out a hand for a high-five from you, producing a gurgle of indignation @@.mediumaquamarine;or perhaps even laughter@@ as $his owner and $his owner's personal assistant program high-five over $his back. <<set $activeSlave.trust += 4, $activeSlave.oralCount++, $oralTotal++>> <</replace>> -<</link>><<if canDoVaginal($activeSlave) && ($activeSlave.vagina == 0)>>//This option will take virginity//<<elseif !canDoVaginal($activeSlave) && ($activeSlave.anus == 0)>> //This option will take anal virginity//<</if>> +<</link>><<if canDoVaginal($activeSlave) && ($activeSlave.vagina == 0)>> //This option will take virginity//<<elseif !canDoVaginal($activeSlave) && ($activeSlave.anus == 0)>> //This option will take anal virginity//<</if>> <<if canDoAnal($activeSlave)>> <br><<link "Double penetrate the slave with your PA">> <<EventNameDelink $activeSlave>> @@ -14192,7 +14192,9 @@ You tell $him kindly that you understand, and that $he'll be trained to address <<else>> feminine <</if>> - thighs quivering a little from supporting $his body in its perch atop the machine, and from the fullness of $his anus. $He knows this is going to be challenging, and is breathing deeply, doing $his best to stay relaxed. You cannot resist slapping your <<if $PC.dick == 1>>big cock lightly<<else>>lubricated strap-on<</if>> against $his cheek, producing a groan of apprehension. + thighs quivering a little from supporting $his body in its perch atop the machine, and from the fullness of $his anus. + <<= AnalVCheck(3)>> + $He knows this is going to be challenging, and is breathing deeply, doing $his best to stay relaxed. You cannot resist slapping your <<if $PC.dick == 1>>big cock lightly<<else>>lubricated strap-on<</if>> against $his cheek, producing a groan of apprehension. <br><br> You push $him gently backward, letting $him get accustomed to the new angle.<<if $activeSlave.boobs > 2000>> $His monstrous tits spread to either side of $his <<if $activeSlave.belly >= 5000>>_belly <<if $activeSlave.bellyPreg >= 3000>>pregnant <</if>>belly<<else>>now upright torso<</if>>, and you take a moment to play with them as $he prepares $himself.<</if>> <<if canDoVaginal($activeSlave)>> @@ -14236,9 +14238,8 @@ You tell $him kindly that you understand, and that $he'll be trained to address "I like you," $he says cheerily. <</switch>> <<set $activeSlave.devotion += 4>> - <<= AnalVCheck(3)>> <</replace>> -<</link>><<if canDoVaginal($activeSlave) && ($activeSlave.vagina == 0)>>//This option will take virginity//<<elseif !canDoVaginal($activeSlave) && ($activeSlave.anus == 0)>> //This option will take anal virginity//<</if>> +<</link>><<if canDoVaginal($activeSlave) && ($activeSlave.vagina == 0)>> //This option will take virginity//<<elseif !canDoVaginal($activeSlave) && ($activeSlave.anus == 0)>> //This option will take anal virginity//<</if>> <</if>> <<case "like me">> @@ -16768,6 +16769,8 @@ You tell $him kindly that you understand, and that $he'll be trained to address <<case "bad dream">> +/* TODO: add a positive variant */ + <<link "Hug $him">> <<EventNameDelink $activeSlave>> <<replace "#result">>