openthebox/suggestions_4.md
Samuel Bouchet d501639756 Polish localization, name truncation, adventure tokens, consume feedback, column headers
- Localize box names and rarity in PlaythroughCapture test events
- Fix name truncation to account for 2-char prefix (► /  ) in inventory table
- Add AdventureToken detail panel showing linked adventure name
- Show remaining quantity after consuming an item
- Localize inventory column headers (Nom, Rareté, Qté in FR)
2026-03-13 23:47:12 +01:00

4.3 KiB
Raw Blame History

Suggestions d'amélioration #4

Basées sur l'analyse des rendus après suggestions_2 et suggestions_3.

# Suggestion Priorité Statut
1 Localiser les noms de boîtes dans les événements du PlaythroughCapture ★★★★★ DONE
2 Tronquer les noms trop longs incluant le préfixe "► " (26 chars réels) ★★★★★ DONE
3 Panneau détails : ajouter un cas AdventureToken avec le nom d'aventure ★★★★☆ DONE
4 Afficher la quantité restante dans le message de consommation ★★★★☆ DONE
5 Localize the "Name" and "Qty" column headers in the inventory table ★★★★☆ DONE
6 Panneau "???" avec headers localisés dans FullLayout ★★★☆☆
7 Afficher la progression globale dans le header de l'inventaire interactif ★★★☆☆
8 Grouper les boîtes identiques dans le loot reveal (× N) ★★☆☆☆
9 Ajouter un son de notification pour les lore fragments ★★☆☆☆
10 Indicateur d'items actionnables dans la liste (★ à côté des consommables/lore) ★★☆☆☆

1. Localiser les noms de boîtes dans les événements du PlaythroughCapture — ★★★★★

Constat : Le test PlaythroughCapture affiche Received [Common] "box_of_boxes" au lieu du nom localisé. Le code de test utilise ire.Item.DefinitionId directement pour les boîtes au lieu de résoudre via le registre.

Solution : Utiliser le même pattern que GetLocalizedName() dans le test PlaythroughCapture.

2. Tronquer les noms incluant le préfixe "► " — ★★★★★

Constat : Le nom sélectionné a un préfixe "► " (2 chars de plus), mais la troncature se fait à MaxNameWidth (24) sur le nom seul. Avec le préfixe, le nom effectif est 26 chars, ce qui peut déborder de la colonne.

Solution : Ajuster la troncature pour tenir compte du préfixe dans la colonne, ou augmenter la largeur de la colonne Name.

3. Panneau détails AdventureToken — ★★★★☆

Constat : Les items AdventureToken (badge spatial, boussole pirate, etc.) n'ont pas d'information contextuelle dans le panneau de détails. L'aventure associée n'est pas mentionnée.

Solution : Ajouter un cas AdventureToken dans RenderDetailPanel() qui affiche le nom de l'aventure liée.

4. Afficher la quantité restante après consommation — ★★★★☆

Constat : Quand on consomme un item, le message dit juste "Ration alimentaire utilisé !". On ne sait pas combien il en reste.

Solution : Ajouter "× N restant(s)" au message de consommation dans HandleInventoryAction.

5. Localiser les en-têtes de colonnes de l'inventaire — ★★★★☆

Constat : Les colonnes "Name", "Rarity" et "Qty" sont en anglais dans la table d'inventaire.

Solution : Utiliser des clés de localisation inventory.col.name, inventory.col.rarity, inventory.col.qty.

6. Panneau "???" localisé dans FullLayout — ★★★☆☆

Constat : Les panneaux pas encore débloqués dans le FullLayout affichent un header anglais.

Solution : Localiser les headers "Stats", "Resources", "Inventory" dans les panels placeholder.

7. Progression globale dans l'inventaire interactif — ★★★☆☆

Constat : L'inventaire interactif ne montre pas de contexte sur la progression globale du joueur.

Solution : Optionnel — afficher le nombre de boîtes ouvertes ou le % de complétion dans le header.

8. Grouper les boîtes dans le loot reveal — ★★☆☆☆

Constat : Quand plusieurs boîtes identiques sont obtenues, elles apparaissent chacune sur une ligne séparée.

Solution : Grouper par nom et ajouter un "× N" pour les doublons.

9. Son pour les lore fragments — ★★☆☆☆

Constat : Recevoir un fragment de lore est un moment clé de l'expérience narrative mais il passe inaperçu.

Solution : Console.Beep sur Windows comme pour les Music items.

10. Indicateur d'items actionnables — ★★☆☆☆

Constat : Dans l'inventaire, rien ne distingue visuellement les items sur lesquels on peut agir (consommables, lore) des items passifs.

Solution : Ajouter un petit marqueur (★ ou ►) à côté des items actionnables.