mirror of
https://github.com/Azgaar/Fantasy-Map-Generator.git
synced 2025-12-17 09:41:24 +01:00
fix: #1152, don't keep removed locked cultures on regenerate
This commit is contained in:
parent
26b659a59e
commit
f0ff23a119
1 changed files with 8 additions and 8 deletions
|
|
@ -123,26 +123,26 @@ window.Cultures = (function () {
|
||||||
cultures.forEach(c => (c.base = c.base % nameBases.length));
|
cultures.forEach(c => (c.base = c.base % nameBases.length));
|
||||||
|
|
||||||
function selectCultures(culturesNumber) {
|
function selectCultures(culturesNumber) {
|
||||||
let def = getDefault(culturesNumber);
|
let defaultCultures = getDefault(culturesNumber);
|
||||||
const cultures = [];
|
const cultures = [];
|
||||||
|
|
||||||
pack.cultures?.forEach(function (culture) {
|
pack.cultures?.forEach(function (culture) {
|
||||||
if (culture.lock) cultures.push(culture);
|
if (culture.lock && !culture.removed) cultures.push(culture);
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!cultures.length) {
|
if (!cultures.length) {
|
||||||
if (culturesNumber === def.length) return def;
|
if (culturesNumber === defaultCultures.length) return defaultCultures;
|
||||||
if (def.every(d => d.odd === 1)) return def.splice(0, culturesNumber);
|
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 {
|
do {
|
||||||
rnd = rand(def.length - 1);
|
rnd = rand(defaultCultures.length - 1);
|
||||||
culture = def[rnd];
|
culture = defaultCultures[rnd];
|
||||||
i++;
|
i++;
|
||||||
} while (i < 200 && !P(culture.odd));
|
} while (i < 200 && !P(culture.odd));
|
||||||
cultures.push(culture);
|
cultures.push(culture);
|
||||||
def.splice(rnd, 1);
|
defaultCultures.splice(rnd, 1);
|
||||||
}
|
}
|
||||||
return cultures;
|
return cultures;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue