diff --git a/src/data/backwardsCompatibility/backwardsCompatibility.js b/src/data/backwardsCompatibility/backwardsCompatibility.js index 6d726b716aac01f07bc1d15572bf6d23afb7cc99..0dccde0280cfdd2c7c6f024b4802a956e3d7bb1c 100644 --- a/src/data/backwardsCompatibility/backwardsCompatibility.js +++ b/src/data/backwardsCompatibility/backwardsCompatibility.js @@ -2461,9 +2461,6 @@ App.Update.oldVersions = function(node) { if (V.releaseID <= 1123) { V.plotEventWeek = App.Events.effectiveWeek(); } - if (V.releaseID < 1183 && V.pit) { - V.pit.trainingIDs = []; - } node.append(`Done!`); }; diff --git a/src/data/backwardsCompatibility/pitBC.js b/src/data/backwardsCompatibility/pitBC.js index ceb8677d4bf534f399b1c9773cdea8e997401a24..877af4c22c58c2c02ba5e4ea194acf3dfc35b5b4 100644 --- a/src/data/backwardsCompatibility/pitBC.js +++ b/src/data/backwardsCompatibility/pitBC.js @@ -27,6 +27,8 @@ App.Facilities.Pit.BC = function() { V.pit.animal = V.pit.animal || V.pitAnimalType || null; } + V.pit.trainingIDs = V.pit.trainingIDs || []; + V.pit.audience = V.pit.audience || V.pitAudience || "none"; V.pit.lethal = V.pit.lethal || V.pitLethal || false; V.pit.fought = V.pit.fought || V.pitFought || false; diff --git a/src/interaction/siCustom.js b/src/interaction/siCustom.js index 797495faef7e3444db6a3f307e9fa19fc345e886..f99ac445f2c49bf88f417ffd7f242aeb46a0851a 100644 --- a/src/interaction/siCustom.js +++ b/src/interaction/siCustom.js @@ -196,27 +196,30 @@ App.UI.SlaveInteract.custom = function(slave, refresh) { if (V.arcologies[0].FSPastoralist !== "unset") { if (slave.lactation > 0) { - linkArray.push(chooseThreeNames(`Choose a random cow name for ${him}`, App.Data.misc.cowSlaveNames, "cow-names")); + linkArray.push(chooseThreeNames(`Choose a random cow name for ${him}`, App.Data.misc.cowSlaveNames)); } } if (V.arcologies[0].FSIntellectualDependency !== "unset") { if (slave.intelligence + slave.intelligenceImplant < -10) { - linkArray.push(chooseThreeNames(`Give ${him} a random stripper given name`, App.Data.misc.bimboSlaveNames, "bimbo-names")); + linkArray.push(chooseThreeNames(`Give ${him} a random stripper given name`, App.Data.misc.bimboSlaveNames)); } } if (V.arcologies[0].FSChattelReligionist !== "unset") { - linkArray.push(chooseThreeNames(`Give ${him} a random devotional given name`, App.Data.misc.chattelReligionistSlaveNames, "devotional-names")); + linkArray.push(chooseThreeNames(`Give ${him} a random devotional given name`, App.Data.misc.chattelReligionistSlaveNames)); } if (slave.race === "catgirl") { - linkArray.push(chooseThreeNames(`Give ${him} a random cat name`, App.Data.misc.catSlaveNames, "cat-names")); + linkArray.push(chooseThreeNames(`Give ${him} a random cat name`, App.Data.misc.catSlaveNames)); } result.append(App.UI.DOM.generateLinksStrip(linkArray)); slaveNameNode.appendChild(result); return slaveNameNode; - function chooseThreeNames(title, array, id) { + /** + * @param {string} title + * @param {string[]} array + */ + function chooseThreeNames(title, array) { const el = document.createElement("span"); - el.id = id; el.append( App.UI.DOM.link( title, @@ -228,42 +231,22 @@ App.UI.SlaveInteract.custom = function(slave, refresh) { return el; function linkGuts() { - // Randomize the array - const shuffled = array.sort(() => 0.5 - Math.random()); - - // Get the first three new names - const names = []; - for (let i = 0; names.length < 3; i++) { - if (i > shuffled.length) { - break; - } - if (shuffled[i] !== slave.slaveName) { - names.push(shuffled[i]); - } - } + // Pick three random names, not including the slave's current name + const names = array.filter(n => n !== slave.slaveName).pluckMany(3); // return the three names as links - const nameLinks = []; - for (const name of names) { - nameLinks.push( - App.UI.DOM.link( - name, - () => { - slave.slaveName = name; - updateName(slave, {oldName: oldName, oldSurname: oldSurname}); - } - ) - ); - } + const nameLinks = names.map(n => + App.UI.DOM.link(n, () => { + slave.slaveName = n; + updateName(slave, {oldName: oldName, oldSurname: oldSurname}); + }) + ); nameLinks.push( - App.UI.DOM.link( - "...", - () => { - linkGuts(); - } - ) + App.UI.DOM.link("...", () => { + linkGuts(); + }) ); - jQuery(`#${id}`).empty().append(App.UI.DOM.generateLinksStrip(nameLinks)); + jQuery(el).empty().append(App.UI.DOM.generateLinksStrip(nameLinks)); } } }