Cleaned up item sealing logic (moved the error codes into an enumeration, responded to the client instead of passing along errors to the database... don't handle additional checks in the event of an existing problem).
Magic damage to AI is now reduced to 1/3, when the equipped weapon is damaged/unusable. GetItemPrototype() revised to allow the _ITEM_DATA to be returned to the caller as well, to save additional lookups.
AOEs are now shown to users (no matter what). Resolves #57.
Revised the kludgy SendSkill() implementation to improve upon the unnecessary runtime logic per call and lack of flexibility with where the packet was being sent. Also, the additional skill data's now stored in an array.
Mocked up a crude but functioning mining system. Resolves #68.
Picking up items is fixed, Quest fixes and sealing costs money now.

Quest fix is merely not checking CheckExistEvent() when bQuestType = 3.
Seems to work properly as all kill / gather / talk to quests seem to
have bQuestType = 1.