Fix next-step hints: cryptic destiny hint, hide completed adventures count

- Don't show "Adventures: 9/10" when all unlocked adventures are done
  (the 10th is Destiny which isn't unlocked yet, confusing the player)
- Only show adventure count when there are incomplete unlocked adventures
- Replace misleading "complete all adventures" destiny hint with a
  cryptic "keep opening boxes" hint (Destiny unlocks via box_endgame drop)
This commit is contained in:
Samuel Bouchet 2026-03-15 20:25:39 +01:00
parent d079faa2e6
commit 2e68e541ba
3 changed files with 9 additions and 6 deletions

View file

@ -45,7 +45,7 @@
"ui.completion": "Completion: {0}%", "ui.completion": "Completion: {0}%",
"hint.lore": "Lore Fragments: {0}/{1}", "hint.lore": "Lore Fragments: {0}/{1}",
"hint.adventures": "Adventures completed: {0}/{1}", "hint.adventures": "Adventures completed: {0}/{1}",
"hint.destiny": "Complete all adventures to unlock the final adventure…", "hint.destiny": "Keep opening boxes… destiny will come knocking.",
"prompt.what_do": "What do you do?", "prompt.what_do": "What do you do?",
"prompt.invalid_choice": "Please enter a number between 1 and {0}.", "prompt.invalid_choice": "Please enter a number between 1 and {0}.",

View file

@ -45,7 +45,7 @@
"ui.completion": "Complétion : {0}%", "ui.completion": "Complétion : {0}%",
"hint.lore": "Fragments de Lore : {0}/{1}", "hint.lore": "Fragments de Lore : {0}/{1}",
"hint.adventures": "Aventures terminées : {0}/{1}", "hint.adventures": "Aventures terminées : {0}/{1}",
"hint.destiny": "Termine toutes les aventures pour débloquer l'aventure finale…", "hint.destiny": "Continue d'ouvrir des boîtes… le destin finira par frapper.",
"prompt.what_do": "Que fais-tu ?", "prompt.what_do": "Que fais-tu ?",
"prompt.invalid_choice": "Entre un nombre entre 1 et {0}.", "prompt.invalid_choice": "Entre un nombre entre 1 et {0}.",

View file

@ -1024,12 +1024,15 @@ public static class Program
if (ownedLore < totalLore) if (ownedLore < totalLore)
hints.Add(_loc.Get("hint.lore", ownedLore, totalLore)); hints.Add(_loc.Get("hint.lore", ownedLore, totalLore));
// Adventures completed // Adventures: only count unlocked ones (exclude Destiny if not yet unlocked)
var unlockedAdvCount = _state.UnlockedAdventures.Count;
var completedAdv = _state.CompletedAdventures.Count; var completedAdv = _state.CompletedAdventures.Count;
if (completedAdv < totalAdventures) var incompleteUnlocked = _state.UnlockedAdventures
hints.Add(_loc.Get("hint.adventures", completedAdv, totalAdventures)); .Count(a => !_state.CompletedAdventures.Contains(a.ToString()));
if (incompleteUnlocked > 0)
hints.Add(_loc.Get("hint.adventures", completedAdv, unlockedAdvCount));
// Destiny adventure not yet unlocked — show condition // Destiny adventure not yet unlocked — cryptic hint
if (!_state.UnlockedAdventures.Contains(AdventureTheme.Destiny)) if (!_state.UnlockedAdventures.Contains(AdventureTheme.Destiny))
hints.Add(_loc.Get("hint.destiny")); hints.Add(_loc.Get("hint.destiny"));