More reliable active battle counter
NEXT: Fix lack of thaw message
Remove Thai zalgo
Change OM of the Month to STABmons
Move OU Monotype back to the challenge-only OM section, add STABmons as the new featured OM for August.
Merge pull request #283 from Joimer/omotm-august

Change OM of the Month to STABmons
Add new Seasonal, Average August
The previous month's Seasonal, Jolly July, has joined the orphan branch of old-seasonals while we welcome the new Seasonal for the month of August.
Improve balance and move choose in Average August

The balance right now allows to Kyogre's pirates to win more easily. Fix that and make sure moves are correct.
Implement STABmons using a Tools hack
Due to how validateSet and scopes work, STABmons needs either this 2 line hack or to copy basically all moveset check to formats, duplicating code, for it to work.
Fix obscure bug deroom commands
Sometimes a userid will be empty and it will crash the server. The first check on the function should be enough to be sure the room exists, this check further ensures that the command won't crash.
Re-add OU Monotype ladder

As per popular demand, OU Monotype ladder is kept as a regular OM ladder.
Add deletechatroom command
Add a command that deletes a chat room. It will first kick out all the users, try to delete all its data, and then write the result on the rooms json file, deleting it.
Fix confusion damage message
Gen 1: Fix partial trapping moves at 0 PP.

In gen 1, previous to this fix, when you used the last PP of a partial trapping move you couldn't continue the sequence and would be forced into Struggle. This fixes it.
Fix obscure bug in rooms

If someone tries to list the rooms in the exact moment it's being deleted and before chatRooms is updated, getRooms will crash. Additionally, a leftover empty room name will crash on construct when the index is still accessible but the data has been deleted, ie. it's saved as "null" if the room data is saved before the garbage collector ultimately destroys the deleted data.
Improve removeChatRoom: use splice isntead of delete

Use splice on the numerical arrays instead of delete to be sure no null is being saved as a room, since JavaScript will leave the null in the middle of the array instead of removing it, causing it to be saved on the file.
Support /autojoin
Overhaul system for deleting chat rooms
Fix crash in /autojoin
Overhaul room auth system
Now, most rooms inherit auth from global auth. In other words, if
you're a global driver but a room leader, you'll be a leader
in that room, but if you're a global driver but have no room
auth, you'll be a room driver.

The exception is private rooms with private auth: These don't
inherit, and in general are not bound by chat rules, so /warn
doesn't work in these rooms at all.
Fix crashes in room commands with blank IDs