Ich habe noch kein Spiel bei dem ich einen der neuen Leader gespielt habe fertig gespielt. Bei Civ 5 gab es allerdings auch mal einen Bug mit der Ruhmeshalle. Civ 6 speichert die Daten scheinbar auch in einer sqlite-Datenbank. Allerdings nicht mehr gleich wie in Civ 5, weshalb meine Anleitung von damals nicht mehr 1:1 so funktionieren wird. Falls ein Fehler in der Datenbank ist, müsste man ihn aber mit einem Tool wie dort verlinkt oder dem DB Browser for SQLite beheben können.
Vorher sollten aber andere mögliche Problemquellen ausgeschlossen werden. Man kann bei der Ruhmeshalle das Ruleset über eine Combobox auswählen (z.B. Gathering Storm), ich nehme mal an die Auswahl passt zu dem Modus mit dem auch gespielt wurde. Außerdem weiß ich nicht in wie weit Mods ggf. verhindern könnten, dass Spiele in der Ruhmeshalle auftauchen. Wobei ich vermute, dass die wenn dann eher nur Steamerfolge verhindern.
Falls das alles passt könnte man folgendes versuchen (von der Datei vorher natürlich ein Backup machen!). Im Dokumenteordner müsste sich im Pfad My Games\Sid Meier's Civilization VI eine Datai namens HallofFame.sqlite finden. In dieser Datei sind die ganzen Spiele abgelegt. Die Daten die man in der Ruhmeshalle sieht werden dann vermutlich aus den Tabellen in dieser Datenbank zusammengesetzt. z.B. gibt es die Tabelle "Games". Diese scheint mir die Informationen zu enthalten welche Spiele es gab und wer sie gewonnen hat. Sollten hier irgendwelche Zellen auf "null" sein, könnte das auf einen Fehler hinweisen. Die Information mit welchem Leader gewonnen wurde, steckt dabei in in einer andere Tabelle und zwar "GamePlayers". Wobei ich annehme, dass über die Tabelle "GameObjects" die Datensätze verknüpft werden. In der letzteren Tabelle habe ich auch "null"-Werte, das scheint ok zu sein.
Es ist anzunehmen, dass Civ dann einfach schaut wie viele Spiele mit dem entsprechenden Leader schon gewonnen wurden (sieht man ja im Tooltip) und wenn die Zahl 0 ist, dann bleibt der Kopf grau. Es ist also anzunehmen, dass es ein Problem in den Daten gibt. Mit dem folgenden SQL-Statement kann man sich eine Liste der Spiele und wer gewonnen hat rausgeben lassen:
Code:
SELECT Games.GameId, Games.VictoryType, GamePlayers.LeaderType, GamePlayers.LeaderName, GamePlayers.Score, GameObjects.Type,
DATETIME(Games.LastPlayed, 'unixepoch') AS datum
FROM Games
INNER JOIN GameObjects ON GameObjects.GameId = Games.GameId
INNER JOIN GamePlayers ON GamePlayers.PlayerObjectId = GameObjects.ObjectId
WHERE IsLocal = 1 AND IsAI = 0
Wenn alles korrekt ist, dann sollte das Spiel mit dem entsprechenden Anführer in der Liste auftauchen. Weiß man nach welchem Anführer man sucht, kann es auch helfen die Tabelle nach Anführernamen zu ordnen. Dazu einfach unter der Zeile mit dem WHERE noch folgendes ergänzen:
Code:
ORDER BY LeaderType
Taucht da der Anführer nicht auf, dann liegt dort die Ursache. Um das zu beheben müsste man dann die Daten korrigieren. Was da aber zu tun ist, hängt davon ab was kaputt ist. Das kann ich ohne die kaputten Daten zu kennen nicht sagen.