'hotpatch' is used for a lot of uses that don't have anything to do
with code patches. In all of these cases, 'bypassall' is more
appropriate, so I'm replacing it with that.
- Red Card and Eject Button do not activate if the holder is being
forced out.
- Circle Throw, Dragon Tail, Roar, and Whirlwind cannot attempt to force
out a Pokemon with no inactive unfainted allies.
Timer mode now gives points to all who answer within the time limit
instead of the first, and /ta works more straightforwardly. sleep should
no longer cause the Q/A loop to ignore any commands until it runs out of
questions.
The first thing that the Gen 1 damage calculations does is taking variables.
If the hit is critical, the level of the attacker is taken and doubled.
The overall damage is not doubled.
Due how the game calculates the stats, if a Pokemon gets its
Defense or Special Defense over 1024 using Reflect or Light Screen,
the stat will roll over and count from 0.
This is a rare case, such as +def Snorlax under Reflect, but relevant nonetheless.
It would be better to change the engine of Gen 1 to work the same way it works on the Game Boy,
but this has the same effect and will do for now.
For future reference, this is the exact mechanics we must follow:
http://www.smogon.com/forums/threads/past-gens-research-thread.3506992/#post-5878612
This change is significant due to residual handling and self-destruct.
Explosion and Self-Destruct end the turn if the Pokémon is faster, just like on other past gens.
This is really relevant for turn order and residual order on gen 3.
Added functionality for setAbility to send End events to abilities.
Fixed bug with Mold Breaker negating all Battle#singleEvent ability calls,
even those that don't involve damage calculation.
Fixed Skill Swap to now use End and Start events in the right order:
send the End events, then change the abilities, then send Start events.
If the same ability is swapped, don't send End events (the game simply
re-activates the abilities in question)
Moved SwitchOut/Faint events from weather to ability so the weather
can interact properly with Cloud Nine or Air Lock.
Primal weathers persist if a Pokemon with the relevant ability is
on-field, even if the originator switches out.