diff --git a/src/npc/generate/heroCreator.js b/src/npc/generate/heroCreator.js index 69ada836db9589aa11488f96bb36ee57ecc50932..ada1ff4100603f83626a51bad5e52ce8fc4cc141 100644 --- a/src/npc/generate/heroCreator.js +++ b/src/npc/generate/heroCreator.js @@ -22,15 +22,11 @@ App.Utils.buildHeroArray = function() { let array = [].concat(...chunks); delete V.heroSlaves; - for (let hero = 0; hero < array.length; hero++) { - if (V.seePreg !== 1 && [900089, 900102].includes(array[hero].ID)) { - array.splice(hero, 1); - hero--; - } else if (V.heroSlavesPurchased.includes(array[hero].ID)) { - array.splice(hero, 1); - hero--; - } - } + /** @type {function(App.Entity.SlaveState):boolean} */ + const disallowedPregnantSlave = (s) => (V.seePreg !== 1 && s.preg > 0); + /** @type {function(App.Entity.SlaveState):boolean} */ + const underAgedSlave = (s) => (s.actualAge < V.minimumSlaveAge); + array.deleteWith((s) => V.heroSlavesPurchased.includes(s.ID) || disallowedPregnantSlave(s) || underAgedSlave(s)); const collator = new Intl.Collator('en', {usage: "sort", ignorePunctuation: true}); return array.sort((a, b) => collator.compare(a.slaveName, b.slaveName));