Use entitycontext for xmldoc instead of lump

This commit is contained in:
Kurt
2025-04-13 11:34:17 -05:00
parent 2f1a11faa7
commit 92cd8feaf1
96 changed files with 162 additions and 88 deletions

View File

@@ -6,8 +6,13 @@ namespace PKHeX.Core;
public enum GCVersion : byte
{
None = 0,
FR = 1,
LG = 2,
FR = 1, // RD
LG = 2, // GN
// BU = 3,
// YW = 4,
// GD = 5,
// SV = 6,
// C = 7,
S = 8,
R = 9,
E = 10,

View File

@@ -28,40 +28,40 @@ public static class Locations
public const ushort Ranger4 = 3001;
public const ushort Faraway4 = 3002;
/// <summary> Goldenrod City in <see cref="GameVersion.C"/> </summary>
/// <summary> Goldenrod City in Crystal </summary>
public const byte HatchLocationC = 16;
/// <summary> Route 117 in <see cref="GameVersion.RSE"/> </summary>
/// <summary> Route 117 in R/S/E </summary>
public const byte HatchLocationRSE = 32;
/// <summary> Four Island in <see cref="GameVersion.FRLG"/> </summary>
/// <summary> Four Island in FR/LG </summary>
public const byte HatchLocationFRLG = 146;
/// <summary> Solaceon Town in <see cref="GameVersion.DPPt"/> </summary>
/// <summary> Solaceon Town in D/P/Pt </summary>
public const ushort HatchLocationDPPt = 4;
/// <summary> Route 34 in <see cref="GameVersion.HGSS"/> </summary>
/// <summary> Route 34 in HG/SS </summary>
public const ushort HatchLocationHGSS = 182;
/// <summary> Skyarrow Bridge in <see cref="GameVersion.Gen5"/> </summary>
/// <summary> Skyarrow Bridge in Gen5 </summary>
public const ushort HatchLocation5 = 64;
/// <summary> Route 7 in <see cref="GameVersion.XY"/> </summary>
/// <summary> Route 7 in X/Y </summary>
public const ushort HatchLocation6XY = 38;
/// <summary> Battle Resort in <see cref="GameVersion.ORAS"/> </summary>
/// <summary> Battle Resort in OR/AS </summary>
public const ushort HatchLocation6AO = 318;
/// <summary> Paniola Ranch in <see cref="GameVersion.Gen7"/> </summary>
/// <summary> Paniola Ranch in Gen7 </summary>
public const ushort HatchLocation7 = 78;
/// <summary> Route 5 in <see cref="GameVersion.SWSH"/> </summary>
/// <summary> Route 5 in SW/SH </summary>
public const ushort HatchLocation8 = 40;
/// <summary> Solaceon Town in <see cref="GameVersion.BDSP"/> </summary>
/// <summary> Solaceon Town in BD/SP </summary>
public const ushort HatchLocation8b = 446;
/// <summary> South Province (Area One) in <see cref="GameVersion.SV"/> </summary>
/// <summary> South Province (Area One) in S/V </summary>
public const ushort HatchLocation9 = 6;
/// <summary> Generation 1 -> Generation 7 Transfer Location (Kanto) </summary>
@@ -117,7 +117,7 @@ public static class Locations
{
4 => LinkTrade4,
5 => LinkTrade5,
8 when GameVersion.BDSP.Contains(version) => LinkTrade6NPC,
8 when version is GameVersion.BD or GameVersion.SP => LinkTrade6NPC,
_ => LinkTrade6,
};

View File

@@ -3,7 +3,7 @@
namespace PKHeX.Core;
/// <summary>
/// Locations for <see cref="GameVersion.Gen4"/>.
/// Locations for <see cref="EntityContext.Gen4"/>.
/// </summary>
public static class Locations4
{

View File

@@ -3,7 +3,7 @@
namespace PKHeX.Core;
/// <summary>
/// Locations for <see cref="GameVersion.Gen5"/>.
/// Locations for <see cref="EntityContext.Gen5"/>.
/// </summary>
public static class Locations5
{

View File

@@ -3,7 +3,7 @@
namespace PKHeX.Core;
/// <summary>
/// Locations for <see cref="GameVersion.Gen6"/>.
/// Locations for <see cref="EntityContext.Gen6"/>.
/// </summary>
public static class Locations6
{

View File

@@ -3,7 +3,7 @@
namespace PKHeX.Core;
/// <summary>
/// Locations for <see cref="GameVersion.Gen7"/>.
/// Locations for <see cref="EntityContext.Gen7"/>.
/// </summary>
public static class Locations7
{

View File

@@ -3,7 +3,7 @@
namespace PKHeX.Core;
/// <summary>
/// Locations for <see cref="GameVersion.GG"/>.
/// Locations for <see cref="EntityContext.Gen7b"/>.
/// </summary>
public static class Locations7b
{

View File

@@ -3,7 +3,7 @@
namespace PKHeX.Core;
/// <summary>
/// Locations for <see cref="GameVersion.SWSH"/>.
/// Locations for <see cref="EntityContext.Gen8"/>.
/// </summary>
public static class Locations8
{

View File

@@ -3,7 +3,7 @@
namespace PKHeX.Core;
/// <summary>
/// Locations for <see cref="GameVersion.PLA"/>.
/// Locations for <see cref="EntityContext.Gen8a"/>.
/// </summary>
public static class Locations8a
{

View File

@@ -3,7 +3,7 @@
namespace PKHeX.Core;
/// <summary>
/// Locations for <see cref="GameVersion.BDSP"/>.
/// Locations for <see cref="EntityContext.Gen8b"/>.
/// </summary>
public static class Locations8b
{

View File

@@ -3,9 +3,9 @@
namespace PKHeX.Core;
/// <summary>
/// Locations for <see cref="GameVersion.SV"/>.
/// Locations for <see cref="EntityContext.Gen9"/>.
/// </summary>
internal static class Locations9
public static class Locations9
{
/// <summary>
/// Checks if the location is accessible in Paldea (without DLC).

View File

@@ -2,6 +2,9 @@
namespace PKHeX.Core;
/// <summary>
/// Item storage for <see cref="EntityContext.Gen1"/>
/// </summary>
public sealed class ItemStorage1 : IItemStorage
{
public static readonly ItemStorage1 Instance = new();

View File

@@ -2,6 +2,9 @@
namespace PKHeX.Core;
/// <summary>
/// Item storage for <see cref="EntityContext.Gen2"/>
/// </summary>
public sealed class ItemStorage2 : IItemStorage
{
public static readonly ItemStorage2 InstanceGS = new(false);

View File

@@ -2,6 +2,9 @@
namespace PKHeX.Core;
/// <summary>
/// Item storage for <see cref="EntityContext.Gen3"/> Colosseum.
/// </summary>
public sealed class ItemStorage3Colo : IItemStorage
{
public static readonly ItemStorage3Colo Instance = new();

View File

@@ -3,6 +3,9 @@
namespace PKHeX.Core;
/// <summary>
/// Item storage for <see cref="GameVersion.E"/>
/// </summary>
public sealed class ItemStorage3E : IItemStorage
{
public static readonly ItemStorage3E Instance = new();

View File

@@ -3,6 +3,9 @@
namespace PKHeX.Core;
/// <summary>
/// Item storage for <see cref="GameVersion.FR"/> and <see cref="GameVersion.LG"/>
/// </summary>
public sealed class ItemStorage3FRLG : IItemStorage
{
public static readonly ItemStorage3FRLG Instance = new();

View File

@@ -2,6 +2,9 @@
namespace PKHeX.Core;
/// <summary>
/// Item storage for <see cref="GameVersion.R"/> and <see cref="GameVersion.S"/>
/// </summary>
public sealed class ItemStorage3RS : IItemStorage
{
public static readonly ItemStorage3RS Instance = new();

View File

@@ -2,6 +2,9 @@
namespace PKHeX.Core;
/// <summary>
/// Item storage for <see cref="EntityContext.Gen3"/> XD
/// </summary>
public sealed class ItemStorage3XD : IItemStorage
{
public static readonly ItemStorage3XD Instance = new();

View File

@@ -2,6 +2,9 @@
namespace PKHeX.Core;
/// <summary>
/// Item storage for <see cref="EntityContext.Gen4"/>
/// </summary>
public abstract class ItemStorage4
{
private protected static ReadOnlySpan<ushort> Pouch_Items_DP =>

View File

@@ -2,6 +2,9 @@
namespace PKHeX.Core;
/// <summary>
/// Item storage for <see cref="GameVersion.D"/> and <see cref="GameVersion.P"/>
/// </summary>
public sealed class ItemStorage4DP : ItemStorage4, IItemStorage
{
public static readonly ItemStorage4DP Instance = new();

View File

@@ -2,6 +2,9 @@
namespace PKHeX.Core;
/// <summary>
/// Item storage for <see cref="GameVersion.HG"/> and <see cref="GameVersion.SS"/>
/// </summary>
public sealed class ItemStorage4HGSS : ItemStorage4, IItemStorage
{
public static readonly ItemStorage4HGSS Instance = new();

View File

@@ -2,6 +2,9 @@
namespace PKHeX.Core;
/// <summary>
/// Item storage for <see cref="GameVersion.Pt"/>
/// </summary>
public sealed class ItemStorage4Pt : ItemStorage4, IItemStorage
{
public static readonly ItemStorage4Pt Instance = new();

View File

@@ -2,6 +2,9 @@
namespace PKHeX.Core;
/// <summary>
/// Item storage for <see cref="EntityContext.Gen5"/>
/// </summary>
public abstract class ItemStorage5
{
private protected static ReadOnlySpan<ushort> Pouch_Items_BW =>

View File

@@ -2,6 +2,9 @@
namespace PKHeX.Core;
/// <summary>
/// Item storage for <see cref="GameVersion.B2"/> and <see cref="GameVersion.W2"/>
/// </summary>
public sealed class ItemStorage5B2W2 : ItemStorage5, IItemStorage
{
public static readonly ItemStorage5B2W2 Instance = new();

View File

@@ -2,6 +2,9 @@
namespace PKHeX.Core;
/// <summary>
/// Item storage for <see cref="GameVersion.B"/> and <see cref="GameVersion.W"/>
/// </summary>
public sealed class ItemStorage5BW : ItemStorage5, IItemStorage
{
public static readonly ItemStorage5BW Instance = new();

View File

@@ -3,6 +3,9 @@
namespace PKHeX.Core;
/// <summary>
/// Item storage for <see cref="GameVersion.AS"/> and <see cref="GameVersion.OR"/>
/// </summary>
public sealed class ItemStorage6AO : IItemStorage
{
public static readonly ItemStorage6AO Instance = new();

View File

@@ -2,6 +2,9 @@
namespace PKHeX.Core;
/// <summary>
/// Item storage for <see cref="GameVersion.X"/> and <see cref="GameVersion.Y"/>
/// </summary>
public sealed class ItemStorage6XY : IItemStorage
{
public static readonly ItemStorage6XY Instance = new();

View File

@@ -2,6 +2,9 @@
namespace PKHeX.Core;
/// <summary>
/// Item storage for <see cref="EntityContext.Gen7b"/>
/// </summary>
public sealed class ItemStorage7GG : IItemStorage
{
public static readonly ItemStorage7GG Instance = new();

View File

@@ -2,6 +2,9 @@
namespace PKHeX.Core;
/// <summary>
/// Item storage for <see cref="GameVersion.SN"/> and <see cref="GameVersion.MN"/>
/// </summary>
public sealed class ItemStorage7SM : IItemStorage
{
public static readonly ItemStorage7SM Instance = new();

View File

@@ -3,6 +3,9 @@
namespace PKHeX.Core;
/// <summary>
/// Item storage for <see cref="GameVersion.US"/> and <see cref="GameVersion.UM"/>
/// </summary>
public sealed class ItemStorage7USUM : IItemStorage
{
public static readonly ItemStorage7USUM Instance = new();

View File

@@ -2,6 +2,9 @@
namespace PKHeX.Core;
/// <summary>
/// Item storage for <see cref="EntityContext.Gen8b"/>
/// </summary>
public sealed class ItemStorage8BDSP : IItemStorage
{
public static readonly ItemStorage8BDSP Instance = new();

View File

@@ -2,6 +2,9 @@
namespace PKHeX.Core;
/// <summary>
/// Item storage for <see cref="EntityContext.Gen8a"/>
/// </summary>
public sealed class ItemStorage8LA : IItemStorage
{
public static readonly ItemStorage8LA Instance = new();

View File

@@ -2,6 +2,9 @@
namespace PKHeX.Core;
/// <summary>
/// Item storage for <see cref="EntityContext.Gen8"/>
/// </summary>
public sealed class ItemStorage8SWSH : IItemStorage
{
public static readonly ItemStorage8SWSH Instance = new();

View File

@@ -2,6 +2,9 @@
namespace PKHeX.Core;
/// <summary>
/// Item storage for <see cref="EntityContext.Gen9"/>
/// </summary>
public sealed class ItemStorage9SV : IItemStorage
{
public static readonly ItemStorage9SV Instance = new();

View File

@@ -5,7 +5,7 @@
namespace PKHeX.Core;
/// <summary>
/// Iterates to find possible encounters for <see cref="GameVersion.Gen1"/> encounters.
/// Iterates to find possible encounters for <see cref="EntityContext.Gen1"/> encounters.
/// </summary>
public record struct EncounterPossible1(EvoCriteria[] Chain, EncounterTypeGroup Flags, GameVersion Version) : IEnumerator<IEncounterable>
{

View File

@@ -5,7 +5,7 @@
namespace PKHeX.Core;
/// <summary>
/// Iterates to find possible encounters for <see cref="GameVersion.Gen2"/> encounters.
/// Iterates to find possible encounters for <see cref="EntityContext.Gen2"/> encounters.
/// </summary>
public record struct EncounterPossible2(EvoCriteria[] Chain, EncounterTypeGroup Flags, GameVersion Version, PKM Entity) : IEnumerator<IEncounterable>
{

View File

@@ -5,7 +5,7 @@
namespace PKHeX.Core;
/// <summary>
/// Iterates to find possible encounters for <see cref="GameVersion.Gen3"/> encounters.
/// Iterates to find possible encounters for <see cref="EntityContext.Gen3"/> encounters.
/// </summary>
public record struct EncounterPossible3(EvoCriteria[] Chain, EncounterTypeGroup Flags, GameVersion Version) : IEnumerator<IEncounterable>
{

View File

@@ -5,7 +5,7 @@
namespace PKHeX.Core;
/// <summary>
/// Iterates to find possible encounters for <see cref="GameVersion.Gen4"/> encounters.
/// Iterates to find possible encounters for <see cref="EntityContext.Gen4"/> encounters.
/// </summary>
public record struct EncounterPossible4(EvoCriteria[] Chain, EncounterTypeGroup Flags, GameVersion Version, PKM Entity) : IEnumerator<IEncounterable>
{

View File

@@ -5,7 +5,7 @@
namespace PKHeX.Core;
/// <summary>
/// Iterates to find possible encounters for <see cref="GameVersion.Gen5"/> encounters.
/// Iterates to find possible encounters for <see cref="EntityContext.Gen5"/> encounters.
/// </summary>
public record struct EncounterPossible5(EvoCriteria[] Chain, EncounterTypeGroup Flags, GameVersion Version) : IEnumerator<IEncounterable>
{

View File

@@ -5,7 +5,7 @@
namespace PKHeX.Core;
/// <summary>
/// Iterates to find possible encounters for <see cref="GameVersion.Gen6"/> encounters.
/// Iterates to find possible encounters for <see cref="EntityContext.Gen6"/> encounters.
/// </summary>
public record struct EncounterPossible6(EvoCriteria[] Chain, EncounterTypeGroup Flags, GameVersion Version) : IEnumerator<IEncounterable>
{

View File

@@ -5,7 +5,7 @@
namespace PKHeX.Core;
/// <summary>
/// Iterates to find possible encounters for <see cref="GameVersion.Gen7"/> encounters.
/// Iterates to find possible encounters for <see cref="EntityContext.Gen7"/> encounters.
/// </summary>
public record struct EncounterPossible7(EvoCriteria[] Chain, EncounterTypeGroup Flags, GameVersion Version) : IEnumerator<IEncounterable>
{

View File

@@ -5,7 +5,7 @@
namespace PKHeX.Core;
/// <summary>
/// Iterates to find possible encounters for <see cref="GameVersion.GG"/> encounters.
/// Iterates to find possible encounters for <see cref="EntityContext.Gen7b"/> encounters.
/// </summary>
public record struct EncounterPossible7GG(EvoCriteria[] Chain, EncounterTypeGroup Flags, GameVersion Version) : IEnumerator<IEncounterable>
{

View File

@@ -5,7 +5,7 @@
namespace PKHeX.Core;
/// <summary>
/// Iterates to find possible encounters for <see cref="GameVersion.SWSH"/> encounters.
/// Iterates to find possible encounters for <see cref="EntityContext.Gen8"/> encounters.
/// </summary>
public record struct EncounterPossible8(EvoCriteria[] Chain, EncounterTypeGroup Flags, GameVersion Version) : IEnumerator<IEncounterable>
{

View File

@@ -5,7 +5,7 @@
namespace PKHeX.Core;
/// <summary>
/// Iterates to find possible encounters for <see cref="GameVersion.PLA"/> encounters.
/// Iterates to find possible encounters for <see cref="EntityContext.Gen8a"/> encounters.
/// </summary>
public record struct EncounterPossible8a(EvoCriteria[] Chain, EncounterTypeGroup Flags) : IEnumerator<IEncounterable>
{

View File

@@ -5,7 +5,7 @@
namespace PKHeX.Core;
/// <summary>
/// Iterates to find possible encounters for <see cref="GameVersion.BDSP"/> encounters.
/// Iterates to find possible encounters for <see cref="EntityContext.Gen8b"/> encounters.
/// </summary>
public record struct EncounterPossible8b(EvoCriteria[] Chain, EncounterTypeGroup Flags, GameVersion Version, PKM Entity) : IEnumerator<IEncounterable>
{

View File

@@ -5,7 +5,7 @@
namespace PKHeX.Core;
/// <summary>
/// Iterates to find possible encounters for <see cref="GameVersion.SV"/> encounters.
/// Iterates to find possible encounters for <see cref="EntityContext.Gen9"/> encounters.
/// </summary>
public record struct EncounterPossible9(EvoCriteria[] Chain, EncounterTypeGroup Flags, GameVersion Version) : IEnumerator<IEncounterable>
{

View File

@@ -6,7 +6,7 @@
namespace PKHeX.Core;
/// <summary>
/// Iterates to find potentially matched encounters for <see cref="GameVersion.BDSP"/> encounters while in the <see cref="PK8"/> format.
/// Iterates to find potentially matched encounters for <see cref="EncounterEnumerator8b"/> encounters while in the <see cref="PK8"/> format.
/// </summary>
public record struct EncounterEnumerator8bSWSH(PKM Entity, EvoCriteria[] Chain, GameVersion Version) : IEnumerator<MatchedEncounter<IEncounterable>>
{

View File

@@ -5,7 +5,7 @@
namespace PKHeX.Core;
/// <summary>
/// Iterates to find potentially matched encounters for <see cref="GameVersion.SV"/> encounters while in the <see cref="PK8"/> format.
/// Iterates to find potentially matched encounters for <see cref="EncounterEnumerator9"/> encounters while in the <see cref="PK8"/> format.
/// </summary>
public record struct EncounterEnumerator9SWSH(PKM Entity, EvoCriteria[] Chain, GameVersion Version) : IEnumerator<MatchedEncounter<IEncounterable>>
{

View File

@@ -5,7 +5,7 @@
namespace PKHeX.Core;
/// <summary>
/// Iterates to find potentially matched encounters for <see cref="GameVersion.Gen1"/>.
/// Iterates to find potentially matched encounters for <see cref="EntityContext.Gen1"/>.
/// </summary>
public record struct EncounterEnumerator1(PKM Entity, EvoCriteria[] Chain) : IEnumerator<MatchedEncounter<IEncounterable>>
{

View File

@@ -5,7 +5,7 @@
namespace PKHeX.Core;
/// <summary>
/// Iterates to find potentially matched encounters for <see cref="GameVersion.Gen2"/>.
/// Iterates to find potentially matched encounters for <see cref="EntityContext.Gen2"/>.
/// </summary>
public record struct EncounterEnumerator2 : IEnumerator<MatchedEncounter<IEncounterable>>
{

View File

@@ -5,7 +5,7 @@
namespace PKHeX.Core;
/// <summary>
/// Iterates to find potentially matched encounters for <see cref="GameVersion.Gen3"/>.
/// Iterates to find potentially matched encounters for <see cref="EntityContext.Gen3"/>.
/// </summary>
public record struct EncounterEnumerator3(PKM Entity, EvoCriteria[] Chain, GameVersion Version) : IEnumerator<MatchedEncounter<IEncounterable>>
{

View File

@@ -5,7 +5,7 @@
namespace PKHeX.Core;
/// <summary>
/// Iterates to find potentially matched encounters for <see cref="GameVersion.Gen4"/>.
/// Iterates to find potentially matched encounters for <see cref="EntityContext.Gen4"/>.
/// </summary>
public record struct EncounterEnumerator4(PKM Entity, EvoCriteria[] Chain, GameVersion Version) : IEnumerator<MatchedEncounter<IEncounterable>>
{

View File

@@ -5,7 +5,7 @@
namespace PKHeX.Core;
/// <summary>
/// Iterates to find potentially matched encounters for <see cref="GameVersion.Gen5"/>.
/// Iterates to find potentially matched encounters for <see cref="EntityContext.Gen5"/>.
/// </summary>
public record struct EncounterEnumerator5(PKM Entity, EvoCriteria[] Chain, GameVersion Version) : IEnumerator<MatchedEncounter<IEncounterable>>
{

View File

@@ -5,7 +5,7 @@
namespace PKHeX.Core;
/// <summary>
/// Iterates to find potentially matched encounters for <see cref="GameVersion.Gen6"/>.
/// Iterates to find potentially matched encounters for <see cref="EntityContext.Gen6"/>.
/// </summary>
public record struct EncounterEnumerator6(PKM Entity, EvoCriteria[] Chain, GameVersion Version) : IEnumerator<MatchedEncounter<IEncounterable>>
{

View File

@@ -5,7 +5,7 @@
namespace PKHeX.Core;
/// <summary>
/// Iterates to find potentially matched encounters for <see cref="GameVersion.Gen7"/>.
/// Iterates to find potentially matched encounters for <see cref="EntityContext.Gen7"/>.
/// </summary>
public record struct EncounterEnumerator7(PKM Entity, EvoCriteria[] Chain, GameVersion Version) : IEnumerator<MatchedEncounter<IEncounterable>>
{

View File

@@ -5,7 +5,7 @@
namespace PKHeX.Core;
/// <summary>
/// Iterates to find potentially matched encounters for <see cref="GameVersion.GG"/>.
/// Iterates to find potentially matched encounters for <see cref="EntityContext.Gen7b"/>.
/// </summary>
public record struct EncounterEnumerator7GG(PKM Entity, EvoCriteria[] Chain, GameVersion Version) : IEnumerator<MatchedEncounter<IEncounterable>>
{

View File

@@ -5,7 +5,7 @@
namespace PKHeX.Core;
/// <summary>
/// Iterates to find potentially matched encounters for <see cref="GameVersion.GG"/> encounters from GO Park.
/// Iterates to find potentially matched encounters for <see cref="EntityContext.Gen7b"/> encounters from GO Park.
/// </summary>
public record struct EncounterEnumerator7GO(PKM Entity, EvoCriteria[] Chain) : IEnumerator<MatchedEncounter<IEncounterable>>
{

View File

@@ -5,7 +5,7 @@
namespace PKHeX.Core;
/// <summary>
/// Iterates to find potentially matched encounters for <see cref="GameVersion.SWSH"/>.
/// Iterates to find potentially matched encounters for <see cref="EntityContext.Gen8"/>.
/// </summary>
public record struct EncounterEnumerator8(PKM Entity, EvoCriteria[] Chain, GameVersion Version) : IEnumerator<MatchedEncounter<IEncounterable>>
{

View File

@@ -5,7 +5,7 @@
namespace PKHeX.Core;
/// <summary>
/// Iterates to find potentially matched encounters for <see cref="GameVersion.PLA"/>.
/// Iterates to find potentially matched encounters for <see cref="EntityContext.Gen8a"/>.
/// </summary>
public record struct EncounterEnumerator8a(PKM Entity, EvoCriteria[] Chain) : IEnumerator<MatchedEncounter<IEncounterable>>
{

View File

@@ -5,7 +5,7 @@
namespace PKHeX.Core;
/// <summary>
/// Iterates to find potentially matched encounters for <see cref="GameVersion.BDSP"/>.
/// Iterates to find potentially matched encounters for <see cref="EntityContext.Gen8b"/>.
/// </summary>
public record struct EncounterEnumerator8b(PKM Entity, EvoCriteria[] Chain, GameVersion Version) : IEnumerator<MatchedEncounter<IEncounterable>>
{

View File

@@ -5,7 +5,7 @@
namespace PKHeX.Core;
/// <summary>
/// Iterates to find potentially matched encounters for <see cref="GameVersion.SV"/>.
/// Iterates to find potentially matched encounters for <see cref="EntityContext.Gen9"/>.
/// </summary>
public record struct EncounterEnumerator9(PKM Entity, EvoCriteria[] Chain, GameVersion Version) : IEnumerator<MatchedEncounter<IEncounterable>>
{

View File

@@ -3,7 +3,7 @@
namespace PKHeX.Core;
/// <summary>
/// Encounter Slot found in <see cref="GameVersion.Gen7"/> (GO Park, <seealso cref="GameVersion.GG"/>).
/// Encounter Slot found in <see cref="EntityContext.Gen7b"/> (GO Park).
/// <inheritdoc cref="PogoSlotExtensions" />
/// </summary>
public sealed record EncounterSlot7GO(int StartDate, int EndDate, ushort Species, byte Form, byte LevelMin, byte LevelMax, Shiny Shiny, Gender Gender, PogoType Type)

View File

@@ -1,7 +1,7 @@
namespace PKHeX.Core;
/// <summary>
/// Encounter Slot found in <see cref="GameVersion.Gen1"/>.
/// Encounter Slot found in <see cref="EntityContext.Gen1"/>.
/// </summary>
public sealed record EncounterSlot1(EncounterArea1 Parent, ushort Species, byte LevelMin, byte LevelMax, byte SlotNumber)
: IEncounterable, IEncounterMatch, IEncounterConvertible<PK1>, INumberedSlot

View File

@@ -4,7 +4,7 @@
namespace PKHeX.Core;
/// <summary>
/// Encounter Slot found in <see cref="GameVersion.Gen2"/>.
/// Encounter Slot found in <see cref="EntityContext.Gen2"/>.
/// </summary>
/// <remarks>
/// Referenced Area object contains Time data which is used for <see cref="GameVersion.C"/> origin data.

View File

@@ -6,7 +6,7 @@
namespace PKHeX.Core;
/// <summary>
/// <see cref="GameVersion.Gen3"/> encounter area
/// <see cref="EntityContext.Gen3"/> encounter area
/// </summary>
public sealed record EncounterArea3 : IEncounterArea<EncounterSlot3>, IAreaLocation
{

View File

@@ -4,7 +4,7 @@
namespace PKHeX.Core;
/// <summary>
/// Encounter Slot found in <see cref="GameVersion.Gen3"/>.
/// Encounter Slot found in <see cref="EntityContext.Gen3"/>.
/// </summary>
public record EncounterSlot3(EncounterArea3 Parent, ushort Species, byte Form, byte LevelMin, byte LevelMax, byte SlotNumber, byte MagnetPullIndex, byte MagnetPullCount, byte StaticIndex, byte StaticCount)
: IEncounterable, IEncounterMatch, IEncounterConvertible<PK3>, IEncounterSlot3, IRandomCorrelation

View File

@@ -5,7 +5,7 @@
namespace PKHeX.Core;
/// <summary>
/// <see cref="GameVersion.Gen4"/> encounter area
/// <see cref="EntityContext.Gen4"/> encounter area
/// </summary>
public sealed record EncounterArea4 : IEncounterArea<EncounterSlot4>, IGroundTypeTile, IAreaLocation
{

View File

@@ -3,7 +3,7 @@
namespace PKHeX.Core;
/// <summary>
/// Encounter Slot found in <see cref="GameVersion.Gen4"/>.
/// Encounter Slot found in <see cref="EntityContext.Gen4"/>.
/// </summary>
public sealed record EncounterSlot4(EncounterArea4 Parent, ushort Species, byte Form, byte LevelMin, byte LevelMax, byte SlotNumber, byte MagnetPullIndex, byte MagnetPullCount, byte StaticIndex, byte StaticCount)
: IEncounterable, IEncounterMatch, IEncounterConvertible<PK4>, IEncounterSlot4, IGroundTypeTile, IEncounterFormRandom, IRandomCorrelation

View File

@@ -1,7 +1,7 @@
namespace PKHeX.Core;
/// <summary>
/// Contains information pertaining the floor tile the <see cref="IEncounterTemplate"/> was obtained on in <see cref="GameVersion.Gen4"/>.
/// Contains information pertaining the floor tile the <see cref="IEncounterTemplate"/> was obtained on in <see cref="EntityContext.Gen4"/>.
/// </summary>
/// <remarks>
/// <seealso cref="EncounterSlot4"/>

View File

@@ -5,7 +5,7 @@
namespace PKHeX.Core;
/// <summary>
/// <see cref="GameVersion.Gen5"/> encounter area
/// <see cref="EntityContext.Gen5"/> encounter area
/// </summary>
public sealed record EncounterArea5 : IEncounterArea<EncounterSlot5>, IAreaLocation
{

View File

@@ -1,7 +1,7 @@
namespace PKHeX.Core;
/// <summary>
/// Encounter Slot found in <see cref="GameVersion.Gen5"/>.
/// Encounter Slot found in <see cref="EntityContext.Gen5"/>.
/// </summary>
public sealed record EncounterSlot5(EncounterArea5 Parent, ushort Species, byte Form, byte LevelMin, byte LevelMax)
: IEncounterable, IEncounterMatch, IEncounterConvertible<PK5>

View File

@@ -11,7 +11,7 @@ public enum SlotType7 : byte
}
/// <summary>
/// <see cref="GameVersion.Gen7"/> encounter area
/// <see cref="EntityContext.Gen7"/> encounter area
/// </summary>
public sealed record EncounterArea7 : IEncounterArea<EncounterSlot7>, IAreaLocation
{

View File

@@ -1,7 +1,7 @@
namespace PKHeX.Core;
/// <summary>
/// Encounter Slot found in <see cref="GameVersion.Gen7"/>.
/// Encounter Slot found in <see cref="EntityContext.Gen7"/>.
/// </summary>
public sealed record EncounterSlot7(EncounterArea7 Parent, ushort Species, byte Form, byte LevelMin, byte LevelMax)
: IEncounterable, IEncounterMatch, IEncounterConvertible<PK7>, IEncounterFormRandom, IFlawlessIVCountConditional

View File

@@ -4,7 +4,7 @@
namespace PKHeX.Core;
/// <summary>
/// Hatch Location validity for <see cref="GameVersion.Gen3"/>.
/// Hatch Location validity for <see cref="EntityContext.Gen3"/>.
/// </summary>
public static class EggHatchLocation3
{

View File

@@ -4,7 +4,7 @@
namespace PKHeX.Core;
/// <summary>
/// Hatch Location validity for <see cref="GameVersion.Gen4"/>.
/// Hatch Location validity for <see cref="EntityContext.Gen4"/>.
/// </summary>
public static class EggHatchLocation4
{

View File

@@ -4,7 +4,7 @@
namespace PKHeX.Core;
/// <summary>
/// Hatch Location validity for <see cref="GameVersion.Gen5"/>.
/// Hatch Location validity for <see cref="EntityContext.Gen5"/>.
/// </summary>
public static class EggHatchLocation5
{

View File

@@ -1,7 +1,7 @@
namespace PKHeX.Core;
/// <summary>
/// Hatch Location validity for <see cref="GameVersion.Gen6"/>.
/// Hatch Location validity for <see cref="EntityContext.Gen6"/>.
/// </summary>
public static class EggHatchLocation6
{

View File

@@ -3,7 +3,7 @@
namespace PKHeX.Core;
/// <summary>
/// Hatch Location validity for <see cref="GameVersion.Gen7"/>.
/// Hatch Location validity for <see cref="EntityContext.Gen7"/>.
/// </summary>
public static class EggHatchLocation7
{

View File

@@ -3,7 +3,7 @@
namespace PKHeX.Core;
/// <summary>
/// Hatch Location validity for <see cref="GameVersion.SWSH"/>.
/// Hatch Location validity for <see cref="EntityContext.Gen8"/>.
/// </summary>
public static class EggHatchLocation8
{

View File

@@ -3,7 +3,7 @@
namespace PKHeX.Core;
/// <summary>
/// Hatch Location validity for <see cref="GameVersion.BDSP"/>.
/// Hatch Location validity for <see cref="EntityContext.Gen8b"/>.
/// </summary>
public static class EggHatchLocation8b
{

View File

@@ -3,7 +3,7 @@
namespace PKHeX.Core;
/// <summary>
/// Hatch Location validity for <see cref="GameVersion.SV"/>.
/// Hatch Location validity for <see cref="EntityContext.Gen9"/>.
/// </summary>
public static class EggHatchLocation9
{

View File

@@ -3,7 +3,7 @@
namespace PKHeX.Core;
/// <summary>
/// Group that checks the source of a move in <see cref="GameVersion.Gen1"/>.
/// Group that checks the source of a move in <see cref="EntityContext.Gen1"/>.
/// </summary>
public sealed class LearnGroup1 : ILearnGroup
{

View File

@@ -3,7 +3,7 @@
namespace PKHeX.Core;
/// <summary>
/// Group that checks the source of a move in <see cref="GameVersion.Gen2"/>.
/// Group that checks the source of a move in <see cref="EntityContext.Gen2"/>.
/// </summary>
public sealed class LearnGroup2 : ILearnGroup
{

View File

@@ -3,7 +3,7 @@
namespace PKHeX.Core;
/// <summary>
/// Group that checks the source of a move in <see cref="GameVersion.Gen3"/>.
/// Group that checks the source of a move in <see cref="EntityContext.Gen3"/>.
/// </summary>
public sealed class LearnGroup3 : ILearnGroup
{

View File

@@ -3,7 +3,7 @@
namespace PKHeX.Core;
/// <summary>
/// Group that checks the source of a move in <see cref="GameVersion.Gen4"/>.
/// Group that checks the source of a move in <see cref="EntityContext.Gen4"/>.
/// </summary>
public sealed class LearnGroup4 : ILearnGroup
{

View File

@@ -3,7 +3,7 @@
namespace PKHeX.Core;
/// <summary>
/// Group that checks the source of a move in <see cref="GameVersion.Gen5"/>.
/// Group that checks the source of a move in <see cref="EntityContext.Gen5"/>.
/// </summary>
public sealed class LearnGroup5 : ILearnGroup
{

View File

@@ -3,7 +3,7 @@
namespace PKHeX.Core;
/// <summary>
/// Group that checks the source of a move in <see cref="GameVersion.Gen6"/>.
/// Group that checks the source of a move in <see cref="EntityContext.Gen6"/>.
/// </summary>
public sealed class LearnGroup6 : ILearnGroup
{

View File

@@ -3,7 +3,7 @@
namespace PKHeX.Core;
/// <summary>
/// Group that checks the source of a move in <see cref="GameVersion.Gen7"/>.
/// Group that checks the source of a move in <see cref="EntityContext.Gen7"/>.
/// </summary>
public sealed class LearnGroup7 : ILearnGroup
{

View File

@@ -3,7 +3,7 @@
namespace PKHeX.Core;
/// <summary>
/// Group that checks the source of a move in <see cref="GameVersion.Gen7b"/>.
/// Group that checks the source of a move in <see cref="EntityContext.Gen7b"/>.
/// </summary>
public sealed class LearnGroup7b : ILearnGroup
{

View File

@@ -3,7 +3,7 @@
namespace PKHeX.Core;
/// <summary>
/// Group that checks the source of a move in <see cref="GameVersion.Gen8"/>.
/// Group that checks the source of a move in <see cref="EntityContext.Gen8"/>.
/// </summary>
public sealed class LearnGroup8 : ILearnGroup
{

View File

@@ -3,7 +3,7 @@
namespace PKHeX.Core;
/// <summary>
/// Group that checks the source of a move in <see cref="GameVersion.PLA"/>.
/// Group that checks the source of a move in <see cref="EntityContext.Gen8a"/>.
/// </summary>
public sealed class LearnGroup8a : ILearnGroup
{

View File

@@ -3,7 +3,7 @@
namespace PKHeX.Core;
/// <summary>
/// Group that checks the source of a move in <see cref="GameVersion.BDSP"/>.
/// Group that checks the source of a move in <see cref="EntityContext.Gen8b"/>.
/// </summary>
public sealed class LearnGroup8b : ILearnGroup
{

View File

@@ -3,7 +3,7 @@
namespace PKHeX.Core;
/// <summary>
/// Group that checks the source of a move in <see cref="GameVersion.Gen9"/>.
/// Group that checks the source of a move in <see cref="EntityContext.Gen9"/>.
/// </summary>
public sealed class LearnGroup9 : ILearnGroup
{

View File

@@ -105,7 +105,7 @@ private CheckResult VerifyForm(LegalityAnalysis data)
return GetInvalid(string.Format(LFormInvalidRange, 0, form));
break;
case Scatterbug or Spewpa or Vivillon when GameVersion.SV.Contains(enc.Version):
case Scatterbug or Spewpa or Vivillon when enc.Context is EntityContext.Gen9:
if (form > 18 && enc.Form != form) // Pokéball
return GetInvalid(LFormVivillonEventPre);
if (form != 18 && enc is EncounterEgg) // Fancy

View File

@@ -37,11 +37,11 @@ public override void Verify(LegalityAnalysis data)
if (originalGeneration <= 2)
{
// Korean Crystal does not exist, neither do Korean VC1
if (pk.Korean && !GameVersion.GS.Contains(pk.Version))
if (pk is { Korean: true, Version: not (GameVersion.GD or GameVersion.SI) })
data.AddLine(GetInvalid(string.Format(LOTLanguage, $"!={(LanguageID)currentLanguage}", (LanguageID)currentLanguage)));
// Japanese VC is language locked; cannot obtain Japanese-Blue version as other languages.
if (pk is { Version: GameVersion.BU, Japanese: false })
if (pk is { Japanese: false, Version: GameVersion.BU })
data.AddLine(GetInvalid(string.Format(LOTLanguage, nameof(LanguageID.Japanese), (LanguageID)currentLanguage)));
}
}

View File

@@ -60,7 +60,7 @@ private void GetComboBoxes()
CB_Language.InitializeBinding();
CB_Language.DataSource = GameInfo.LanguageDataSource(SAV.Generation);
CB_Game.InitializeBinding();
CB_Game.DataSource = new BindingSource(GameInfo.VersionDataSource.Where(z => GameVersion.Gen7b.Contains(z.Value)).ToList(), string.Empty);
CB_Game.DataSource = new BindingSource(GameInfo.VersionDataSource.Where(z => (GameVersion)z.Value is GameVersion.GP or GameVersion.GE).ToList(), string.Empty);
}
private void LoadTrainerInfo()