mirror of
https://github.com/kwsch/PKHeX.git
synced 2026-08-27 06:05:18 -05:00
Bounds check on invalid encounter
Magmortar from Gen3 in Gen4+ somehow requests learnset; just give it species 0.
This commit is contained in:
@@ -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)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user