Clean up code, with proper OOP in my own style.
No major script changes, this is simply a refactor and reorganization of code.
Catch exceptions so one improvement being broken doesn't mean everything breaks!
We also use custom error logging to ensure the problem doesn't go completely unnoticed.
Add two new stats to the game
One stat keeps track of bosses killed equal to your players level at the time of killing, the other keeps track of the highest level boss you've killed.
User our own item rarity list to add our game options
Get mercenary cost dynamically, rather than statically
This helps future proof the code... Even though the future is unknown.
Fix bug where boss kills were counted multiple times.
Damage is applied a lot in the original script. As this method is currently the best possible place to count monster deaths, we now check if the monster is alive before proceeding.