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.
37 lines
1.3 KiB
Markdown
37 lines
1.3 KiB
Markdown
# Chessistics — Plan de travail (restant)
|
|
|
|
Consolidation des sections non implementees des anciens `PLAN_missions.md` et
|
|
`PLAN_leveldesign.md`. Le moteur (black-box sim, campagne, transformateurs,
|
|
missions 1-7) est en place. Ce qui suit concerne la finition UX, les visuels
|
|
et l'extension de la campagne.
|
|
|
|
---
|
|
|
|
## 1. UX / Presentation — gaps Godot
|
|
|
|
Le moteur expose deja les commandes et events requis ; cote Godot il manque
|
|
les surfaces d'interaction et d'animation.
|
|
|
|
---
|
|
|
|
## 2. Extension de la campagne
|
|
|
|
`campaign_01.json` compte actuellement 7 missions (Pion → Tour → Cavalier →
|
|
Fou → Dame + 2 transformateurs). La vision GDD/plan prevoit une campagne
|
|
plus longue et un final orchestrant toutes les chaines.
|
|
|
|
### 2.2 Demandes recurrentes (post-campagne 1)
|
|
Pour forcer la preservation des automatisations entre missions :
|
|
- Une demande consomme N unites par tour.
|
|
- Si plus approvisionnee → etat "en penurie".
|
|
- Condition : aucune demande en penurie pendant X tours consecutifs.
|
|
|
|
Implique : nouveau champ sur `DemandState`, flag shortage, regle de victoire
|
|
parametrable par mission. A valider via playtest avant d'ajouter au scope.
|
|
|
|
---
|
|
|
|
## 3. Polish visuel des transformateurs
|
|
|
|
Couleur de cellule dediee (orange cuivre), animation flash input → flash
|
|
output sur `CargoConvertedEvent`, icones de cargo sur les pieces porteuses.
|