Changes to suggested hyper training logic (#2968)

- Changed suggested hyper training logic to not hyper train over some possibly intentional unusual speed IVs
- Showdown import will not do any hyper training on pokemon encountered in gen 8, because with Hidden Power removed from the game in gen 8, all specified IVs in the showdown format are guaranteed to be deliberate for stat purposes.
This commit is contained in:
Brian Fischer 2020-08-15 00:49:01 -04:00 committed by GitHub
parent 1d0ca29e8c
commit c4e9bbcc45
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 2 deletions

View file

@ -202,7 +202,11 @@ namespace PKHeX.Core
pk.IVs = Set.IVs;
pk.EVs = Set.EVs;
pk.SetSuggestedHyperTrainingData(Set.IVs);
// IVs have no side effects such as hidden power type in gen 8
// therefore all specified IVs are deliberate and should not be HT'd over for pokemon met in gen 8
if (!pk.Gen8)
pk.SetSuggestedHyperTrainingData(Set.IVs);
if (ShowdownSetIVMarkings)
pk.SetMarkings();

View file

@ -91,10 +91,14 @@ namespace PKHeX.Core
t.HT_HP = IVs[0] != 31;
t.HT_ATK = IVs[1] != 31 && IVs[1] > 2;
t.HT_DEF = IVs[2] != 31;
t.HT_SPE = IVs[3] != 31 && IVs[3] > 2;
t.HT_SPA = IVs[4] != 31;
t.HT_SPD = IVs[5] != 31;
// sometimes unusual speed IVs are desirable for competitive reasons
// if nothing else was HT'd and the IV isn't too high, it was probably intentional
t.HT_SPE = IVs[3] != 31 && IVs[3] > 2 &&
(IVs[3] > 17 || t.HT_HP || t.HT_ATK || t.HT_DEF || t.HT_SPA || t.HT_SPD);
if (pkm is PB7 pb)
pb.ResetCP();
}