Made training gather materials, fixed the trade graph, and banked money gifts

Unit orders now gather steel and high-tech over the days before training, exactly as buildings do, and clicking a queued order reveals what it is gathering, its reserved budget and the soldiers it will draw.

The trade graph cached a producer-less node list under a stamp that already reflected the producers' stores, so every seeded mine stayed invisible to buyers and rare-good prices settled at a huge multiple of base; the storage nodes are now re-read after production.

Money gifts draw the giver's central-bank reserves in the denomination first, buy the rest from the issuing bank at the market rate, convert into the receiver's currency, and cannot buy from a bank their nation is at war with.

Pruned the finished design briefs (intelligence, stacks, air movement, politics performance, economy balance, training UI and FIXME) and refreshed the index and cross-references.
This commit is contained in:
2026-09-24 21:20:47 +02:00
parent afb23df669
commit 49613f2a1c
24 changed files with 407 additions and 1667 deletions
+6 -23
View File
@@ -99,23 +99,7 @@ uses a nominal two-tile road delivery.*
- Files: `shared/game_state/resources.js`, `shared/game_state/economy.js`,
`client/js/map_view/modes.js` (delivery graph), `client/js/map_view/economic.js`.
## 6. Give-money treaties bypass FX and reserves
**`[~]`** *Give money is denominated in any currency but (simplified) the sum
moves straight between the two treasuries, with no FX or central-bank reserve
leg.*
- Today: `shared/game_state/treaties.js` moves the sum directly; the
"cannot get currency from a central bank at war with you" rule is not
modelled.
- Full model: draw from the giver's foreign reserves, otherwise buy from the
relevant central bank at the market rate; block a bank whose nation is at war.
- Questions: which FX rate and spread? Does a reserve shortage fail the treaty
or partially settle?
- Files: `shared/game_state/treaties.js`, `shared/game_state/` currency/central
bank mixins, `client/js/modals/nation.js` (treaty compose).
## 7. Missiles / WMD
## 6. Missiles / WMD
**`[~]`** *Missiles* and *WMDs* are marked `[~]` while their sub-items are
largely `[x]`.
@@ -125,15 +109,14 @@ largely `[x]`.
design and needs `nuclear_weapons` + `space_program`. A nuclear blast kills
~90% of a tile's people, destroys buildings/improvements except bunkers and
fortifications, and costs every nation popularity.
- What is unfinished: the WMD follow-up "foreign intelligence may be warned that
you are enriching uranium" (see `INTELLIGENCE.md`), and any further
refinement of blast falloff / interception.
- What is unfinished: further refinement of blast falloff / interception (the
"foreign intelligence may be warned that you are enriching uranium" follow-up
is now implemented).
- Files: `shared/game_state/wmd.js`, `shared/data/units.js`,
`shared/data/combat.js`, `client/js/game_screen/panels.js`.
---
## 8. Related design docs
## 7. Related design docs
`DESIGN.md` (index), `INTELLIGENCE.md`, `STACKS.md`, `AIR_MOVEMENT.md`,
`ECONOMY_BALANCE.md`, `POLITICS_PERFORMANCE.md`, `TRAINING_UI.md`, `ICONS.md`.
`DESIGN.md` (index), `ICONS.md`.