diff --git a/src/art/artJS.js b/src/art/artJS.js index ac11061948093bbc93acad2ffd8cb75d5514de0d..59198698b2d240b0b3f486a763d780be136a5c78 100644 --- a/src/art/artJS.js +++ b/src/art/artJS.js @@ -77,7 +77,7 @@ App.Art.refreshSlaveArt = function(artSlave, artSize, elementID, UIDisplay=0) { image.appendChild(mask); } else if (artSize === 2) { image.className = "imageRef medImg"; - } else if (artsize < 2) { + } else if (artSize < 2) { image.className = "imageRef smlImg"; } image.appendChild(App.Art.SlaveArtElement(artSlave, artSize, UIDisplay)); diff --git a/src/js/findSlave.js b/src/js/findSlave.js index ca370f9fb0f72e40c588c43a36560d4976f6d65a..8bf1329a87b05e25bef09c4df4594d7cd3598c31 100644 --- a/src/js/findSlave.js +++ b/src/js/findSlave.js @@ -12,14 +12,14 @@ App.FindSlave._fragmentSearch = function(haystacks, needles) { }; /** - * Get slave indices which match a predicate + * Get slave ids which match a predicate * @param {function(App.Entity.SlaveState): boolean} predicate * @returns {number[]} */ -App.FindSlave._slaveIndices = function(predicate) { - return V.slaves.reduce((acc, slave, ind) => { +App.FindSlave._slaveIDs = function(predicate) { + return V.slaves.reduce((acc, slave) => { if (predicate(createReadonlyProxy(slave))) { - acc.push(ind); + acc.push(slave.ID); } return acc; }, []); @@ -32,8 +32,8 @@ App.FindSlave._slaveIndices = function(predicate) { */ App.FindSlave.searchByName = function(query) { const needles = query.split(" ").map((needle) => { return new RegExp(needle, "i"); }); - const indices = this._slaveIndices((slave) => { return this._fragmentSearch([slave.slaveName, slave.slaveSurname, slave.birthName, slave.birthSurname], needles); }); - return App.UI.SlaveList.render.listDOM(indices, [], App.UI.SlaveList.SlaveInteract.stdInteract); + const ids = this._slaveIDs((slave) => { return this._fragmentSearch([slave.slaveName, slave.slaveSurname, slave.birthName, slave.birthSurname], needles); }); + return App.UI.SlaveList.render.listDOM(ids, [], App.UI.SlaveList.SlaveInteract.stdInteract); }; /** @@ -43,8 +43,8 @@ App.FindSlave.searchByName = function(query) { */ App.FindSlave.searchByBackground = function(query) { const needles = query.split(" ").map((needle) => { return new RegExp(needle, "i"); }); - const indices = this._slaveIndices((slave) => { return this._fragmentSearch([slave.career, slave.origin], needles); }); - return App.UI.SlaveList.render.listDOM(indices, [], App.UI.SlaveList.SlaveInteract.stdInteract); + const ids = this._slaveIDs((slave) => { return this._fragmentSearch([slave.career, slave.origin], needles); }); + return App.UI.SlaveList.render.listDOM(ids, [], App.UI.SlaveList.SlaveInteract.stdInteract); }; /** @@ -54,6 +54,6 @@ App.FindSlave.searchByBackground = function(query) { */ App.FindSlave.searchByExpression = function(query) { const pred = new Function("slave", "return (" + query + ");"); - const indices = runWithReadonlyProxy(() => { return this._slaveIndices(pred); }); - return App.UI.SlaveList.render.listDOM(indices, [], App.UI.SlaveList.SlaveInteract.stdInteract); + const ids = runWithReadonlyProxy(() => { return this._slaveIDs(pred); }); + return App.UI.SlaveList.render.listDOM(ids, [], App.UI.SlaveList.SlaveInteract.stdInteract); }; diff --git a/src/js/slaveListing.js b/src/js/slaveListing.js index b97674baaa0da8c76dccc5452ac654ad4a279026..17508379a2437be6c92ed582bbcf568bc90a719f 100644 --- a/src/js/slaveListing.js +++ b/src/js/slaveListing.js @@ -21,12 +21,10 @@ App.UI.SlaveList = {}; App.UI.SlaveList.render = function() { const facilityPassages = new Set( - ["Main", "Head Girl Suite", "Spa", "Brothel", "Club", "Arcade", "Clinic", "Schoolroom", "Dairy", "Farmyard", "Servants' Quarters" , "Master Suite", "Cellblock"]); + ["Main", "Head Girl Suite", "Spa", "Brothel", "Club", "Arcade", "Clinic", "Schoolroom", "Dairy", "Farmyard", "Servants' Quarters", "Master Suite", "Cellblock"]); /** @type {string} */ let passageName; - /** @type {App.Entity.SlaveState[]} */ - let slaves; // potentially can be a problem if played long enough to reach Number.MAX_SAFE_INTEGER let listID = Number.MIN_SAFE_INTEGER; @@ -50,7 +48,6 @@ App.UI.SlaveList.render = function() { */ function listDOM(IDs, rejectedSlaves, interactionLink, postNote) { passageName = passage(); - slaves = V.slaves; let res = document.createDocumentFragment(); @@ -757,29 +754,29 @@ App.UI.SlaveList.listNGPSlaves = function() { } if (V.slavesToImport > 0) { - const importedSlavesIndices = slaves.reduce((acc, s, i) => { + const importedSlavesIDs = slaves.reduce((acc, s) => { if (s.assignment === NGPassignment) { - acc.push(i); + acc.push(s.ID); } return acc; }, []); - SlaveSort.indices(importedSlavesIndices); - r += App.UI.tabbar.makeTab("remove", App.UI.SlaveList.render.listMarkup(importedSlavesIndices, [], + SlaveSort.IDs(importedSlavesIDs); + r += App.UI.tabbar.makeTab("remove", App.UI.SlaveList.render.listMarkup(importedSlavesIDs, [], App.UI.SlaveList.makeNameDecorator(["emphasizedSlave", "pink"]), - (s, i) => App.UI.DOM.passageLink('Remove from import list', thisPassage, - () => { variables().slavesToImport -= 1; removeJob(variables().slaves[i], NGPassignment); } + (s) => App.UI.DOM.passageLink('Remove from import list', thisPassage, + () => { V.slavesToImport -= 1; removeJob(s, NGPassignment); } ))); } else { r += App.UI.tabbar.makeTab("remove", `<em>No slaves will go with you to the new game</em>`); } if (V.slavesToImport < V.slavesToImportMax) { - const slavesToImportIndices = slaves.reduce((acc, s, i) => { if (s.assignment !== NGPassignment) { acc.push(i); } return acc; }, []); - SlaveSort.indices(slavesToImportIndices); - r += App.UI.tabbar.makeTab("assign", App.UI.SlaveList.render.listMarkup(slavesToImportIndices, [], + const slavesToImportIDs = slaves.reduce((acc, s) => { if (s.assignment !== NGPassignment) { acc.push(s.ID); } return acc; }, []); + SlaveSort.IDs(slavesToImportIDs); + r += App.UI.tabbar.makeTab("assign", App.UI.SlaveList.render.listMarkup(slavesToImportIDs, [], App.UI.SlaveList.makeNameDecorator(["emphasizedSlave", "pink"]), - (s, i) => App.UI.DOM.passageLink('Add to import list', thisPassage, - () => { variables().slavesToImport += 1; assignJob(variables().slaves[i], NGPassignment); } + (s) => App.UI.DOM.passageLink('Add to import list', thisPassage, + () => { V.slavesToImport += 1; assignJob(s, NGPassignment); } ))); } else { r += App.UI.tabbar.makeTab("assign", `<strong>Slave import limit reached</strong>`); diff --git a/src/js/slaveSummaryHelpers.js b/src/js/slaveSummaryHelpers.js index 6e37470c95b653850580b80f63aa3c9d4c953b4b..19630f896b9cf5fcf50033575d496104d3ef9afb 100644 --- a/src/js/slaveSummaryHelpers.js +++ b/src/js/slaveSummaryHelpers.js @@ -545,7 +545,7 @@ App.UI.SlaveSummaryImpl = function() { */ function long_muscles(slave, c) { const h = helpers; - h.makeStyledSpan(c, h.getMultiNumericRating(data.long.body.muscles, [slave.muscles + 100, h.FSData.policy.PhysicalIdealist.active]), slave.muscles); + h.makeStyledSpan(c, h.getMultiNumericRating(data.long.body.muscles, [slave.muscles + 100, h.FSData.policy.PhysicalIdealist.active]), slave.muscles, true); } /**