I felt like I left a few things out of AMO.
1.) The UI. The UI is definitely not the prettiest thing, but as this project was entirely a prototype to get ready for the “real” project, I was willing to just make something functional, albeit not pretty.
2.) The inventory system is only 10 slots, but every item can have multiple features:
ItemID – The ID that the item attempts to emplace.
Unique – If the item is unique, more than one stack cannot exist.
Stackable – If the item is stackable, more than one item can be placed into one stack.
StacksTo – If the item is stackable, this is the cap for its stacking capabilities.
It also handles all combination cases, such as…
A non-unique stackable item going over the StacksTo cap will overflow into the next stack.
A unique non-stackable item will check the entire inventory before emplacing to ensure the ItemID doesn’t come up later.
A unique stackable item will check the entire inventory before emplacing to check for the ItemID and will handle overflow.
3.) Respawning. Respawning works for players, but death does nothing to NPCs. They are unstoppable!
4.) The chat system is broken.