diff --git a/PKHeX.Core/Game/Enums/RegionID.cs b/PKHeX.Core/Game/Enums/Region3DSIndex.cs
similarity index 88%
rename from PKHeX.Core/Game/Enums/RegionID.cs
rename to PKHeX.Core/Game/Enums/Region3DSIndex.cs
index 9baed0d01..3d04a6e12 100644
--- a/PKHeX.Core/Game/Enums/RegionID.cs
+++ b/PKHeX.Core/Game/Enums/Region3DSIndex.cs
@@ -3,7 +3,7 @@
///
/// 3DS Console Region Identifiers used for Generation 6 & 7 Mystery Gifts
///
- public enum RegionID : byte
+ public enum Region3DSIndex : byte
{
None = 0,
Japan = 1,
diff --git a/PKHeX.Core/Legality/Encounters/Verifiers/MysteryGiftRestriction.cs b/PKHeX.Core/Legality/Encounters/Verifiers/MysteryGiftRestriction.cs
index ff5d39d6d..8cf39f583 100644
--- a/PKHeX.Core/Legality/Encounters/Verifiers/MysteryGiftRestriction.cs
+++ b/PKHeX.Core/Legality/Encounters/Verifiers/MysteryGiftRestriction.cs
@@ -20,12 +20,12 @@ public enum MysteryGiftRestriction
RegionBase = LangKorean,
LangRestrict = LangJapanese | LangEnglish | LangFrench | LangItalian | LangGerman | LangSpanish | LangKorean,
- RegJP = RegionBase << RegionID.Japan,
- RegNA = RegionBase << RegionID.NorthAmerica,
- RegEU = RegionBase << RegionID.Europe,
- RegZH = RegionBase << RegionID.China,
- RegKO = RegionBase << RegionID.Korea,
- RegTW = RegionBase << RegionID.Taiwan,
+ RegJP = RegionBase << Region3DSIndex.Japan,
+ RegNA = RegionBase << Region3DSIndex.NorthAmerica,
+ RegEU = RegionBase << Region3DSIndex.Europe,
+ RegZH = RegionBase << Region3DSIndex.China,
+ RegKO = RegionBase << Region3DSIndex.Korea,
+ RegTW = RegionBase << Region3DSIndex.Taiwan,
RegionRestrict = RegJP | RegNA | RegEU | RegZH | RegKO | RegTW,
@@ -56,7 +56,7 @@ public static int GetSuggestedLanguage(this MysteryGiftRestriction value)
public static int GetSuggestedRegion(this MysteryGiftRestriction value)
{
- for (int i = (int)RegionID.Japan; i <= (int)RegionID.Taiwan; i++)
+ for (int i = (int)Region3DSIndex.Japan; i <= (int)Region3DSIndex.Taiwan; i++)
{
if (value.HasFlagFast((MysteryGiftRestriction)((int)MysteryGiftRestriction.RegionBase << i)))
return i;
diff --git a/PKHeX.Core/Legality/Restrictions/Vivillon3DS.cs b/PKHeX.Core/Legality/Restrictions/Vivillon3DS.cs
index 4a4f91dd9..b3ddc2fc6 100644
--- a/PKHeX.Core/Legality/Restrictions/Vivillon3DS.cs
+++ b/PKHeX.Core/Legality/Restrictions/Vivillon3DS.cs
@@ -1,5 +1,6 @@
using System;
using System.Linq;
+using static PKHeX.Core.Region3DSFlags;
namespace PKHeX.Core
{
@@ -37,40 +38,29 @@ internal FormSubregionTable(byte form, byte[] regions)
///
/// List of valid regions as bitflags indexed by Vivillon form.
///
- private static readonly RegionFlags[] VivillonRegionTable =
+ private static readonly Region3DSFlags[] VivillonRegionTable =
{
- /* 0 Icy Snow */ RegionFlags.Americas | RegionFlags.Europe,
- /* 1 Polar */ RegionFlags.Americas | RegionFlags.Europe | RegionFlags.China,
- /* 2 Tundra */ RegionFlags.Japan | RegionFlags.Europe,
- /* 3 Continental */ RegionFlags.Americas | RegionFlags.Europe | RegionFlags.China | RegionFlags.Korea | RegionFlags.Taiwan,
- /* 4 Garden */ RegionFlags.Europe,
- /* 5 Elegant */ RegionFlags.Japan,
- /* 6 Meadow */ RegionFlags.Europe,
- /* 7 Modern */ RegionFlags.Americas,
- /* 8 Marine */ RegionFlags.Americas | RegionFlags.Europe,
- /* 9 Archipelago */ RegionFlags.Americas | RegionFlags.Europe,
- /*10 High Plains */ RegionFlags.Americas | RegionFlags.Europe | RegionFlags.China,
- /*11 Sandstorm */ RegionFlags.Americas | RegionFlags.Europe,
- /*12 River */ RegionFlags.Europe,
- /*13 Monsoon */ RegionFlags.Japan | RegionFlags.Europe | RegionFlags.China | RegionFlags.Taiwan,
- /*14 Savanna */ RegionFlags.Americas,
- /*15 Sun */ RegionFlags.Americas | RegionFlags.Europe,
- /*16 Ocean */ RegionFlags.Americas | RegionFlags.Europe,
- /*17 Jungle */ RegionFlags.Americas | RegionFlags.Europe,
+ /* 0 Icy Snow */ Americas | Europe,
+ /* 1 Polar */ Americas | Europe | China,
+ /* 2 Tundra */ Japan | Europe,
+ /* 3 Continental */ Americas | Europe | China | Korea | Taiwan,
+ /* 4 Garden */ Europe,
+ /* 5 Elegant */ Japan,
+ /* 6 Meadow */ Europe,
+ /* 7 Modern */ Americas,
+ /* 8 Marine */ Americas | Europe,
+ /* 9 Archipelago */ Americas | Europe,
+ /*10 High Plains */ Americas | Europe | China,
+ /*11 Sandstorm */ Americas | Europe,
+ /*12 River */ Europe,
+ /*13 Monsoon */ Japan | Europe | China | Taiwan,
+ /*14 Savanna */ Americas,
+ /*15 Sun */ Americas | Europe,
+ /*16 Ocean */ Americas | Europe,
+ /*17 Jungle */ Americas | Europe,
};
- [Flags]
- public enum RegionFlags : ushort
- {
- Japan = 1,
- Americas = 1 << 1,
- Europe = 1 << 2,
- China = 1 << 4,
- Korea = 1 << 5,
- Taiwan = 1 << 6,
- };
-
- public static RegionFlags GetConsoleRegionFlag(int consoleRegion) => (RegionFlags)(1 << consoleRegion);
+ public static Region3DSFlags GetConsoleRegionFlag(int consoleRegion) => (Region3DSFlags)(1 << consoleRegion);
///
/// List of valid countries for each Vivillon form.
@@ -271,4 +261,20 @@ private static int GetPattern(byte country)
return Math.Max(0, form);
}
}
+
+ ///
+ /// Console Region Flags for the 3DS.
+ ///
+ /// Not to be confused with .
+ [Flags]
+ public enum Region3DSFlags : ushort
+ {
+ None,
+ Japan = 1,
+ Americas = 1 << 1,
+ Europe = 1 << 2,
+ China = 1 << 4,
+ Korea = 1 << 5,
+ Taiwan = 1 << 6,
+ }
}
diff --git a/PKHeX.Core/PKM/Shared/IRegionOrigin.cs b/PKHeX.Core/PKM/Shared/IRegionOrigin.cs
index 2ff3874ff..cfc351681 100644
--- a/PKHeX.Core/PKM/Shared/IRegionOrigin.cs
+++ b/PKHeX.Core/PKM/Shared/IRegionOrigin.cs
@@ -3,7 +3,7 @@
public interface IRegionOrigin
{
/// Console hardware region.
- ///
+ ///
byte ConsoleRegion { get; set; }
/// Console's configured Country via System Settings.
byte Country { get; set; }