This post is going to assume that character vaulting (retiring characters for seasons at a time) for the purpose of maintaining drop rates on tokens is a bad idea. I have no issue with vaulting characters that need reworks or are otherwise bugged / broken. I also have no application coding experience, so I don’t how feasible this idea is on a technical level or not. It’s also only addressing 3* characters, as they are the only ones being vaulted for the time being. Lastly, the percents I use as an example are not drawn from current drop rates - I don’t have those immediately available to me - so assume they are inherently inaccurate and evaluate the idea based on the core concepts, not the rates included.
First, allow each player to name a variable number of characters as “desirable” or “I really want this character.” This number can vary depending on the degree of randomness desired.
Example heroic token drop rate:
4* character - 1%
3* “desirable” character - 3%
3* random (pool of all 3*) - 12%
2* random (pool of all 2*) - 84%
The random pools would include the event characters as well in different events. The pools can also be weighted individually - if the Devs want to hand out a 2* storm 24% of the time for a 2* token, they just weight the pool that way. This can be done with the one random table method currently available (just add a “desirable” percent drop as a character, so to speak) or setting it up as multiple random tables like I did in the table above.
The impact of the “desirable” character choice:
It guarantees a certain drop rate for characters depending on the number of slots allowed. No matter how many 3s are allowed, if you have a 3% shot to get one of the (3,5,10, etc) characters you choose. That number won’t decrease even if there are 1,000 3 characters as long as that 3% stays constant. Secondly, it allows players who have large collections to have slight influence over their drops. If I only need covers for say, 12 heroes this lets me pick out characters that I still need covers for and (very slightly) lowers my ability to pull covers I don’t need randomly. Assuming the percent change for a “desirable” character is reasonable, this should not affect Hero Point purchases / revenue for D3. As a final perk, it allows newer players who want to aim for their favorites or to finish covering one character a minor influence over their drops. If a 2* player has 7 Falcon covers and wants more Falcon, he or she can specify Falcon as a “desirable” to slightly boost his odds. This will be most pronounced when there are a large number of 3* covers available - see the above example of 1,000 3* characters for an extreme reference.
Obviously the more “desirable” characters allowed, the lower the drop rate for each will be (using the 3% example, a pool of 3 “desirables” would be the equivalent of 1% each, 6 would be 0.5% each, etc). Also, the characters chosen by the player should not be removed from the pool of all 3*s either - if I have Gamora as a desirable character, it’s possible I don’t get a “desirable category” roll but still get her anyways.
Hopefully this makes sense. If you see glaring flaws I missed or improvements to be made, then please feel free to call them out.