feat: IA des alliés automatiques (#56) #66
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#66
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/56-ally-ai"
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 #56.
Donne une décision automatique aux alliés du groupe en combat : un compagnon
AUTO_ALLY(ouSCRIPTED_GUEST) agit désormais de lui-même au lieu de passer son tour. Huitième pierre du jalon 0.16.0 (s'appuie sur la boucle multi-acteurs de #54). Le compagnon de démonstration combat enfin aux côtés du héros.Changements
CombatController._ally_take_turn(): un PJ allié automatique vise l'ennemi vivant le plus proche (_nearest_enemy), se rapproche du contact si nécessaire (_move_toward, partagé avec l'IA ennemie), puis attaque à l'arme si une action valide existe. Il ne se conclut jamais par une fin de tour passive quand une attaque est possible.enemies— jamais le héros ni un coéquipier._enemy_take_turn) et alliés automatiques (arme,_ally_take_turn) suivent la même logique « viser l'équipe adverse et agir ». La politique reste pour l'instant dans le contrôleur (simple et claire) ; son extraction n'est faite que lorsque le contrat le justifiera.AUTO_ALLY) combat donc aux côtés du héros.Critères / garde-fous (plan)
Tests
Suite GUT complète verte : 264 tests / 868 assertions (depuis 260 / 858).
tests/unit/test_ally_ai.gd: le compagnon démo estAUTO_ALLY; l'IA ne vise qu'une cible hostile (jamais le héros ni elle-même) ; au contact, l'allié consomme son Action (il agit, ne passe pas) ; un allié automatique remporte une rencontre seul pendant que le joueur reste passif (héros vivant à la fin).Validation manuelle (différée au #58)
Le suivi visuel du jeton du compagnon pendant qu'il se déplace/attaque en combat (les jetons suiveurs ne sont pas encore animés en phase de combat) sera vérifié dans Godot au #58, avec l'UI dynamique de #57.