Reprendre l'exploration après victoire, défaite ou fuite (#5) #13

Merged
Reliodas merged 1 commit from feature/5-reprise-apres-rencontre into develop 2026-06-19 16:36:01 +00:00
Owner

Closes #5.

Donne une politique explicite à chaque sortie de rencontre intégrée au monde, sans reconstruire la carte. EncounterFlow.Outcome remplace le booléen de victoire par trois issues.

Politiques par issue

  • Victoire : ennemi retiré et marqué vaincu (persiste en sauvegarde), reprise à la position finale du héros, autosave.
  • Fuite : bouton « Fuir » dans l'overlay → EncounterFlow.flee() ; l'ennemi non vaincu reste sur la carte à sa case de fin de combat (tables d'exploration réalignées dessus, source unique), repli sur place, autosave. Il se réengage au contact.
  • Défaite : rechargement de la dernière autosave (retour au menu principal à défaut) — politique explicite, pas de transition fantôme.
  • Nettoyage systématique : overlay délié, signaux déconnectés, occupation de la grille libérée, surbrillance effacée.

GameState.clear_current_encounter() clôt une rencontre sans la marquer vaincue.

Critères d'acceptation

  • la victoire reprend l'exploration à la position finale ;
  • l'ennemi vaincu ne réapparaît pas après sauvegarde/chargement (test dédié) ;
  • la fuite laisse un état cohérent et documenté (ennemi persiste, repli sur place) ;
  • la défaite suit une politique explicite sans transition fantôme (recharge autosave) ;
  • l'overlay, les connexions de signaux et l'état tactique sont nettoyés.

Tests

Suite complète 104/104 (349 assertions) — issues victoire/défaite/fuite au niveau du flow, fuite + persistance save/load au niveau de World, bouton Fuir de l'overlay. Le rechargement de scène de la défaite n'est pas exercé sous GUT (convention du dépôt) mais couvert par l'issue DEFEAT du flow.

Note

La fuite peut laisser le héros adjacent à l'ennemi : c'est voulu et documenté (s'éloigner pour l'éviter).

Closes #5. Donne une politique explicite à chaque sortie de rencontre intégrée au monde, **sans reconstruire la carte**. `EncounterFlow.Outcome` remplace le booléen de victoire par trois issues. ## Politiques par issue - **Victoire** : ennemi retiré et marqué vaincu (persiste en sauvegarde), reprise à la position finale du héros, autosave. - **Fuite** : bouton « Fuir » dans l'overlay → `EncounterFlow.flee()` ; l'ennemi non vaincu reste sur la carte à sa case de fin de combat (tables d'exploration réalignées dessus, source unique), repli sur place, autosave. Il se réengage au contact. - **Défaite** : rechargement de la dernière autosave (retour au menu principal à défaut) — politique explicite, pas de transition fantôme. - Nettoyage systématique : overlay délié, signaux déconnectés, occupation de la grille libérée, surbrillance effacée. `GameState.clear_current_encounter()` clôt une rencontre sans la marquer vaincue. ## Critères d'acceptation - [x] la victoire reprend l'exploration à la position finale ; - [x] l'ennemi vaincu ne réapparaît pas après sauvegarde/chargement (test dédié) ; - [x] la fuite laisse un état cohérent et documenté (ennemi persiste, repli sur place) ; - [x] la défaite suit une politique explicite sans transition fantôme (recharge autosave) ; - [x] l'overlay, les connexions de signaux et l'état tactique sont nettoyés. ## Tests Suite complète **104/104** (349 assertions) — issues victoire/défaite/fuite au niveau du flow, fuite + persistance save/load au niveau de World, bouton Fuir de l'overlay. Le rechargement de scène de la défaite n'est pas exercé sous GUT (convention du dépôt) mais couvert par l'issue `DEFEAT` du flow. ## Note La fuite peut laisser le héros adjacent à l'ennemi : c'est voulu et documenté (s'éloigner pour l'éviter).
Reliodas added this to the 0.15.0 milestone 2026-06-19 16:34:12 +00:00
feat: définit la reprise après victoire, défaite ou fuite (#5)
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
dc0052329f
Donne une politique explicite à chaque sortie de rencontre intégrée au monde,
sans reconstruire la carte. EncounterFlow.Outcome remplace le booléen de
victoire par trois issues.

- Victoire : ennemi retiré et marqué vaincu (persiste en sauvegarde), reprise à
  la position finale du héros, autosave. (inchangé sur le fond)
- Fuite : bouton « Fuir » dans l'overlay → EncounterFlow.flee() ; l'ennemi non
  vaincu reste sur la carte à sa case de fin de combat (tables d'exploration
  réalignées dessus, source unique), repli sur place, autosave. Il se réengage
  au contact.
- Défaite : rechargement de la dernière autosave (retour au menu principal à
  défaut) — politique explicite, pas de transition fantôme.
- Nettoyage systématique à la sortie : overlay délié, signaux déconnectés,
  occupation de la grille libérée, surbrillance effacée.

GameState.clear_current_encounter() clôt une rencontre sans la marquer vaincue.

Tests : suite complète 104/104 — issues victoire/défaite/fuite au niveau du
flow, fuite et persistance save/load au niveau de World, bouton Fuir de
l'overlay. Le rechargement de scène de la défaite n'est pas exercé sous GUT
(convention du dépôt) mais couvert par l'issue DEFEAT du flow.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Reliodas merged commit 9cb7edb12f into develop 2026-06-19 16:36:01 +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#13
No description provided.