Fix: Military regiment notes not updated on regeneration with new era/year (#1329)

* Initial plan

* Fix: Military notes not updated on regiment or Era data change

Co-authored-by: Azgaar <26469650+Azgaar@users.noreply.github.com>

* Refactor: update existing regiment note in-place; remove all regiment notes in one pass

Co-authored-by: Azgaar <26469650+Azgaar@users.noreply.github.com>

* Bump version to 1.112.3 (patch: fix military notes not updated on regen)

Co-authored-by: Azgaar <26469650+Azgaar@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Azgaar <26469650+Azgaar@users.noreply.github.com>
This commit is contained in:
Copilot 2026-02-19 18:06:47 +01:00 committed by GitHub
parent 13ec798ffb
commit b87225665e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 15 additions and 3 deletions

View file

@ -246,6 +246,11 @@ window.Military = (function () {
const expected = 3 * populationRate; // expected regiment size
const mergeable = (n0, n1) => (!n0.s && !n1.s) || n0.u === n1.u; // check if regiments can be merged
// remove all existing regiment notes before regenerating
for (let i = notes.length - 1; i >= 0; i--) {
if (notes[i].id.startsWith("regiment")) notes.splice(i, 1);
}
// get regiments for each state
valid.forEach(s => {
s.military = createRegiments(s.temp.platoons, s);
@ -380,7 +385,14 @@ window.Military = (function () {
: gauss(options.year - 100, 150, 1, options.year - 6);
const conflict = campaign ? ` during the ${campaign.name}` : "";
const legend = `Regiment was formed in ${year} ${options.era}${conflict}. ${station}${troops}`;
notes.push({id: `regiment${s.i}-${r.i}`, name: r.name, legend});
const id = `regiment${s.i}-${r.i}`;
const existing = notes.find(n => n.id === id);
if (existing) {
existing.name = r.name;
existing.legend = legend;
} else {
notes.push({id, name: r.name, legend});
}
};
return {