Make Distribution Super Training missions invalid

Was initially implemented as fishy during SM's initial implementation. Any nonzero value in this byte is invalid, don't even bother checking unused/count.

Now that Gen6 (and Gen7) are no longer current gen, any hope for them being released is the same as hoping for Gen4's Azure Flute Arceus. Thus we mark as invalid :)

Closes #2353 by effect of no longer flagging as Fishy. I think that my initial implementation of VC stuff had assumed the Generation==7, but later used 1/2 for factual correctness.
This commit is contained in:
Kurt 2019-07-08 12:12:16 -07:00 committed by GitHub
parent cf0908a21e
commit 605b410d52
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -67,24 +67,9 @@ namespace PKHeX.Core
private void VerifyMedalsEvent(LegalityAnalysis data)
{
var pkm = data.pkm;
var Info = data.Info;
byte value = pkm.Data[0x3A];
if ((value & 0xC0) != 0) // 2 unused flags highest bits
data.AddLine(GetInvalid(LSuperUnused));
int TrainCount = 0;
for (int i = 0; i < 6; i++)
{
if ((value & 1) != 0)
TrainCount++;
value >>= 1;
}
if (pkm.IsEgg && TrainCount > 0)
data.AddLine(GetInvalid(LSuperEgg));
else if (TrainCount > 0 && Info.Generation > 6)
data.AddLine(GetInvalid(LSuperUnavailable));
else if (TrainCount > 0)
data.AddLine(Get(LSuperDistro, Severity.Fishy));
if (value != 0)
data.AddLine(GetInvalid(LSuperDistro));
}
}
}