End of Game Logs shows incorrect cards looked at by Hermit during play

Previous topic - Next topic

Ingix

The following happened when I looked at the End of Game log for game #2117973:

I had started the game by buying 2 Hermits and an Encampment in my turns 1-3, which was correctly reflected in the log. In turn 4 I played a Hermit, which shows your discard pile so you can trash a card from it. According to the log, that discard pile contained 6 Provinces, 5 Gold, a Torturer and a few more cards that were in the Kingdom but certainly not (yet) in my deck!

I scanned the log further and on each of the other 2 occasions that my Hermit use involved the discard pile it showed the exact same list of cards. I had scanned the log because the game was played in German and I wanted to see if some spelling errors were in there. I switched the game client to English, loaded the old game and the problem was still there (as expedted), but now with another set of cards (it was now 4 Provinces + more cards).

So it looks like this list of cards displayed in that case in the End of Game log is created by some incorrect process that access some cards in a random fashion. I played another game with Hermit, and during play the log was correct, reflecting what was being shown in the client, but in the End of Game log the display was incorrect again: several times the same incorrect list of shown cards.

Ingix

I rechecked that issue after version 1.2.3 was published because I hoped that the fix to Hunting Party would fix this as well.

In game #2755726 (when loaded fully at the end at decision 68) I played Hermit (according to the log) in my turns 5,6,7 and 9 (which seems correct). In turns 6 and 9 the game log explicitely says that I "looked at nothing", while in turns 5 and 7 it doesn't say anything about what I looked (or didn't look) at. If you replay that game from the moments just before I played Hermit, you will see that

on turn 5 (decision 24): My discard pile is empty, so when I now play Hermit, the "show cards from discard pile" UI doesn't happen and I only get to trash something from my hand. This is correctly reflected in the log, when loaded from descision 25 or later.

on turn 6 (decision 33): When I now play Hermit, I look at 3 Coppers and 3 Hermits. When loading the game at decisions 34-36 (the same turn) the log will correctly state this. If loaded at decision 37 or later, it will say I looked at nothing on turn 6.

on turn 7 (decision 42): My discard pile is empty, the same (correct) things happen as on turn 5 (no matter when the game is loaded, the log is correct about this turn).

on turn 9 (decision 60): Same as turn 6: Loading the game at decisions 61-63 (my turn), the log will correctly state that I looked at lots of cards. If loaded at decision 64 or later, it will say I looked at nothing on turn 9.



Game #2755381, on turn 8, I played Hermit at decision 62. My discard pile was shown as 3 Coppers, an Estate, a Silver, a Gold and a Baker, which the game log also states. When loading at decision 63, this was still true. When loading at decision 64 (after I trashed one estate from my discard pile at decision 63) the log claimed that I had looked at 3 Coppers,  a Silver, a Gold and a Baker when playing the Hermit, which is missing the Estate just trashed! The same is true for loading decision 65 (last in my turn), while loading at decision 66 or later it would show something else ("looked at nothing").

Summary:
While playing, the log is correct about what you look at in the discard pile with Hermit. When the game is over, and when the game is reloaded, the log can have incorrect entries for what a player looked at in the discard pile.

Judging from the fact that reloading nearly after the Hermit was played produces the correct result on reload, it seems that the saving of the game log works, but the reload functionality has problems.

Judging from the fact that reloading just after using Hermit to trash a card from the discard pile has the log not show the trashed card in the "looked at" list, I would assume that the reload functionality uses some *updated* buffer to determine what to show in the log, when it should use a copy of that buffer from the moment when the showing happened. That would also explain the nonsensical lists shown when reloading in a later turn.