diff --git a/client/assets/flags/flag_bulgaria.png b/client/assets/flags/flag_bulgaria.png new file mode 100644 index 0000000..e4c7f90 Binary files /dev/null and b/client/assets/flags/flag_bulgaria.png differ diff --git a/client/assets/flags/flag_northumberland.png b/client/assets/flags/flag_northumberland.png new file mode 100644 index 0000000..6ecef5f Binary files /dev/null and b/client/assets/flags/flag_northumberland.png differ diff --git a/client/js/devlog_data.js b/client/js/devlog_data.js index c94ec8b..f8aa34f 100644 --- a/client/js/devlog_data.js +++ b/client/js/devlog_data.js @@ -1,6 +1,12 @@ // Generated by scripts/generate-devlog.js from `git log`; do not edit. // The pre-commit hook refreshes it so the main menu shows the latest commits. export const DEVLOG = [ + { + "hash": "c2f131d", + "date": "2026-09-22", + "subject": "Turned tile improvements into construction sites with their own budgets", + "body": "Every road, railway and tile work now rises as an economic construction site instead of a queue entry. A site gathers its materials over days from reachable regions, refusing any supplier quoting above the price it was budgeted at (a 1% tolerance); a day that buys nothing stalls the site, raising a red mark and letting the nation raise the budget to current prices or cancel it. The upfront budget covers the build cost plus the market value of its steel and high-tech, energy stays a grid draw, and any money left over stays with the finished work as a maintenance reserve.\n\nThat reserve now pays the work's own daily steel and high-tech wear before the treasury is billed, so a well funded work spares the state until it runs dry; the spent money is paid into the nation's regions. Building upgrades run through the same gather-build-maintain machinery, sharing the site's kind flag and target level. The legacy tile-work queue and the market building are gone.\n\nBundles the in-progress chart sizing for the central bank panel." + }, { "hash": "6f73e2c", "date": "2026-09-22", @@ -54,11 +60,5 @@ export const DEVLOG = [ "date": "2026-09-21", "subject": "Added the devlog, fixed the map labels and reworked joining", "body": "- Political map country names were invisible because the label SVG had a zero-sized viewport, which some browsers never paint; size it to the world and guard it with a test.\n- Added a Devlog button showing the ten latest commits, generated into client/js/devlog_data.js by scripts/generate-devlog.js and refreshed by the pre-commit hook.\n- Worked through FIXME.md: the city button and a unit double-click now open the city, and the stat tooltip escapes the HUD so the unit panel cannot cover it.\n- The server creates its game at startup and clients only join it; the Create game screen and the configure_game path are gone, and testing is a --testing server flag.\n- A page on a loopback host signs in as adrien, claims France and gets the free, instant testing buttons, while the server grants free orders only to a loopback socket whose Origin is also loopback." - }, - { - "hash": "bc18598", - "date": "2026-09-21", - "subject": "Grew continents from seeded domes and gave every small island a nation", - "body": "" } ]; diff --git a/shared/data/civilisations.js b/shared/data/civilisations.js index 7396c63..c54cc13 100644 --- a/shared/data/civilisations.js +++ b/shared/data/civilisations.js @@ -10,7 +10,7 @@ export const CIVILISATIONS = [ primaryColour: "#0d0d5c", accentColour: "#8c8c82", flag: "flag_france.png", - cityNames: ["Lyon", "Marseille", "Toulouse", "Nice", "Nantes", "Montpellier", "Strasbourg", "Bordeaux", "Lille"], + cityNames: ["Paris", "Lyon", "Marseille", "Toulouse", "Nice", "Nantes", "Montpellier", "Strasbourg", "Bordeaux", "Lille"], }, { id: "britain", @@ -20,7 +20,27 @@ export const CIVILISATIONS = [ primaryColour: "#a81818", accentColour: "#0722ff", flag: "flag_britain.png", - cityNames: ["Birmingham", "Manchester", "Glasgow", "Liverpool", "Leeds", "Sheffield", "Edinburgh", "Bristol", "Cardiff"], + cityNames: ["London", "Birmingham", "Manchester", "Glasgow", "Liverpool", "Leeds", "Sheffield", "Edinburgh", "Bristol", "Cardiff"], + }, + { + id: "bulgaria", + name: "Bulgaria", + demonym: "Bulgarian", + currency: { code: "BGN", symbol: "лв.", name: "Bulgarian Lev" }, + primaryColour: "#00966e", + accentColour: "#d62612", + flag: "flag_bulgaria.png", + cityNames: ["Sofia", "Plovdiv", "Varna", "Stara Zagora", "Balchik", "Veliko Tarnovo", "Burgas", "Pleven"], + }, + { + id: "northumbria", + name: "Northumbria", + demonym: "Northumbrian", + currency: { code: "NHS", symbol: "sc.", name: "Northumbrian Sceat"}, + primaryColour: "#5ec6e7", + accentColour: "#13233c", + flag: "flag_northumberland.png", + cityNames: ["Newcastle upon Tyne", "Washington", "New York", "Gateshead", "Morpeth", "Ashington", "Blyth", "Newsham", "Blaydon", "Rothbury", "Longbenton", "Snitter", "Alnwick", "Consettm Tynemouth", "Whickham"] }, { id: "slovenia",