mirror of
https://github.com/kwsch/PKHeX
synced 2025-02-24 11:27:08 +00:00
Bounds check on invalid encounter
Magmortar from Gen3 in Gen4+ somehow requests learnset; just give it species 0.
This commit is contained in:
parent
645d65bf3b
commit
aa841aebe9
8 changed files with 8 additions and 8 deletions
PKHeX.Core/Legality/LearnSource/Sources
|
@ -17,7 +17,7 @@ public sealed class LearnSource1RB : ILearnSource<PersonalInfo1>
|
|||
private const LearnEnvironment Game = RB;
|
||||
private const int MaxSpecies = Legal.MaxSpeciesID_1;
|
||||
|
||||
public Learnset GetLearnset(ushort species, byte form) => Learnsets[species];
|
||||
public Learnset GetLearnset(ushort species, byte form) => Learnsets[species < Learnsets.Length ? species : 0];
|
||||
|
||||
public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out PersonalInfo1? pi)
|
||||
{
|
||||
|
|
|
@ -17,7 +17,7 @@ public sealed class LearnSource1YW : ILearnSource<PersonalInfo1>
|
|||
private const LearnEnvironment Game = YW;
|
||||
private const int MaxSpecies = Legal.MaxSpeciesID_1;
|
||||
|
||||
public Learnset GetLearnset(ushort species, byte form) => Learnsets[species];
|
||||
public Learnset GetLearnset(ushort species, byte form) => Learnsets[species < Learnsets.Length ? species : 0];
|
||||
|
||||
public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out PersonalInfo1? pi)
|
||||
{
|
||||
|
|
|
@ -18,7 +18,7 @@ public sealed class LearnSource2C : ILearnSource<PersonalInfo2>, IEggSource
|
|||
private const int MaxSpecies = Legal.MaxSpeciesID_2;
|
||||
private const LearnEnvironment Game = C;
|
||||
|
||||
public Learnset GetLearnset(ushort species, byte form) => Learnsets[species];
|
||||
public Learnset GetLearnset(ushort species, byte form) => Learnsets[species < Learnsets.Length ? species : 0];
|
||||
|
||||
public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out PersonalInfo2? pi)
|
||||
{
|
||||
|
|
|
@ -18,7 +18,7 @@ public sealed class LearnSource2GS : ILearnSource<PersonalInfo2>, IEggSource
|
|||
private const int MaxSpecies = Legal.MaxSpeciesID_2;
|
||||
private const LearnEnvironment Game = GS;
|
||||
|
||||
public Learnset GetLearnset(ushort species, byte form) => Learnsets[species];
|
||||
public Learnset GetLearnset(ushort species, byte form) => Learnsets[species < Learnsets.Length ? species : 0];
|
||||
|
||||
public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out PersonalInfo2? pi)
|
||||
{
|
||||
|
|
|
@ -18,7 +18,7 @@ public sealed class LearnSource3E : LearnSource3, ILearnSource<PersonalInfo3>, I
|
|||
private const byte Generation = 3;
|
||||
private const int CountTM = 50;
|
||||
|
||||
public Learnset GetLearnset(ushort species, byte form) => Learnsets[species];
|
||||
public Learnset GetLearnset(ushort species, byte form) => Learnsets[species < Learnsets.Length ? species : 0];
|
||||
internal PersonalInfo3 this[ushort species] => Personal[species];
|
||||
|
||||
public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out PersonalInfo3? pi)
|
||||
|
|
|
@ -18,7 +18,7 @@ public sealed class LearnSource3FR : LearnSource3, ILearnSource<PersonalInfo3>,
|
|||
private const byte Generation = 3;
|
||||
private const int CountTM = 50;
|
||||
|
||||
public Learnset GetLearnset(ushort species, byte form) => Learnsets[species];
|
||||
public Learnset GetLearnset(ushort species, byte form) => Learnsets[species < Learnsets.Length ? species : 0];
|
||||
internal PersonalInfo3 this[ushort species] => Personal[species];
|
||||
|
||||
public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out PersonalInfo3? pi)
|
||||
|
|
|
@ -18,7 +18,7 @@ public sealed class LearnSource3LG : LearnSource3, ILearnSource<PersonalInfo3>,
|
|||
private const byte Generation = 3;
|
||||
private const int CountTM = 50;
|
||||
|
||||
public Learnset GetLearnset(ushort species, byte form) => Learnsets[species];
|
||||
public Learnset GetLearnset(ushort species, byte form) => Learnsets[species < Learnsets.Length ? species : 0];
|
||||
internal PersonalInfo3 this[ushort species] => Personal[species];
|
||||
|
||||
public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out PersonalInfo3? pi)
|
||||
|
|
|
@ -18,7 +18,7 @@ public sealed class LearnSource3RS : LearnSource3, ILearnSource<PersonalInfo3>,
|
|||
private const byte Generation = 3;
|
||||
private const int CountTM = 50;
|
||||
|
||||
public Learnset GetLearnset(ushort species, byte form) => Learnsets[species];
|
||||
public Learnset GetLearnset(ushort species, byte form) => Learnsets[species < Learnsets.Length ? species : 0];
|
||||
|
||||
public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out PersonalInfo3? pi)
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue