This fixes the weird case of hidden ability Staraptor in gen 5 being
disallowed egg moves because Starly doesn't have a hidden ability in gen
5. Non-hidden ability Starly can actually evolve into hidden ability
Staravia/Staraptor.
The previous one doesn't apply to Dragonite or Lugia. This prevents
Focus Sash Lugia if it is your first Pokemon.
Also moved the low priority Black Sludge selection above Leftovers for
the case of Poison/Flying Pokemon.
- Reject Trick/Switcheroo with Acrobatics so that the Pokemon can properly
receive Flying Gem
- Reject Rapid Spin with setup
- Do not reject Knock Off with setup
Mostly Gen 1-2 Pokemon were changed.
Added Moonblast where the usage stats were indicating that it was as
commonly used than Dazzling Gleam in Doubles. Reject Moonblast with
Dazzling Gleam.
Reject Return with Double Hit (for Ambipom).
Reject Power Split with Guard Split (for Shuckle).
Reject Acid Spray with Sludge Bomb (for Tentacruel).
Pokemon with Focus Energy have Scope Lens.
Aeroblast is now considered STAB.
- Reject Body Slam instead of Glare (so Dunsparce has a higher chance of
getting Glare + Headbutt rather than Body Slam + Headbutt)
- Reject Substitute with Taunt
- Update moves that are unacceptable as the only attacking move
- STAB is required for almost every mono-attacking case, exception is
that Fairy is allowed for Psychic types and Ice is allowed for certain
Normal types
- Always give Sylveon Hyper Voice
The current variables in place to check for STAB do not work as intended.
If a Pokemon has two STAB moves of the same type, and one of them is set
as a move that shouldn't be counted as STAB, the Pokemon will be counted
as not having STAB. Since nothing in the code checks for Pokemon having
STAB of a specific type, it is refactored to be a boolean instead.
In order to avoid a situation where a move like Infestation sets the STAB
variable to true when it doesn't count as a damaging move, these kinds of
moves no longer increment counters for abilities that boost damage, like
Adaptability.