The Loot module aims to make randomized yet predictable Loot Boxes easy. It works perfectly with the Items module, and can easily sync with the Inventory system as well, if you're using it.
Start with a Loot Items object, which lets you populate a group of "Potential Items". You can create as many of these as you need, with any combinations of
ItemObjects. Then, create
LootBoxobjects, which allow you to bring in your
LootItemobjects, as many as you'd like, and for each one, select any number of individual ItemObjects that the system will attempt to spawn.
There are plenty of options including randomizing the
ItemObjectand the variety of
ItemAttributes(including selecting none), or forcing a specific
ItemObjectto spawn -- perfect for quest items.
The end result is a group of items which can be as random as you'd like, and provide interesting results for players. Attach
LootBoxitems to anything that has "stuff" in it. Treasure chests, enemies, drawers and boxes, or even the top of a counter, where a merchant is displaying their wares.
The Loot module is designed to help you create the contents of loot, but how you display it, and how you handle it, is entirely up to you.
There are overloads and other methods which let you customize the selection process, and handle the loot once it is generated as well. This way, if you'd like to inject specific logic that changes the odds of getting specific loot, or more loot, or better loot, you can do so.