Mirth and melancholy fixes.

Mirth and melancholy were returning a large amount of errors due to giving +hitroll in GetOffense(). The issue is because ModifyHitRoll() in the mirth and melancholy kod files tries to retrieve the karma from the target, so when GetOffense() is called with no target to draw the player's stat bar, it gives an error trying to get the karma of a $ object. There are several ways to solve this issue (and perhaps some simpler than what I implemented) however since the offense bar will either be inaccurate vs good or evil targets with the spell up, I've moved the mirth/melancholy check to battler.kod and made it add spellpower/20 chance to hit (1-5%, total still bound at 95%).

This will probably be modified in the next revamp of radius enchantments but for now it's an error free, 100% working implementation. I would have left it as-is but for the amount of generated errors.

I also stopped SetAction() in user.kod from trying to send SomethingDidAction to a $ room when mirth/melancholy reset the player's facial expression when a player logs off.