Duplicate protection has become really complicated with Caverns of Time (CoT). And I can assure you that it is not fully working!!! I think even the developers are confused about this, so I will write down in technical detail here why it is not working as intended and why. Please pass this to the developer and get this fixed.
As a starting note, the root cause of the problem is how reprints in CoT are treated compared to card in their original set, and they are treated inconsistently.
For another background explanation, there are two layers of duplicate protection. And right now only layer 1 is working, but layer 2 is NOT working.
-
Layer 1 of duplication protection: For a given rarity (e.g. common), if you have never fully owned (fully means 1 copy for legendary, 2 for other rarities; disenchanted before counts as owned) a card in all cosmetic categories combined (normal, golden, signature, diamond), when you open a card with such rarity, it will be drawn from the card pools you haven’t fully owned. Reprints in CoT are treated as the same card as in their original set at this layer. This layer of duplication protection is working.
-
Layer 2 of duplication protection: For a given rarity and a given cosmetic category (normal, golden, or signature), if you have never fully owned a card for such rarity and cosmetic category, when you open a card in such rarity and cosmetic category, it will be drawn from the card pools you haven’t fully owned (rarity+cosmetic combination). Reprints from CoT are treated as different card as in their original set at this layer. Duplicate protection is NOT working at this layer!!!
To give an example, rarity level will be common in this example.
You have fully owned all normal common reprint CoT cards from their original set (but not from CoT packs). When you get common cards from CoT, it will draw from the CoT-original cards until you get all of them (layer 1 of duplication protection is working).
Now say that you have owned all common cards from CoT-original, however, for “Rat Sensei” you have only 1 common card and 1 golden card. All other commons in CoT-original you have 2 copies of normal common.
Now if you get another normal common from CoT pack, layer 1 will indicate you have owned all cards, so it will move to layer 2. In layer 2, it will look at your missing normal commons. In principle, your missing common normal should be only 1 copy of “Rat Sensei” and that should be the card you are getting. Because the system treats reprints from different sets as different entities at this level, it will conclude you are also missing normal commons for the CoT-reprints (e.g. you own 2 copies of Legacy set non-golden Snipe, but 0 copy of CoT set non-golden Snipe, the system thinks you are missing CoT set non-golden Snipe), so it will give you a card from the pool of “Rat Sensei” + all other CoT-reprints that you haven’t fully owned two non-golden CoT copies. Therefore in the end, you can get offered “Snipe” instead of “Rat Sensei”.
However, if you have opened all other reprints (normal cosmetic) from CoT twice and you are still missing one copy of “Rat Sensei”, then the next normal common you get is guaranteed to be “Rat Sensei”. But that is too much to ask!
The loss for people can be huge for people who cares about golden cards (or if they just want normal cards) because layer 2 is not protecting them anymore.
I have no idea why the same cards are treated as belonging to different sets in the system. Nor how they coded things so that same cards from different sets are treated differently in layer 1 and layer 2 of duplication protection.
The easiest fix, I think, would simply be treating the same card as belonging to both sets. Or alternatively, remove the reprints from CoT set and hard-code which cards CoT packs can open (like the 15 lengendary signatures).
Right now, 2 versions of cards exist in the system (so you can have e.g. 5 copies of Legacy set Snipe, 3 copies of CoT Snipe: 8 total copies). Why can’t we just have 8 copies of Snipe when viewed from both the legacy set and the CoT sets? (Or remove it from CoT set completely and only let it be in Legacy set).