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.
- Basic stat system taken from Lego Stats
- 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
- 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).
- Initial release
Copyright © 2019 BYOND Software. All rights reserved.