Fixes#1342. The one in rulesets is the general check, and the one in
team-validator is the event check. I don’t think we can combine it into
a single check; duplication is needed.
- Add a counter for draining moves; give Pokemon Life Orb with
Substitute if they have a draining move
- Do not Reject U-turn on Mega Beedrill
- Prevent Focus Sash on lead Pokemon that have a recovery move
- Increase the level of non-setup Slurpuff
- Remove AG Pokemon from Random Battle
This adds an `eventOnly` flag for Pokemon that can only be obtained via
an event. It also adds an `eventOnlyHidden` flag for Pokemon whose
hidden ability can only be obtained via an event. This removes the need
for the `dreamWorldPokeball` flag, and those events are added.
If a Pokemon can only be obtained via event, the team validator checks
if any of its events matches its current set.
Use a new function getDecisionSpeed to get a Pokemon's speed for use in
calculating turn order instead of modifying the stat directly. This fixes
issues regarding damage calculations with speed-based attacks when the
Trick Room glitch is encountered.
Also, change Trick Room to now use the speed calculation used in-game.
Those two moves are unusual in that Giratina-Altered doesn't get those
at all, and most likely because of that, they were ignored during dumping
of game's data. However, because the forme can be easily switched from
Giratina-Origin to Giratina-Altered without losing those two moves, there
is no need for special casing Giratina-Origin's movepool.
- Do not reject attacking moves if they are none in the pool; no STAB
is better than a messed up set
- Set HP to activate Sitrus Berry after two subs
- Fixes#2306
Stat boosts/unboosts caused by abilities now send:
|-ability|POKEMON|ABILITY|boost
|-boost|etc
|-boost|etc
|-unboost|etc
Before, they were pretty inconsistent.
- Fix Mega Lucario with only Bullet Punch as STAB
- Make sure dual typed Dark Pokemon have a reliable STAB
- Make sure dual typed Psychic Pokemon have a second STAB
- Only reject moves if there are moves in the pool to replace it
- Doom Desire/Future Sight now calculate accuracy when hit, not when
the move is used
- Doom Desire/Future Sight are now limit 1 per defender slot, not 1
per attacker slot
- Doom Desire/Future Sight in gen 4 and earlier now have their damage
calculated on use, rather than on hit
- Doom Desire/Future Sight in gen 4 and earlier now deal typeless
damage, and are not subject to STAB, weakness, resistance, or
immunity
- Doom Desire/Future Sight in gen 4 and earlier now can't critical
hit
- Doom Desire is now Physical in gen 3