Refresh Decks mis-identifies some decks as deleted

Build version: v3.6.3-SNAPSHOT-44b6e7b-master (MacOS)
Logged as issue #10984.

In certain circumstances, the mass version of Refresh Counters is mis-identifying some decks as removed from the game:

To recreate, use this cut-down CCN module that contains 3 preset game files:

Open the module for edit.

Press Alt+F2 (Option+F2 on Mac). Notice the 4 decks of cards now displayed; in the module these are respectively; CommandCardsOld , CommandCardsNew, CommandCardsNew90,TacticCards. In the module, these are all contained in the HiddenDeckStorage map. In addition, on the main map, there are 6 other decks including GuerrillaMarker and IronWillMarker. There is also are also decks in the hand windows (Allies and French shuffle).

  1. To show that behaviour is different between the two types of Refresh, first open a scenario e.g. the first one B001 - Rolica (French First Position).
    Try the individual Tools…Refresh Counters on this, selecting only the Refresh Decks option, like so:
Open Twisty to see output that should be similar to yours
Mark B (<observer>) Refreshing Counters with Module version 4.1.0Refresh Bug
- Collecting Counters
- 403 Counters found in game
- - 403 Counters collected
- - 0 Counters not collected - Not owned
- - 0 Counters not collected - Not visible
- -
- Refreshing Counters with Module version 4.1.0Refresh Bug
- - 403 Counters refreshed
- - 0 Counters could not be refreshed - Not found
- - 0 Counters could not be refreshed - Not on a map
- ----------
- - 0 Refreshed counters had no parent stack
- ----------
- ----------
- REFRESHING DECKS
- ----------
- Refreshing Deck: Draw Deck with properties from module deck Draw Deck
- Refreshing Deck: Discard Pile with properties from module deck Discard Pile
- Refreshing Deck: Tactic Draw Deck with properties from module deck Tactic Draw Deck
- Refreshing Deck: Tactic Discard Pile with properties from module deck Tactic Discard Pile
- Refreshing Deck: Guerrilla Marker with properties from module deck Guerrilla Marker
- Refreshing Deck: IronWill Marker with properties from module deck IronWill Marker
- Refreshing Deck: French shuffle with properties from module deck French shuffle
- Refreshing Deck: GuerrillaMarker with properties from module deck GuerrillaMarker
- Refreshing Deck: IronWillMarker with properties from module deck IronWillMarker
- Refreshing Deck: CommandCardsNew90 with properties from module deck CommandCardsNew90
- Refreshing Deck: TacticCards with properties from module deck TacticCards
- Refreshing Deck: CommandCardsNew with properties from module deck CommandCardsNew
- Refreshing Deck: CommandCardsOld with properties from module deck CommandCardsOld
- The following decks were not refreshed because no matching deck was found in the module (turn on delete-old-decks option to remove them)
- Allies shuffle
- The following decks exist in the module but not this game/save. (Turn on add-new-decks option to add them)
- Allies shuffle
- ----------
- - 13 Decks refreshed
- - 1 Decks deletable (exist in current game but not in module)
- - 1 Decks addable (exist in module but not in current game)

Note - An “Allies Shuffle” deck is logged as both deleted and new. This is not directly part of this bug report, but it occurs on all refreshes with the module. Applying the option to delete and add new does not seem to eliminate this.

  1. Now close the game and try the Refresh Predefined Setups tool using the same refresh option. The log will indicate that afore-mentioned decks are all not found in the module.
Sample from one of the Pre-Defined Setup file refreshes
- Updating Predefined Setup: New Scenario ( B00 - Standard Map empty.vsav)
- Loading B00 - Standard Map empty.vsav ...
- Load of B00 - Standard Map empty.vsav cancelled
- Collecting Counters
- 331 Counters found in game
- - 331 Counters collected
- - 0 Counters not collected - Not owned
- - 0 Counters not collected - Not visible
- -
- Refreshing Counters with Module version 4.1.0Refresh Bug
- - 331 Counters refreshed
- - 0 Counters could not be refreshed - Not found
- - 0 Counters could not be refreshed - Not on a map
- ----------
- - 0 Refreshed counters had no parent stack
- ----------
- ----------
- REFRESHING DECKS
- ----------
- Refreshing Deck: Draw Deck with properties from module deck Draw Deck
- Refreshing Deck: Discard Pile with properties from module deck Discard Pile
- Refreshing Deck: Tactic Draw Deck with properties from module deck Tactic Draw Deck
- Refreshing Deck: Tactic Discard Pile with properties from module deck Tactic Discard Pile
- Refreshing Deck: Guerrilla Marker with properties from module deck Guerrilla Marker
- Refreshing Deck: IronWill Marker with properties from module deck IronWill Marker
- Refreshing Deck: French shuffle with properties from module deck French shuffle
- The following decks were not refreshed because no matching deck was found in the module (turn on delete-old-decks option to remove them)
- Allies shuffle
- GuerrillaMarker
- IronWillMarker
- TacticCards
- CommandCardsOld
- CommandCardsNew
- CommandCardsNew90
- The following decks exist in the module but not this game/save. (Turn on add-new-decks option to add them)
- Allies shuffle
- ----------
- - 7 Decks refreshed
- - 7 Decks deletable (exist in current game but not in module)
- - 1 Decks addable (exist in module but not in current game)

If you re-run this refresh, electing to delete and replace decks, as might be expected, the named decks are deleted. In this case, the cards on the spaces become simple stacks, as expected.

The issue is that the six named decks (but not others) are being identifying as missing from the module when this is not the case.

The only thing to add is that this behaviour did not kick in when I initially did some changes to other decks and used Refresh Decks to apply those changes. I noticed the problem only after I had removed some At-Start Stacks from the main board. At no point did I change any of the decks that are now reported as missing. Also, to emphasis, this problem is only manifesting when doing a Refresh Decks with the Refresh Predefined Setups not with Refresh Decks using Refresh Counters.

1 Like