Closed MrHen closed 5 years ago
A way that this could potentially be tracked would be to use the ImplementedCardList to generate cards cheaply. What you would do is get the array list from this class and use that as a common look-up table for cards so that instead of having to store an entire Card, all you have to store is an int to get a generic reference to that card (you could even use a short since there are far less than 32k cards in Hearthstone and will be for the foreseeable future). Once you have that, you could then efficiently implement a graveyard as a list of an object with a short for the card and a byte for the turn killed on. If that was implemented, an additional optimization for memory could be done by instead of storing cards in the Deck just storing shorts for the ImplementedCard index.
BRM added mechanics around the number of minions that died this turn but Kel'Thuzad also needs this info.
Dealing with Resurrect will probably be more complicated, though, so that is excluded from this issue.