From f0ff23a119fcb216155ebd277cd5bc21ef0117e6 Mon Sep 17 00:00:00 2001 From: Azgaar Date: Sun, 13 Oct 2024 15:08:40 +0200 Subject: [PATCH] fix: #1152, don't keep removed locked cultures on regenerate --- modules/cultures-generator.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/modules/cultures-generator.js b/modules/cultures-generator.js index 3096f96c..f2203146 100644 --- a/modules/cultures-generator.js +++ b/modules/cultures-generator.js @@ -123,26 +123,26 @@ window.Cultures = (function () { cultures.forEach(c => (c.base = c.base % nameBases.length)); function selectCultures(culturesNumber) { - let def = getDefault(culturesNumber); + let defaultCultures = getDefault(culturesNumber); const cultures = []; pack.cultures?.forEach(function (culture) { - if (culture.lock) cultures.push(culture); + if (culture.lock && !culture.removed) cultures.push(culture); }); if (!cultures.length) { - if (culturesNumber === def.length) return def; - if (def.every(d => d.odd === 1)) return def.splice(0, culturesNumber); + if (culturesNumber === defaultCultures.length) return defaultCultures; + if (defaultCultures.every(d => d.odd === 1)) return defaultCultures.splice(0, culturesNumber); } - for (let culture, rnd, i = 0; cultures.length < culturesNumber && def.length > 0; ) { + for (let culture, rnd, i = 0; cultures.length < culturesNumber && defaultCultures.length > 0; ) { do { - rnd = rand(def.length - 1); - culture = def[rnd]; + rnd = rand(defaultCultures.length - 1); + culture = defaultCultures[rnd]; i++; } while (i < 200 && !P(culture.odd)); cultures.push(culture); - def.splice(rnd, 1); + defaultCultures.splice(rnd, 1); } return cultures; }