Introduire le cycle exploration/combat dans World (#1) #10

Merged
Reliodas merged 1 commit from feature/1-cycle-exploration-combat-world into develop 2026-06-19 15:44:00 +00:00
Owner

Closes #1.

Remplace la transition vers combat_scene.tscn par une machine à états jouée en place dans World, sans changement de scène : World et ses Node restent vivants pendant la rencontre.

Changements

  • EncounterFlow (RefCounted, sans Node) : phases explicites EXPLORING / ENGAGING / FIGHTING / RESUMING, démarrage du CombatController (combat abstrait, sans grille) et tours ennemis automatiques.
  • World câble le contact sur EncounterFlow, gèle le déplacement libre et la sauvegarde manuelle pendant le combat, retire le jeton vaincu et autosauvegarde à la victoire.
  • player suspend ses entrées hors exploration.

Critères d'acceptation

  • une détection hostile lance l'initiative dans la scène courante ;
  • aucune transition vers combat_scene.tscn n'a lieu ;
  • les entrées d'exploration sont bloquées pendant le tour par tour ;
  • les tours ennemis avancent sans intervention ;
  • les transitions d'état sont couvertes par des tests.

Tests

Suite complète 87/87 (299 assertions) — 10 nouveaux tests (test_encounter_flow.gd, test_world_encounter.gd).

⚠️ État intermédiaire du jalon

Avec le seul #1, déclencher un combat fige sur le tour du héros (les tours ennemis s'enchaînent, mais le pilotage du tour joueur arrive en #8). develop n'aura un combat jouable de bout en bout qu'après #8.

Hors périmètre, délégué aux tickets sœurs : grille spatiale depuis la carte (#3), UI tactique et pilotage du tour joueur (#8), reprise défaite/fuite (#5), retrait de l'ancien chemin combat_scene.tscn (#9).

Closes #1. Remplace la transition vers `combat_scene.tscn` par une machine à états jouée **en place** dans `World`, sans changement de scène : `World` et ses Node restent vivants pendant la rencontre. ## Changements - **`EncounterFlow`** (`RefCounted`, sans Node) : phases explicites `EXPLORING / ENGAGING / FIGHTING / RESUMING`, démarrage du `CombatController` (combat abstrait, sans grille) et tours ennemis automatiques. - **`World`** câble le contact sur `EncounterFlow`, gèle le déplacement libre et la sauvegarde manuelle pendant le combat, retire le jeton vaincu et autosauvegarde à la victoire. - **`player`** suspend ses entrées hors exploration. ## Critères d'acceptation - [x] une détection hostile lance l'initiative dans la scène courante ; - [x] aucune transition vers `combat_scene.tscn` n'a lieu ; - [x] les entrées d'exploration sont bloquées pendant le tour par tour ; - [x] les tours ennemis avancent sans intervention ; - [x] les transitions d'état sont couvertes par des tests. ## Tests Suite complète **87/87** (299 assertions) — 10 nouveaux tests (`test_encounter_flow.gd`, `test_world_encounter.gd`). ## ⚠️ État intermédiaire du jalon Avec le seul #1, déclencher un combat **fige sur le tour du héros** (les tours ennemis s'enchaînent, mais le pilotage du tour joueur arrive en #8). `develop` n'aura un combat jouable de bout en bout qu'après #8. Hors périmètre, délégué aux tickets sœurs : grille spatiale depuis la carte (#3), UI tactique et pilotage du tour joueur (#8), reprise défaite/fuite (#5), retrait de l'ancien chemin `combat_scene.tscn` (#9).
Reliodas added this to the 0.15.0 milestone 2026-06-19 15:36:59 +00:00
feat: introduit le cycle exploration/combat dans World (#1)
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
ci/woodpecker/pull_request_metadata/woodpecker Pipeline was successful
ci/woodpecker/pull_request_closed/woodpecker Pipeline was successful
33b62056bb
Remplace la transition vers combat_scene.tscn par une machine à états jouée
en place dans World, sans changement de scène : World et ses Node restent
vivants pendant la rencontre.

- EncounterFlow (RefCounted) : phases explicites EXPLORING / ENGAGING /
  FIGHTING / RESUMING, démarrage du CombatController (combat abstrait, sans
  grille) et tours ennemis automatiques.
- World câble le contact sur EncounterFlow, gèle le déplacement libre et la
  sauvegarde manuelle pendant le combat, retire le jeton vaincu et
  autosauvegarde à la victoire.
- player suspend ses entrées hors exploration.

Hors périmètre, délégué aux tickets sœurs : grille spatiale depuis la carte
(#3), UI tactique et pilotage du tour joueur (#8), reprise défaite/fuite (#5),
retrait de l'ancien chemin combat_scene.tscn (#9).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Reliodas merged commit 35b0c8430d into develop 2026-06-19 15:44:00 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: jeux/beaulieu-sur-brume#10
No description provided.