I need to track everything the player wins in one session, while actually also awarding some of it at the moment it's won.
There's two ways I can think of to do this:
1a. Have distinct item instances with special custom data indicating whether it's just for counting or for real
1b. Since 1a might not work (on account of needing to stack the same item ID into two groups) have two item IDs, one for counting, and one for actual awarding
2. Since I don't like working with the inventory APIs in the first place*, don't use them! Just store everything in character data. All items, all counting, all everything. If I'm going to store the counting there, I may as well store the real inventory there too.
My real question is about option 2. I saw some questions from some months ago about limits to the number of keys in character data (for the free tier), but there's nothing listed right now in the limits--does that mean it's unlimited? That seems unlikely. To be clear, this proposal might involve 100s of character data keys -- since there IS a limit to the size of the character data keys.
Also, I'm wondering if you can think of some other reason why this is insane or abusive.
The only reason I can see why I should even use the inventory system at all is because that's the only way to buy items with real money, which I can easily workaround by buying a token which I immediately cash in for an edit to character data. I mean, if I can store everything in character data, I only need about 2 APIs which aren't much different from "DOWNLOAD ALL THE DATA" and "UPLOAD ALL THE DATA" and I manage the database myself.
*Today, it's the lack of quantity argument in GrantItemsToUsers's ItemGrant[] that's killing me. Are you going to want to receive 200 entries in the ItemGrant[] just so I can grant 100 copper kettles and 200 rubber duckies?