I wonder what the actual mechanism is. All three that I described essentially yield the same result, just via three different paths. The third one sound the easiest to code though. X points = tier.
Throw in another random number generator to get the wait time for that tier.
Then use a third RNG for the item(s) that you get. Every combination of items available for a certain point value just need a discrete value or range of values. Spin the RNG and get whatever it lands on. Seems pretty simple to me.