Keep the game feeling fresh for many hours.
One artist, one designer, one programmer.
Build modular Art, Enemy and Reward parts, paired with Roll Tables, a tool to give the designer control over the chance of any given part appearing in game.
Had to be generalized to be used in multiple systems.
The parent class of anything that can be rolled for.
Determines a Base Rarity, Balance Cost and any Tags for filtering.
Has several child classes for handling many kinds of entries.
The class that holds and compares the rarity of all Entries in it.
Asking a Table to roll returns an entry of the requested inherited type, along with any amount of filtering requests you wish.
Its worth noting that Tables are also entries, and as such can be rolled themselves, which recursively rolls for the contents of the entry table.
Some examples of the rolling in action, using the inspector debug tool.