diff --git a/PKHeX.Core/Saves/Substructures/Records.cs b/PKHeX.Core/Saves/Substructures/Records.cs
index 9a497b696..b22bc82ee 100644
--- a/PKHeX.Core/Saves/Substructures/Records.cs
+++ b/PKHeX.Core/Saves/Substructures/Records.cs
@@ -30,7 +30,76 @@ public static int GetOffset(int baseOfs, int recordID)
return -1;
}
- private static readonly int[] MaxByType = { 999999999, 9999999, 999999, 99999, 65535, 9999, 999 };
+ private static readonly int[] MaxByType = {999999999, 9999999, 999999, 99999, 65535, 9999, 999, 7};
+
+ public static int[] SpecialIndexes_6 = {29, 30, 110, 111, 112, 113, 114, 115, 116, 117};
+ public static int[] SpecialIndexes_7 = {22, 23, 110, 111, 112, 113, 114, 115, 116, 117};
+
+ ///
+ /// Festa pairs; if updating the lower index record, update the Festa Mission record if currently active?
+ ///
+ public static int[] FestaPairs_USUM =
+ {
+ 175, 6,
+ 176, 33,
+ 177, 8,
+ 179, 38,
+ 181, 74,
+ 182, 73,
+ 183, 7,
+ 184, 159,
+ 185, 9,
+ };
+
+ public static readonly IReadOnlyList MaxType_XY = new[]
+ {
+ 0, 0, 0, 0, 0, 0, 0, 2, 2, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 2, 2, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 3, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 7, 5, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 5, 5, 5, 5, 5,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 5, 5, 5, 5, 6, 5, 5,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ };
+
+ public static readonly IReadOnlyList MaxType_AO = new[]
+ {
+ 0, 0, 0, 0, 0, 0, 0, 2, 2, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 2, 2, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 3, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 7, 5, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 5, 5, 5, 5, 5,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 5, 5, 5, 5, 6, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 7, 7, 7, 5, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ };
public static readonly IReadOnlyList MaxType_SM = new[]
{
@@ -82,7 +151,6 @@ public static int GetOffset(int baseOfs, int recordID)
5, 5, 4, 4, 4, 5, 5, 4, 5, 5
};
-
public static readonly Dictionary RecordList_7 = new Dictionary
{
{000, "Steps Taken"},