/query command no longer returns IP addresses
Private Room refactor - Distinguish hidden and secret rooms

Seperated /privateroom command into /privateroom and /hiddenroom. In
hidden rooms, mostly set by battle players, global staff maintain their
ranks within the room, but the rank is not kept in secret/private rooms
(only set by users who can create chat rooms).

Created command /whoare to allow global staff to see the hidden rooms a
user is in.
Add event Linoone
Gen 2: Refactor stat and damage calculation
Gen 2: Fix AfterMoveSelf events

Leech seed, etc., must be activated just after the Pokémon moves and even if asleep or FP.
Gen 2: Fix Baton Pass mons getting damaged by psn / leech seed

AfterMoveSelf does not happen if the move used was Baton Pass.
Fix travis error build from ef8f83973596a1b74612aa7ea5ef7b6042040cbb
Gen 2: Implement critical hit mechanics
Gen 2 is out of beta

The generation has no critical bugs at all.
Put Gen 2 SleepPerishTrap ban in its Standard ruling
Update Inverse Battle bans
Gen 2: Proper interaction of critical hits and burn

Normal damage is calculated with boosts, screens, and burn.
If a critical hit happens, then:
Stat level modifications are ignored if they are neutral to or favour the defender.
Reflect and Light Screen defensive boosts are only ignored if stat level modifications were also ignored as a result thereof.
If the attacker is burned, stat level modifications are always ignored.
The attack drop from the burn is only applied when attacker's attack level is higher than defender's defense level (boost).

Therefor:
A critical hit will ignore defensive and offensive buffs/debuffs if the attacker and the defender have the same boost level or the defender has higher boost.
The boosts will be ignored if the attacker is burned, but if the attacker has more boost than the defender, burn reduction still applies.
Burn reduction won't apply on the first case, buffs being the same or defender having more.
Fix crash in Scavengers
Fix crash in Gen 1 getStat
Update Middle Cup bans
Update NU bans
Gen 2: Allow event tradebacks on gen 2

With this change, you can use something as Lovely Kiss Snorlax with Double-Edge.
You could get the lovely kiss Snorlax from event, trade it to Gen 1 as lovely kiss existed, teach it Double-Edge through TM and trade it back to Gen 2.
Tested that it doesn't break gens 3-6 with Charmander with howl and body slam (gen 4 event, gen 3 TM).
Gen 3: Fix residual order
Gulpfile: Remove let hack

Let hack is not necessary as the test is being passed without it and it makes var in blocks fail.
To get rid of 'let unexpected token' we must either configure traceur to set blockBindings to true or just get rid of the hack and use both var and let properly.
This also fixes the fake build failure from previous commit f0d33f64730fbd194a04ea4c662ebe5c964e9338
Add Hoenn Pokedex rule