diff --git a/src/endWeek/reports/arcadeReport.js b/src/endWeek/reports/arcadeReport.js index 1eb867f02859fb2ddacbbaffd7b5db2bc40bd02c..45c008b4d646ebc162ad1a764e6d7d4c79201462 100644 --- a/src/endWeek/reports/arcadeReport.js +++ b/src/endWeek/reports/arcadeReport.js @@ -245,58 +245,16 @@ App.EndWeek.arcadeReport = function() { } if (V.arcadeUpgradeFuckdolls === 2) { - let currentSlave, Age = -1, FD = -1, MB = -1, Con = -1; - const removeSlaves = []; - for (const slave of slaves) { - if (slave.sentence === 0) { /* let's not convert slaves we are punishing into Fuckdolls */ - if (slave.fetish === "mindbroken") { - if (slave.fuckdoll === 0) { - if (slave.physicalAge > 35) { - Age = V.i; - break; - } else if (FD === -1) { - FD = V.i; - } - } else if (MB === -1) { - if (slave.vagina >= 4 || slave.anus >= 4) { - Con = V.i; - } else if (slave.physicalAge > 35) { - Age = V.i; - } else { - MB = V.i; - } - } - } else if (Con === -1) { - if (slave.vagina >= 4 || slave.anus >= 4) { - Con = V.i; - } else if (slave.physicalAge > 35) { - Age = V.i; - } - } - } - } - if (FD > -1) { - currentSlave = V.slaves[FD]; - } else if (Con > -1) { - currentSlave = V.slaves[Con]; - } else if (MB > -1) { - currentSlave = V.slaves[MB]; - } else if (Age > -1) { - currentSlave = V.slaves[Age]; - } - if (currentSlave) { - const {he} = getPronouns(currentSlave); - App.UI.DOM.appendNewElement("div", el, `${currentSlave.slaveName} is low-quality merchandise, so ${he} has been converted into a Fuckdoll.`, "indent"); - removeSlaves.push(currentSlave.ID); - if (!currentSlave) { /* if not, then technically there was an error INVALID SLAVE */ - V.fuckdolls++; + const fuckdolls = slaves.filter(s => fuckdollConversion(s)); + if (fuckdolls.length > 0) { + for (const fuckdoll of fuckdolls) { + const {he} = getPronouns(fuckdoll); + App.UI.DOM.appendNewElement("div", el, `${fuckdoll.slaveName} is low-quality merchandise, so ${he} has been converted into a Fuckdoll.`, "indent"); + removeSlave(getSlave(fuckdoll.ID)); } } else { App.UI.DOM.appendNewElement("div", el, `No slaves have failed quality inspection for Fuckdoll conversion. ${arcadeNameCaps} will remain overcrowded this week.`, "indent"); } - for (const ID of removeSlaves) { - removeSlave(getSlave(ID)); - } } if (slavesLength > 0) { @@ -323,4 +281,18 @@ App.EndWeek.arcadeReport = function() { arcadeStats.append(App.Facilities.Arcade.Stats(true)); } return el; + + /** + * + * @param {App.Entity.SlaveState} slave + */ + function fuckdollConversion(slave) { + if (slave.sentence === 0 && slave.fuckdoll === 0 && slave.fetish === "mindbroken") { + if (slave.physicalAge > 35) { + return true; + } else if (slave.vagina >= 4 || slave.anus >= 4) { + return true; + } + } + } };