fix: erase data before regeneration on heightmap erase mode to avoid lock state, v1.89.06

This commit is contained in:
Azgaar 2023-02-19 14:05:36 +04:00
parent eb5d924cbd
commit 8288335514
4 changed files with 18 additions and 9 deletions

View file

@ -116,14 +116,14 @@ window.Cultures = (function () {
cultures.forEach(c => (c.base = c.base % nameBases.length));
function selectCultures(c) {
let def = getDefault(c);
if (c === def.length) return def;
if (def.every(d => d.odd === 1)) return def.splice(0, c);
function selectCultures(culturesNumber) {
let def = getDefault(culturesNumber);
if (culturesNumber === def.length) return def;
if (def.every(d => d.odd === 1)) return def.splice(0, culturesNumber);
const count = Math.min(culturesNumber, def.length);
const count = Math.min(c, def.length);
const cultures = [];
pack.cultures?.forEach(function (culture) {
if (culture.lock) cultures.push(culture);
});

View file

@ -204,6 +204,13 @@ function editHeightmap(options) {
INFO && console.group("Edit Heightmap");
TIME && console.time("regenerateErasedData");
// remove data
pack.cultures = [];
pack.burgs = [];
pack.states = [];
pack.provinces = [];
pack.religions = [];
const erosionAllowed = allowErosion.checked;
markFeatures();
markupGridOcean();
@ -231,8 +238,10 @@ function editHeightmap(options) {
Lakes.defineGroup();
defineBiomes();
rankCells();
Cultures.generate();
Cultures.expand();
BurgsAndStates.generate();
Religions.generate();
BurgsAndStates.defineStateForms();