From 464302d2d785c13e5a193f35ff3cc74eae67e46e Mon Sep 17 00:00:00 2001 From: Pregmodder <pregmodder@gmail.com> Date: Sat, 14 Jul 2018 01:00:24 -0400 Subject: [PATCH] resync --- devNotes/twine JS.txt | 474 +++++++++++++++++++++++----------- src/js/slaveSummaryWidgets.tw | 4 +- 2 files changed, 320 insertions(+), 158 deletions(-) diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt index b5373e2c63e..5aa23c45c4c 100644 --- a/devNotes/twine JS.txt +++ b/devNotes/twine JS.txt @@ -36,9 +36,7 @@ if (typeof interpolate == "undefined") { }; window.interpolate = interpolate; } -config.history.maxStates = 1; -config.saves.autosave = "autosave"; window.isFullyPotent = function(slave) { if (!slave) { return null; @@ -3359,6 +3357,76 @@ window.getSlaveTrustClass = function (slave) { } }; +//takes an integer e.g. $activeSlave.hLength, returns a string in the format 10 inches +window.cmToInchString = function(s) { + return Math.round(s/2.54) + (Math.round(s/2.54) === 1?" inch":" inches"); +}; + +//takes an integer e.g. $activeSlave.height, returns a string in the format 6'5" +window.cmToFootInchString = function(s) { + if (Math.round(s/2.54) < 12) + return cmToInchString(s); + return Math.trunc(Math.round(s/2.54)/12) + `'` + Math.round(s/2.54)%12 + `"`; +}; + +//takes a dick value e.g. $activeSlave.dick, returns a string in the format 6 inches +window.dickToInchString = function(s) { + return cmToInchString(dickToCM(s)); +}; + +//takes a dick value e.g. $activeSlave.dick, returns an int of the dick length in cm +window.dickToCM = function(s) { + return (s<9?s*5:(s===9?50:s*6)); +}; + +//takes a ball value e.g. $activeSlave.balls, returns a string in the format 3 inches +window.ballsToInchString = function(s) { + return cmToInchString(ballsToCM(s)); +}; + +//takes a ball value e.g. $activeSlave.balls, returns an int of the ball size in cm +window.ballsToCM = function(s) { + if (s < 2) + return 0; + return (s<10?(s-1)*2:s*2); +}; + +//takes a dick value e.g. $activeSlave.dick, returns a string in the format of either `20cm (8 inches)`, `8 inches`, or `20cm` +window.dickToEitherUnit = function(s) { + if (State.variables.showInches === 1) + return dickToCM(s) + "cm (" + dickToInchString(s) + ")"; + if (State.variables.showInches === 2) + return dickToInchString(s); + return dickToCM(s) + "cm"; +}; + +//takes a ball value e.g. $activeSlave.balls, returns a string in the format of either `20cm (8 inches)`, `8 inches`, or `20cm` +window.ballsToEitherUnit = function(s) { + if (State.variables.showInches === 1) + return ballsToCM(s) + "cm (" + ballsToInchString(s) + ")"; + if (State.variables.showInches === 2) + return ballsToInchString(s); + return ballsToCM(s) + "cm"; +}; + +//takes an int in centimetres e.g. $activeSlave.height, returns a string in the format of either `200cm (6'7")`, `6'7"`, or `200cm` +window.heightToEitherUnit = function(s) { + if (State.variables.showInches === 1) + return s + "cm (" + cmToFootInchString(s) + ")"; + if (State.variables.showInches === 2) + return cmToFootInchString(s); + return s + "cm"; +}; + +//takes an int in centimetres e.g. $activeSlave.hLength, returns a string in the format of either `30cm (12 inches)`, `12 inches`, or `30cm` +window.lengthToEitherUnit = function(s) { + if (State.variables.showInches === 1) + return s + "cm (" + cmToInchString(s) + ")"; + if (State.variables.showInches === 2) + return cmToInchString(s); + return s + "cm"; +}; + /*:: Span Macro JS [script]*/ /* @@ -7138,6 +7206,61 @@ window.SlaveTitle = function SlaveTitle(slave) { return r; }; +window.SlaveSort = function SlaveSort(slaves, main=false) { + const V = State.variables; + if (main) { + switch (V.sortSlavesBy) { + case "name": + if (V.sortSlavesOrder == "ascending") + slaves = slaves.sort((a, b) => a.slaveName < b.slaveName ? -1 : 1); + else + slaves = slaves.sort((a, b) => a.slaveName > b.slaveName ? -1 : 1); + break; + case "assignment": + if (V.sortSlavesOrder == "ascending") + slaves = slaves.sort((a, b) => a.assignment < b.assignment ? -1 : 1); + else + slaves = slaves.sort((a, b) => a.assignment > b.assignment ? -1 : 1); + break; + case "seniority": + if (V.sortSlavesOrder == "ascending") + slaves = slaves.sort((a, b) => b.weekAcquired - a.weekAcquired); + else + slaves = slaves.sort((a, b) => a.weekAcquired - b.weekAcquired); + break; + case "actualAge": + if (V.sortSlavesOrder == "ascending") + slaves = slaves.sort((a, b) => a.actualAge - b.actualAge); + else + slaves = slaves.sort((a, b) => b.actualAge - a.actualAge); + break; + case "visualAge": + if (V.sortSlavesOrder == "ascending") + slaves = slaves.sort((a, b) => a.visualAge - b.visualAge); + else + slaves = slaves.sort((a, b) => b.visualAge - a.visualAge); + break; + case "physicalAge": + if (V.sortSlavesOrder == "physicalAge") + slaves = slaves.sort((a, b) => a.physicalAge - b.physicalAge); + else + slaves = slaves.sort((a, b) => b.physicalAge - a.physicalAge); + break; + default: + if (V.sortSlavesOrder == "ascending") + slaves = slaves.sort((a, b) => a.devotion - b.devotion); + else + slaves = slaves.sort((a, b) => b.devotion - a.devotion); + break; + } + V.slaveIndices = slaves2indices(); + } else { + V.slaveIndices = slaves2indices(); + filterInPlace(slaves, s => V.slaveIndices[s] !== undefined); + slaves.sort((a, b) => V.slaveIndices[a] - V.slaveIndices[b]); + } +}; + /*:: Summary Widgets JS [script]*/ window.SlaveStatClamp = function SlaveStatClamp(slave) { @@ -12067,7 +12190,7 @@ window.DefaultRules = (function() { V.cash -= V.modCost*Math.trunc((rule.hLength-slave.hLength)/10); r += `<br>${slave.slaveName} has been given extensions; her hair `; } - r += `is now ${rule.hLength} cm long.`; + r += `is now ${lengthToEitherUnit(rule.hLength)} long.`; slave.hLength = rule.hLength; } } @@ -16958,28 +17081,24 @@ window.SlaveSummaryUncached = (function(){ } if (V.abbreviateMental === 1) { r += `<span class="lightgreen">`; - let _relationshipHandled = 0; if (V.familyTesting === 1) short_extended_family(slave); else short_legacy_family(slave); r += `</span>`; - _relationshipHandled = 0; short_rival(slave); } else if (V.abbreviateMental === 2) { - let _relationshipHandled = 0; if (V.familyTesting === 1) long_extended_family(slave); else long_legacy_family(slave); - _relationshipHandled = 0; long_rival(slave); } if (slave.fuckdoll === 0) { if (V.abbreviateClothes === 2) { r += ` `; if (slave.choosesOwnClothes === 1) - r += `Dressing herself.`; + r += `Dressing herself. `; long_clothes(slave); long_collar(slave); long_belly(slave); @@ -17009,14 +17128,15 @@ window.SlaveSummaryUncached = (function(){ } else if (slave.devotion < -20) { r += `<span class="mediumorchid">Res${V.summaryStats ? `[${slave.devotion}]` : ''}</span>`; } else if (slave.devotion <= 20) { - r += `<span class="yellow">Ambiv${V.summaryStats ? `[${slave.devotion$}]` : ''}</span>`; + r += `<span class="yellow">Ambiv${V.summaryStats ? `[${slave.devotion}]` : ''}</span>`; } else if (slave.devotion <= 50) { - r += `<span class="hotpink">Accept${V.summaryStats ? `[${slave.devotion$}]` : ''}</span>`; + r += `<span class="hotpink">Accept${V.summaryStats ? `[${slave.devotion}]` : ''}</span>`; } else if (slave.devotion <= 95) { - r += `<span class="deeppink">Devo${V.summaryStats ? `[${slave.devotion$}]` : ''}</span>`; + r += `<span class="deeppink">Devo${V.summaryStats ? `[${slave.devotion}]` : ''}</span>`; } else { - r += `<span class="magenta">Wor${V.summaryStats ? `[${slave.devotion$}]` : ''}</span>`; + r += `<span class="magenta">Wor${V.summaryStats ? `[${slave.devotion}]` : ''}</span>`; } + r += " "; if (slave.fetish === "mindbroken") { return; } else if (slave.trust < -95) { @@ -17046,6 +17166,7 @@ window.SlaveSummaryUncached = (function(){ r += `<span class="seagreen">VTrust ${V.summaryStats ? `[${slave.trust}]` : ''}</span>`; } } + r += " "; } function long_devotion(slave) { @@ -17111,6 +17232,7 @@ window.SlaveSummaryUncached = (function(){ r += `<strong>LS:Spa</strong>`; break; } + r += " "; if (canTalk(slave)) { switch (slave.speechRules) { case "permissive": @@ -17126,6 +17248,7 @@ window.SlaveSummaryUncached = (function(){ r += `<strong>SpR:R</strong>`; break; } + r += " "; } switch (slave.relationshipRules) { case "permissive": @@ -17138,6 +17261,7 @@ window.SlaveSummaryUncached = (function(){ r += `<strong>ReR:R</strong>`; break; } + r += " "; switch (slave.standardPunishment) { case "confinement": r += `<strong>Pun:Conf</strong>`; @@ -17152,6 +17276,7 @@ window.SlaveSummaryUncached = (function(){ r += `<strong>Pun:Situ</strong>`; break; } + r += " "; switch (slave.standardReward) { case "relaxation": r += `<strong>Rew:Relx</strong>`; @@ -17166,6 +17291,7 @@ window.SlaveSummaryUncached = (function(){ r += `<strong>Rew:Situ</strong>`; break; } + r += " "; switch (slave.releaseRules) { case "permissive": r += `<strong>MaR:P</strong>`; @@ -17180,6 +17306,7 @@ window.SlaveSummaryUncached = (function(){ r += `<strong>MaR:R</strong>`; break; } + r += " "; } function long_rules(slave) { @@ -17215,7 +17342,7 @@ window.SlaveSummaryUncached = (function(){ r += `<strong><span class="red">W++${V.summaryStats? `[${slave.weight}]` : ''}</span></strong>`; } } else if (slave.weight <= 130) { - if (slave.hips >= 2 || V.arcologies[0].FSHedonisticDecadence !== "unset") { + if (slave.hips > 2 || V.arcologies[0].FSHedonisticDecadence !== "unset") { r += `<strong>W+++${V.summaryStats? `[${slave.weight}]` : ''}</strong>`; } else { r += `<strong><span class="red">W+++${V.summaryStats? `[${slave.weight}]` : ''}</span></strong>`; @@ -17239,6 +17366,7 @@ window.SlaveSummaryUncached = (function(){ r += `<strong><span class="red">W++++++${V.summaryStats? `[${slave.weight}]` : ''}</span></strong>`; } } + r += " "; } function long_weight(slave) { @@ -17263,7 +17391,7 @@ window.SlaveSummaryUncached = (function(){ r += `<span class="red">Overweight${V.summaryStats ? `[${slave.weight}]`: ''}.</span>`; } } else if (slave.weight <= 130) { - if (slave.hips >= 2 || V.arcologies[0].FSHedonisticDecadence !== "unset") { + if (slave.hips > 2 || V.arcologies[0].FSHedonisticDecadence !== "unset") { r += `Pleasantly soft and shapely${V.summaryStats? `[${slave.weight}]`: ''}.`; } else { r += `<span class="red">Fat${V.summaryStats ? `[${slave.weight}]`: ''}.</span>`; @@ -17325,7 +17453,7 @@ window.SlaveSummaryUncached = (function(){ r += `<strong>Di:F+</strong>`; break; } - r += `</span>`; + r += `</span> `; r += `<span class="cyan">`; if (slave.dietCum === 2) { r += `<strong>Cum++</strong>`; @@ -17338,7 +17466,7 @@ window.SlaveSummaryUncached = (function(){ } else if ((slave.dietMilk === 2)) { r += `<strong>Milk++</strong>`; } - r += `</span>`; + r += `</span> `; } function long_diet(slave) { @@ -17398,6 +17526,7 @@ window.SlaveSummaryUncached = (function(){ } else if (slave.health > 20) { r += `<strong><span class="green">H${V.summaryStats? `[${slave.health}]` : ''}</span></strong>`; } + r += " "; } function long_health(slave) { @@ -17522,14 +17651,14 @@ window.SlaveSummaryUncached = (function(){ r += `<strong>Dr:groStim</strong>`; break; } - r += `</span>`; + r += `</span> `; r += `<span class="lightgreen">`; if (slave.curatives === 2) { r += `<strong>Cura</strong>`; } else if (slave.curatives === 1) { r += `<strong>Prev</strong>`; } - r += `</span>`; + r += `</span> `; if (slave.aphrodisiacs !== 0) { r += `<span class="lightblue">`; if (slave.aphrodisiacs === 1) { @@ -17539,7 +17668,7 @@ window.SlaveSummaryUncached = (function(){ } else { r += `<strong>Anaph</strong>`; } - r += `</span>`; + r += `</span> `; } if (slave.addict !== 0) { r += `<span class="cyan">Add</span>`; @@ -17554,7 +17683,7 @@ window.SlaveSummaryUncached = (function(){ } else if (slave.hormones < 0) { r += `<strong>Ho:M</strong>`; } - r += `</span>`; + r += `</span> `; r += `<span class="mediumseagreen">`; if ((slave.bellyImplant > -1)) { r += `<strong>Belly Imp</strong>`; @@ -17577,7 +17706,7 @@ window.SlaveSummaryUncached = (function(){ } else if (slave.pregKnown === 1) { r += `<strong>${slave.pregWeek} wks preg</strong>`; } - r += `</span>`; + r += `</span> `; if (slave.induce === 1) { r += `<span class="orange"><strong>Early Labor</strong></span>`; } @@ -17597,7 +17726,7 @@ window.SlaveSummaryUncached = (function(){ } else if (slave.bellyFluid > 0) { r += `<strong>${slave.bellyFluid}ccs ${slave.inflationType}</strong>`; } - r += `</span>`; + r += `</span> `; } function long_drugs(slave) { @@ -17655,7 +17784,7 @@ window.SlaveSummaryUncached = (function(){ if (slave.pregType < 2 || slave.broodmother > 0) { r += `${slave.pregWeek} weeks pregnant.`; } else { - r += `${slave.pregWeek} weeks pregnant with`; + r += `${slave.pregWeek} weeks pregnant with `; if (slave.pregType >= 40) { r += `a tremendous brood of offspring.`; } else if (slave.pregType >= 20) { @@ -17791,6 +17920,7 @@ window.SlaveSummaryUncached = (function(){ r += `${slave.race.charAt(0).toUpperCase() + slave.race.charAt(1) + slave.race.charAt(2)}`; break; } + r += " "; } function short_nationality(slave) { @@ -18461,7 +18591,7 @@ window.SlaveSummaryUncached = (function(){ r += `${slave.nationality.charAt(0) + slave.nationality.charAt(1) + slave.nationality.charAt(2)}`; break; } - r += `</span>`; + r += `</span> `; } function long_nationality(slave) { @@ -18520,7 +18650,7 @@ window.SlaveSummaryUncached = (function(){ r += `${slave.skin.charAt(0).toUpperCase() + slave.skin.charAt(1) + slave.skin.charAt(2)}`; break; } - r += `</span>`; + r += `</span> `; } function short_genitals(slave) { @@ -18554,7 +18684,7 @@ window.SlaveSummaryUncached = (function(){ } else if (slave.balls > 3) { r += `Balls`; } - r += `</span>`; + r += `</span> `; } if (slave.vagina === 0) { r += `<span class="lime">VV</span>`; @@ -18566,19 +18696,19 @@ window.SlaveSummaryUncached = (function(){ } r += `<span class="pink">`; if ((slave.vagina > 3) && (slave.anus > 3)) { - r += `V++A++`; + r += ` V++A++`; } else if ((slave.vagina > 2) && (slave.anus > 2)) { - r += `V+A+`; + r += ` V+A+`; } else if (slave.vagina > 3) { - r += `V++`; + r += ` V++`; } else if (slave.vagina > 2) { - r += `V+`; + r += ` V+`; } else if (slave.anus > 3) { - r += `A++`; + r += ` A++`; } else if (slave.anus > 2) { - r += `A+`; + r += ` A+`; } - r += `</span>`; + r += `</span> `; } function long_genitals(slave) { @@ -18662,6 +18792,7 @@ window.SlaveSummaryUncached = (function(){ if (slave.visualAge !== slave.physicalAge) { r += `Lks${slave.visualAge}`; } + r += " "; } function short_face(slave) { @@ -18680,6 +18811,7 @@ window.SlaveSummaryUncached = (function(){ } else { r += `<span class="pink">Face+++${V.summaryStats? `[${slave.face}]` : ''}</span>`; } + r += " "; } function short_eyes(slave) { @@ -18688,6 +18820,7 @@ window.SlaveSummaryUncached = (function(){ } else if (((slave.eyes === -1) && (slave.eyewear !== "corrective glasses") && (slave.eyewear !== "corrective contacts"))) { r += `<span class="yellow">Sight-</span>`; } + r += " "; } function short_lips(slave) { @@ -18704,6 +18837,7 @@ window.SlaveSummaryUncached = (function(){ } else { r += `<span class="red">Lips-</span>${V.summaryStats? `[${slave.lips}]` : ''}`; } + r += " "; } function short_teeth(slave) { @@ -18718,6 +18852,7 @@ window.SlaveSummaryUncached = (function(){ } else if (slave.teeth === "pointy") { r += `Fangs`; } + r += " "; } function short_muscles(slave) { @@ -18744,6 +18879,7 @@ window.SlaveSummaryUncached = (function(){ } else { r += `<span class="red">Weak++</span>${V.summaryStats? `[${slave.muscles}]`: ''}`; } + r += " "; } function short_limbs(slave) { @@ -18761,6 +18897,7 @@ window.SlaveSummaryUncached = (function(){ } else { r += `Amp`; } + r += " "; } if (!canWalk(slave)) { r += `Immob`; @@ -18768,7 +18905,7 @@ window.SlaveSummaryUncached = (function(){ if (slave.heels === 1) { r += `Heel`; } - r += `</span>`; + r += `</span> `; } function short_voice(slave) { @@ -18785,6 +18922,7 @@ window.SlaveSummaryUncached = (function(){ r += `<span class="pink">Acc</span>`; } } + r += " "; } function short_tits_ass(slave) { @@ -18816,7 +18954,7 @@ window.SlaveSummaryUncached = (function(){ } else if (slave.butt > 4) { r += `Ass`; } - r += `</span>`; + r += `</span> `; } function short_hips(slave) { @@ -18854,7 +18992,7 @@ window.SlaveSummaryUncached = (function(){ r += `Disp-`; } } - r += `</span>`; + r += `</span> `; } function short_waist(slave) { @@ -18873,6 +19011,7 @@ window.SlaveSummaryUncached = (function(){ } else { r += `<span class="pink">Wst+++${V.summaryStats? `[${slave.waist}]`: ''}</span>`; } + r += " "; } function short_implants(slave) { @@ -18882,6 +19021,7 @@ window.SlaveSummaryUncached = (function(){ } else { r += `Impl`; } + r += " "; } function short_lactation(slave) { @@ -18890,6 +19030,7 @@ window.SlaveSummaryUncached = (function(){ } else if (slave.lactation === 2) { r += `Lact++`; } + r += " "; } function short_mods(slave) { @@ -18906,7 +19047,7 @@ window.SlaveSummaryUncached = (function(){ if (slave.brand !== 0) { r += `Br`; } - r += `</span>`; + r += `</span> `; } function long_age(slave) { @@ -19265,6 +19406,7 @@ window.SlaveSummaryUncached = (function(){ break; } } + r += " "; } function short_sex_skills(slave) { @@ -19287,8 +19429,9 @@ window.SlaveSummaryUncached = (function(){ r += `S-`; } if (V.summaryStats) { - r += `[${_SSkills}]`; + r += `[${_SSkills}] `; } + r += " "; if (slave.whoreSkill >= 100) { r += `W+++`; } else if (slave.whoreSkill > 60) { @@ -19300,9 +19443,10 @@ window.SlaveSummaryUncached = (function(){ } if (slave.whoreSkill > 10) { if (V.summaryStats) { - r += `[${slave.whoreSkill}]`; + r += `[${slave.whoreSkill}] `; } } + r += " "; if (slave.entertainSkill >= 100) { r += `E+++`; } else if (slave.entertainSkill > 60) { @@ -19314,10 +19458,11 @@ window.SlaveSummaryUncached = (function(){ } if (slave.entertainSkill > 10) { if (V.summaryStats) { - r += `[${slave.entertainSkill}]`; + r += `[${slave.entertainSkill}] `; } } } + r += " "; } function short_prestige(slave) { @@ -19330,7 +19475,7 @@ window.SlaveSummaryUncached = (function(){ } else if (slave.prestige === 1) { r += `Prest`; } - r += `</span>`; + r += `</span> `; } } @@ -19534,7 +19679,7 @@ window.SlaveSummaryUncached = (function(){ if (V.summaryStats) { r += `[${slave.fetishStrength}]`; } - r += `</span>`; + r += `</span> `; } function short_attraction(slave) { @@ -19559,6 +19704,7 @@ window.SlaveSummaryUncached = (function(){ } else { r += `<span class="green">XY+++${V.summaryStats? `[${slave.attrXY}]`: ''}</span>`; } + r += " "; if (slave.attrXX <= 5) { r += `<span class="red">XX---${V.summaryStats? `[${slave.attrXX}]`: ''}</span>`; } else if (slave.attrXX <= 15) { @@ -19574,6 +19720,7 @@ window.SlaveSummaryUncached = (function(){ } else if (slave.attrXY <= 95) { r += `<span class="green">XX+++${V.summaryStats? `[${slave.attrXX}]`: ''}</span>`; } + r += " "; if (slave.energy > 95) { if ((slave.attrXY <= 95) || (slave.attrXX <= 95)) { r += `<span class="green">Nympho!</span>`; @@ -19589,6 +19736,7 @@ window.SlaveSummaryUncached = (function(){ } else { r += `<span class="red">SD--${V.summaryStats? `[${slave.energy}]`: ''}</span>`; } + r += " "; } function short_smart_fetish(slave) { @@ -19668,6 +19816,7 @@ window.SlaveSummaryUncached = (function(){ break; } } + r += " "; } function short_smart_attraction(slave) { @@ -19708,6 +19857,7 @@ window.SlaveSummaryUncached = (function(){ r += `SP:anti-men`; } } + r += " "; } function short_behavior_flaw(slave) { @@ -19744,7 +19894,7 @@ window.SlaveSummaryUncached = (function(){ slave.behavioralFlaw = "none"; break; } - r += `</span>`; + r += `</span> `; } function short_sex_flaw(slave) { @@ -19807,6 +19957,7 @@ window.SlaveSummaryUncached = (function(){ slave.sexualFlaw = "none"; break; } + r += " "; } function short_behavior_quirk(slave) { @@ -19843,6 +19994,7 @@ window.SlaveSummaryUncached = (function(){ slave.behavioralQuirk = "none"; break; } + r += " "; } function short_sex_quirk(slave) { @@ -19878,7 +20030,7 @@ window.SlaveSummaryUncached = (function(){ slave.sexualQuirk = "none"; break; } - r += `</span>`; + r += `</span> `; } function long_fetish(slave) { @@ -19974,40 +20126,40 @@ window.SlaveSummaryUncached = (function(){ function long_attraction(slave) { if (slave.attrXY <= 5) { - r += `<span class="red">Disgusted by men${V.summaryStats? `[${slave.attrXY}]` : ''},</span>`; + r += `<span class="red">Disgusted by men${V.summaryStats? `[${slave.attrXY}]` : ''},</span> `; } else if (slave.attrXY <= 15) { - r += `<span class="red">Turned off by men${V.summaryStats? `[${slave.attrXY}]` : ''},</span>`; + r += `<span class="red">Turned off by men${V.summaryStats? `[${slave.attrXY}]` : ''},</span> `; } else if (slave.attrXY <= 35) { - r += `<span class="red">Not attracted to men${V.summaryStats? `[${slave.attrXY}]` : ''},</span>`; + r += `<span class="red">Not attracted to men${V.summaryStats? `[${slave.attrXY}]` : ''},</span> `; } else if (slave.attrXY <= 65) { - r += `Indifferent to men${V.summaryStats? `[${slave.attrXY}]` : ''},`; + r += `Indifferent to men${V.summaryStats? `[${slave.attrXY}]` : ''}, `; } else if (slave.attrXY <= 85) { - r += `<span class="green">Attracted to men${V.summaryStats? `[${slave.attrXY}]` : ''},</span>`; + r += `<span class="green">Attracted to men${V.summaryStats? `[${slave.attrXY}]` : ''},</span> `; } else if (slave.attrXY <= 95) { - r += `<span class="green">Aroused by men${V.summaryStats? `[${slave.attrXY}]` : ''},</span>`; + r += `<span class="green">Aroused by men${V.summaryStats? `[${slave.attrXY}]` : ''},</span> `; } else if (slave.attrXX > 95) { if (slave.energy <= 95) { - r += `<span class="green">Omnisexual!</span>`; + r += `<span class="green">Omnisexual!</span> `; } else { - r += `<span class="green">Omnisexual nymphomaniac!</span>`; + r += `<span class="green">Omnisexual nymphomaniac!</span> `; } } else { - r += `<span class="green">Passionate about men${V.summaryStats? `[${slave.attrXY}]` : ''},</span>`; + r += `<span class="green">Passionate about men${V.summaryStats? `[${slave.attrXY}]` : ''},</span> `; } if (slave.attrXX <= 5) { - r += `<span class="red">disgusted by women${V.summaryStats? `[${slave.attrXX}]` : ''}.</span>`; + r += `<span class="red">disgusted by women${V.summaryStats? `[${slave.attrXX}]` : ''}.</span> `; } else if (slave.attrXX <= 15) { - r += `<span class="red">turned off by women${V.summaryStats? `[${slave.attrXX}]` : ''}.</span>`; + r += `<span class="red">turned off by women${V.summaryStats? `[${slave.attrXX}]` : ''}.</span> `; } else if (slave.attrXX <= 35) { - r += `<span class="red">not attracted to women${V.summaryStats? `[${slave.attrXX}]` : ''}.</span>`; + r += `<span class="red">not attracted to women${V.summaryStats? `[${slave.attrXX}]` : ''}.</span> `; } else if (slave.attrXX <= 65) { r += `indifferent to women${V.summaryStats? `[${slave.attrXX}]` : ''}. `; } else if (slave.attrXX <= 85) { - r += `<span class="green">attracted to women${V.summaryStats? `[${slave.attrXX}]` : ''}.</span>`; + r += `<span class="green">attracted to women${V.summaryStats? `[${slave.attrXX}]` : ''}.</span> `; } else if (slave.attrXX <= 95) { - r += `<span class="green">aroused by women${V.summaryStats? `[${slave.attrXX}]` : ''}.</span>`; + r += `<span class="green">aroused by women${V.summaryStats? `[${slave.attrXX}]` : ''}.</span> `; } else if (slave.attrXY <= 95) { - r += `<span class="green">passionate about women${V.summaryStats? `[${slave.attrXX}]` : ''}.</span>`; + r += `<span class="green">passionate about women${V.summaryStats? `[${slave.attrXX}]` : ''}.</span> `; } if (slave.energy > 95) { if ((slave.attrXY <= 95) || (slave.attrXX <= 95)) { @@ -20295,6 +20447,7 @@ window.SlaveSummaryUncached = (function(){ } function short_extended_family(slave) { + let handled = 0; if (slave.mother > 0) { let _ssj = V.slaves.findIndex(function(s) { return s.ID === slave.mother; @@ -20313,18 +20466,20 @@ window.SlaveSummaryUncached = (function(){ } else { r += ` & wife`; } - _relationshipHandled = 1; + handled = 1; } } + r += " "; } else if (slave.mother === -1) { r += `Your daughter`; if (slave.relationship === -3) { - r += `& wife`; - _relationshipHandled = 1; + r += ` & wife`; + handled = 1; } else if (slave.relationship === -2) { - r += `& lover`; - _relationshipHandled = 1; + r += ` & lover`; + handled = 1; } + r += " "; } if (slave.father > 0 && slave.father !== slave.mother) { let _ssj = V.slaves.findIndex(function(s) { @@ -20332,7 +20487,7 @@ window.SlaveSummaryUncached = (function(){ }); if (_ssj !== -1) { r += `${SlaveFullName(V.slaves[_ssj])}'s daughter`; - if (slave.relationshipTarget === V.slaves[_ssj].ID && _relationshipHandled !== 1) { + if (slave.relationshipTarget === V.slaves[_ssj].ID && handled !== 1) { if (slave.relationship === 1) { r += ` & friend`; } else if (slave.relationship === 2) { @@ -20344,17 +20499,18 @@ window.SlaveSummaryUncached = (function(){ } else { r += ` & wife`; } - _relationshipHandled = 1; + handled = 1; } } + r += " "; } else if (slave.father === -1 && slave.mother !== -1) { r += `Your daughter`; if (slave.relationship === -3) { - r += `& wife`; - _relationshipHandled = 1; + r += ` & wife`; + handled = 1; } else if (slave.relationship === -2) { - r += `& lover`; - _relationshipHandled = 1; + r += ` & lover`; + handled = 1; } } if (slave.daughters === 1) { @@ -20375,15 +20531,16 @@ window.SlaveSummaryUncached = (function(){ } else { r += ` & wife`; } - _relationshipHandled = 1; + handled = 1; } } + r += " "; _ssj = V.slaves.findIndex(function(s) { return s.father === slave.ID; }); if (_ssj !== -1) { r += `${SlaveFullName(V.slaves[_ssj])}'s father`; - if (slave.relationshipTarget === V.slaves[_ssj].ID && _relationshipHandled !== 1) { + if (slave.relationshipTarget === V.slaves[_ssj].ID && handled !== 1) { if (slave.relationship === 1) { r += ` & friend`; } else if (slave.relationship === 2) { @@ -20395,11 +20552,12 @@ window.SlaveSummaryUncached = (function(){ } else { r += ` & wife`; } - _relationshipHandled = 1; + handled = 1; } } + r += " "; } else if (slave.daughters > 1) { - r += `multiple daughters`; + r += `multiple daughters `; } if (slave.sisters === 1) { let _ssj = V.slaves.findIndex(function(s) { @@ -20419,13 +20577,14 @@ window.SlaveSummaryUncached = (function(){ } else { r += ` & wife`; } - _relationshipHandled = 1; + handled = 1; } } + r += " "; } else if (slave.sisters > 1) { - r += `multiple sisters`; + r += `multiple sisters `; } - if (slave.relationship > 0 && _relationshipHandled !== 1) { + if (slave.relationship > 0 && handled !== 1) { let _ssj = V.slaves.findIndex(function(s) { return s.ID === slave.relationshipTarget; }); @@ -20433,19 +20592,19 @@ window.SlaveSummaryUncached = (function(){ r += `${SlaveFullName(V.slaves[_ssj])}'s`; switch (slave.relationship) { case 1: - r += `friend`; + r += ` friend`; break; case 2: - r += `BFF`; + r += ` BFF`; break; case 3: - r += `FWB`; + r += ` FWB`; break; case 4: - r += `lover`; + r += ` lover`; break; case 5: - r += `wife`; + r += ` wife`; break; } } @@ -20456,72 +20615,73 @@ window.SlaveSummaryUncached = (function(){ } else if (slave.relationship === -1) { r += `E Slut`; } + r += " "; } function short_legacy_family(slave) { if (slave.relation !== 0) { - let _ssj = V.slaves.findIndex(function(s) { - return s.ID === slave.relationTarget; - }); - if (_ssj !== -1) { - r += `${SlaveFullName(V.slaves[_ssj])}'s ${slave.relation}`; - } + let _ssj = V.slaves.findIndex(function(s) { + return s.ID === slave.relationTarget; + }); + if (_ssj !== -1) { + r += `${SlaveFullName(V.slaves[_ssj])}'s ${slave.relation}`; } - if (slave.relationship > 0) { - let _ssj = V.slaves.findIndex(function(s) { - return s.ID === slave.relationshipTarget; - }); - if (_ssj !== -1) { - switch (slave.relationship) { - case 1: - if (slave.relationshipTarget !== slave.relationTarget) { - r += `${SlaveFullName(V.slaves[_ssj])}'s`; - } else { - r += `&`; - } - r += `friend`; - break; - case 2: - if (slave.relationshipTarget !== slave.relationTarget) { - r += `${SlaveFullName(V.slaves[_ssj])}'s`; - } else { - r += `&`; - } - r += `BFF`; - break; - case 3: - if (slave.relationshipTarget !== slave.relationTarget) { - r += `${SlaveFullName(V.slaves[_ssj])}'s`; - } else { - r += `&`; - } - r += `FWB`; - break; - case 4: - if (slave.relationshipTarget !== slave.relationTarget) { - r += `${SlaveFullName(V.slaves[_ssj])}'s`; - } else { - r += `&`; - } - r += `lover`; - break; - case 5: - if (slave.relationshipTarget !== slave.relationTarget) { - r += `${SlaveFullName(V.slaves[_ssj])}'s`; - } else { - r += `&`; - } - r += `wife`; - break; - } + } + if (slave.relationship > 0) { + let _ssj = V.slaves.findIndex(function(s) { + return s.ID === slave.relationshipTarget; + }); + if (_ssj !== -1) { + switch (slave.relationship) { + case 1: + if (slave.relationshipTarget !== slave.relationTarget) { + r += `${SlaveFullName(V.slaves[_ssj])}'s`; + } else { + r += ` &`; + } + r += ` friend`; + break; + case 2: + if (slave.relationshipTarget !== slave.relationTarget) { + r += `${SlaveFullName(V.slaves[_ssj])}'s`; + } else { + r += ` &`; + } + r += ` BFF`; + break; + case 3: + if (slave.relationshipTarget !== slave.relationTarget) { + r += `${SlaveFullName(V.slaves[_ssj])}'s`; + } else { + r += ` &`; + } + r += ` FWB`; + break; + case 4: + if (slave.relationshipTarget !== slave.relationTarget) { + r += `${SlaveFullName(V.slaves[_ssj])}'s`; + } else { + r += ` &`; + } + r += ` lover`; + break; + case 5: + if (slave.relationshipTarget !== slave.relationTarget) { + r += `${SlaveFullName(V.slaves[_ssj])}'s`; + } else { + r += ` &`; + } + r += ` wife`; + break; } - } else if (slave.relationship === -3) { - r += `Your wife`; - } else if (slave.relationship === -2) { - r += `E Bonded`; - } else if (slave.relationship === -1) { - r += `E Slut`; } + } else if (slave.relationship === -3) { + r += `Your wife`; + } else if (slave.relationship === -2) { + r += `E Bonded`; + } else if (slave.relationship === -1) { + r += `E Slut`; + } } function short_rival(slave) { @@ -20539,12 +20699,13 @@ window.SlaveSummaryUncached = (function(){ } else { r += `Hates ${SlaveFullName(V.slaves[_ssj])}`; } - r += `</span>`; + r += `</span> `; } } } function long_extended_family(slave) { + let handled = 0; if (slave.mother > 0) { let _ssj = V.slaves.findIndex(function(s) { return s.ID === slave.mother; @@ -20563,18 +20724,18 @@ window.SlaveSummaryUncached = (function(){ } else { r += ` and wife`; } - _relationshipHandled = 1; + handled = 1; } r += `.</span> `; } } else if (slave.mother === -1) { - r += `Your`; + r += `Your `; if (slave.relationship === -3) { r += `<span class="lightgreen">daughter and wife.</span> `; - _relationshipHandled = 1; + handled = 1; } else if (slave.relationship === -2) { r += `<span class="lightgreen">daughter and lover.</span> `; - _relationshipHandled = 1; + handled = 1; } else { r += `<span class="lightgreen">daughter.</span> `; } @@ -20597,18 +20758,18 @@ window.SlaveSummaryUncached = (function(){ } else { r += ` and wife`; } - _relationshipHandled = 1; + handled = 1; } r += `.</span> `; } } else if (slave.father === -1 && slave.father !== slave.mother) { - r += `Your`; + r += `Your `; if (slave.relationship === -3) { r += `<span class="lightgreen">daughter and wife.</span> `; - _relationshipHandled = 1; + handled = 1; } else if (slave.relationship === -2) { r += `<span class="lightgreen">daughter and lover.</span> `; - _relationshipHandled = 1; + handled = 1; } else { r += `<span class="lightgreen">daughter.</span> `; } @@ -20631,7 +20792,7 @@ window.SlaveSummaryUncached = (function(){ } else { r += ` and wife`; } - _relationshipHandled = 1; + handled = 1; } r += `.</span> `; } @@ -20652,7 +20813,7 @@ window.SlaveSummaryUncached = (function(){ } else { r += ` and wife`; } - _relationshipHandled = 1; + handled = 1; } r += `.</span> `; } @@ -20683,7 +20844,7 @@ window.SlaveSummaryUncached = (function(){ } else { r += ` and wife`; } - _relationshipHandled = 1; + handled = 1; } r += `.</span> `; } @@ -20696,12 +20857,12 @@ window.SlaveSummaryUncached = (function(){ r += `<span class="lightgreen">Has several sisters.</span> `; } } - if (slave.relationship > 0 && _relationshipHandled !== 1) { + if (slave.relationship > 0 && handled !== 1) { let _ssj = V.slaves.findIndex(function(s) { return s.ID === slave.relationshipTarget; }); if (_ssj !== -1) { - r += `${SlaveFullName(V.slaves[_ssj])}'s`; + r += `${SlaveFullName(V.slaves[_ssj])}'s `; switch (slave.relationship) { case 1: r += `<span class="lightgreen">friend.</span> `; @@ -20735,7 +20896,7 @@ window.SlaveSummaryUncached = (function(){ return s.ID === slave.relationTarget; }); if (_ssj !== -1) { - r += `${SlaveFullName(V.slaves[_ssj])}'s`; + r += `${SlaveFullName(V.slaves[_ssj])}'s `; if (slave.relationshipTarget !== slave.relationTarget) { r += `<span class="lightgreen">${slave.relation}</span>. `; } else { @@ -21215,3 +21376,4 @@ window.SlaveSummaryUncached = (function(){ return SlaveSummaryUncached; })(); + diff --git a/src/js/slaveSummaryWidgets.tw b/src/js/slaveSummaryWidgets.tw index ad41a1d1cfa..17e58512ca4 100644 --- a/src/js/slaveSummaryWidgets.tw +++ b/src/js/slaveSummaryWidgets.tw @@ -439,7 +439,7 @@ window.SlaveSummaryUncached = (function(){ r += `<strong><span class="red">W++${V.summaryStats? `[${slave.weight}]` : ''}</span></strong>`; } } else if (slave.weight <= 130) { - if (slave.hips >= 2 || V.arcologies[0].FSHedonisticDecadence !== "unset") { + if (slave.hips > 2 || V.arcologies[0].FSHedonisticDecadence !== "unset") { r += `<strong>W+++${V.summaryStats? `[${slave.weight}]` : ''}</strong>`; } else { r += `<strong><span class="red">W+++${V.summaryStats? `[${slave.weight}]` : ''}</span></strong>`; @@ -488,7 +488,7 @@ window.SlaveSummaryUncached = (function(){ r += `<span class="red">Overweight${V.summaryStats ? `[${slave.weight}]`: ''}.</span>`; } } else if (slave.weight <= 130) { - if (slave.hips >= 2 || V.arcologies[0].FSHedonisticDecadence !== "unset") { + if (slave.hips > 2 || V.arcologies[0].FSHedonisticDecadence !== "unset") { r += `Pleasantly soft and shapely${V.summaryStats? `[${slave.weight}]`: ''}.`; } else { r += `<span class="red">Fat${V.summaryStats ? `[${slave.weight}]`: ''}.</span>`; -- GitLab