feat: issues de rencontre par équipe (#55) #65
No reviewers
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: jeux/beaulieu-sur-brume#65
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/55-team-outcomes"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #55.
Adapte les sorties de rencontre au groupe : un membre à terre ne termine plus abusivement le combat, et les survivants gardent leur état. Septième pierre du jalon 0.16.0 (dépend de #54). Le combat raisonne par équipe pour la victoire, la défaite et la fuite, et le retour à l'exploration repart avec un leader valide.
Changements & politiques
CombatController._resume()saute le tour d'un combattant mort (not actor.is_alive()). La chute d'un membre — leader inclus — ne termine donc pas le combat tant que son équipe a un survivant.is_combat_over/_team_has_living).World._handle_defeatrecharge la dernière autosave).GameState.ensure_valid_leader()conserve le leader s'il est vivant, sinon désigne le premier membre actif vivant (ordre déterministe), ou "" si le groupe est entièrement à terre. Les membres tombés restent au roster (état « à terre »), jamais retirés ni dupliqués.World._sync_surviving_allies()reporte la position de fin de combat de chaque compagnon vivant vers le monde (jeton suiveur +member_pos_by_map) ; si le protagoniste est tombé, le jeton joueur suit le nouveau leader. L'autosave reste émise au retour à l'exploration (victoire comme fuite).Critères d'acceptation
Tests
Suite GUT complète verte : 260 tests / 858 assertions (depuis 255 / 824).
tests/unit/test_combat_outcomes.gd(2 alliés PLAYER + 2 gobelins) : la victoire exige les deux ennemis à terre ; la chute du leader ne termine pas le combat tant que des alliés contrôlables continuent (un acteur tombé n'est jamais joué) → victoire par survie d'équipe ;ensure_valid_leader()conserve un leader vivant, réélit un membre actif vivant quand le leader tombe (sans perdre/dupliquer de membre), et renvoie "" quand tout le groupe est à terre.test_combat_controller,test_world_combat_*) restent verts.Validation manuelle (différée au #58)
La resynchronisation visuelle des jetons survivants et le repli du jeton joueur sur un nouveau leader (cas rare : protagoniste tombé mais victoire) seront vérifiés dans Godot au #58.