Chessistics/chessistics-engine/Loading
Samuel Bouchet 8a377c2e41 Add recurring-demand mode with shortage tracking
DemandDef gains optional ConsumptionPerTurn and SustainTurns. When
ConsumptionPerTurn > 0 the demand maintains a buffer filled by
deliveries and drained each turn. Shortage fires the first turn the
buffer can't cover consumption; it clears when the buffer refills.
SustainedTurns counts consecutive non-shortage turns, and IsSatisfied
flips to true once it meets SustainTurns — so the victory condition
becomes "no shortage for N consecutive turns" as soon as a mission opts
in. Classic demands (ConsumptionPerTurn = 0) behave exactly as before.

TurnExecutor runs the consumption sub-phase after transfers. Two new
events (DemandShortageStarted / DemandShortageCleared) let the
presentation surface the state later. BoardSnapshot + CampaignLoader
carry the new fields; no existing mission opts in yet, so
campaign_01.json is unaffected.
2026-04-17 22:39:28 +02:00
..
CampaignLoader.cs Add recurring-demand mode with shortage tracking 2026-04-17 22:39:28 +02:00
CampaignLoader.cs.uid Snapshot campaign system progress before automation harness 2026-04-16 21:22:49 +02:00
LevelLoader.cs Phase 5: Dame (Queen) piece and network levels 7-8 2026-04-10 23:24:14 +02:00
LevelLoader.cs.uid Add technical files 2026-04-10 17:14:09 +02:00