From 576a23d54031dd9777ddf8a0a7222c008d0b428d Mon Sep 17 00:00:00 2001 From: Samuel Bouchet Date: Sat, 14 Mar 2026 08:56:22 +0100 Subject: [PATCH] upgrade descriptions --- content/strings/en.json | 2 +- content/strings/fr.json | 2 +- proposals.md | 91 +++-------------------------------------- 3 files changed, 8 insertions(+), 87 deletions(-) diff --git a/content/strings/en.json b/content/strings/en.json index fa7606f..63ea644 100644 --- a/content/strings/en.json +++ b/content/strings/en.json @@ -58,7 +58,7 @@ "box.epic": "Epic Box", "box.epic.desc": "The orchestra swells. The crowd gasps. It's... a box.", "box.legendhair": "Legend'hair Box", - "box.legendhair.desc": "The most legendary hair you'll ever unbox. Hair today, legend tomorrow.", + "box.legendhair.desc": "Every hairdresser is legally required to have a punny salon name. It's in the job description.", "box.legendary": "Legendary Box", "box.legendary.desc": "Legends speak of this box. They speak quietly though, it's a box.", "box.adventure": "Adventure Box", diff --git a/content/strings/fr.json b/content/strings/fr.json index 95be664..ebb8d29 100644 --- a/content/strings/fr.json +++ b/content/strings/fr.json @@ -58,7 +58,7 @@ "box.epic": "Boîte épique", "box.epic.desc": "L'orchestre s'intensifie. La foule retient son souffle. C'est... une boîte.", "box.legendhair": "Boîte legend'hair", - "box.legendhair.desc": "La coiffure la plus légendaire que tu déballeras jamais. Cheveu-jour-d'hui, légende demain.", + "box.legendhair.desc": "Il y a une épreuve de jeu de mot au BTS coiffure. C'est obligé.", "box.legendary": "Boîte légendaire", "box.legendary.desc": "Les légendes parlent de cette boîte. Doucement quand même, c'est une boîte.", "box.adventure": "Boîte aventure", diff --git a/proposals.md b/proposals.md index 6b7e48d..16f061f 100644 --- a/proposals.md +++ b/proposals.md @@ -1,100 +1,21 @@ # Propositions d'améliorations du rendu -Analyse basée sur la capture de 2 playthroughs (seeds 42 et 777, 15 étapes chacun) et le rapport de pacing complet. ---- +## 1. Message de bienvenue adaptatif -## 1. Le vide initial : 30 boîtes sans aucun panel visuel — DONE +**Constat** : Le message de bienvenue est identique que le joueur ait 0 ou 500 boîtes ouvertes. C'est une occasion manquée de donner du feedback. -**Constat** : Les 2 scénarios montrent "(no panels unlocked yet)" pour les 15 premières étapes (30 boîtes). Les premiers déverrouillages meta sont AutoSave et BoxAnimation — invisibles pour le joueur. Le premier panel visuel (ResourcePanel ou InventoryPanel) n'arrive qu'entre la boîte #32 et #36. +**Solution** : Adapter le message d'accueil selon la progression. -**Résolu** : -- **1B)** Portrait visible par défaut : une boîte nue `+------+` s'affiche dès le départ, les cosmétiques n'apparaissent qu'après le déverrouillage PortraitPanel. -- **1C)** Méta-déverrouillages réordonnés : TextColors/StatsPanel/InventoryPanel/ResourcePanel arrivent en premier (box_meta_basics), AutoSave/BoxAnimation repoussés en fin de progression (box_meta_mastery). Résultat : 1er panel visuel à la boîte #7-16 au lieu de #32-36. ---- +## 2. Inventaire en mode panneau sans avoir débloqué les panneaux -## 2. Les noms de boîtes apparaissent comme IDs bruts — ALREADY FIXED +**Constat** : L'Inventaire apparait en mode panneau sans avoir débloqué les layouts et panels ui. -**Constat** : Déjà corrigé dans une session précédente. `GetLocalizedName()` fait le fallback vers `registry.GetBox()`. +**Solution** : Avant ce déblocage, l'inventaire devrait être imprimé brut dans la console `Item (x qtt)`. Il manque plein de fonctionnalité pour l'inventaire mais elles seront rendues disponibles lors du déblocage de la meta adéquat. ---- -## 3. Cosmétiques reçus sans portrait pour les voir — DONE -**Résolu** : -- **3A)** Portrait visible dès le départ (voir 1B). PortraitPanel arrive désormais à la boîte #32-36. -- **3C)** Auto-équipement : MetaEngine équipe automatiquement le premier cosmétique de chaque slot vide lors de la réception. Le joueur voit immédiatement le changement sur le portrait. ---- -## 4. Ressources reçues mais invisibles — DONE -**Résolu** : Quand le ResourcePanel n'est pas débloqué, un résumé inline des ressources visibles s'affiche après le loot : `[Santé 10/100 | Or 5]`. - ---- - -## 5. Le layout "Full" arrive trop tard — DONE - -**Résolu** : FullLayout déplacé de box_meta_mastery vers box_meta_interface. Résultat : FullLayout à la boîte #41-53 au lieu de #199. - ---- - -## 6. Le panneau Chat est toujours vide — DONE - -**Résolu** : ChatPanel transformé en Journal d'événements. Affiche les N derniers événements (loot, déverrouillages, changements de ressources, aventures débloquées) au lieu de l'ancien dialogue vide. - -## 7. Feedback d'événements trop éphémère — DONE - -**Résolu** : -- **7A)** Historique des événements dans le panel Log (remplace Chat). -- **7B)** Pas de Clear() en mode pré-FullLayout : le texte défile comme un terminal classique. - ---- - -## 8. L'annonce FigletText de déverrouillage UI prend trop de place — DONE - -**Résolu** : FigletText remplacé par un Panel compact avec bordure double et étoiles : `★ Panneau d'inventaire ★`. Prend 3 lignes au lieu de 12. - ---- - -## 9. Progression des cosmétiques : équipement auto — DONE - -**Résolu** : Voir 3C. Auto-équipement du premier cosmétique de chaque slot. - ---- - -## 10. Lore fragments : noms trop longs — DONE - -**Résolu** : Les fragments de lore ont maintenant des noms courts ("Fragment : Genèse", "Fragment : L'Ordre", etc.) au lieu de phrases complètes. Les textes longs restent dans les clés `lore.fragment_N` pour affichage détaillé. - ---- - -## 11. Consommables non consommables — DONE - -**Résolu** : -- **11A)** Inventaire interactif : les objets sont sélectionnables avec ↑↓/PgUp/PgDn, la ligne sélectionnée est mise en surbrillance avec un indicateur ►. -- **11B)** Panneau de détails : un cadre « Détails » s'affiche sous l'inventaire montrant le nom, la rareté, et les informations contextuelles de l'objet sélectionné (effet des consommables, texte de lore complet, slot cosmétique, type de matériau). -- **Consommables** : Appuyer sur Entrée utilise le consommable via `UseItemAction` → `ResourceEngine.ProcessConsumable()`. L'item est consommé et la ressource mise à jour. -- **Fragments de lore** : Appuyer sur Entrée affiche le texte complet dans un panneau dédié avec bordure double. - ---- - -## Résumé - -| # | Proposition | Statut | -|---|------------|--------| -| 1B | Portrait visible par défaut | ✅ DONE | -| 1C | Réordonner les méta-déverrouillages | ✅ DONE | -| 2 | Noms de boîtes localisés dans le loot | ✅ ALREADY FIXED | -| 3C | Auto-équiper le 1er cosmétique | ✅ DONE | -| 4 | Résumé ressources inline | ✅ DONE | -| 5 | FullLayout plus tôt | ✅ DONE | -| 6A | Chat comme log d'événements | ✅ DONE | -| 7A | Historique événements dans panel Log | ✅ DONE | -| 7B | Pas de Clear avant FullLayout | ✅ DONE | -| 8 | Annonce compacte des déverrouillages | ✅ DONE | -| 9 | Auto-équipement cosmétiques | ✅ DONE | -| 10 | Noms courts pour lore fragments | ✅ DONE | -| 11A | Inventaire interactif avec sélection | ✅ DONE | -| 11B | Panneau de détails contextuel | ✅ DONE |