Lego Loot

by Legobumb
Loot system and RNG-rolled stats on items for an RPG style game.
ID:2513364
 
This is a bare-bones example on how to incorporate a loot system into your RPG style game, as well as how to handle items that add/subtract from your character's stats. This kind of system can easily be adapted to whatever your game's needs are.

I would recommend having an actual inventory system such as Lego Bag in place so that things can look nice and flashy as opposed to built-in BYOND quick-and-dirty style.

Included Features
- Basic stat system taken from Lego Stats

Releases
v1.1
- Made the equipHandler() proc more efficient
- Altered how items roll health/mana multiplier stats into percentages rather than just a multiplier value. This falls in line with most RPGs out there.
- Changed the stat rolling percentages a bit
-> Strength, dexterity, and intelligence are now 20% likely to be rolled while +health, %health, +mana, and %mana are all 10% likely.
- Added a new item proc to set the soulbound conditions of items called setBindRule()
-> Basically, you'll want to call this anytime an item is New()'d or at the very least, when it's dropped from an enemy or before adding it to the player's inventory.
- Fixed a couple bugs with the bind() proc

v1.0
- Loot can now roll health and mana multiplier values
- Implemented *assigned loot to the looting system
-> Assigned loot wears off after 5 seconds, so anyone can pick it up after that
- Implemented a *soulbound system to items
-> Uncommons and Rares demonstrate Bind-on-Equip behavior while Legendaries and Epics demonstrate Bind-on-Pickup behavior
* Loot assignment and soulbound is linked to players' BYOND Keys in this demo, but obviously that doesn't have to be the case in your game(s). You don't want to use mobs due to saving/loading rollback issues (unless you take the necessary precaution of clearing out items' loot assignments/soulbound-ness upon logout and re-doing soulboundness upon login somehow).

v0.9
- Initial release
thnk you very simple and readable