mirror of
https://github.com/kwsch/PKHeX.git
synced 2026-10-02 02:57:21 -05:00
@@ -66,8 +66,8 @@ public LegalityAnalysis(PKM pk)
|
||||
}
|
||||
catch { Valid = false; }
|
||||
getLegalityReport();
|
||||
AllSuggestedMoves = getSuggestedMoves(true, true);
|
||||
AllSuggestedRelearnMoves = Legal.getValidRelearn(pkm, -1).ToArray();
|
||||
AllSuggestedMoves = !isOriginValid(pkm) ? new int[4] : getSuggestedMoves(true, true);
|
||||
AllSuggestedRelearnMoves = !isOriginValid(pkm) ? new int[4] : Legal.getValidRelearn(pkm, -1).ToArray();
|
||||
AllSuggestedMovesAndRelearn = AllSuggestedMoves.Concat(AllSuggestedRelearnMoves).ToArray();
|
||||
}
|
||||
|
||||
@@ -82,7 +82,7 @@ private void AddLine(CheckResult chk)
|
||||
private void parsePK6(PKM pk)
|
||||
{
|
||||
pkm = pk;
|
||||
if (pkm.Species > 721)
|
||||
if (!isOriginValid(pkm))
|
||||
{ AddLine(Severity.Invalid, "Species does not exist in origin game.", CheckIdentifier.None); return; }
|
||||
|
||||
updateRelearnLegality();
|
||||
@@ -92,13 +92,27 @@ private void parsePK6(PKM pk)
|
||||
private void parsePK7(PKM pk)
|
||||
{
|
||||
pkm = pk;
|
||||
if (pkm.Species > 802)
|
||||
if (!isOriginValid(pkm))
|
||||
{ AddLine(Severity.Invalid, "Species does not exist in origin game.", CheckIdentifier.None); return; }
|
||||
|
||||
updateRelearnLegality();
|
||||
updateMoveLegality();
|
||||
updateChecks();
|
||||
}
|
||||
private bool isOriginValid(PKM pk)
|
||||
{
|
||||
switch (pkm.GenNumber)
|
||||
{
|
||||
case 1: return pkm.Species <= 151;
|
||||
case 2: return pkm.Species <= 251;
|
||||
case 3: return pkm.Species <= 386;
|
||||
case 4: return pkm.Species <= 493;
|
||||
case 5: return pkm.Species <= 649;
|
||||
case 6: return pkm.Species <= 721;
|
||||
case 7: return pkm.Species <= 802;
|
||||
default: return false;
|
||||
}
|
||||
}
|
||||
|
||||
private void updateRelearnLegality()
|
||||
{
|
||||
@@ -196,9 +210,7 @@ private string getVerboseLegalityReport()
|
||||
|
||||
public int[] getSuggestedRelearn()
|
||||
{
|
||||
if (RelearnBase == null)
|
||||
return new int[4];
|
||||
if (pkm.GenNumber < 6)
|
||||
if (RelearnBase == null || pkm.GenNumber < 6 || !isOriginValid(pkm))
|
||||
return new int[4];
|
||||
|
||||
if (!pkm.WasEgg)
|
||||
@@ -216,7 +228,7 @@ public int[] getSuggestedRelearn()
|
||||
}
|
||||
public int[] getSuggestedMoves(bool tm, bool tutor)
|
||||
{
|
||||
if (pkm == null || pkm.Format < 6)
|
||||
if (pkm == null || pkm.GenNumber < 6 || !isOriginValid(pkm))
|
||||
return null;
|
||||
return Legal.getValidMoves(pkm, Tutor: tutor, Machine: tm).Skip(1).ToArray(); // skip move 0
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user