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
- Add Earth Power to Arceus-Dragon as it only has two Special moves
(which results in bad sets because of Calm Mind)
- Increment the correct type counter for Judgment
- Make sure Dragon types have a Dragon move, in certain circumstances
- Fix the “Pokemon should have benefiting moves” check to reject the
right moves (such as rejecting the 2nd setup move, and moves of the
incorrect setup type, first)
- Reject Focus Punch, Sucker Punch, and Hidden Power when moves are
processed, not after (if they are the only attacking move)
- Simplify the checks for too many Dark moves by using the new type
counter; this should fix remaining Spiritomb issues as well
Genesect formes tend to get bad sets because of the obligatory Techno
Blast. Removed Physical setup from them to fix this.
In addition, removed moveset modifications as they are no longer needed.