diff --git a/PKHeX.Core/Legality/Encounters/Data/EncountersGO.cs b/PKHeX.Core/Legality/Encounters/Data/EncountersGO.cs
index f83b96326..9a32ec03f 100644
--- a/PKHeX.Core/Legality/Encounters/Data/EncountersGO.cs
+++ b/PKHeX.Core/Legality/Encounters/Data/EncountersGO.cs
@@ -8,17 +8,24 @@ namespace PKHeX.Core
///
internal static class EncountersGO
{
+ /// Clamp for generating encounters; no species allowed above this value except for those in .
private const int MaxSpeciesID_GO_HOME = Legal.MaxSpeciesID_6;
+ /// When generating encounters, these species will be skipped.
private static readonly HashSet DisallowedSpecies = new HashSet
{
(int)Spinda,
};
+ /// Species beyond
private static readonly int[] ExtraSpecies =
{
(int)Meltan,
(int)Melmetal,
+
+ (int)Obstagoon,
+ (int)Perrserker,
+ (int)Runerigus,
};
internal static readonly EncounterArea7g[] SlotsGO_GG = EncounterArea7g.GetArea();
diff --git a/PKHeX.Core/Legality/Verifiers/FormVerifier.cs b/PKHeX.Core/Legality/Verifiers/FormVerifier.cs
index 81b879585..7370b4047 100644
--- a/PKHeX.Core/Legality/Verifiers/FormVerifier.cs
+++ b/PKHeX.Core/Legality/Verifiers/FormVerifier.cs
@@ -201,7 +201,7 @@ bool IsValidPikachuCap()
{
// We're okay with a Mime Jr. that has evolved via level up.
}
- else
+ else if (EncounterMatch.Version != GameVersion.GO)
{
return GetInvalid(LFormInvalidGame);
}
diff --git a/PKHeX.Core/Legality/Verifiers/IndividualValueVerifier.cs b/PKHeX.Core/Legality/Verifiers/IndividualValueVerifier.cs
index fd260e98e..12612385a 100644
--- a/PKHeX.Core/Legality/Verifiers/IndividualValueVerifier.cs
+++ b/PKHeX.Core/Legality/Verifiers/IndividualValueVerifier.cs
@@ -66,7 +66,7 @@ private void VerifyIVsSlot(LegalityAnalysis data, EncounterSlot w)
{
case 6: VerifyIVsGen6(data, w); break;
case 7: VerifyIVsGen7(data); break;
- // case 8: VerifyIVsGen8(data); break; // No rules for IV generation.
+ case 8: VerifyIVsGen8(data); break;
}
}
@@ -79,6 +79,13 @@ private void VerifyIVsGen7(LegalityAnalysis data)
VerifyIVsFlawless(data, 2); // Chain of 10 yields 5% HA and 2 flawless IVs
}
+ private void VerifyIVsGen8(LegalityAnalysis data)
+ {
+ var pkm = data.pkm;
+ if (pkm.GO)
+ VerifyIVsGoTransfer(data);
+ }
+
private void VerifyIVsGen6(LegalityAnalysis data, EncounterSlot w)
{
var pkm = data.pkm;