diff --git a/src/interaction/main/walkPast.js b/src/interaction/main/walkPast.js index 46cef660ef0b7c185624cbd9e9b3814fde8e24d3..5aa7a52da3742bcc50ebf34728a80d596ae7579c 100644 --- a/src/interaction/main/walkPast.js +++ b/src/interaction/main/walkPast.js @@ -6,6 +6,7 @@ globalThis.walkPast = (function() { // selection variables let target; + let partner; // rng variables let seed; @@ -32,31 +33,30 @@ globalThis.walkPast = (function() { let flag; if (totalRelatives(activeSlave) > 0 && ((fixedTarget === "FRelation") || (!fixedTarget && jsRandom(1, 100) > 80))) { flag = 110; - V.partner = "relation"; + partner = "relation"; } else if (activeSlave.relationship > 0 && ((fixedTarget === "FRelation") || (!fixedTarget && jsRandom(1, 100) > 70))) { flag = 120; - V.partner = "relationship"; + partner = "relationship"; } else if (activeSlave.rivalry !== 0 && hasAllLimbs(activeSlave) && ((fixedTarget === "FRival") || (!fixedTarget && jsRandom(1, 100) > 70))) { flag = 130; - V.partner = "rivalry"; + partner = "rivalry"; } else { flag = 99; - V.partner = ""; + partner = ""; } // return if we insist on a relation or rival but we didn't find one above - if (["FRelation", "FRival"].includes(fixedTarget) && !(V.partner)) { + if (["FRelation", "FRival"].includes(fixedTarget) && !partner) { return; } - App.Utils.setLocalPronouns(activeSlave); // Needed for the few places that still call widgets instead of functions, such as <<faceDescription>> output += primeSlave(activeSlave, seed); - if (V.partner === "rivalry") { + if (partner === "rivalry") { output += rivalSlave(activeSlave, seed); - } else if (V.partner === "relationship" && App.Utils.hasPartnerSex(activeSlave)) { + } else if (partner === "relationship" && App.Utils.hasPartnerSex(activeSlave)) { output += loverSlave(activeSlave); - } else if (V.partner === "relationship" || V.partner === "relation") { + } else if (partner === "relationship" || partner === "relation") { output += relatedSlave(activeSlave); } else { switch (fixedTarget) { @@ -137,7 +137,7 @@ globalThis.walkPast = (function() { V.partner = partner; V.relation = relation; // TODO: remove these once FRelation/FRival don't need them anymore executeWalkpast(target); - }, [V.partner, flag === 110 ? V.relation : null, target])); + }, [partner, flag === 110 ? partnerSlave.ID : null, target])); } else if (activeSlave.assignment === Job.CONFINEMENT) { links.push(App.UI.DOM.link(`Have ${him} brought out of ${his} cell`, executeWalkpast, target)); } else if (activeSlave.assignment === Job.DAIRY && V.dairyRestraintsSetting > 1) { @@ -177,7 +177,7 @@ globalThis.walkPast = (function() { function primeSlave(activeSlave, seed) { r = ""; - if (V.partner !== "relationship" || !App.Utils.hasPartnerSex(activeSlave)) { + if (partner !== "relationship" || !App.Utils.hasPartnerSex(activeSlave)) { r += `${activeSlave.slaveName} `; r += walkPasts(activeSlave, seed); t = ""; @@ -1413,16 +1413,15 @@ globalThis.walkPast = (function() { He, His } = getPronouns(activeSlave); - if (V.partner === "relation") { + if (partner === "relation") { partnerSlave = randomRelatedSlave(activeSlave); - V.relation = partnerSlave.ID; } else { partnerSlave = getSlave(activeSlave.relationshipTarget); } if (partnerSlave !== undefined) { /* potential problem point */ r += ` ${His} `; - if (V.partner === "relation") { + if (partner === "relation") { r += `${relativeTerm(activeSlave, partnerSlave)} `; } else { r += `${relationshipTerm(activeSlave)} `;