From 543736d56826024d2ab91bb3f90103a251fd2dec Mon Sep 17 00:00:00 2001 From: Kurt Date: Wed, 8 Nov 2017 00:34:32 -0800 Subject: [PATCH 01/81] Early rough USUM compatibility need to dump string resources, sprites, and repoint the form list string fetch later. tons more to do no guarantee of any working functions --- PKHeX.Core/Legality/Tables7.cs | 7 +- PKHeX.Core/Resources/byte/personal_uu | Bin 80724 -> 81984 bytes PKHeX.Core/Saves/SAV7.cs | 179 ++++++---- PKHeX.Core/Saves/SaveUtil.cs | 2 +- .../Gen7/SAV_Trainer7.Designer.cs | 329 +++++++++--------- 5 files changed, 273 insertions(+), 244 deletions(-) diff --git a/PKHeX.Core/Legality/Tables7.cs b/PKHeX.Core/Legality/Tables7.cs index 08379a5f9..bb3b6a197 100644 --- a/PKHeX.Core/Legality/Tables7.cs +++ b/PKHeX.Core/Legality/Tables7.cs @@ -93,6 +93,9 @@ public static partial class Legal internal static readonly ushort[] Pouch_Key_USUM = { // todo }; + internal static readonly ushort[] Pouch_Roto_USUM = { + //949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959 + }; internal static readonly ushort[] Pouch_TMHM_SM = { // 02 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, @@ -117,10 +120,10 @@ public static partial class Legal 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 798, 799, 800, 801, 802, 803, 804, 805, 806, 836 }; internal static readonly ushort[] Pouch_ZCrystal_USUM = Pouch_ZCrystal_SM.Concat(new ushort[] { // Bead - // todo + //927, 928, 929, 930, 931, 932 }).ToArray(); internal static readonly ushort[] Pouch_ZCrystalHeld_USUM = Pouch_ZCrystalHeld_SM.Concat(new ushort[] { // Piece - // todo + //921, 922, 923, 924, 925, 926 }).ToArray(); public static readonly Dictionary ZCrystalDictionary = Pouch_ZCrystal_USUM .Zip(Pouch_ZCrystalHeld_USUM, (k, v) => new { Key = (int)k, Value = (int)v }) diff --git a/PKHeX.Core/Resources/byte/personal_uu b/PKHeX.Core/Resources/byte/personal_uu index 57989e926fdf01978c8aba8152e170d6de994be8..9c1235132f6496d50204fd5e6b6807514401beb5 100644 GIT binary patch delta 16816 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 delta 12208 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 XO}Mf3<#n2ENJ0n3&G59K Date: Wed, 8 Nov 2017 00:51:08 -0800 Subject: [PATCH 02/81] Misc tweaks allows loading of species > 720 lol still nowhere near done (large task is resource acquisition) --- PKHeX.Core/Legality/Tables7.cs | 7 ++++--- PKHeX.Core/PKM/PK7.cs | 2 +- PKHeX.Core/Saves/SAV7.cs | 4 ++-- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/PKHeX.Core/Legality/Tables7.cs b/PKHeX.Core/Legality/Tables7.cs index bb3b6a197..ac82c7e63 100644 --- a/PKHeX.Core/Legality/Tables7.cs +++ b/PKHeX.Core/Legality/Tables7.cs @@ -12,9 +12,10 @@ public static partial class Legal internal const int MaxBallID_7 = 0x1A; // 26 internal const int MaxGameID_7 = 41; // Crystal (VC?) - internal const int MaxSpeciesID_7_USUM = 802; - internal const int MaxMoveID_7_USUM = 720; - internal const int MaxItemID_7_USUM = 920; + internal const int MaxSpeciesID_7_USUM = 802; // 807 todo + internal const int MaxMoveID_7_USUM = 720; // 728 todo + internal const int MaxItemID_7_USUM = 920; // 959 todo + internal const int MaxAbilityID_7_USUM = 232; // 233 todo #region Met Locations diff --git a/PKHeX.Core/PKM/PK7.cs b/PKHeX.Core/PKM/PK7.cs index 5a34a1c7a..7da5735c7 100644 --- a/PKHeX.Core/PKM/PK7.cs +++ b/PKHeX.Core/PKM/PK7.cs @@ -628,7 +628,7 @@ public void TradeMemory(bool Bank) // Maximums public override int MaxMoveID => Legal.MaxMoveID_7_USUM; public override int MaxSpeciesID => Legal.MaxSpeciesID_7_USUM; - public override int MaxAbilityID => Legal.MaxAbilityID_7; + public override int MaxAbilityID => Legal.MaxAbilityID_7_USUM; public override int MaxItemID => Legal.MaxItemID_7_USUM; public override int MaxBallID => Legal.MaxBallID_7; public override int MaxGameID => Legal.MaxGameID_7; diff --git a/PKHeX.Core/Saves/SAV7.cs b/PKHeX.Core/Saves/SAV7.cs index 283b0dd38..6d6eba8d8 100644 --- a/PKHeX.Core/Saves/SAV7.cs +++ b/PKHeX.Core/Saves/SAV7.cs @@ -67,9 +67,9 @@ public SAV7(byte[] data = null) public override int NickLength => 12; public override int MaxMoveID => SM ? Legal.MaxMoveID_7 : Legal.MaxMoveID_7_USUM; - public override int MaxSpeciesID => SM ? Legal.MaxSpeciesID_7 : Legal.MaxMoveID_7_USUM; + public override int MaxSpeciesID => SM ? Legal.MaxSpeciesID_7 : Legal.MaxSpeciesID_7_USUM; public override int MaxItemID => SM ? Legal.MaxItemID_7 : Legal.MaxItemID_7_USUM; - public override int MaxAbilityID => Legal.MaxAbilityID_7; + public override int MaxAbilityID => SM ? Legal.MaxAbilityID_7 : Legal.MaxAbilityID_7_USUM; public override int MaxBallID => Legal.MaxBallID_7; // 26 public override int MaxGameID => Legal.MaxGameID_7; From ae773f189be5f92199cfdb081183d1a7a96cd136 Mon Sep 17 00:00:00 2001 From: Kurt Date: Wed, 8 Nov 2017 01:25:10 -0800 Subject: [PATCH 03/81] add usum tutor data one large list at static.rodata:005E6860, formatted to look like AO table with deletions & insertions at the bottom. bitflags are used in one large set (not 4 chunks of 4 like prior). --- PKHeX.Core/Legality/Core.cs | 4 ++-- PKHeX.Core/Legality/Tables7.cs | 12 +++++++----- PKHeX.Core/PersonalInfo/PersonalInfoSM.cs | 8 +------- 3 files changed, 10 insertions(+), 14 deletions(-) diff --git a/PKHeX.Core/Legality/Core.cs b/PKHeX.Core/Legality/Core.cs index 40e1b52b3..e28401fc5 100644 --- a/PKHeX.Core/Legality/Core.cs +++ b/PKHeX.Core/Legality/Core.cs @@ -2202,10 +2202,10 @@ internal static IEnumerable GetTutorMoves(PKM pkm, int species, int form, b } return moves.Distinct(); - IEnumerable GetTutors(PersonalTable t, IReadOnlyList tutors) + IEnumerable GetTutors(PersonalTable t, params int[][] tutors) { var pi = t.GetFormeEntry(species, form); - for (int i = 0; i < tutors.Count; i++) + for (int i = 0; i < tutors.Length; i++) for (int b = 0; b < tutors[i].Length; b++) if (pi.SpecialTutors[i][b]) yield return tutors[i][b]; diff --git a/PKHeX.Core/Legality/Tables7.cs b/PKHeX.Core/Legality/Tables7.cs index ac82c7e63..54cf34ea0 100644 --- a/PKHeX.Core/Legality/Tables7.cs +++ b/PKHeX.Core/Legality/Tables7.cs @@ -51,12 +51,14 @@ public static partial class Legal #endregion - internal static readonly int[][] Tutors_USUM = + internal static readonly int[] Tutors_USUM = { - new int[0], // todo - new int[0], // todo - new int[0], // todo - new int[0], // todo + 450, 343, 162, 530, 324, 442, 402, 529, 340, 067, 441, 253, 009, 007, 008, + 277, 335, 414, 492, 356, 393, 334, 387, 276, 527, 196, 401, 428, 406, 304, 231, + 020, 173, 282, 235, 257, 272, 215, 366, 143, 220, 202, 409, 264, 351, 352, + 380, 388, 180, 495, 270, 271, 478, 472, 283, 200, 278, 289, 446, 285, + + 477, 502, 432, 710, 707, 675, 673 }; internal static readonly ushort[] Pouch_Regular_SM = // 00 { diff --git a/PKHeX.Core/PersonalInfo/PersonalInfoSM.cs b/PKHeX.Core/PersonalInfo/PersonalInfoSM.cs index ad74020ba..08f0ed460 100644 --- a/PKHeX.Core/PersonalInfo/PersonalInfoSM.cs +++ b/PKHeX.Core/PersonalInfo/PersonalInfoSM.cs @@ -20,10 +20,7 @@ public PersonalInfoSM(byte[] data) SpecialTutors = new[] { - GetBits(Data.Skip(0x3C).Take(0x04).ToArray()), - GetBits(Data.Skip(0x40).Take(0x04).ToArray()), - GetBits(Data.Skip(0x44).Take(0x04).ToArray()), - GetBits(Data.Skip(0x48).Take(0x04).ToArray()), + GetBits(Data.Skip(0x3C).Take(0x0A).ToArray()), }; } public override byte[] Write() @@ -31,9 +28,6 @@ public override byte[] Write() SetBits(TMHM).CopyTo(Data, 0x28); SetBits(TypeTutors).CopyTo(Data, 0x38); SetBits(SpecialTutors[0]).CopyTo(Data, 0x3C); - SetBits(SpecialTutors[1]).CopyTo(Data, 0x40); - SetBits(SpecialTutors[2]).CopyTo(Data, 0x44); - SetBits(SpecialTutors[3]).CopyTo(Data, 0x48); return Data; } From 78acb8e13b871c954b6e3d233afeeb2818e25e21 Mon Sep 17 00:00:00 2001 From: Michael Scire Date: Wed, 8 Nov 2017 11:31:04 -0800 Subject: [PATCH 04/81] Fix save resigning for USUM, add resources for new pokemon --- .gitignore | 1 + PKHeX.Core/Legality/Tables7.cs | 8 +- PKHeX.Core/PKM/FormConverter.cs | 11 + PKHeX.Core/PersonalInfo/PersonalTable.cs | 2 +- .../Resources/text/de/text_Abilities_de.txt | 3 +- .../Resources/text/de/text_Items_de.txt | 43 +- .../Resources/text/de/text_Moves_de.txt | 11 +- .../Resources/text/de/text_Species_de.txt | 11 +- .../Resources/text/de/text_sm_00000_de.txt | 45 +- .../Resources/text/de/text_sm_30000_de.txt | 3 +- .../Resources/text/de/text_sm_40000_de.txt | 2 +- .../Resources/text/de/text_sm_60000_de.txt | 2 +- .../Resources/text/en/text_Abilities_en.txt | 3 +- .../Resources/text/en/text_Forms_en.txt | Bin 7004 -> 7130 bytes .../Resources/text/en/text_Games_en.txt | 4 +- .../Resources/text/en/text_Items_en.txt | 41 +- .../Resources/text/en/text_Moves_en.txt | 11 +- .../Resources/text/en/text_Species_en.txt | 11 +- .../Resources/text/en/text_sm_00000_en.txt | 45 +- .../Resources/text/en/text_sm_30000_en.txt | 3 +- .../Resources/text/en/text_sm_40000_en.txt | 2 +- .../Resources/text/en/text_sm_60000_en.txt | 2 +- .../Resources/text/es/text_Abilities_es.txt | 3 +- .../Resources/text/es/text_Forms_es.txt | Bin 7232 -> 7406 bytes .../Resources/text/es/text_Items_es.txt | 43 +- .../Resources/text/es/text_Moves_es.txt | 11 +- .../Resources/text/es/text_Species_es.txt | 11 +- .../Resources/text/es/text_sm_00000_es.txt | 45 +- .../Resources/text/es/text_sm_30000_es.txt | 3 +- .../Resources/text/es/text_sm_40000_es.txt | 2 +- .../Resources/text/es/text_sm_60000_es.txt | 2 +- .../Resources/text/fr/text_Abilities_fr.txt | 3 +- .../Resources/text/fr/text_Forms_fr.txt | Bin 7156 -> 7356 bytes .../Resources/text/fr/text_Items_fr.txt | 43 +- .../Resources/text/fr/text_Moves_fr.txt | 11 +- .../Resources/text/fr/text_Species_fr.txt | 11 +- .../Resources/text/fr/text_sm_00000_fr.txt | 45 +- .../Resources/text/fr/text_sm_30000_fr.txt | 3 +- .../Resources/text/fr/text_sm_40000_fr.txt | 2 +- .../Resources/text/fr/text_sm_60000_fr.txt | 2 +- .../Resources/text/it/text_Abilities_it.txt | 3 +- .../Resources/text/it/text_Forms_it.txt | Bin 7374 -> 7554 bytes .../Resources/text/it/text_Items_it.txt | 41 +- .../Resources/text/it/text_Moves_it.txt | 11 +- .../Resources/text/it/text_Species_it.txt | 11 +- .../Resources/text/it/text_sm_00000_it.txt | 45 +- .../Resources/text/it/text_sm_30000_it.txt | 3 +- .../Resources/text/it/text_sm_40000_it.txt | 2 +- .../Resources/text/it/text_sm_60000_it.txt | 2 +- .../Resources/text/ja/text_Abilities_ja.txt | 3 +- .../Resources/text/ja/text_Forms_ja.txt | Bin 7814 -> 7922 bytes .../Resources/text/ja/text_Items_ja.txt | 41 +- .../Resources/text/ja/text_Moves_ja.txt | 11 +- .../Resources/text/ja/text_Species_ja.txt | 9 +- .../Resources/text/ja/text_sm_00000_ja.txt | 45 +- .../Resources/text/ja/text_sm_30000_ja.txt | 3 +- .../Resources/text/ja/text_sm_40000_ja.txt | 2 +- .../Resources/text/ja/text_sm_60000_ja.txt | 2 +- .../Resources/text/ko/text_Abilities_ko.txt | 3 +- .../Resources/text/ko/text_Forms_ko.txt | Bin 6990 -> 7074 bytes .../Resources/text/ko/text_Items_ko.txt | 41 +- .../Resources/text/ko/text_Moves_ko.txt | 11 +- .../Resources/text/ko/text_Species_ko.txt | 11 +- .../Resources/text/ko/text_sm_00000_ko.txt | 45 +- .../Resources/text/ko/text_sm_30000_ko.txt | 3 +- .../Resources/text/ko/text_sm_40000_ko.txt | 2 +- .../Resources/text/ko/text_sm_60000_ko.txt | 2 +- .../Resources/text/zh/text_Abilities_zh.txt | 3 +- .../Resources/text/zh/text_Forms_zh.txt | Bin 6748 -> 6826 bytes .../Resources/text/zh/text_Items_zh.txt | 41 +- .../Resources/text/zh/text_Moves_zh.txt | 11 +- .../Resources/text/zh/text_Species_zh.txt | 1611 +++++++++-------- .../Resources/text/zh/text_Species_zh2.txt | 1611 +++++++++-------- .../Resources/text/zh/text_sm_00000_zh.txt | 45 +- .../Resources/text/zh/text_sm_30000_zh.txt | 3 +- .../Resources/text/zh/text_sm_40000_zh.txt | 2 +- .../Resources/text/zh/text_sm_60000_zh.txt | 2 +- PKHeX.Core/Saves/MemeCrypto/MemeCrypto.cs | 7 +- PKHeX.Core/Saves/SAV7.cs | 4 + PKHeX.WinForms/PKHeX.WinForms.csproj | 11 + .../Properties/Resources.Designer.cs | 126 +- PKHeX.WinForms/Properties/Resources.resx | 33 + .../Resources/img/Pokemon Sprites/25-7.png | Bin 0 -> 475 bytes .../Resources/img/Pokemon Sprites/744-1.png | Bin 0 -> 501 bytes .../Resources/img/Pokemon Sprites/745-2.png | Bin 0 -> 686 bytes .../Resources/img/Pokemon Sprites/800-1.png | Bin 0 -> 838 bytes .../Resources/img/Pokemon Sprites/800-2.png | Bin 0 -> 833 bytes .../Resources/img/Pokemon Sprites/800-3.png | Bin 0 -> 753 bytes .../Resources/img/Pokemon Sprites/803.png | Bin 0 -> 587 bytes .../Resources/img/Pokemon Sprites/804.png | Bin 0 -> 790 bytes .../Resources/img/Pokemon Sprites/805.png | Bin 0 -> 739 bytes .../Resources/img/Pokemon Sprites/806.png | Bin 0 -> 686 bytes .../Resources/img/Pokemon Sprites/807.png | Bin 0 -> 618 bytes 93 files changed, 2646 insertions(+), 1720 deletions(-) create mode 100644 PKHeX.WinForms/Resources/img/Pokemon Sprites/25-7.png create mode 100644 PKHeX.WinForms/Resources/img/Pokemon Sprites/744-1.png create mode 100644 PKHeX.WinForms/Resources/img/Pokemon Sprites/745-2.png create mode 100644 PKHeX.WinForms/Resources/img/Pokemon Sprites/800-1.png create mode 100644 PKHeX.WinForms/Resources/img/Pokemon Sprites/800-2.png create mode 100644 PKHeX.WinForms/Resources/img/Pokemon Sprites/800-3.png create mode 100644 PKHeX.WinForms/Resources/img/Pokemon Sprites/803.png create mode 100644 PKHeX.WinForms/Resources/img/Pokemon Sprites/804.png create mode 100644 PKHeX.WinForms/Resources/img/Pokemon Sprites/805.png create mode 100644 PKHeX.WinForms/Resources/img/Pokemon Sprites/806.png create mode 100644 PKHeX.WinForms/Resources/img/Pokemon Sprites/807.png diff --git a/.gitignore b/.gitignore index e459712f5..b00ec759b 100644 --- a/.gitignore +++ b/.gitignore @@ -210,6 +210,7 @@ $RECYCLE.BIN/ ############# *.resources +pingme.txt ############# diff --git a/PKHeX.Core/Legality/Tables7.cs b/PKHeX.Core/Legality/Tables7.cs index 54cf34ea0..2c0b89754 100644 --- a/PKHeX.Core/Legality/Tables7.cs +++ b/PKHeX.Core/Legality/Tables7.cs @@ -12,10 +12,10 @@ public static partial class Legal internal const int MaxBallID_7 = 0x1A; // 26 internal const int MaxGameID_7 = 41; // Crystal (VC?) - internal const int MaxSpeciesID_7_USUM = 802; // 807 todo - internal const int MaxMoveID_7_USUM = 720; // 728 todo - internal const int MaxItemID_7_USUM = 920; // 959 todo - internal const int MaxAbilityID_7_USUM = 232; // 233 todo + internal const int MaxSpeciesID_7_USUM = 807; // 807 todo + internal const int MaxMoveID_7_USUM = 728; // 728 todo + internal const int MaxItemID_7_USUM = 959; // 959 todo + internal const int MaxAbilityID_7_USUM = 233; // 233 todo #region Met Locations diff --git a/PKHeX.Core/PKM/FormConverter.cs b/PKHeX.Core/PKM/FormConverter.cs index 19f69bb7d..a0fa3cfbc 100644 --- a/PKHeX.Core/PKM/FormConverter.cs +++ b/PKHeX.Core/PKM/FormConverter.cs @@ -387,6 +387,7 @@ private static string[] GetFormsGen7(int species, IReadOnlyList types, I { forms[745], // Midday forms[1024], // Midnight + forms[1064], // Dusk }; case 746: // Wishiwashi @@ -425,6 +426,15 @@ private static string[] GetFormsGen7(int species, IReadOnlyList types, I forms[1058], // Busted }; + case 800: + return new[] + { + types[000], // Normal + forms[1065], // Dusk Mane + forms[1066], // Dawn Wings + forms[1067], // Ultra Necrozma + }; + case 801: // Magearna return new[] { @@ -497,6 +507,7 @@ private static string[] GetFormsPikachu(int generation, IReadOnlyList ty forms[816], // Unova forms[817], // Kalos forms[818], // Alola + forms[1063] // Partner }; } } diff --git a/PKHeX.Core/PersonalInfo/PersonalTable.cs b/PKHeX.Core/PersonalInfo/PersonalTable.cs index d1613f890..91eec1bbd 100644 --- a/PKHeX.Core/PersonalInfo/PersonalTable.cs +++ b/PKHeX.Core/PersonalInfo/PersonalTable.cs @@ -15,7 +15,7 @@ public class PersonalTable /// /// Personal Table used in . /// - public static readonly PersonalTable USUM = GetTable("sm", GameVersion.USUM); + public static readonly PersonalTable USUM = GetTable("uu", GameVersion.USUM); /// /// Personal Table used in . /// diff --git a/PKHeX.Core/Resources/text/de/text_Abilities_de.txt b/PKHeX.Core/Resources/text/de/text_Abilities_de.txt index 437630c6f..07e757f7f 100644 --- a/PKHeX.Core/Resources/text/de/text_Abilities_de.txt +++ b/PKHeX.Core/Resources/text/de/text_Abilities_de.txt @@ -230,4 +230,5 @@ Nebel-Erzeuger Gras-Erzeuger Metallprotektor Phantomschutz -Prismarüstung \ No newline at end of file +Prismarüstung +Zerebralmacht diff --git a/PKHeX.Core/Resources/text/de/text_Items_de.txt b/PKHeX.Core/Resources/text/de/text_Items_de.txt index 4f468b4c0..31ff1343d 100644 --- a/PKHeX.Core/Resources/text/de/text_Items_de.txt +++ b/PKHeX.Core/Resources/text/de/text_Items_de.txt @@ -1,4 +1,4 @@ -Keiner +Kein Item Meisterball Hyperball Superball @@ -918,4 +918,43 @@ Psycho-Disc Eis-Disc Drachen-Disc Unlicht-Disc -Feen-Disc \ No newline at end of file +Feen-Disc +Solgalium Z +Lunalium Z +Ultranecronium Z +Mimigmium Z +Wolwerockium Z +Grandirasium Z +Solgalium Z +Lunalium Z +Ultranecronium Z +Mimigmium Z +Wolwerockium Z +Grandirasium Z +Z-Kraftring +Rosa Blatt +Oranges Blatt +Blaues Blatt +Rotes Blatt +Grünes Blatt +Gelbes Blatt +Violettes Blatt +Regenbogenblüte +Gewitterorden +Necrosol +Necrolun +Necrosol +Necrolun +Elimas Normium Z +Nachlassball +Brutbon +Schnäppchenbon +Preisgeldbon +EP-Bon +Freundschaftsbon +Lockbon +Schutzbon +KP-Bon +AP-Bon +Statuswertebon +Fangbon diff --git a/PKHeX.Core/Resources/text/de/text_Moves_de.txt b/PKHeX.Core/Resources/text/de/text_Moves_de.txt index 32e17834c..369c8c6bf 100644 --- a/PKHeX.Core/Resources/text/de/text_Moves_de.txt +++ b/PKHeX.Core/Resources/text/de/text_Moves_de.txt @@ -717,4 +717,13 @@ Tränendrüse Elektropikser Naturzorn Multi-Angriff -Tausendfacher Donnerblitz \ No newline at end of file +Tausendfacher Donnerblitz +Knallkopf +Plasmafäuste +Photonen-Geysir +Licht des Erlöschens +Schmetternde Sonnenwalze +Geballter Mondlaser +Herzliche Knuddelkloppe +Fataler Steinregen +Rasselnder Seelentanz diff --git a/PKHeX.Core/Resources/text/de/text_Species_de.txt b/PKHeX.Core/Resources/text/de/text_Species_de.txt index b37f0923e..347832e98 100644 --- a/PKHeX.Core/Resources/text/de/text_Species_de.txt +++ b/PKHeX.Core/Resources/text/de/text_Species_de.txt @@ -27,10 +27,10 @@ Pikachu Raichu Sandan Sandamer -Nidoran♀ +Nidoran Nidorina Nidoqueen -Nidoran♂ +Nidoran Nidorino Nidoking Piepi @@ -800,4 +800,9 @@ Katagami Schlingking Necrozma Magearna -Marshadow \ No newline at end of file +Marshadow +Venicro +Agoyon +Muramura +Kopplosio +Zeraora diff --git a/PKHeX.Core/Resources/text/de/text_sm_00000_de.txt b/PKHeX.Core/Resources/text/de/text_sm_00000_de.txt index 1256c80ee..1812fe8a0 100644 --- a/PKHeX.Core/Resources/text/de/text_sm_00000_de.txt +++ b/PKHeX.Core/Resources/text/de/text_sm_00000_de.txt @@ -108,7 +108,7 @@ Route 10 Route 11 -Küste von Ula-Ula +Strand von Ula-Ula Route 13 @@ -188,7 +188,46 @@ Kampfbaum Æther-Paradies -Ultradimension +Ultratiefsee Malihe City -Kap am Stadtrand \ No newline at end of file +Kap am Stadtrand +Mele-Mele +Akala +Ula-Ula +Poni +Big Wave Beach + +Strandhöhle + +Kantai-Strand + +Strand von Poni + +Ultrametropolis + +Metropo Tower + +Ultrakraftwerk + +Ultratal + +Ultrawüste + +Ultrawald + +Ultradschungel + +Ultrawolkenkratzer + +Ultradimension Zero + +Rocket-Schloss + +Tunnel in der Ebene + +Pikachu-Tal + +Route 1 +Trainerschule +Spaltberg-Tunnel diff --git a/PKHeX.Core/Resources/text/de/text_sm_30000_de.txt b/PKHeX.Core/Resources/text/de/text_sm_30000_de.txt index 6f536eb0a..83b9a3aec 100644 --- a/PKHeX.Core/Resources/text/de/text_sm_30000_de.txt +++ b/PKHeX.Core/Resources/text/de/text_sm_30000_de.txt @@ -13,4 +13,5 @@ Pokémon GO Kanto-Region Hoenn-Region Alola-Region -Pokémon-Resort \ No newline at end of file +Pokémon-Resort +Johto-Region diff --git a/PKHeX.Core/Resources/text/de/text_sm_40000_de.txt b/PKHeX.Core/Resources/text/de/text_sm_40000_de.txt index cc4e30bb8..7e8fb4da1 100644 --- a/PKHeX.Core/Resources/text/de/text_sm_40000_de.txt +++ b/PKHeX.Core/Resources/text/de/text_sm_40000_de.txt @@ -85,4 +85,4 @@ Pokémon GO Pokémon Bank Pokémon-Geschäft Demo-Version -Pokémon Trainer Club \ No newline at end of file +Pokémon Trainer Club diff --git a/PKHeX.Core/Resources/text/de/text_sm_60000_de.txt b/PKHeX.Core/Resources/text/de/text_sm_60000_de.txt index 1c2f57288..ff8c3c2c7 100644 --- a/PKHeX.Core/Resources/text/de/text_sm_60000_de.txt +++ b/PKHeX.Core/Resources/text/de/text_sm_60000_de.txt @@ -1,4 +1,4 @@ Ferne Person Hortleiterinnen Schatzsucher -Dame der Heißen Quellen \ No newline at end of file +Dame der Heißen Quellen diff --git a/PKHeX.Core/Resources/text/en/text_Abilities_en.txt b/PKHeX.Core/Resources/text/en/text_Abilities_en.txt index fe7c94295..101e2adcf 100644 --- a/PKHeX.Core/Resources/text/en/text_Abilities_en.txt +++ b/PKHeX.Core/Resources/text/en/text_Abilities_en.txt @@ -230,4 +230,5 @@ Misty Surge Grassy Surge Full Metal Body Shadow Shield -Prism Armor \ No newline at end of file +Prism Armor +Neuroforce diff --git a/PKHeX.Core/Resources/text/en/text_Forms_en.txt b/PKHeX.Core/Resources/text/en/text_Forms_en.txt index 1a91d7e7e49ffe1da7c29179979979fc99203de9..da9790512579d70ecec06cf4f58659df2df4247c 100644 GIT binary patch delta 134 zcmca(cFTN2jC5T9Ln1>FLkUA3Ln@F~U~mTV3mAAAxENd*N*Rh7vVmf54EaF0Tr^Q% yph}P~h}uMkav)EEA)Fx-NT&mJg2Y1^a)4$R0aYq6_yN@>1KIfuRY0>6!SVnBxEJUE delta 7 Ocmca*e#dM>j5GibP6JB- diff --git a/PKHeX.Core/Resources/text/en/text_Games_en.txt b/PKHeX.Core/Resources/text/en/text_Games_en.txt index 72af943fe..126c3bf8b 100644 --- a/PKHeX.Core/Resources/text/en/text_Games_en.txt +++ b/PKHeX.Core/Resources/text/en/text_Games_en.txt @@ -30,8 +30,8 @@ Omega Ruby Sun Moon - - +Ultra Sun +Ultra Moon GO Red Blue [INT]/Green [JP] diff --git a/PKHeX.Core/Resources/text/en/text_Items_en.txt b/PKHeX.Core/Resources/text/en/text_Items_en.txt index 6134c0168..674fa7012 100644 --- a/PKHeX.Core/Resources/text/en/text_Items_en.txt +++ b/PKHeX.Core/Resources/text/en/text_Items_en.txt @@ -918,4 +918,43 @@ Psychic Memory Ice Memory Dragon Memory Dark Memory -Fairy Memory \ No newline at end of file +Fairy Memory +Solganium Z +Lunalium Z +Ultranecrozium Z +Mimikium Z +Lycanium Z +Kommonium Z +Solganium Z +Lunalium Z +Ultranecrozium Z +Mimikium Z +Lycanium Z +Kommonium Z +Z-Power Ring +Pink Petal +Orange Petal +Blue Petal +Red Petal +Green Petal +Yellow Petal +Purple Petal +Rainbow Flower +Surge Badge +N-Solarizer +N-Lunarizer +N-Solarizer +N-Lunarizer +Ilima’s Normalium Z +Left Poké Ball +Roto Hatch +Roto Bargain +Roto Prize Money +Roto Exp. Points +Roto Friendship +Roto Encounter +Roto Stealth +Roto HP Restore +Roto PP Restore +Roto Boost +Roto Catch diff --git a/PKHeX.Core/Resources/text/en/text_Moves_en.txt b/PKHeX.Core/Resources/text/en/text_Moves_en.txt index 5c69232ec..b93aaafc6 100644 --- a/PKHeX.Core/Resources/text/en/text_Moves_en.txt +++ b/PKHeX.Core/Resources/text/en/text_Moves_en.txt @@ -717,4 +717,13 @@ Tearful Look Zing Zap Nature’s Madness Multi-Attack -10,000,000 Volt Thunderbolt \ No newline at end of file +10,000,000 Volt Thunderbolt +Mind Blown +Plasma Fists +Photon Geyser +Light That Burns the Sky +Searing Sunraze Smash +Menacing Moonraze Maelstrom +Let’s Snuggle Forever +Splintered Stormshards +Clangorous Soulblaze diff --git a/PKHeX.Core/Resources/text/en/text_Species_en.txt b/PKHeX.Core/Resources/text/en/text_Species_en.txt index 6fc31f3bd..f54520242 100644 --- a/PKHeX.Core/Resources/text/en/text_Species_en.txt +++ b/PKHeX.Core/Resources/text/en/text_Species_en.txt @@ -27,10 +27,10 @@ Pikachu Raichu Sandshrew Sandslash -Nidoran♀ +Nidoran Nidorina Nidoqueen -Nidoran♂ +Nidoran Nidorino Nidoking Clefairy @@ -800,4 +800,9 @@ Kartana Guzzlord Necrozma Magearna -Marshadow \ No newline at end of file +Marshadow +Poipole +Naganadel +Stakataka +Blacephalon +Zeraora diff --git a/PKHeX.Core/Resources/text/en/text_sm_00000_en.txt b/PKHeX.Core/Resources/text/en/text_sm_00000_en.txt index ee8319d70..6f0a6e327 100644 --- a/PKHeX.Core/Resources/text/en/text_sm_00000_en.txt +++ b/PKHeX.Core/Resources/text/en/text_sm_00000_en.txt @@ -108,7 +108,7 @@ Route 10 Route 11 -Secluded Shore +Ula’ula Beach Route 13 @@ -188,7 +188,46 @@ Battle Tree Aether Paradise -Ultra Space +Ultra Deep Sea Malie City -Outer Cape \ No newline at end of file +Outer Cape +Melemele +Akala +Ula’ula +Poni +Big Wave Beach + +Sandy Cave + +Heahea Beach + +Poni Beach + +Ultra Megalopolis + +Megalo Tower + +Ultra Plant + +Ultra Crater + +Ultra Desert + +Ultra Forest + +Ultra Jungle + +Ultra Ruin + +Ultra Space Wilds + +Team Rocket’s Castle + +Plains Grotto + +Pikachu Valley + +Route 1 +Trainers’ School +Dividing Peak Tunnel diff --git a/PKHeX.Core/Resources/text/en/text_sm_30000_en.txt b/PKHeX.Core/Resources/text/en/text_sm_30000_en.txt index d72a92473..511db4abe 100644 --- a/PKHeX.Core/Resources/text/en/text_sm_30000_en.txt +++ b/PKHeX.Core/Resources/text/en/text_sm_30000_en.txt @@ -13,4 +13,5 @@ Pokémon GO the Kanto region the Hoenn region the Alola region -Poké Pelago \ No newline at end of file +Poké Pelago +the Johto region diff --git a/PKHeX.Core/Resources/text/en/text_sm_40000_en.txt b/PKHeX.Core/Resources/text/en/text_sm_40000_en.txt index 9b28a4ea9..67e60d5e7 100644 --- a/PKHeX.Core/Resources/text/en/text_sm_40000_en.txt +++ b/PKHeX.Core/Resources/text/en/text_sm_40000_en.txt @@ -85,4 +85,4 @@ Pokémon GO Pokémon Bank a Pokémon shop a demo version -the Pokémon Trainer Club \ No newline at end of file +the Pokémon Trainer Club diff --git a/PKHeX.Core/Resources/text/en/text_sm_60000_en.txt b/PKHeX.Core/Resources/text/en/text_sm_60000_en.txt index 163860679..65b3397a9 100644 --- a/PKHeX.Core/Resources/text/en/text_sm_60000_en.txt +++ b/PKHeX.Core/Resources/text/en/text_sm_60000_en.txt @@ -1,4 +1,4 @@ a stranger Nursery helpers a treasure hunter -an old hot-springs visitor \ No newline at end of file +an old hot-springs visitor diff --git a/PKHeX.Core/Resources/text/es/text_Abilities_es.txt b/PKHeX.Core/Resources/text/es/text_Abilities_es.txt index 36214c0bc..2a3e2b26a 100644 --- a/PKHeX.Core/Resources/text/es/text_Abilities_es.txt +++ b/PKHeX.Core/Resources/text/es/text_Abilities_es.txt @@ -230,4 +230,5 @@ Nebulogénesis Herbogénesis Guardia Metálica Guardia Espectro -Armadura Prisma \ No newline at end of file +Armadura Prisma +Fuerza Cerebral diff --git a/PKHeX.Core/Resources/text/es/text_Forms_es.txt b/PKHeX.Core/Resources/text/es/text_Forms_es.txt index 2234bb9732391770aeed1b42e684c55aa8491bc9..6f611953ccae242935d58b5f90d54191f53a010e 100644 GIT binary patch delta 183 zcmX?L@y>FCgG{|ULq0UUf#NwpoJT;NBUn!{(6$ti4t*d4B$Ncy2C^&^$SwgpN0-45s2~~a Kj4GhBAo2ins3HOY delta 7 OcmaE7dB9?WgA4!;c3k7qAw~B_P;{jRy$30T*J_&2D4kl{|n4(tZ!%bF3sx_{_Zd zf2P%Q{g@Vaub`rHCV#50JLVFGRF?y!!+>-#P)89|r6W)@6C!U4WacnP fDmVg-14)B4f(#1GI=90 delta 7 OcmZp&K4-b%oD2XBsRLgC diff --git a/PKHeX.Core/Resources/text/it/text_Items_it.txt b/PKHeX.Core/Resources/text/it/text_Items_it.txt index 4e93cdc96..1339a7e84 100644 --- a/PKHeX.Core/Resources/text/it/text_Items_it.txt +++ b/PKHeX.Core/Resources/text/it/text_Items_it.txt @@ -918,4 +918,43 @@ ROM Psico ROM Ghiaccio ROM Drago ROM Buio -ROM Folletto \ No newline at end of file +ROM Folletto +Solgaleium Z +Lunalium Z +Ultranecrozium Z +Mimikyum Z +Lycanrochium Z +Kommonium Z +Solgaleium Z +Lunalium Z +Ultranecrozium Z +Mimikyum Z +Lycanrochium Z +Kommonium Z +Supercerchio Z +Petalo rosa +Petalo arancione +Petalo azzurro +Petalo rosso +Petalo verde +Petalo giallo +Petalo violetto +Fiore arcobaleno +Medaglia Tonante +Necrosolix +Necrolunix +Necrosolix +Necrolunix +Normium Z Liam +Poké Ball altrui +Cova’n’roll +Sconto’n’roll +Soldi’n’roll +Esp’n’roll +Affetto’n’roll +Incontra’n’roll +Repelle’n’roll +PS’n’roll +PP’n’roll +Stat’n’roll +Acchiappa’n’roll diff --git a/PKHeX.Core/Resources/text/it/text_Moves_it.txt b/PKHeX.Core/Resources/text/it/text_Moves_it.txt index 907c34183..c84439c90 100644 --- a/PKHeX.Core/Resources/text/it/text_Moves_it.txt +++ b/PKHeX.Core/Resources/text/it/text_Moves_it.txt @@ -717,4 +717,13 @@ Occhionilucidi Elettropizzico Ira della Natura Multiattacco -Iperfulmine \ No newline at end of file +Iperfulmine +Sbalorditesta +Pugni Plasma +Geyser Fotonico +Fotodistruzione Apocalittica +Supercollisione Solare +Deflagrazione Lunare +Dolcesacco di Botte +Litotempesta Radiale +Dracofonia Divampante diff --git a/PKHeX.Core/Resources/text/it/text_Species_it.txt b/PKHeX.Core/Resources/text/it/text_Species_it.txt index d5381a1c1..300512b3a 100644 --- a/PKHeX.Core/Resources/text/it/text_Species_it.txt +++ b/PKHeX.Core/Resources/text/it/text_Species_it.txt @@ -27,10 +27,10 @@ Pikachu Raichu Sandshrew Sandslash -Nidoran♀ +Nidoran Nidorina Nidoqueen -Nidoran♂ +Nidoran Nidorino Nidoking Clefairy @@ -800,4 +800,9 @@ Kartana Guzzlord Necrozma Magearna -Marshadow \ No newline at end of file +Marshadow +Poipole +Naganadel +Stakataka +Blacephalon +Zeraora diff --git a/PKHeX.Core/Resources/text/it/text_sm_00000_it.txt b/PKHeX.Core/Resources/text/it/text_sm_00000_it.txt index 3f1f6907f..ecdebf24e 100644 --- a/PKHeX.Core/Resources/text/it/text_sm_00000_it.txt +++ b/PKHeX.Core/Resources/text/it/text_sm_00000_it.txt @@ -108,7 +108,7 @@ Percorso 10 Percorso 11 -Lido di Ula Ula +Spiaggia di Ula Ula Percorso 13 @@ -188,7 +188,46 @@ Albero della Lotta Æther Paradise -Ultramondo +Ultrabisso Malie -Promontorio di Malie \ No newline at end of file +Promontorio di Malie +Mele Mele +Akala +Ula Ula +Poni +Spiaggia Big Wave + +Caverna Costiera + +Spiaggia di Kantai + +Spiaggia di Poni + +Ultramegalopoli + +Torre Megalopoli + +Ultracentrale + +Ultravalle + +Ultradeserto + +Ultraforesta + +Ultragiungla + +Ultragglomerato + +Ultramondo Ignoto + +Castello Team Rocket + +Grotta Prateria + +Valle dei Pikachu + +Percorso 1 +Scuola Allenatori +Tunnel del Vulcano diff --git a/PKHeX.Core/Resources/text/it/text_sm_30000_it.txt b/PKHeX.Core/Resources/text/it/text_sm_30000_it.txt index 78ca30a7f..5299f7991 100644 --- a/PKHeX.Core/Resources/text/it/text_sm_30000_it.txt +++ b/PKHeX.Core/Resources/text/it/text_sm_30000_it.txt @@ -13,4 +13,5 @@ Pokémon GO Kanto Hoenn Alola -Poké Resort \ No newline at end of file +Poké Resort +Johto diff --git a/PKHeX.Core/Resources/text/it/text_sm_40000_it.txt b/PKHeX.Core/Resources/text/it/text_sm_40000_it.txt index 4fddf692a..ff3df182b 100644 --- a/PKHeX.Core/Resources/text/it/text_sm_40000_it.txt +++ b/PKHeX.Core/Resources/text/it/text_sm_40000_it.txt @@ -85,4 +85,4 @@ Pokémon GO Banca Pokémon Negozio Pokémon Demo -Club Allenatori di Pokémon \ No newline at end of file +Club Allenatori di Pokémon diff --git a/PKHeX.Core/Resources/text/it/text_sm_60000_it.txt b/PKHeX.Core/Resources/text/it/text_sm_60000_it.txt index b1d6e817f..6d2fa05e7 100644 --- a/PKHeX.Core/Resources/text/it/text_sm_60000_it.txt +++ b/PKHeX.Core/Resources/text/it/text_sm_60000_it.txt @@ -1,4 +1,4 @@ Persona lontana Ostello Pokémon Cercatesori -Vecchina delle terme \ No newline at end of file +Vecchina delle terme diff --git a/PKHeX.Core/Resources/text/ja/text_Abilities_ja.txt b/PKHeX.Core/Resources/text/ja/text_Abilities_ja.txt index 1c24b11ab..cc9dcf000 100644 --- a/PKHeX.Core/Resources/text/ja/text_Abilities_ja.txt +++ b/PKHeX.Core/Resources/text/ja/text_Abilities_ja.txt @@ -230,4 +230,5 @@ グラスメイカー メタルプロテクト ファントムガード -プリズムアーマー \ No newline at end of file +プリズムアーマー +ブレインフォース diff --git a/PKHeX.Core/Resources/text/ja/text_Forms_ja.txt b/PKHeX.Core/Resources/text/ja/text_Forms_ja.txt index 3af9178dc388d61b6bda8c0ae190e63070adae09..9f824fd1211dfcba3cdcb78394eed869ba9aec97 100644 GIT binary patch delta 116 zcmZp({bakLO)h7x!F_{l17CwigLs3r29FI68(cTwW#D3nH;6UxG3YVKGl&Gz@n~Z4 u25CUida$UIfww^l(1bi7Szr(f7F%ZU+Teu2OM|lp>kZx->@v6q76kxk+9PBD delta 7 Ocmexl+h)6=O%4DK-vdVg diff --git a/PKHeX.Core/Resources/text/ja/text_Items_ja.txt b/PKHeX.Core/Resources/text/ja/text_Items_ja.txt index 41756b368..c5439eb59 100644 --- a/PKHeX.Core/Resources/text/ja/text_Items_ja.txt +++ b/PKHeX.Core/Resources/text/ja/text_Items_ja.txt @@ -918,4 +918,43 @@ アイスメモリ ドラゴンメモリ ダークメモリ -フェアリーメモリ \ No newline at end of file +フェアリーメモリ +ソルガレオZ +ルナアーラZ +ウルトラネクロZ +ミミッキュZ +ルガルガンZ +ジャラランガZ +ソルガレオZ +ルナアーラZ +ウルトラネクロZ +ミミッキュZ +ルガルガンZ +ジャラランガZ +Zパワーリング +ももいろはなびら +だいだいはなびら +あおのはなびら +あかのはなびら +みどりのはなびら +きいろのはなびら +むらさきはなびら +にじいろのはな +だいだいバッジ +ネクロプラスソル +ネクロプラスルナ +ネクロプラスソル +ネクロプラスルナ +イリマのノーマルZ +のこされたボール +タマゴふかポン +やすうりポン +おこづかいポン +けいけんポン +なつきポン +みっけポン +かくれポン +HPかいふくポン +PPかいふくポン +おうえんポン +つかまえポン diff --git a/PKHeX.Core/Resources/text/ja/text_Moves_ja.txt b/PKHeX.Core/Resources/text/ja/text_Moves_ja.txt index 5fbe7bf11..0f69f3b2a 100644 --- a/PKHeX.Core/Resources/text/ja/text_Moves_ja.txt +++ b/PKHeX.Core/Resources/text/ja/text_Moves_ja.txt @@ -717,4 +717,13 @@ びりびりちくちく しぜんのいかり マルチアタック -1000まんボルト \ No newline at end of file +1000まんボルト +ビックリヘッド +プラズマフィスト +フォトンゲイザー +てんこがすめつぼうのひかり +サンシャインスマッシャー +ムーンライトブラスター +ぽかぼかフレンドタイム +ラジアルエッジストーム +ブレイジングソウルビート diff --git a/PKHeX.Core/Resources/text/ja/text_Species_ja.txt b/PKHeX.Core/Resources/text/ja/text_Species_ja.txt index 260f617a3..e3ba49981 100644 --- a/PKHeX.Core/Resources/text/ja/text_Species_ja.txt +++ b/PKHeX.Core/Resources/text/ja/text_Species_ja.txt @@ -1,4 +1,4 @@ -タマゴ +タマゴ フシギダネ フシギソウ フシギバナ @@ -800,4 +800,9 @@ アクジキング ネクロズマ マギアナ -マーシャドー \ No newline at end of file +マーシャドー +ベベノム +アーゴヨン +ツンデツンデ +ズガドーン +ゼラオラ diff --git a/PKHeX.Core/Resources/text/ja/text_sm_00000_ja.txt b/PKHeX.Core/Resources/text/ja/text_sm_00000_ja.txt index 7d5b7cdc6..056445d85 100644 --- a/PKHeX.Core/Resources/text/ja/text_sm_00000_ja.txt +++ b/PKHeX.Core/Resources/text/ja/text_sm_00000_ja.txt @@ -108,7 +108,7 @@ 11ばんどうろ -ウラウラうらかいがん +ウラウラビーチ 13ばんどうろ @@ -188,7 +188,46 @@ エーテルパラダイス -ウルトラスペース +ウルトラディープシー マリエシティ -はずれのみさき \ No newline at end of file +はずれのみさき +メレメレ +アーカラ +ウラウラ +ポニ +ビッグウェーブビーチ + +はまべのほらあな + +カンタイビーチ + +ポニのビーチ + +ウルトラメガロポリス + +メガロタワー + +ウルトラプラント + +ウルトラバレー + +ウルトラデザート + +ウルトラフォレスト + +ウルトラジャングル + +ウルトラビルディング + +ウルトラスペースゼロ + +ロケットだんのしろ + +こうやのよこあな + +ピカチュウのたに + +1ばんどうろ +トレーナーズスクール +ワカツダケトンネル diff --git a/PKHeX.Core/Resources/text/ja/text_sm_30000_ja.txt b/PKHeX.Core/Resources/text/ja/text_sm_30000_ja.txt index 02e2648e7..5a572b26a 100644 --- a/PKHeX.Core/Resources/text/ja/text_sm_30000_ja.txt +++ b/PKHeX.Core/Resources/text/ja/text_sm_30000_ja.txt @@ -13,4 +13,5 @@ Pokémon GO カントーちほう ホウエンちほう アローラちほう -ポケリゾート \ No newline at end of file +ポケリゾート +ジョウトちほう diff --git a/PKHeX.Core/Resources/text/ja/text_sm_40000_ja.txt b/PKHeX.Core/Resources/text/ja/text_sm_40000_ja.txt index ce3805d67..f31f3428e 100644 --- a/PKHeX.Core/Resources/text/ja/text_sm_40000_ja.txt +++ b/PKHeX.Core/Resources/text/ja/text_sm_40000_ja.txt @@ -85,4 +85,4 @@ Pokémon GO ポケモンバンク ポケモンのショップ たいけんばん -the Pokémon Trainer Club \ No newline at end of file +the Pokémon Trainer Club diff --git a/PKHeX.Core/Resources/text/ja/text_sm_60000_ja.txt b/PKHeX.Core/Resources/text/ja/text_sm_60000_ja.txt index e7c50304f..d6fdf6304 100644 --- a/PKHeX.Core/Resources/text/ja/text_sm_60000_ja.txt +++ b/PKHeX.Core/Resources/text/ja/text_sm_60000_ja.txt @@ -1,4 +1,4 @@ とおくにいるひと あずかりやさん トレジャーハンター -おんせんばあさん \ No newline at end of file +おんせんばあさん diff --git a/PKHeX.Core/Resources/text/ko/text_Abilities_ko.txt b/PKHeX.Core/Resources/text/ko/text_Abilities_ko.txt index 2d9655496..d5483239c 100644 --- a/PKHeX.Core/Resources/text/ko/text_Abilities_ko.txt +++ b/PKHeX.Core/Resources/text/ko/text_Abilities_ko.txt @@ -230,4 +230,5 @@ AR시스템 그래스메이커 메탈프로텍트 스펙터가드 -프리즘아머 \ No newline at end of file +프리즘아머 +브레인포스 diff --git a/PKHeX.Core/Resources/text/ko/text_Forms_ko.txt b/PKHeX.Core/Resources/text/ko/text_Forms_ko.txt index 8407a7b90c273ada4cc63716f0d685a2cb6229aa..cd2dc70dc0d330eb86a3512b4972b9954634eea2 100644 GIT binary patch delta 92 zcmX?Sw#a;gpL7Vv#+V(VCpxY^*|hK+F9R1t<~5sZ5yur6R_xk(2$|2Z#$X+Yf8xO2 hJs|l78)Vji_&bj6xKy)UWn<2Tm>nG_PwWJV0RSKCCf@)6 delta 7 OcmZ2ve$H%zpELjsWCHg9 diff --git a/PKHeX.Core/Resources/text/ko/text_Items_ko.txt b/PKHeX.Core/Resources/text/ko/text_Items_ko.txt index 91d240cc8..784f20e57 100644 --- a/PKHeX.Core/Resources/text/ko/text_Items_ko.txt +++ b/PKHeX.Core/Resources/text/ko/text_Items_ko.txt @@ -918,4 +918,43 @@ Z링 아이스메모리 드래곤메모리 다크메모리 -페어리메모리 \ No newline at end of file +페어리메모리 +솔가레오Z +루나아라Z +울트라네크로Z +따라큐Z +루가루암Z +짜랑고우거Z +솔가레오Z +루나아라Z +울트라네크로Z +따라큐Z +루가루암Z +짜랑고우거Z +Z파워링 +담홍꽃잎 +주황꽃잎 +파랑꽃잎 +빨강꽃잎 +초록꽃잎 +노랑꽃잎 +보라꽃잎 +무지개꽃 +주황배지 +네크로플러스솔 +네크로플러스루나 +네크로플러스솔 +네크로플러스루나 +일리마의 노말Z +남겨진 볼 +알부화캡슐토이 +할인캡슐토이 +용돈캡슐토이 +경험캡슐토이 +친밀도캡슐토이 +발견캡슐토이 +숨기캡슐토이 +HP회복캡슐토이 +PP회복캡슐토이 +응원캡슐토이 +잡기캡슐토이 diff --git a/PKHeX.Core/Resources/text/ko/text_Moves_ko.txt b/PKHeX.Core/Resources/text/ko/text_Moves_ko.txt index f2b96e38d..34b378523 100644 --- a/PKHeX.Core/Resources/text/ko/text_Moves_ko.txt +++ b/PKHeX.Core/Resources/text/ko/text_Moves_ko.txt @@ -717,4 +717,13 @@ DD래리어트 찌리리따끔따끔 자연의분노 멀티어택 -1000만볼트 \ No newline at end of file +1000만볼트 +깜짝헤드 +플라스마피스트 +포톤가이저 +하늘을태우는멸망의빛 +선샤인스매셔 +문라이트블래스터 +투닥투닥프렌드타임 +레이디얼에지스톰 +브레이징소울비트 diff --git a/PKHeX.Core/Resources/text/ko/text_Species_ko.txt b/PKHeX.Core/Resources/text/ko/text_Species_ko.txt index c82fd37a3..aa51238d8 100644 --- a/PKHeX.Core/Resources/text/ko/text_Species_ko.txt +++ b/PKHeX.Core/Resources/text/ko/text_Species_ko.txt @@ -27,10 +27,10 @@ 라이츄 모래두지 고지 -니드런♀ +니드런 니드리나 니드퀸 -니드런♂ +니드런 니드리노 니드킹 삐삐 @@ -800,4 +800,9 @@ 악식킹 네크로즈마 마기아나 -마샤도 \ No newline at end of file +마샤도 +베베놈 +아고용 +차곡차곡 +두파팡 +제라오라 diff --git a/PKHeX.Core/Resources/text/ko/text_sm_00000_ko.txt b/PKHeX.Core/Resources/text/ko/text_sm_00000_ko.txt index 5cda70b58..4a0ee246b 100644 --- a/PKHeX.Core/Resources/text/ko/text_sm_00000_ko.txt +++ b/PKHeX.Core/Resources/text/ko/text_sm_00000_ko.txt @@ -108,7 +108,7 @@ 11번도로 -울라울라 뒤쪽 해안 +울라울라비치 13번도로 @@ -188,7 +188,46 @@ 에테르파라다이스 -울트라스페이스 +울트라딥시 말리에시티 -외곽해안가 \ No newline at end of file +외곽해안가 +멜레멜레 +아칼라 +울라울라 +포니 +빅웨이브비치 + +해변 동굴 + +환대비치 + +포니비치 + +울트라메가로폴리스 + +메가로타워 + +울트라플랜트 + +울트라밸리 + +울트라데저트 + +울트라포레스트 + +울트라정글 + +울트라빌딩 + +울트라스페이스제로 + +로켓단의 성 + +황야 옆굴 + +피카츄 골짜기 + +1번도로 +트레이너스쿨 +경계터널 diff --git a/PKHeX.Core/Resources/text/ko/text_sm_30000_ko.txt b/PKHeX.Core/Resources/text/ko/text_sm_30000_ko.txt index 35499466d..08c2a3174 100644 --- a/PKHeX.Core/Resources/text/ko/text_sm_30000_ko.txt +++ b/PKHeX.Core/Resources/text/ko/text_sm_30000_ko.txt @@ -13,4 +13,5 @@ Pokémon GO 관동지방 호연지방 알로라지방 -포켓리조트 \ No newline at end of file +포켓리조트 +성도지방 diff --git a/PKHeX.Core/Resources/text/ko/text_sm_40000_ko.txt b/PKHeX.Core/Resources/text/ko/text_sm_40000_ko.txt index d0754fbdf..a9681360a 100644 --- a/PKHeX.Core/Resources/text/ko/text_sm_40000_ko.txt +++ b/PKHeX.Core/Resources/text/ko/text_sm_40000_ko.txt @@ -85,4 +85,4 @@ Pokémon GO 포켓몬 뱅크 a Pokémon shop 체험판 -the Pokémon Trainer Club \ No newline at end of file +the Pokémon Trainer Club diff --git a/PKHeX.Core/Resources/text/ko/text_sm_60000_ko.txt b/PKHeX.Core/Resources/text/ko/text_sm_60000_ko.txt index 09e457a80..5984ba23d 100644 --- a/PKHeX.Core/Resources/text/ko/text_sm_60000_ko.txt +++ b/PKHeX.Core/Resources/text/ko/text_sm_60000_ko.txt @@ -1,4 +1,4 @@ 멀리 있는 사람 맡기미집 트레져헌터 -온천할머니 \ No newline at end of file +온천할머니 diff --git a/PKHeX.Core/Resources/text/zh/text_Abilities_zh.txt b/PKHeX.Core/Resources/text/zh/text_Abilities_zh.txt index 3038a93f5..dbcab6a83 100644 --- a/PKHeX.Core/Resources/text/zh/text_Abilities_zh.txt +++ b/PKHeX.Core/Resources/text/zh/text_Abilities_zh.txt @@ -230,4 +230,5 @@ 青草制造者 金属防护 幻影防守 -棱镜装甲 \ No newline at end of file +棱镜装甲 +脑核之力 diff --git a/PKHeX.Core/Resources/text/zh/text_Forms_zh.txt b/PKHeX.Core/Resources/text/zh/text_Forms_zh.txt index e40d3cee4a32a773833bce3b1307b409dd6eb064..4d7a66488448aee529b5e6d8e5c34f32e7486c5c 100644 GIT binary patch delta 86 zcmca(vdVNrjFg{Y%;vyZ(fVl#{%wBVeztJ|(Yy>?3`geir?r%sXCQdqe$2B$GKZ3a b)4cuu)PvY%RgLK$k=}vQxs`#li$Nj);z%0f delta 7 OcmZ2wddFl#j1&M3=>rx3 diff --git a/PKHeX.Core/Resources/text/zh/text_Items_zh.txt b/PKHeX.Core/Resources/text/zh/text_Items_zh.txt index 646e280c1..d25134997 100644 --- a/PKHeX.Core/Resources/text/zh/text_Items_zh.txt +++ b/PKHeX.Core/Resources/text/zh/text_Items_zh.txt @@ -918,4 +918,43 @@ 冰雪存储碟 龙存储碟 黑暗存储碟 -妖精存储碟 \ No newline at end of file +妖精存储碟 +索尔迦雷欧Z +露奈雅拉Z +究极奈克洛Z +谜拟QZ +鬃岩狼人Z +杖尾鳞甲龙Z +索尔迦雷欧Z +露奈雅拉Z +究极奈克洛Z +谜拟QZ +鬃岩狼人Z +杖尾鳞甲龙Z +Z强力手环 +粉红花瓣 +橙色花瓣 +蓝色花瓣 +红色花瓣 +绿色花瓣 +黄色花瓣 +紫色花瓣 +虹色之花 +桔色徽章 +奈克洛索尔合体器 +奈克洛露奈合体器 +奈克洛索尔合体器 +奈克洛露奈合体器 +伊利马的一般Z +留下的精灵球 +孵蛋碰碰 +优惠碰碰 +零花钱碰碰 +经验碰碰 +亲密碰碰 +相遇碰碰 +隐身碰碰 +HP回复碰碰 +PP回复碰碰 +加油碰碰 +捕捉碰碰 diff --git a/PKHeX.Core/Resources/text/zh/text_Moves_zh.txt b/PKHeX.Core/Resources/text/zh/text_Moves_zh.txt index 44282a68d..67c09607e 100644 --- a/PKHeX.Core/Resources/text/zh/text_Moves_zh.txt +++ b/PKHeX.Core/Resources/text/zh/text_Moves_zh.txt @@ -717,4 +717,13 @@ 麻麻刺刺 自然之怒 多属性攻击 -千万伏特 \ No newline at end of file +千万伏特 +惊爆大头 +等离子闪电拳 +光子喷涌 +焚天灭世炽光爆 +日光回旋下苍穹 +月华飞溅落灵霄 +亲密无间大乱揍 +狼啸石牙飓风暴 +炽魂热舞烈音爆 diff --git a/PKHeX.Core/Resources/text/zh/text_Species_zh.txt b/PKHeX.Core/Resources/text/zh/text_Species_zh.txt index 97ffb7197..89481951b 100644 --- a/PKHeX.Core/Resources/text/zh/text_Species_zh.txt +++ b/PKHeX.Core/Resources/text/zh/text_Species_zh.txt @@ -1,803 +1,808 @@ -蛋 -妙蛙种子 -妙蛙草 -妙蛙花 -小火龙 -火恐龙 -喷火龙 -杰尼龟 -卡咪龟 -水箭龟 -绿毛虫 -铁甲蛹 -巴大蝶 -独角虫 -铁壳蛹 -大针蜂 -波波 -比比鸟 -大比鸟 -小拉达 -拉达 -烈雀 -大嘴雀 -阿柏蛇 -阿柏怪 -皮卡丘 -雷丘 -穿山鼠 -穿山王 -尼多兰 -尼多娜 -尼多后 -尼多朗 -尼多力诺 -尼多王 -皮皮 -皮可西 -六尾 -九尾 -胖丁 -胖可丁 -超音蝠 -大嘴蝠 -走路草 -臭臭花 -霸王花 -派拉斯 -派拉斯特 -毛球 -摩鲁蛾 -地鼠 -三地鼠 -喵喵 -猫老大 -可达鸭 -哥达鸭 -猴怪 -火暴猴 -卡蒂狗 -风速狗 -蚊香蝌蚪 -蚊香君 -蚊香泳士 -凯西 -勇基拉 -胡地 -腕力 -豪力 -怪力 -喇叭芽 -口呆花 -大食花 -玛瑙水母 -毒刺水母 -小拳石 -隆隆石 -隆隆岩 -小火马 -烈焰马 -呆呆兽 -呆壳兽 -小磁怪 -三合一磁怪 -大葱鸭 -嘟嘟 -嘟嘟利 -小海狮 -白海狮 -臭泥 -臭臭泥 -大舌贝 -刺甲贝 -鬼斯 -鬼斯通 -耿鬼 -大岩蛇 -催眠貘 -引梦貘人 -大钳蟹 -巨钳蟹 -霹雳电球 -顽皮雷弹 -蛋蛋 -椰蛋树 -卡拉卡拉 -嘎啦嘎啦 -飞腿郎 -快拳郎 -大舌头 -瓦斯弹 -双弹瓦斯 -独角犀牛 -钻角犀兽 -吉利蛋 -蔓藤怪 -袋兽 -墨海马 -海刺龙 -角金鱼 -金鱼王 -海星星 -宝石海星 -魔墙人偶 -飞天螳螂 -迷唇姐 -电击兽 -鸭嘴火兽 -凯罗斯 -肯泰罗 -鲤鱼王 -暴鲤龙 -拉普拉斯 -百变怪 -伊布 -水伊布 -雷伊布 -火伊布 -多边兽 -菊石兽 -多刺菊石兽 -化石盔 -镰刀盔 -化石翼龙 -卡比兽 -急冻鸟 -闪电鸟 -火焰鸟 -迷你龙 -哈克龙 -快龙 -超梦 -梦幻 -菊草叶 -月桂叶 -大竺葵 -火球鼠 -火岩鼠 -火暴兽 -小锯鳄 -蓝鳄 -大力鳄 -尾立 -大尾立 -咕咕 -猫头夜鹰 -芭瓢虫 -安瓢虫 -圆丝蛛 -阿利多斯 -叉字蝠 -灯笼鱼 -电灯怪 -皮丘 -皮宝宝 -宝宝丁 -波克比 -波克基古 -天然雀 -天然鸟 -咩利羊 -茸茸羊 -电龙 -美丽花 -玛力露 -玛力露丽 -树才怪 -蚊香蛙皇 -毽子草 -毽子花 -毽子棉 -长尾怪手 -向日种子 -向日花怪 -蜻蜻蜓 -乌波 -沼王 -太阳伊布 -月亮伊布 -黑暗鸦 -呆呆王 -梦妖 -未知图腾 -果然翁 -麒麟奇 -榛果球 -佛烈托斯 -土龙弟弟 -天蝎 -大钢蛇 -布鲁 -布鲁皇 -千针鱼 -巨钳螳螂 -壶壶 -赫拉克罗斯 -狃拉 -熊宝宝 -圈圈熊 -熔岩虫 -熔岩蜗牛 -小山猪 -长毛猪 -太阳珊瑚 -铁炮鱼 -章鱼桶 -信使鸟 -巨翅飞鱼 -盔甲鸟 -戴鲁比 -黑鲁加 -刺龙王 -小小象 -顿甲 -多边兽Ⅱ -惊角鹿 -图图犬 -无畏小子 -战舞郎 -迷唇娃 -电击怪 -鸭嘴宝宝 -大奶罐 -幸福蛋 -雷公 -炎帝 -水君 -幼基拉斯 -沙基拉斯 -班基拉斯 -洛奇亚 -凤王 -时拉比 -木守宫 -森林蜥蜴 -蜥蜴王 -火稚鸡 -力壮鸡 -火焰鸡 -水跃鱼 -沼跃鱼 -巨沼怪 -土狼犬 -大狼犬 -蛇纹熊 -直冲熊 -刺尾虫 -甲壳茧 -狩猎凤蝶 -盾甲茧 -毒粉蛾 -莲叶童子 -莲帽小童 -乐天河童 -橡实果 -长鼻叶 -狡猾天狗 -傲骨燕 -大王燕 -长翅鸥 -大嘴鸥 -拉鲁拉丝 -奇鲁莉安 -沙奈朵 -溜溜糖球 -雨翅蛾 -蘑蘑菇 -斗笠菇 -懒人獭 -过动猿 -请假王 -土居忍士 -铁面忍者 -脱壳忍者 -咕妞妞 -吼爆弹 -爆音怪 -幕下力士 -铁掌力士 -露力丽 -朝北鼻 -向尾喵 -优雅猫 -勾魂眼 -大嘴娃 -可可多拉 -可多拉 -波士可多拉 -玛沙那 -恰雷姆 -落雷兽 -雷电兽 -正电拍拍 -负电拍拍 -电萤虫 -甜甜萤 -毒蔷薇 -溶食兽 -吞食兽 -利牙鱼 -巨牙鲨 -吼吼鲸 -吼鲸王 -呆火驼 -喷火驼 -煤炭龟 -跳跳猪 -噗噗猪 -晃晃斑 -大颚蚁 -超音波幼虫 -沙漠蜻蜓 -刺球仙人掌 -梦歌仙人掌 -青绵鸟 -七夕青鸟 -猫鼬斩 -饭匙蛇 -月石 -太阳岩 -泥泥鳅 -鲶鱼王 -龙虾小兵 -铁螯龙虾 -天秤偶 -念力土偶 -触手百合 -摇篮百合 -太古羽虫 -太古盔甲 -丑丑鱼 -美纳斯 -飘浮泡泡 -变隐龙 -怨影娃娃 -诅咒娃娃 -夜巡灵 -彷徨夜灵 -热带龙 -风铃铃 -阿勃梭鲁 -小果然 -雪童子 -冰鬼护 -海豹球 -海魔狮 -帝牙海狮 -珍珠贝 -猎斑鱼 -樱花鱼 -古空棘鱼 -爱心鱼 -宝贝龙 -甲壳龙 -暴飞龙 -铁哑铃 -金属怪 -巨金怪 -雷吉洛克 -雷吉艾斯 -雷吉斯奇鲁 -拉帝亚斯 -拉帝欧斯 -盖欧卡 -固拉多 -烈空坐 -基拉祈 -代欧奇希斯 -草苗龟 -树林龟 -土台龟 -小火焰猴 -猛火猴 -烈焰猴 -波加曼 -波皇子 -帝王拿波 -姆克儿 -姆克鸟 -姆克鹰 -大牙狸 -大尾狸 -圆法师 -音箱蟀 -小猫怪 -勒克猫 -伦琴猫 -含羞苞 -罗丝雷朵 -头盖龙 -战槌龙 -盾甲龙 -护城龙 -结草儿 -结草贵妇 -绅士蛾 -三蜜蜂 -蜂女王 -帕奇利兹 -泳圈鼬 -浮潜鼬 -樱花宝 -樱花儿 -无壳海兔 -海兔兽 -双尾怪手 -飘飘球 -随风球 -卷卷耳 -长耳兔 -梦妖魔 -乌鸦头头 -魅力喵 -东施喵 -铃铛响 -臭鼬噗 -坦克臭鼬 -铜镜怪 -青铜钟 -盆才怪 -魔尼尼 -小福蛋 -聒噪鸟 -花岩怪 -圆陆鲨 -尖牙陆鲨 -烈咬陆鲨 -小卡比兽 -利欧路 -路卡利欧 -沙河马 -河马兽 -钳尾蝎 -龙王蝎 -不良蛙 -毒骷蛙 -尖牙笼 -荧光鱼 -霓虹鱼 -小球飞鱼 -雪笠怪 -暴雪王 -玛狃拉 -自爆磁怪 -大舌舔 -超甲狂犀 -巨蔓藤 -电击魔兽 -鸭嘴炎兽 -波克基斯 -远古巨蜓 -叶伊布 -冰伊布 -天蝎王 -象牙猪 -多边兽Z -艾路雷朵 -大朝北鼻 -黑夜魔灵 -雪妖女 -洛托姆 -由克希 -艾姆利多 -亚克诺姆 -帝牙卢卡 -帕路奇亚 -席多蓝恩 -雷吉奇卡斯 -骑拉帝纳 -克雷色利亚 -霏欧纳 -玛纳霏 -达克莱伊 -谢米 -阿尔宙斯 -比克提尼 -藤藤蛇 -青藤蛇 -君主蛇 -暖暖猪 -炒炒猪 -炎武王 -水水獭 -双刃丸 -大剑鬼 -探探鼠 -步哨鼠 -小约克 -哈约克 -长毛狗 -扒手猫 -酷豹 -花椰猴 -花椰猿 -爆香猴 -爆香猿 -冷水猴 -冷水猿 -食梦梦 -梦梦蚀 -豆豆鸽 -咕咕鸽 -高傲雉鸡 -斑斑马 -雷电斑马 -石丸子 -地幔岩 -庞岩怪 -滚滚蝙蝠 -心蝙蝠 -螺钉地鼠 -龙头地鼠 -差不多娃娃 -搬运小匠 -铁骨土人 -修建老匠 -圆蝌蚪 -蓝蟾蜍 -蟾蜍王 -投摔鬼 -打击鬼 -虫宝包 -宝包茧 -保姆虫 -百足蜈蚣 -车轮球 -蜈蚣王 -木棉球 -风妖精 -百合根娃娃 -裙儿小姐 -野蛮鲈鱼 -黑眼鳄 -混混鳄 -流氓鳄 -火红不倒翁 -达摩狒狒 -沙铃仙人掌 -石居蟹 -岩殿居蟹 -滑滑小子 -头巾混混 -象征鸟 -哭哭面具 -死神棺 -原盖海龟 -肋骨海龟 -始祖小鸟 -始祖大鸟 -破破袋 -灰尘山 -索罗亚 -索罗亚克 -泡沫栗鼠 -奇诺栗鼠 -哥德宝宝 -哥德小童 -哥德小姐 -单卵细胞球 -双卵细胞球 -人造细胞卵 -鸭宝宝 -舞天鹅 -迷你冰 -多多冰 -双倍多多冰 -四季鹿 -萌芽鹿 -电飞鼠 -盖盖虫 -骑士蜗牛 -哎呀球菇 -败露球菇 -轻飘飘 -胖嘟嘟 -保姆曼波 -电电虫 -电蜘蛛 -种子铁球 -坚果哑铃 -齿轮儿 -齿轮组 -齿轮怪 -麻麻小鱼 -麻麻鳗 -麻麻鳗鱼王 -小灰怪 -大宇怪 -烛光灵 -灯火幽灵 -水晶灯火灵 -牙牙 -斧牙龙 -双斧战龙 -喷嚏熊 -冻原熊 -几何雪花 -小嘴蜗 -敏捷虫 -泥巴鱼 -功夫鼬 -师父鼬 -赤面龙 -泥偶小人 -泥偶巨人 -驹刀小兵 -劈斩司令 -爆炸头水牛 -毛头小鹰 -勇士雄鹰 -秃鹰丫头 -秃鹰娜 -熔蚁兽 -铁蚁 -单首龙 -双首暴龙 -三首恶龙 -燃烧虫 -火神蛾 -勾帕路翁 -代拉基翁 -毕力吉翁 -龙卷云 -雷电云 -莱希拉姆 -捷克罗姆 -土地云 -酋雷姆 -凯路迪欧 -美洛耶塔 -盖诺赛克特 -哈力栗 -胖胖哈力 -布里卡隆 -火狐狸 -长尾火狐 -妖火红狐 -呱呱泡蛙 -呱头蛙 -甲贺忍蛙 -掘掘兔 -掘地兔 -小箭雀 -火箭雀 -烈箭鹰 -粉蝶虫 -粉蝶蛹 -彩粉蝶 -小狮狮 -火炎狮 -花蓓蓓 -花叶蒂 -花洁夫人 -坐骑小羊 -坐骑山羊 -顽皮熊猫 -流氓熊猫 -多丽米亚 -妙喵 -超能妙喵 -独剑鞘 -双剑鞘 -坚盾剑怪 -粉香香 -芳香精 -绵绵泡芙 -胖甜妮 -好啦鱿 -乌贼王 -龟脚脚 -龟足巨铠 -垃垃藻 -毒藻龙 -铁臂枪虾 -钢炮臂虾 -伞电蜥 -光电伞蜥 -宝宝暴龙 -怪颚龙 -冰雪龙 -冰雪巨龙 -仙子伊布 -摔角鹰人 -咚咚鼠 -小碎钻 -黏黏宝 -黏美儿 -黏美龙 -钥圈儿 -小木灵 -朽木妖 -南瓜精 -南瓜怪人 -冰宝 -冰岩怪 -嗡蝠 -音波龙 -哲尔尼亚斯 -伊裴尔塔尔 -基格尔德 -蒂安希 -胡帕 -波尔凯尼恩 -木木枭 -投羽枭 -狙射树枭 -火斑喵 -炎热喵 -炽焰咆哮虎 -球球海狮 -花漾海狮 -西狮海壬 -小笃儿 -喇叭啄鸟 -铳嘴大鸟 -猫鼬少 -猫鼬探长 -强颚鸡母虫 -虫电宝 -锹农炮虫 -好胜蟹 -好胜毛蟹 -花舞鸟 -萌虻 -蝶结萌虻 -岩狗狗 -鬃岩狼人 -弱丁鱼 -好坏星 -超坏星 -泥驴仔 -重泥挽马 -滴蛛 -滴蛛霸 -伪螳草 -兰螳花 -睡睡菇 -灯罩夜菇 -夜盗火蜥 -焰后蜥 -童偶熊 -穿着熊 -甜竹竹 -甜舞妮 -甜冷美后 -花疗环环 -智挥猩 -投掷猴 -胆小虫 -具甲武者 -沙丘娃 -噬沙堡爷 -拳海参 -属性:空 -银伴战兽 -小陨星 -树枕尾熊 -爆焰龟兽 -托戈德玛尔 -谜拟Q -磨牙彩皮鱼 -老翁龙 -破破舵轮 -心鳞宝 -鳞甲龙 -杖尾鳞甲龙 -卡璞・鸣鸣 -卡璞・蝶蝶 -卡璞・哞哞 -卡璞・鳍鳍 -科斯莫古 -科斯莫姆 -索尔迦雷欧 -露奈雅拉 -虚吾伊德 -爆肌蚊 -费洛美螂 -电束木 -铁火辉夜 -纸御剑 -恶食大王 -奈克洛兹玛 -玛机雅娜 -玛夏多 \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/PKHeX.Core/Resources/text/zh/text_Species_zh2.txt b/PKHeX.Core/Resources/text/zh/text_Species_zh2.txt index 48cadb702..5690ddffe 100644 --- a/PKHeX.Core/Resources/text/zh/text_Species_zh2.txt +++ b/PKHeX.Core/Resources/text/zh/text_Species_zh2.txt @@ -1,803 +1,808 @@ -蛋 -妙蛙種子 -妙蛙草 -妙蛙花 -小火龍 -火恐龍 -噴火龍 -傑尼龜 -卡咪龜 -水箭龜 -綠毛蟲 -鐵甲蛹 -巴大蝶 -獨角蟲 -鐵殼蛹 -大針蜂 -波波 -比比鳥 -大比鳥 -小拉達 -拉達 -烈雀 -大嘴雀 -阿柏蛇 -阿柏怪 -皮卡丘 -雷丘 -穿山鼠 -穿山王 -尼多蘭 -尼多娜 -尼多后 -尼多朗 -尼多力諾 -尼多王 -皮皮 -皮可西 -六尾 -九尾 -胖丁 -胖可丁 -超音蝠 -大嘴蝠 -走路草 -臭臭花 -霸王花 -派拉斯 -派拉斯特 -毛球 -摩魯蛾 -地鼠 -三地鼠 -喵喵 -貓老大 -可達鴨 -哥達鴨 -猴怪 -火爆猴 -卡蒂狗 -風速狗 -蚊香蝌蚪 -蚊香君 -蚊香泳士 -凱西 -勇基拉 -胡地 -腕力 -豪力 -怪力 -喇叭芽 -口呆花 -大食花 -瑪瑙水母 -毒刺水母 -小拳石 -隆隆石 -隆隆岩 -小火馬 -烈焰馬 -呆呆獸 -呆殼獸 -小磁怪 -三合一磁怪 -大蔥鴨 -嘟嘟 -嘟嘟利 -小海獅 -白海獅 -臭泥 -臭臭泥 -大舌貝 -刺甲貝 -鬼斯 -鬼斯通 -耿鬼 -大岩蛇 -催眠貘 -引夢貘人 -大鉗蟹 -巨鉗蟹 -霹靂電球 -頑皮雷彈 -蛋蛋 -椰蛋樹 -卡拉卡拉 -嘎啦嘎啦 -飛腿郎 -快拳郎 -大舌頭 -瓦斯彈 -雙彈瓦斯 -獨角犀牛 -鑽角犀獸 -吉利蛋 -蔓藤怪 -袋獸 -墨海馬 -海刺龍 -角金魚 -金魚王 -海星星 -寶石海星 -魔牆人偶 -飛天螳螂 -迷唇姐 -電擊獸 -鴨嘴火獸 -凱羅斯 -肯泰羅 -鯉魚王 -暴鯉龍 -拉普拉斯 -百變怪 -伊布 -水伊布 -雷伊布 -火伊布 -多邊獸 -菊石獸 -多刺菊石獸 -化石盔 -鐮刀盔 -化石翼龍 -卡比獸 -急凍鳥 -閃電鳥 -火焰鳥 -迷你龍 -哈克龍 -快龍 -超夢 -夢幻 -菊草葉 -月桂葉 -大竺葵 -火球鼠 -火岩鼠 -火爆獸 -小鋸鱷 -藍鱷 -大力鱷 -尾立 -大尾立 -咕咕 -貓頭夜鷹 -芭瓢蟲 -安瓢蟲 -圓絲蛛 -阿利多斯 -叉字蝠 -燈籠魚 -電燈怪 -皮丘 -皮寶寶 -寶寶丁 -波克比 -波克基古 -天然雀 -天然鳥 -咩利羊 -茸茸羊 -電龍 -美麗花 -瑪力露 -瑪力露麗 -樹才怪 -蚊香蛙皇 -毽子草 -毽子花 -毽子棉 -長尾怪手 -向日種子 -向日花怪 -蜻蜻蜓 -烏波 -沼王 -太陽伊布 -月亮伊布 -黑暗鴉 -呆呆王 -夢妖 -未知圖騰 -果然翁 -麒麟奇 -榛果球 -佛烈托斯 -土龍弟弟 -天蠍 -大鋼蛇 -布魯 -布魯皇 -千針魚 -巨鉗螳螂 -壺壺 -赫拉克羅斯 -狃拉 -熊寶寶 -圈圈熊 -熔岩蟲 -熔岩蝸牛 -小山豬 -長毛豬 -太陽珊瑚 -鐵炮魚 -章魚桶 -信使鳥 -巨翅飛魚 -盔甲鳥 -戴魯比 -黑魯加 -刺龍王 -小小象 -頓甲 -多邊獸Ⅱ -驚角鹿 -圖圖犬 -無畏小子 -戰舞郎 -迷唇娃 -電擊怪 -鴨嘴寶寶 -大奶罐 -幸福蛋 -雷公 -炎帝 -水君 -幼基拉斯 -沙基拉斯 -班基拉斯 -洛奇亞 -鳳王 -時拉比 -木守宮 -森林蜥蜴 -蜥蜴王 -火稚雞 -力壯雞 -火焰雞 -水躍魚 -沼躍魚 -巨沼怪 -土狼犬 -大狼犬 -蛇紋熊 -直衝熊 -刺尾蟲 -甲殼繭 -狩獵鳳蝶 -盾甲繭 -毒粉蛾 -蓮葉童子 -蓮帽小童 -樂天河童 -橡實果 -長鼻葉 -狡猾天狗 -傲骨燕 -大王燕 -長翅鷗 -大嘴鷗 -拉魯拉絲 -奇魯莉安 -沙奈朵 -溜溜糖球 -雨翅蛾 -蘑蘑菇 -斗笠菇 -懶人獺 -過動猿 -請假王 -土居忍士 -鐵面忍者 -脫殼忍者 -咕妞妞 -吼爆彈 -爆音怪 -幕下力士 -鐵掌力士 -露力麗 -朝北鼻 -向尾喵 -優雅貓 -勾魂眼 -大嘴娃 -可可多拉 -可多拉 -波士可多拉 -瑪沙那 -恰雷姆 -落雷獸 -雷電獸 -正電拍拍 -負電拍拍 -電螢蟲 -甜甜螢 -毒薔薇 -溶食獸 -吞食獸 -利牙魚 -巨牙鯊 -吼吼鯨 -吼鯨王 -呆火駝 -噴火駝 -煤炭龜 -跳跳豬 -噗噗豬 -晃晃斑 -大顎蟻 -超音波幼蟲 -沙漠蜻蜓 -刺球仙人掌 -夢歌仙人掌 -青綿鳥 -七夕青鳥 -貓鼬斬 -飯匙蛇 -月石 -太陽岩 -泥泥鰍 -鯰魚王 -龍蝦小兵 -鐵螯龍蝦 -天秤偶 -念力土偶 -觸手百合 -搖籃百合 -太古羽蟲 -太古盔甲 -醜醜魚 -美納斯 -飄浮泡泡 -變隱龍 -怨影娃娃 -詛咒娃娃 -夜巡靈 -彷徨夜靈 -熱帶龍 -風鈴鈴 -阿勃梭魯 -小果然 -雪童子 -冰鬼護 -海豹球 -海魔獅 -帝牙海獅 -珍珠貝 -獵斑魚 -櫻花魚 -古空棘魚 -愛心魚 -寶貝龍 -甲殼龍 -暴飛龍 -鐵啞鈴 -金屬怪 -巨金怪 -雷吉洛克 -雷吉艾斯 -雷吉斯奇魯 -拉帝亞斯 -拉帝歐斯 -蓋歐卡 -固拉多 -烈空坐 -基拉祈 -代歐奇希斯 -草苗龜 -樹林龜 -土台龜 -小火焰猴 -猛火猴 -烈焰猴 -波加曼 -波皇子 -帝王拿波 -姆克兒 -姆克鳥 -姆克鷹 -大牙狸 -大尾狸 -圓法師 -音箱蟀 -小貓怪 -勒克貓 -倫琴貓 -含羞苞 -羅絲雷朵 -頭蓋龍 -戰槌龍 -盾甲龍 -護城龍 -結草兒 -結草貴婦 -紳士蛾 -三蜜蜂 -蜂女王 -帕奇利茲 -泳圈鼬 -浮潛鼬 -櫻花寶 -櫻花兒 -無殼海兔 -海兔獸 -雙尾怪手 -飄飄球 -隨風球 -捲捲耳 -長耳兔 -夢妖魔 -烏鴉頭頭 -魅力喵 -東施喵 -鈴鐺響 -臭鼬噗 -坦克臭鼬 -銅鏡怪 -青銅鐘 -盆才怪 -魔尼尼 -小福蛋 -聒噪鳥 -花岩怪 -圓陸鯊 -尖牙陸鯊 -烈咬陸鯊 -小卡比獸 -利歐路 -路卡利歐 -沙河馬 -河馬獸 -鉗尾蠍 -龍王蠍 -不良蛙 -毒骷蛙 -尖牙籠 -螢光魚 -霓虹魚 -小球飛魚 -雪笠怪 -暴雪王 -瑪狃拉 -自爆磁怪 -大舌舔 -超甲狂犀 -巨蔓藤 -電擊魔獸 -鴨嘴炎獸 -波克基斯 -遠古巨蜓 -葉伊布 -冰伊布 -天蠍王 -象牙豬 -多邊獸Z -艾路雷朵 -大朝北鼻 -黑夜魔靈 -雪妖女 -洛托姆 -由克希 -艾姆利多 -亞克諾姆 -帝牙盧卡 -帕路奇亞 -席多藍恩 -雷吉奇卡斯 -騎拉帝納 -克雷色利亞 -霏歐納 -瑪納霏 -達克萊伊 -謝米 -阿爾宙斯 -比克提尼 -藤藤蛇 -青藤蛇 -君主蛇 -暖暖豬 -炒炒豬 -炎武王 -水水獺 -雙刃丸 -大劍鬼 -探探鼠 -步哨鼠 -小約克 -哈約克 -長毛狗 -扒手貓 -酷豹 -花椰猴 -花椰猿 -爆香猴 -爆香猿 -冷水猴 -冷水猿 -食夢夢 -夢夢蝕 -豆豆鴿 -咕咕鴿 -高傲雉雞 -斑斑馬 -雷電斑馬 -石丸子 -地幔岩 -龐岩怪 -滾滾蝙蝠 -心蝙蝠 -螺釘地鼠 -龍頭地鼠 -差不多娃娃 -搬運小匠 -鐵骨土人 -修建老匠 -圓蝌蚪 -藍蟾蜍 -蟾蜍王 -投摔鬼 -打擊鬼 -蟲寶包 -寶包繭 -保母蟲 -百足蜈蚣 -車輪毬 -蜈蚣王 -木棉球 -風妖精 -百合根娃娃 -裙兒小姐 -野蠻鱸魚 -黑眼鱷 -混混鱷 -流氓鱷 -火紅不倒翁 -達摩狒狒 -沙鈴仙人掌 -石居蟹 -岩殿居蟹 -滑滑小子 -頭巾混混 -象徵鳥 -哭哭面具 -死神棺 -原蓋海龜 -肋骨海龜 -始祖小鳥 -始祖大鳥 -破破袋 -灰塵山 -索羅亞 -索羅亞克 -泡沫栗鼠 -奇諾栗鼠 -哥德寶寶 -哥德小童 -哥德小姐 -單卵細胞球 -雙卵細胞球 -人造細胞卵 -鴨寶寶 -舞天鵝 -迷你冰 -多多冰 -雙倍多多冰 -四季鹿 -萌芽鹿 -電飛鼠 -蓋蓋蟲 -騎士蝸牛 -哎呀球菇 -敗露球菇 -輕飄飄 -胖嘟嘟 -保母曼波 -電電蟲 -電蜘蛛 -種子鐵球 -堅果啞鈴 -齒輪兒 -齒輪組 -齒輪怪 -麻麻小魚 -麻麻鰻 -麻麻鰻魚王 -小灰怪 -大宇怪 -燭光靈 -燈火幽靈 -水晶燈火靈 -牙牙 -斧牙龍 -雙斧戰龍 -噴嚏熊 -凍原熊 -幾何雪花 -小嘴蝸 -敏捷蟲 -泥巴魚 -功夫鼬 -師父鼬 -赤面龍 -泥偶小人 -泥偶巨人 -駒刀小兵 -劈斬司令 -爆炸頭水牛 -毛頭小鷹 -勇士雄鷹 -禿鷹丫頭 -禿鷹娜 -熔蟻獸 -鐵蟻 -單首龍 -雙首暴龍 -三首惡龍 -燃燒蟲 -火神蛾 -勾帕路翁 -代拉基翁 -畢力吉翁 -龍捲雲 -雷電雲 -萊希拉姆 -捷克羅姆 -土地雲 -酋雷姆 -凱路迪歐 -美洛耶塔 -蓋諾賽克特 -哈力栗 -胖胖哈力 -布里卡隆 -火狐狸 -長尾火狐 -妖火紅狐 -呱呱泡蛙 -呱頭蛙 -甲賀忍蛙 -掘掘兔 -掘地兔 -小箭雀 -火箭雀 -烈箭鷹 -粉蝶蟲 -粉蝶蛹 -彩粉蝶 -小獅獅 -火炎獅 -花蓓蓓 -花葉蒂 -花潔夫人 -坐騎小羊 -坐騎山羊 -頑皮熊貓 -流氓熊貓 -多麗米亞 -妙喵 -超能妙喵 -獨劍鞘 -雙劍鞘 -堅盾劍怪 -粉香香 -芳香精 -綿綿泡芙 -胖甜妮 -好啦魷 -烏賊王 -龜腳腳 -龜足巨鎧 -垃垃藻 -毒藻龍 -鐵臂槍蝦 -鋼炮臂蝦 -傘電蜥 -光電傘蜥 -寶寶暴龍 -怪顎龍 -冰雪龍 -冰雪巨龍 -仙子伊布 -摔角鷹人 -咚咚鼠 -小碎鑽 -黏黏寶 -黏美兒 -黏美龍 -鑰圈兒 -小木靈 -朽木妖 -南瓜精 -南瓜怪人 -冰寶 -冰岩怪 -嗡蝠 -音波龍 -哲爾尼亞斯 -伊裴爾塔爾 -基格爾德 -蒂安希 -胡帕 -波爾凱尼恩 -木木梟 -投羽梟 -狙射樹梟 -火斑喵 -炎熱喵 -熾焰咆哮虎 -球球海獅 -花漾海獅 -西獅海壬 -小篤兒 -喇叭啄鳥 -銃嘴大鳥 -貓鼬少 -貓鼬探長 -強顎雞母蟲 -蟲電寶 -鍬農炮蟲 -好勝蟹 -好勝毛蟹 -花舞鳥 -萌虻 -蝶結萌虻 -岩狗狗 -鬃岩狼人 -弱丁魚 -好壞星 -超壞星 -泥驢仔 -重泥挽馬 -滴蛛 -滴蛛霸 -偽螳草 -蘭螳花 -睡睡菇 -燈罩夜菇 -夜盜火蜥 -焰后蜥 -童偶熊 -穿著熊 -甜竹竹 -甜舞妮 -甜冷美后 -花療環環 -智揮猩 -投擲猴 -膽小蟲 -具甲武者 -沙丘娃 -噬沙堡爺 -拳海參 -屬性:空 -銀伴戰獸 -小隕星 -樹枕尾熊 -爆焰龜獸 -托戈德瑪爾 -謎擬Q -磨牙彩皮魚 -老翁龍 -破破舵輪 -心鱗寶 -鱗甲龍 -杖尾鱗甲龍 -卡璞・鳴鳴 -卡璞・蝶蝶 -卡璞・哞哞 -卡璞・鰭鰭 -科斯莫古 -科斯莫姆 -索爾迦雷歐 -露奈雅拉 -虛吾伊德 -爆肌蚊 -費洛美螂 -電束木 -鐵火輝夜 -紙御劍 -惡食大王 -奈克洛茲瑪 -瑪機雅娜 -瑪夏多 \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Q + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/PKHeX.Core/Resources/text/zh/text_sm_00000_zh.txt b/PKHeX.Core/Resources/text/zh/text_sm_00000_zh.txt index c7e98d348..07376f1c4 100644 --- a/PKHeX.Core/Resources/text/zh/text_sm_00000_zh.txt +++ b/PKHeX.Core/Resources/text/zh/text_sm_00000_zh.txt @@ -108,7 +108,7 @@ 11号道路 -乌拉乌拉后海岸 +乌拉乌拉海滩 13号道路 @@ -188,7 +188,46 @@ 以太乐园 -究极空间 +究极深海 马利埃静市 -市郊海角 \ No newline at end of file +市郊海角 +美乐美乐 +阿卡拉 +乌拉乌拉 +波尼 +大浪海滩 + +海滩洞穴 + +慷待海滩 + +波尼海滩 + +究极大都会 + +究极大都会塔 + +究极发电厂 + +究极峡谷 + +究极沙漠 + +究极森林 + +究极丛林 + +究极大厦 + +究极空间零地带 + +火箭队城堡 + +旷野洞窟 + +皮卡丘山谷 + +1号道路 +训练家学校 +分隔岭隧道 diff --git a/PKHeX.Core/Resources/text/zh/text_sm_30000_zh.txt b/PKHeX.Core/Resources/text/zh/text_sm_30000_zh.txt index c6eb4478c..95cc88d8a 100644 --- a/PKHeX.Core/Resources/text/zh/text_sm_30000_zh.txt +++ b/PKHeX.Core/Resources/text/zh/text_sm_30000_zh.txt @@ -13,4 +13,5 @@ Pokémon GO 关都地区 丰缘地区 阿罗拉地区 -宝可度假地 \ No newline at end of file +宝可度假地 +城都地区 diff --git a/PKHeX.Core/Resources/text/zh/text_sm_40000_zh.txt b/PKHeX.Core/Resources/text/zh/text_sm_40000_zh.txt index 953945097..4df63ede7 100644 --- a/PKHeX.Core/Resources/text/zh/text_sm_40000_zh.txt +++ b/PKHeX.Core/Resources/text/zh/text_sm_40000_zh.txt @@ -85,4 +85,4 @@ Pokémon GO 宝可梦虚拟银行 宝可梦的店 体验版 -the Pokémon Trainer Club \ No newline at end of file +the Pokémon Trainer Club diff --git a/PKHeX.Core/Resources/text/zh/text_sm_60000_zh.txt b/PKHeX.Core/Resources/text/zh/text_sm_60000_zh.txt index c54fc68a7..2f86bc038 100644 --- a/PKHeX.Core/Resources/text/zh/text_sm_60000_zh.txt +++ b/PKHeX.Core/Resources/text/zh/text_sm_60000_zh.txt @@ -1,4 +1,4 @@ 远处的人 寄放屋 寻宝猎人 -温泉婆婆 \ No newline at end of file +温泉婆婆 diff --git a/PKHeX.Core/Saves/MemeCrypto/MemeCrypto.cs b/PKHeX.Core/Saves/MemeCrypto/MemeCrypto.cs index c8dd105ac..8766109d4 100644 --- a/PKHeX.Core/Saves/MemeCrypto/MemeCrypto.cs +++ b/PKHeX.Core/Saves/MemeCrypto/MemeCrypto.cs @@ -147,9 +147,10 @@ public static byte[] Resign7(byte[] sav7) return null; // Save Chunks are 0x200 bytes each; Memecrypto signature is 0x100 bytes into the 2nd to last chunk. - int ChecksumTableOffset = sav7.Length - 0x200; - int MemeCryptoOffset = ChecksumTableOffset - 0x100; - const int ChecksumSignatureLength = 0x140; + var isUSUM = sav7.Length == SaveUtil.SIZE_G7USUM; + var ChecksumTableOffset = sav7.Length - 0x200; + var MemeCryptoOffset = isUSUM ? 0x6C100 : 0x6BB00; + var ChecksumSignatureLength = isUSUM ? 0x150 : 0x140; const int MemeCryptoSignatureLength = 0x80; var outSav = (byte[])sav7.Clone(); diff --git a/PKHeX.Core/Saves/SAV7.cs b/PKHeX.Core/Saves/SAV7.cs index 6d6eba8d8..e6095114d 100644 --- a/PKHeX.Core/Saves/SAV7.cs +++ b/PKHeX.Core/Saves/SAV7.cs @@ -114,6 +114,7 @@ private void GetBlockInfo() // clear memecrypto sig if (Blocks.Length > MemeCryptoBlock) new byte[0x80].CopyTo(Data, Blocks[MemeCryptoBlock].Offset + 0x100); + } private const int MemeCryptoBlock = 36; // todo @@ -973,6 +974,9 @@ protected override void SetDex(PKM pkm) if (pkm.IsEgg) // do not add return; + if (USUM) // TODO: IMPLEMENT POKEDEX EDITING FOR USUM + return; + int bit = pkm.Species - 1; int bd = bit >> 3; // div8 int bm = bit & 7; // mod8 diff --git a/PKHeX.WinForms/PKHeX.WinForms.csproj b/PKHeX.WinForms/PKHeX.WinForms.csproj index dcd90ba14..40b1fb436 100644 --- a/PKHeX.WinForms/PKHeX.WinForms.csproj +++ b/PKHeX.WinForms/PKHeX.WinForms.csproj @@ -734,6 +734,17 @@ + + + + + + + + + + + diff --git a/PKHeX.WinForms/Properties/Resources.Designer.cs b/PKHeX.WinForms/Properties/Resources.Designer.cs index 6d0b71dad..975089ab0 100644 --- a/PKHeX.WinForms/Properties/Resources.Designer.cs +++ b/PKHeX.WinForms/Properties/Resources.Designer.cs @@ -2330,6 +2330,16 @@ internal class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap _25_7 { + get { + object obj = ResourceManager.GetObject("_25_7", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -9300,6 +9310,16 @@ internal class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap _744_1 { + get { + object obj = ResourceManager.GetObject("_744_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -9320,6 +9340,16 @@ internal class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap _745_2 { + get { + object obj = ResourceManager.GetObject("_745_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -10110,6 +10140,36 @@ internal class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap _800_1 { + get { + object obj = ResourceManager.GetObject("_800_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap _800_2 { + get { + object obj = ResourceManager.GetObject("_800_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap _800_3 { + get { + object obj = ResourceManager.GetObject("_800_3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -10140,6 +10200,56 @@ internal class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap _803 { + get { + object obj = ResourceManager.GetObject("_803", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap _804 { + get { + object obj = ResourceManager.GetObject("_804", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap _805 { + get { + object obj = ResourceManager.GetObject("_805", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap _806 { + get { + object obj = ResourceManager.GetObject("_806", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap _807 { + get { + object obj = ResourceManager.GetObject("_807", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -12334,15 +12444,13 @@ internal class Resources { /// Looks up a localized string similar to PKHeX - By Kaphotics ///http://projectpokemon.org/pkhex /// - ///17/05/30 - New Update: - /// - Program Internals: - /// - - PKHeX now uses C# 7 language features. - /// - - PKHeX.Core is now a .NET Standard class library. + ///17/10/17 - New Update: /// - Legality: - /// - - Changed: Refactored internals to better handle matching of encounters and future plans. - /// - - Added: PIDIV method detection. For now, the only legality flagging present is for Cosseum/XD starters. - /// - - Added: More legality check flagging. Thanks javierhimura & wwwwwwzx! - /// - Main Window: /// [rest of string was truncated]";. + /// - - Fixed: Gen4 Cute Charm PIDIV detection for species that change gender ratios upon evolution (Combee etc). + /// - - Fixed: Gen6/7 Traded eggs change the origin version to the hatcher's version when hatched. Updated affected logic. + /// - - Changed: Gen2->Gen7 and Gen2->Gen1->Gen7 transfer detection & checking improved. + /// - - Changed: Another round of legality check updates. Thanks (so many different users)! + /// - Adde [rest of string was truncated]";. /// internal static string changelog { get { @@ -17381,7 +17489,7 @@ internal class Resources { } /// - /// Looks up a localized string similar to 20170530. + /// Looks up a localized string similar to 20171017. /// internal static string ProgramVersion { get { diff --git a/PKHeX.WinForms/Properties/Resources.resx b/PKHeX.WinForms/Properties/Resources.resx index f60aa5fac..70130507c 100644 --- a/PKHeX.WinForms/Properties/Resources.resx +++ b/PKHeX.WinForms/Properties/Resources.resx @@ -5956,4 +5956,37 @@ ..\Resources\img\Pokemon Sprites\490-e.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\img\Pokemon Sprites\25-7.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Pokemon Sprites\744-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Pokemon Sprites\745-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Pokemon Sprites\800-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Pokemon Sprites\800-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Pokemon Sprites\800-3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Pokemon Sprites\803.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Pokemon Sprites\804.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Pokemon Sprites\805.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Pokemon Sprites\806.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Pokemon Sprites\807.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/PKHeX.WinForms/Resources/img/Pokemon Sprites/25-7.png b/PKHeX.WinForms/Resources/img/Pokemon Sprites/25-7.png new file mode 100644 index 0000000000000000000000000000000000000000..3f5c68039b456adaa4ad41fa0ee8057a221203ff GIT binary patch literal 475 zcmV<10VMv3P)X00001b5ch_0Itp) z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0dPq~K~z{r&66=w z!!Qs9fIRY)E%akc|4X#0%BhaSg2wZ_9&z&l4D9|CsJugtdR9Z}i6id2`JV0< zp|V1b&~dxosavEz_hNb z?vjrZ;4s(X!+PQXm5#hqGJKE)FM-{{(el?gK&7E%@qtJif;eGD9H7#XKiCc%g$LWP zm*+JXzRrLb;dPAhw08p5c`_Nk3>@0h(_8tdoH_(xo&MUR5qf45^3WE z%ya9ypt1uE^kHCh_W+fhNW>X00001b5ch_0Itp) z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0g6dPK~z{r&6F{6 zgD?<9eH5;dGObHWj=(i2)A|UMDc!pC5olB98cP0-R2fd%vI+BY$c7Zko&u4L6W&ZY9yT^NPM38g9gHJ}0;v8a_e# rKH|9;+XW4uX00001b5ch_0Itp) z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0z*keK~z{r&6K@$ z8!-@s6}k+jDnX%Bg)G6L+E5D)9kK+s;LxE`w{pg}!a#H2oJfk6ANRfQ-C?kpor8Yv zmSwqVqIgS0@s^0M_xslVT4;Lqo^jR~dTZSzijEs~JYYdMG=)4I zp6f~Vo;t@q9|NYxxgv^=OpFmoq2_>;Lh|H{g6X!=xQfPrYPqftEd5&kik z++q|Rg&QF#3plR{kOE3qIB`|L9Zx32aB#MpX00001b5ch_0Itp) z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0^3PMK~z{rt(Gxz z8!-$;b&Qm{f{x%eWlER1hDw*YM#@|vrOTAMLQ0ouH~S$x<`afik|WQ&Aqj%OTdt(> zZdsO#?DzXY7h73;?PniF8x+=flCaqF{QNb>WXkDk!acduLdk2>AP>95h&?@hUJi#t z>}k|GbEaIc?LCqyS9JN)LP@s>B88|}UeA#0b-g|{RJS}>?A0^VLJ3y{he#D$-cFOC z@VdtIV8`RjyGwAVX`xM%i(+>8ERiDLk6-?YC5owO=8u|5#1Rv!?XsB@`8bUU#Y}J% z2pN;`wWB7w5uME%qt@y4bD$i79Jgqfal7EStyLgK-CEw9%hE`rV%aEA9ql2AjLUic z%58#rLKm!Z?73Xzd2Z&oB!a4Ma`X)@3L4XmAaqsE#K=WRaAQJ(>QnkoPSe7Y;xNUK z+>}cpr^+G4Tz#zPA2Z79{In6%;OpoJ1VtB%%E( zCR9J!loQh;4@C2Cubk0*Ln@wi|N91=D9)=!Fr-ql`;sWv@ds5+ z)pmhvOpCQxj4p}bXjX5~)-E>kS25Lih@c-%!H}dGLRBo*tAIxRGoXB((;4I*B3Mbm zkVF7E#vldAK|~{GEY|kAL>m+oGbTw;j91SqMMyWvLujo!U9TX00001b5ch_0Itp) z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0@g`HK~z{ry^}GL z6EP4)eGJ0Af{(B%M{u|yS8zy3$}xO}4L2m*l#q~+beJdfRIP4d)>URz^-D8fzgtfl z`><`>QV$OgQCnB`@1_+4D#oICdwTiV#B*A^n=*$gMlTR%z`X|~$~?vB!R>T_%C8wLbF{BZMbN23}adMQ{EJa;RdU9&TWYfoG!|G{OA~QU+BF)WfZj zpO%4VqyD_yWTDY#0U1?Tih&4HAmH=&Ul}rP(6W8@Ild2{AtYagpU?UHxrudhdt_2E zkPTOWZlF&tY|z#cd;vTjj{}Z5X7|XXVi=?-1JYOkeLOZ|=2l{c9cL#D740~zib zkOBx3KkxSGYXRh$di%s7=(_+$IE3GR8a+o3hhX^V9)RetkbJ86`7<1%J`VfDFF?lq z_Q=rmq6{WANI{ekzOMio-khQzIr0jRz2rdCi|RltwI%}bX$A9Hz!jXg-TSnDWbLaj z2bx}@2wu?y#f*d#&>r@pF(QDo zn|DvYt;Jg;BV2@HwpOSJhcbsMMlTpZZ2tQCJlzn!YCwIBXXOp4o^QR=+>|*~F)U_N zHwQ37vL@_++SgTtWDW-#P*Isf6{8ol4K9~U*&INh$(hIZARb0YL9an(4pod$G;T{! z0a@#svO;UlHb*)kG8%VrGy}mxx-J+#=iv;K@U}#nMHf@LB0C5NTi_XTz00000 LNkvXXu0mjfY!Yq? literal 0 HcmV?d00001 diff --git a/PKHeX.WinForms/Resources/img/Pokemon Sprites/800-3.png b/PKHeX.WinForms/Resources/img/Pokemon Sprites/800-3.png new file mode 100644 index 0000000000000000000000000000000000000000..5d8e5abac3ddedbbedfe01d82e649c7f24a1f857 GIT binary patch literal 753 zcmVX00001b5ch_0Itp) z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0)|OMK~z{rt(3u4 z96=0331!ppajy=6qf;ORr$87^gCi*r!lp2$M1Q>+wR(2&`cSXcYN_gbz&vf+_K+@@ zOR9T+RBiK~fHAm@y3RhTwpnE$31RnbyS)oAAnWd! z*EdD4^FO1uDPim(stsnlUVkQ__nTguaYk)ZlBvvZA1@iAQ=tM=|M$ytf~fYpWP5GK z8BGlgha$8>Iv}dRHs5-C=8<+6Gl&3(7`=G&zUm6sL7JwXGgM_^3mM=L>hrGq+w0d? z1kM4+Yz2v)d37^8I4O%UkYI#y$Cw&z&p)!(n`VZWE8pv>H&e_X0!scB9FpHX^y}@G zfO=<^-A~~g-kSUPbDiePUd*om)68oODxgA;2chB z*zI?4F5kHa=nJ`|S^)xbd5G?|6ScrraLh<{KLpHWz7k8k3!(<9_PgdBjJM(CHNN3Z zZvyloLS#zFSWLJYPF;edr?Ua_deRCo;gADVIQ|xL0z(L%<*b_eFr5NKfC^GT{)ZYk z&DrnZ3P|EDcI>``ld|vyTgtol_>%qw0hILa^Pj>$GPI+Ud7F)yyMR92^zy59a7d77 z?1tFucE-%N0i$2<3g$;$!vOPth=X--lIN@dBi!mv83u$-4^^!>2_WP^oyOh_SRi-( z@|HjnU(0)f)*SN(Agg}n?jVk&B`y1p3DM_`nlPP&I|Og^>zi^Xkd?+#7!Y0|00z|F z*!8n&f>iDVvXU8vnVlh^{It1Acoy$}2SjG(N}zg<_oH3cX00001b5ch_0Itp) z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0pLkQK~z{r&6T}v z!!Q^`J&IRxo6;ksOqgB6EPgo%4+#;_fiEA0vFYKJ2NBA9udP4t)P}m zkSic55Y>Lpai3<7h+(3Y%miQe@8#p|XS%v1(n$J8p5~8;VFEdcBq@Iu?9;vE9x9mL z7@4DW<+uF7#4ynd@|Gm$GRSeyFMwd0y+jNXBSGLX00001b5ch_0Itp) z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0;@?xK~z{rwUse) z8!-$;eH2|mM{uh$M@X60Wy+LpQ>JvOYoyFIe1x3b)*onPNazN7ZMmnrB5T$tnvouK0B zywACZDadBteEae399V9gL#`9tUj77`uXR^(ADDtXG=!d?PqF@bdg&yueZ7&tLv-xB z4@`j<=;ru(8^PuFnjUdZk~^XicYVZ?P@xL~x2boLHBJ59YEk*Zwy_$bv;sauVdpISueS-9GGzn&jx=9#i1xFom6ce9BajrQ{UW+dG0U;jt*1U$w}~U zK6MkUm8VucY&~KZbxHS_0!NJ`R|O^Ef;_oVa@-!VhVBsiRS@JcNjW;0MOWo$EFVNIED*yx>daf5=@t+!~imi;NHWWf*vZik%q7%q?j&gfQMR(0L1J=&y5 zi4XxqA>&C95v2GKdLLbmywwHW%u1Vdyy1mq2yqnzzdd68>a%|I=w>=?vO^8Majrv9 zLJ|em{-c2+y3DDx$y-UmkOciplZ;}$!{l@}>)O6fo4gebF(y%$^IH>L&q|xT6(8h- zFGwcP*UBII%q_k4Xp^6T;SJ+|G;8I%`bwL8B$7$7yM7?hCLc`-PNJ;4voqV%KULXS Ut#KB5=l}o!07*qoM6N<$g34%S1poj5 literal 0 HcmV?d00001 diff --git a/PKHeX.WinForms/Resources/img/Pokemon Sprites/805.png b/PKHeX.WinForms/Resources/img/Pokemon Sprites/805.png new file mode 100644 index 0000000000000000000000000000000000000000..1fd2d582d81a2963f717d06e9f51d7b200e405bb GIT binary patch literal 739 zcmV<90v!E`P)X00001b5ch_0Itp) z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0(eP8K~z{r#gwse z8!-??Rf0o@OkILPx1dlZFjdGBoH|sf(4kY6;1*nl(=#3hAMEE-%e=Vi8Kv9N>e$zrIa={Cw~5{BnBfXw7>(t1)LJ2Z%+m=6QAEcs!m-C48M8 zUB4h(bCLtZBB+s&)9KVXHSa-8FG{xNBnOB^P$MBOD5*MFCj>nEnxEP| z1iPfdT~KHsxQIyWWcrNc0I>+(Jm@k$)CK*NCF0M5(04*KwYa1s>i z)8Ay3?C1co2sNP5zbC{r5Oj(z1X_1lo~e;lvZDjUBGiD!6x0b;Sp+_P`@NH*543() zL5a9vl|_OVVLu?O-XgurPYw`^Py-tAidTXlv3s6i5B`@cmXy}@OQz3A4iJmr&5fPR zwJVmO_WH9+lj$>(1H>YDbEBW0WEet?p_i^$Vv>@W_Rw$n(E(x+tht9JL49is)nFHN zDXsIX{=tU?cmIGj2vHy6CwS`>>vv>C2Z%+WiDnmc5wZFPB_$zhN$`?nEUJNKh4T!E zR4Ktg;EJo1)|KPyqZVCakZM@St9?9E zOD?gf00!`u9&&}g&%aq}WzXE3UOu_Rq8ezfZ@J)R!TRFK17Z<8Od$}~EAypRl7s%Y z&vs%F)ab0%2UBh#IPu&{EW#?Jt`Ba#;z`Y|#3HPM>iXdS30@-Xm)KGceC9dZ!(W-^ VK@1jciwFP!002ovPDHLkV1gicOOOBn literal 0 HcmV?d00001 diff --git a/PKHeX.WinForms/Resources/img/Pokemon Sprites/806.png b/PKHeX.WinForms/Resources/img/Pokemon Sprites/806.png new file mode 100644 index 0000000000000000000000000000000000000000..460d370b61054202a8c2ce176a3766610b284a85 GIT binary patch literal 686 zcmV;f0#W^mP)X00001b5ch_0Itp) z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0z*keK~z{r&6Y8C z8!-$-eS{oAZAx7yrLLiCq;#1wWm=UfeT9@hf?8$<;!s#=TUr$6~jfYK#aoO0X@ zf^-QO*sKiZRr@~-;u3MZ8p;tyf4>it|IA<-fXfsznhj&mx^!j(DwbGrMsJSo_Ho_> z%td};5>-pAIHNbm_8Kxe4CB#0hd~Ut(aoLT_p!2GrZT8pV#Rx;=I!|U3aN*TraLEt ztYdvTJHUx0R=h`Vj4ga*gE_iM8C4z6$(Vq=#EO;L7(l+7q>;Qvz~IarL28K=GpV75 zK)wb|)Vt}lbbj>Zy26T?-n5h$*p%jI^5?f70kv#YcTC!s@4w=YVI70#wdV@#%#0N)Y}8TX zF@P)0%9M;z=a+`pjQr>sI*;uXD^|LZ87RBlK^o$DA9r{Et}k_L^t$32bdb;oPf!E`|60 zM{NIs6=%3X1(aQa`;yy$k|kDr1P#HRij~nd85`!@`A4zhXOW?dtNRF6d>-1%U+dSD Uon-*?mH+?%07*qoM6N<$g7+jqv;Y7A literal 0 HcmV?d00001 diff --git a/PKHeX.WinForms/Resources/img/Pokemon Sprites/807.png b/PKHeX.WinForms/Resources/img/Pokemon Sprites/807.png new file mode 100644 index 0000000000000000000000000000000000000000..e7c9f348f8aeb26ac4542baf3eb63910e6185808 GIT binary patch literal 618 zcmV-w0+s!VP)X00001b5ch_0Itp) z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0sl!vK~z{r&6P1$ z0x=XtS%xJoB};G%lrDkRl9Fw(1WQ{=w&4;iZR6ZHFXvBqfq)8l&OKpXCVAH|qqCIK zLu127!iJB84X zCd*ZVMbz!piw#?-ka7eiDY+mxk#&3ZV#5}cQ7XCT&HF^|ZTB*{zN;W|>-|TOtmW40 z*V_t?a$SPR-AiyH7X>3x?yiDPPVG1LnRbSQc}z1a=0ZO z$&mwVv|ju5V#5|Hp%6KqwLA_o{2&Gr;};RExtZW%v6vxnIPA+CD_NZ?>^4tXu0BO@ z`#WrS3JFS5AclpF&Bi*7lJVn^NNJTkhInC}^Qlx2qJkI#(y ziY3W?agEkhqIur+fel-Xo0S56wUX0wC_zp%O2qZt7bRUE*sz5PcsY+#;nS|{oHz=o#?MY&9;7zG(6&pp+eyzbuw zK_z_E$c-fvNf`4eR@O#2a6Mqdb7<4CAWD>HvdZJSZaJ`F586C1#3{eM{BTV^eB=*$ zTr-ga=33aWhgc9$c@a3ZCeF36;WgCdy#nX3;p32I-}SJx^Wx=5vj6}907*qoM6N<$ Ef`E1xk^lez literal 0 HcmV?d00001 From 80bedb97c4014f5edfa42fa9b570be416a5e9b45 Mon Sep 17 00:00:00 2001 From: Kurt Date: Wed, 8 Nov 2017 13:06:20 -0800 Subject: [PATCH 05/81] Misc tweaks Adds game names for languages other than english adds z crystal sprites for held items temp-fixes chinese pkm names (need manual translation for the new species) remove newline at eof toggle back on legal item lists, add assumed Key Item list differentiate duplicate item name strings (-arizers) --- PKHeX.Core/Game/GameInfo.cs | 2 + PKHeX.Core/Legality/Tables7.cs | 22 +- .../Resources/text/de/text_Abilities_de.txt | 2 +- .../Resources/text/de/text_Games_de.txt | 4 +- .../Resources/text/de/text_Items_de.txt | 4 +- .../Resources/text/de/text_Moves_de.txt | 2 +- .../Resources/text/de/text_Species_de.txt | 2 +- .../Resources/text/de/text_sm_00000_de.txt | 2 +- .../Resources/text/de/text_sm_30000_de.txt | 2 +- .../Resources/text/de/text_sm_40000_de.txt | 2 +- .../Resources/text/de/text_sm_60000_de.txt | 2 +- .../Resources/text/en/text_Abilities_en.txt | 2 +- .../Resources/text/en/text_Forms_en.txt | Bin 7130 -> 7126 bytes .../Resources/text/en/text_Items_en.txt | 2 +- .../Resources/text/en/text_Moves_en.txt | 2 +- .../Resources/text/en/text_Species_en.txt | 2 +- .../Resources/text/en/text_sm_00000_en.txt | 2 +- .../Resources/text/en/text_sm_30000_en.txt | 2 +- .../Resources/text/en/text_sm_40000_en.txt | 2 +- .../Resources/text/en/text_sm_60000_en.txt | 2 +- .../Resources/text/es/text_Abilities_es.txt | 2 +- .../Resources/text/es/text_Forms_es.txt | Bin 7406 -> 7402 bytes .../Resources/text/es/text_Games_es.txt | 4 +- .../Resources/text/es/text_Items_es.txt | 4 +- .../Resources/text/es/text_Moves_es.txt | 2 +- .../Resources/text/es/text_Species_es.txt | 2 +- .../Resources/text/es/text_sm_00000_es.txt | 2 +- .../Resources/text/es/text_sm_30000_es.txt | 2 +- .../Resources/text/es/text_sm_40000_es.txt | 2 +- .../Resources/text/es/text_sm_60000_es.txt | 2 +- .../Resources/text/fr/text_Abilities_fr.txt | 2 +- .../Resources/text/fr/text_Forms_fr.txt | Bin 7356 -> 7352 bytes .../Resources/text/fr/text_Games_fr.txt | 4 +- .../Resources/text/fr/text_Items_fr.txt | 4 +- .../Resources/text/fr/text_Moves_fr.txt | 2 +- .../Resources/text/fr/text_Species_fr.txt | 2 +- .../Resources/text/fr/text_sm_00000_fr.txt | 2 +- .../Resources/text/fr/text_sm_30000_fr.txt | 2 +- .../Resources/text/fr/text_sm_40000_fr.txt | 2 +- .../Resources/text/fr/text_sm_60000_fr.txt | 2 +- .../Resources/text/it/text_Abilities_it.txt | 2 +- .../Resources/text/it/text_Forms_it.txt | Bin 7554 -> 7550 bytes .../Resources/text/it/text_Games_it.txt | 4 +- .../Resources/text/it/text_Items_it.txt | 2 +- .../Resources/text/it/text_Moves_it.txt | 2 +- .../Resources/text/it/text_Species_it.txt | 2 +- .../Resources/text/it/text_sm_00000_it.txt | 2 +- .../Resources/text/it/text_sm_30000_it.txt | 2 +- .../Resources/text/it/text_sm_40000_it.txt | 2 +- .../Resources/text/it/text_sm_60000_it.txt | 2 +- .../Resources/text/ja/text_Abilities_ja.txt | 2 +- .../Resources/text/ja/text_Forms_ja.txt | Bin 7922 -> 7918 bytes .../Resources/text/ja/text_Games_ja.txt | 4 +- .../Resources/text/ja/text_Items_ja.txt | 2 +- .../Resources/text/ja/text_Moves_ja.txt | 2 +- .../Resources/text/ja/text_Species_ja.txt | 2 +- .../Resources/text/ja/text_sm_00000_ja.txt | 2 +- .../Resources/text/ja/text_sm_30000_ja.txt | 2 +- .../Resources/text/ja/text_sm_40000_ja.txt | 2 +- .../Resources/text/ja/text_sm_60000_ja.txt | 2 +- .../Resources/text/ko/text_Abilities_ko.txt | 2 +- .../Resources/text/ko/text_Forms_ko.txt | Bin 7074 -> 7070 bytes .../Resources/text/ko/text_Games_ko.txt | 4 +- .../Resources/text/ko/text_Items_ko.txt | 2 +- .../Resources/text/ko/text_Moves_ko.txt | 2 +- .../Resources/text/ko/text_Species_ko.txt | 2 +- .../Resources/text/ko/text_sm_00000_ko.txt | 2 +- .../Resources/text/ko/text_sm_30000_ko.txt | 2 +- .../Resources/text/ko/text_sm_40000_ko.txt | 2 +- .../Resources/text/ko/text_sm_60000_ko.txt | 2 +- .../Resources/text/zh/text_Abilities_zh.txt | 2 +- .../Resources/text/zh/text_Forms_zh.txt | Bin 6826 -> 6822 bytes .../Resources/text/zh/text_Games_zh.txt | 4 +- .../Resources/text/zh/text_Items_zh.txt | 2 +- .../Resources/text/zh/text_Moves_zh.txt | 2 +- .../Resources/text/zh/text_Species_zh.txt | 1616 ++++++++--------- .../Resources/text/zh/text_Species_zh2.txt | 1616 ++++++++--------- .../Resources/text/zh/text_sm_00000_zh.txt | 2 +- .../Resources/text/zh/text_sm_30000_zh.txt | 2 +- .../Resources/text/zh/text_sm_40000_zh.txt | 2 +- .../Resources/text/zh/text_sm_60000_zh.txt | 2 +- PKHeX.WinForms/PKHeX.WinForms.csproj | 6 + .../Properties/Resources.Designer.cs | 62 +- PKHeX.WinForms/Properties/Resources.resx | 18 + .../Resources/img/item/item_921.png | Bin 0 -> 303 bytes .../Resources/img/item/item_922.png | Bin 0 -> 309 bytes .../Resources/img/item/item_923.png | Bin 0 -> 290 bytes .../Resources/img/item/item_924.png | Bin 0 -> 290 bytes .../Resources/img/item/item_925.png | Bin 0 -> 297 bytes .../Resources/img/item/item_926.png | Bin 0 -> 296 bytes 90 files changed, 1794 insertions(+), 1708 deletions(-) create mode 100644 PKHeX.WinForms/Resources/img/item/item_921.png create mode 100644 PKHeX.WinForms/Resources/img/item/item_922.png create mode 100644 PKHeX.WinForms/Resources/img/item/item_923.png create mode 100644 PKHeX.WinForms/Resources/img/item/item_924.png create mode 100644 PKHeX.WinForms/Resources/img/item/item_925.png create mode 100644 PKHeX.WinForms/Resources/img/item/item_926.png diff --git a/PKHeX.Core/Game/GameInfo.cs b/PKHeX.Core/Game/GameInfo.cs index dcfcbdf92..e56917fc0 100644 --- a/PKHeX.Core/Game/GameInfo.cs +++ b/PKHeX.Core/Game/GameInfo.cs @@ -183,6 +183,8 @@ private void SanitizeItemNames() itemlist[771] += " (3)"; // Meteorite itemlist[772] += " (4)"; // Meteorite itemlist[842] += " (SM)"; // Fishing Rod + itemlist[945] += " (2)"; // Used Solarizer + itemlist[946] += " (2)"; // Used Lunarizer // Append Z-Crystal flagging foreach (var i in Legal.Pouch_ZCrystal_USUM) diff --git a/PKHeX.Core/Legality/Tables7.cs b/PKHeX.Core/Legality/Tables7.cs index 2c0b89754..ee2d059ca 100644 --- a/PKHeX.Core/Legality/Tables7.cs +++ b/PKHeX.Core/Legality/Tables7.cs @@ -12,10 +12,10 @@ public static partial class Legal internal const int MaxBallID_7 = 0x1A; // 26 internal const int MaxGameID_7 = 41; // Crystal (VC?) - internal const int MaxSpeciesID_7_USUM = 807; // 807 todo - internal const int MaxMoveID_7_USUM = 728; // 728 todo - internal const int MaxItemID_7_USUM = 959; // 959 todo - internal const int MaxAbilityID_7_USUM = 233; // 233 todo + internal const int MaxSpeciesID_7_USUM = 807; + internal const int MaxMoveID_7_USUM = 728; + internal const int MaxItemID_7_USUM = 959; + internal const int MaxAbilityID_7_USUM = 233; #region Met Locations @@ -93,11 +93,11 @@ public static partial class Legal 705, 706, 765, 773, 797, 841, 842, 843, 845, 847, 850, 857, 858, 860, }; - internal static readonly ushort[] Pouch_Key_USUM = { - // todo - }; + internal static readonly ushort[] Pouch_Key_USUM = Pouch_Key_SM.Concat(new ushort[] { + 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948 + }).ToArray(); internal static readonly ushort[] Pouch_Roto_USUM = { - //949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959 + 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959 }; internal static readonly ushort[] Pouch_TMHM_SM = { // 02 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, @@ -123,16 +123,16 @@ public static partial class Legal 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 798, 799, 800, 801, 802, 803, 804, 805, 806, 836 }; internal static readonly ushort[] Pouch_ZCrystal_USUM = Pouch_ZCrystal_SM.Concat(new ushort[] { // Bead - //927, 928, 929, 930, 931, 932 + 927, 928, 929, 930, 931, 932 }).ToArray(); internal static readonly ushort[] Pouch_ZCrystalHeld_USUM = Pouch_ZCrystalHeld_SM.Concat(new ushort[] { // Piece - //921, 922, 923, 924, 925, 926 + 921, 922, 923, 924, 925, 926 }).ToArray(); public static readonly Dictionary ZCrystalDictionary = Pouch_ZCrystal_USUM .Zip(Pouch_ZCrystalHeld_USUM, (k, v) => new { Key = (int)k, Value = (int)v }) .ToDictionary(x => x.Key, x => x.Value); internal static readonly ushort[] HeldItems_SM = new ushort[1].Concat(Pouch_Items_SM).Concat(Pouch_Berries_SM).Concat(Pouch_Medicine_SM).Concat(Pouch_ZCrystalHeld_SM).ToArray(); - internal static readonly ushort[] HeldItems_USUM = HeldItems_SM; // todo + internal static readonly ushort[] HeldItems_USUM = new ushort[1].Concat(Pouch_Items_SM).Concat(Pouch_Berries_SM).Concat(Pouch_Medicine_SM).Concat(Pouch_ZCrystalHeld_USUM).ToArray(); private static readonly HashSet WildPokeballs7 = new HashSet { 0x01, 0x02, 0x03, 0x04, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, diff --git a/PKHeX.Core/Resources/text/de/text_Abilities_de.txt b/PKHeX.Core/Resources/text/de/text_Abilities_de.txt index 07e757f7f..3c7567acd 100644 --- a/PKHeX.Core/Resources/text/de/text_Abilities_de.txt +++ b/PKHeX.Core/Resources/text/de/text_Abilities_de.txt @@ -231,4 +231,4 @@ Gras-Erzeuger Metallprotektor Phantomschutz Prismarüstung -Zerebralmacht +Zerebralmacht \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/de/text_Games_de.txt b/PKHeX.Core/Resources/text/de/text_Games_de.txt index fd2e7673b..6da84df98 100644 --- a/PKHeX.Core/Resources/text/de/text_Games_de.txt +++ b/PKHeX.Core/Resources/text/de/text_Games_de.txt @@ -30,8 +30,8 @@ Omega Rubin Sonne Mond - - +Ultrasonne +Ultramond GO Rote Blaue [INT]/Grüne [JP] diff --git a/PKHeX.Core/Resources/text/de/text_Items_de.txt b/PKHeX.Core/Resources/text/de/text_Items_de.txt index 31ff1343d..a0432a7cb 100644 --- a/PKHeX.Core/Resources/text/de/text_Items_de.txt +++ b/PKHeX.Core/Resources/text/de/text_Items_de.txt @@ -1,4 +1,4 @@ -Kein Item +Kein Meisterball Hyperball Superball @@ -957,4 +957,4 @@ Schutzbon KP-Bon AP-Bon Statuswertebon -Fangbon +Fangbon \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/de/text_Moves_de.txt b/PKHeX.Core/Resources/text/de/text_Moves_de.txt index 369c8c6bf..568ddb78d 100644 --- a/PKHeX.Core/Resources/text/de/text_Moves_de.txt +++ b/PKHeX.Core/Resources/text/de/text_Moves_de.txt @@ -726,4 +726,4 @@ Schmetternde Sonnenwalze Geballter Mondlaser Herzliche Knuddelkloppe Fataler Steinregen -Rasselnder Seelentanz +Rasselnder Seelentanz \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/de/text_Species_de.txt b/PKHeX.Core/Resources/text/de/text_Species_de.txt index 347832e98..27a20de1e 100644 --- a/PKHeX.Core/Resources/text/de/text_Species_de.txt +++ b/PKHeX.Core/Resources/text/de/text_Species_de.txt @@ -805,4 +805,4 @@ Venicro Agoyon Muramura Kopplosio -Zeraora +Zeraora \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/de/text_sm_00000_de.txt b/PKHeX.Core/Resources/text/de/text_sm_00000_de.txt index 1812fe8a0..6260035dd 100644 --- a/PKHeX.Core/Resources/text/de/text_sm_00000_de.txt +++ b/PKHeX.Core/Resources/text/de/text_sm_00000_de.txt @@ -230,4 +230,4 @@ Pikachu-Tal Route 1 Trainerschule -Spaltberg-Tunnel +Spaltberg-Tunnel \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/de/text_sm_30000_de.txt b/PKHeX.Core/Resources/text/de/text_sm_30000_de.txt index 83b9a3aec..6a5fd3a04 100644 --- a/PKHeX.Core/Resources/text/de/text_sm_30000_de.txt +++ b/PKHeX.Core/Resources/text/de/text_sm_30000_de.txt @@ -14,4 +14,4 @@ Kanto-Region Hoenn-Region Alola-Region Pokémon-Resort -Johto-Region +Johto-Region \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/de/text_sm_40000_de.txt b/PKHeX.Core/Resources/text/de/text_sm_40000_de.txt index 7e8fb4da1..cc4e30bb8 100644 --- a/PKHeX.Core/Resources/text/de/text_sm_40000_de.txt +++ b/PKHeX.Core/Resources/text/de/text_sm_40000_de.txt @@ -85,4 +85,4 @@ Pokémon GO Pokémon Bank Pokémon-Geschäft Demo-Version -Pokémon Trainer Club +Pokémon Trainer Club \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/de/text_sm_60000_de.txt b/PKHeX.Core/Resources/text/de/text_sm_60000_de.txt index ff8c3c2c7..1c2f57288 100644 --- a/PKHeX.Core/Resources/text/de/text_sm_60000_de.txt +++ b/PKHeX.Core/Resources/text/de/text_sm_60000_de.txt @@ -1,4 +1,4 @@ Ferne Person Hortleiterinnen Schatzsucher -Dame der Heißen Quellen +Dame der Heißen Quellen \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/en/text_Abilities_en.txt b/PKHeX.Core/Resources/text/en/text_Abilities_en.txt index 101e2adcf..7383e9b68 100644 --- a/PKHeX.Core/Resources/text/en/text_Abilities_en.txt +++ b/PKHeX.Core/Resources/text/en/text_Abilities_en.txt @@ -231,4 +231,4 @@ Grassy Surge Full Metal Body Shadow Shield Prism Armor -Neuroforce +Neuroforce \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/en/text_Forms_en.txt b/PKHeX.Core/Resources/text/en/text_Forms_en.txt index da9790512579d70ecec06cf4f58659df2df4247c..4ae5cab82dd6c18339d643a38225b90f4426a478 100644 GIT binary patch delta 7 Ocmca*e$9NtHE944C + + + + + + diff --git a/PKHeX.WinForms/Properties/Resources.Designer.cs b/PKHeX.WinForms/Properties/Resources.Designer.cs index 975089ab0..8783c677c 100644 --- a/PKHeX.WinForms/Properties/Resources.Designer.cs +++ b/PKHeX.WinForms/Properties/Resources.Designer.cs @@ -19,7 +19,7 @@ namespace PKHeX.WinForms.Properties { // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { @@ -17308,6 +17308,66 @@ internal class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap item_921 { + get { + object obj = ResourceManager.GetObject("item_921", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap item_922 { + get { + object obj = ResourceManager.GetObject("item_922", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap item_923 { + get { + object obj = ResourceManager.GetObject("item_923", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap item_924 { + get { + object obj = ResourceManager.GetObject("item_924", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap item_925 { + get { + object obj = ResourceManager.GetObject("item_925", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap item_926 { + get { + object obj = ResourceManager.GetObject("item_926", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// diff --git a/PKHeX.WinForms/Properties/Resources.resx b/PKHeX.WinForms/Properties/Resources.resx index 70130507c..563cc474e 100644 --- a/PKHeX.WinForms/Properties/Resources.resx +++ b/PKHeX.WinForms/Properties/Resources.resx @@ -5989,4 +5989,22 @@ ..\Resources\img\Pokemon Sprites\807.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\img\item\item_921.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\item\item_922.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\item\item_923.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\item\item_924.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\item\item_925.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\item\item_926.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/PKHeX.WinForms/Resources/img/item/item_921.png b/PKHeX.WinForms/Resources/img/item/item_921.png new file mode 100644 index 0000000000000000000000000000000000000000..be2b1513166a9258685c2db8599168f35bfda431 GIT binary patch literal 303 zcmeAS@N?(olHy`uVBq!ia0vp^VnEEv!3HGFOzxBdDVB6cUq=Rpjs4tz5?Mi#1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPIMM=Lb}?*3-o? z#KOOI(rLj%20SjoPF^3T8eL-2UD`UuQCj9QQ)+?e&8ex^4$1LZU(28WMp8e`ZEDcJ zldIhJE_;yr;)KTnTeHo{ygzdK3=iJg@O`D)F_ySeu8$Rt-^>cq)7Ck>EM3LDrC-LU zeco>FvmNfYuE)Fj?@6f3?^&4r`1L#gBQq6OtekiIZ2p`*32ZkWewtEMWYNsLV)Mz{ wjg}KWtvK6Ix$f!P`a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPIMM=Lb}?+0(@_ z#KOOI(ni5U20X6DUEv8WYYuQkHcpy!NqY$pEKOk@ z@nSE{|0(Tmag#qQm58Vmto2_#efQzbw%1rzf4phNyOB+xn4`4F@r+r4xZ8S%uOW4f zzg`?v`SP_Q*kG^R%WZ4yi~KhyY!grBG}kL$+Gy-#5IomE{M|8~8GLFn_D?N#${ggo za(BYp12G(X&l@G&$*%qVzGQ|5bJ?#?Ikya)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPIMM=Lb}?z|+Ms z#KOOK(niq+1p#N-*3g)vp)rRqUAkl%a}Y>=Gf{8<*s$DHPR7&j$2?z-hwD{VJxTq< zzH|}O(}a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPIMM=Lb}?z|+Ms z#KOOK(nj6}1rZn7R@0b+Q)Lcbn{>%krt#7>L7iN~?}v{+X1@4{Y5wl&ghvnN{9Zld z$|tRx&0&EJ-?tuDUc>eN>8BV8!?>79whb2T8{Wqx?3Rp~VrV?Uc3Rv4yEFsgFFsBV z-?tvJ3$OaSoja}0&}m2E=gATgx-98B`+FvBjWrO}Dfl;Ki`R`N(G!uE|NajzX)v3f hZnp0Vv)Pk2_6@guf)p}NivZoq;OXk;vd$@?2>?EVY$X5y literal 0 HcmV?d00001 diff --git a/PKHeX.WinForms/Resources/img/item/item_925.png b/PKHeX.WinForms/Resources/img/item/item_925.png new file mode 100644 index 0000000000000000000000000000000000000000..d29501ac08ca1e791780c15a97d84903d3e87a65 GIT binary patch literal 297 zcmeAS@N?(olHy`uVBq!ia0vp^VnEEv!3HGFOzxBdDVB6cUq=Rpjs4tz5?Mi#1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPIMM=Lb}?+|$J| z#KOOK(nj6}10EJhRc!+%5K3v8vc|#lB$s64q-lZ?iZ68SjQo@|;yVBSE1vLTPI3KI zxvP7ewgqx?8R!*9HLLG2o&I`y;oRMPCuJSJDBh9g&M|9_PrM@KA?Q=s_${zm^MZ1o z(u_UVxBOTsU^|!9c)x`64T)opJafdF=1r5Ynz=R7fKzP8zbVhBByy_-oS*gP|Ncdc lTZ(sHJ2pM)KvzsT^SvCESB$Ig)c~E$;OXk;vd$@?2>^ZqW}E;3 literal 0 HcmV?d00001 diff --git a/PKHeX.WinForms/Resources/img/item/item_926.png b/PKHeX.WinForms/Resources/img/item/item_926.png new file mode 100644 index 0000000000000000000000000000000000000000..da184d978a15cce52088ac525666a67ac4acaafc GIT binary patch literal 296 zcmeAS@N?(olHy`uVBq!ia0vp^VnEEv!3HGFOzxBdDVB6cUq=Rpjs4tz5?Mi#1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPIMM=Lb}?%+tj& z#KOOKk|JM&0gvlM8OEK)g*@vTT#_bws0ekt6t#M)2yy@9jkQbV?wG&!@89*xipA&t zUai!Awl_t3;{t~3OKqQT464Y|yTbqYhHd*3K80Tb?>bq{q!08PWU*~Jeu?$XVz%G~ zv*)`Qe3iRwGDUyo@koQi-G(i_wZR>Ymz^#omzL^nHsfB_#CmRi(R`zvgIrG{C;$B) luF_DZcO|DrleOnWs<^3%F;k6Qya~|744$rjF6*2Ung9fDX5Rn+ literal 0 HcmV?d00001 From 56ca5d02bcb65577f1ead76418ac7a43c7b40888 Mon Sep 17 00:00:00 2001 From: Kurt Date: Wed, 8 Nov 2017 13:12:10 -0800 Subject: [PATCH 06/81] re-add newline now boots, inventory editor now works --- PKHeX.Core/Resources/text/de/text_sm_00000_de.txt | 2 +- PKHeX.Core/Resources/text/en/text_sm_00000_en.txt | 2 +- PKHeX.Core/Resources/text/es/text_sm_00000_es.txt | 2 +- PKHeX.Core/Resources/text/fr/text_sm_00000_fr.txt | 2 +- PKHeX.Core/Resources/text/it/text_sm_00000_it.txt | 2 +- PKHeX.Core/Resources/text/ja/text_sm_00000_ja.txt | 2 +- PKHeX.Core/Resources/text/ko/text_sm_00000_ko.txt | 2 +- PKHeX.Core/Resources/text/zh/text_sm_00000_zh.txt | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/PKHeX.Core/Resources/text/de/text_sm_00000_de.txt b/PKHeX.Core/Resources/text/de/text_sm_00000_de.txt index 6260035dd..1812fe8a0 100644 --- a/PKHeX.Core/Resources/text/de/text_sm_00000_de.txt +++ b/PKHeX.Core/Resources/text/de/text_sm_00000_de.txt @@ -230,4 +230,4 @@ Pikachu-Tal Route 1 Trainerschule -Spaltberg-Tunnel \ No newline at end of file +Spaltberg-Tunnel diff --git a/PKHeX.Core/Resources/text/en/text_sm_00000_en.txt b/PKHeX.Core/Resources/text/en/text_sm_00000_en.txt index 7895879ad..6f0a6e327 100644 --- a/PKHeX.Core/Resources/text/en/text_sm_00000_en.txt +++ b/PKHeX.Core/Resources/text/en/text_sm_00000_en.txt @@ -230,4 +230,4 @@ Pikachu Valley Route 1 Trainers’ School -Dividing Peak Tunnel \ No newline at end of file +Dividing Peak Tunnel diff --git a/PKHeX.Core/Resources/text/es/text_sm_00000_es.txt b/PKHeX.Core/Resources/text/es/text_sm_00000_es.txt index e706ac678..7962f8cea 100644 --- a/PKHeX.Core/Resources/text/es/text_sm_00000_es.txt +++ b/PKHeX.Core/Resources/text/es/text_sm_00000_es.txt @@ -230,4 +230,4 @@ Valle de los Pikachu Ruta 1 Escuela Entrenadores -Túnel del Volcán \ No newline at end of file +Túnel del Volcán diff --git a/PKHeX.Core/Resources/text/fr/text_sm_00000_fr.txt b/PKHeX.Core/Resources/text/fr/text_sm_00000_fr.txt index 1a895809e..1c9aeee81 100644 --- a/PKHeX.Core/Resources/text/fr/text_sm_00000_fr.txt +++ b/PKHeX.Core/Resources/text/fr/text_sm_00000_fr.txt @@ -230,4 +230,4 @@ Plaine des Pikachu Route 1 École de Dresseurs -Tunnel Perce-Mont \ No newline at end of file +Tunnel Perce-Mont diff --git a/PKHeX.Core/Resources/text/it/text_sm_00000_it.txt b/PKHeX.Core/Resources/text/it/text_sm_00000_it.txt index d1441d63b..ecdebf24e 100644 --- a/PKHeX.Core/Resources/text/it/text_sm_00000_it.txt +++ b/PKHeX.Core/Resources/text/it/text_sm_00000_it.txt @@ -230,4 +230,4 @@ Valle dei Pikachu Percorso 1 Scuola Allenatori -Tunnel del Vulcano \ No newline at end of file +Tunnel del Vulcano diff --git a/PKHeX.Core/Resources/text/ja/text_sm_00000_ja.txt b/PKHeX.Core/Resources/text/ja/text_sm_00000_ja.txt index 80d49ef76..056445d85 100644 --- a/PKHeX.Core/Resources/text/ja/text_sm_00000_ja.txt +++ b/PKHeX.Core/Resources/text/ja/text_sm_00000_ja.txt @@ -230,4 +230,4 @@ 1ばんどうろ トレーナーズスクール -ワカツダケトンネル \ No newline at end of file +ワカツダケトンネル diff --git a/PKHeX.Core/Resources/text/ko/text_sm_00000_ko.txt b/PKHeX.Core/Resources/text/ko/text_sm_00000_ko.txt index 9f27d01f3..4a0ee246b 100644 --- a/PKHeX.Core/Resources/text/ko/text_sm_00000_ko.txt +++ b/PKHeX.Core/Resources/text/ko/text_sm_00000_ko.txt @@ -230,4 +230,4 @@ 1번도로 트레이너스쿨 -경계터널 \ No newline at end of file +경계터널 diff --git a/PKHeX.Core/Resources/text/zh/text_sm_00000_zh.txt b/PKHeX.Core/Resources/text/zh/text_sm_00000_zh.txt index 472fa0dbe..07376f1c4 100644 --- a/PKHeX.Core/Resources/text/zh/text_sm_00000_zh.txt +++ b/PKHeX.Core/Resources/text/zh/text_sm_00000_zh.txt @@ -230,4 +230,4 @@ 1号道路 训练家学校 -分隔岭隧道 \ No newline at end of file +分隔岭隧道 From 97dcd1a8458d9fd42804092fd58ab5587d77bdd3 Mon Sep 17 00:00:00 2001 From: Kurt Date: Wed, 8 Nov 2017 13:29:06 -0800 Subject: [PATCH 07/81] Add pokedex forme flag correlation table --- PKHeX.Core/Saves/SaveUtil.cs | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/PKHeX.Core/Saves/SaveUtil.cs b/PKHeX.Core/Saves/SaveUtil.cs index 155f8d493..a05470357 100644 --- a/PKHeX.Core/Saves/SaveUtil.cs +++ b/PKHeX.Core/Saves/SaveUtil.cs @@ -728,7 +728,37 @@ private static void CheckHeaderFooter(ref byte[] input, ref byte[] header, ref b }; private static readonly ushort[] formtable_USUM = // u16 species, u16 formcount { - // todo + 0x0003, 0x0002, 0x0006, 0x0003, 0x0009, 0x0002, 0x000F, 0x0002, + 0x0012, 0x0002, 0x0013, 0x0002, 0x0014, 0x0003, 0x0019, 0x0008, + 0x001A, 0x0002, 0x001B, 0x0002, 0x001C, 0x0002, 0x0025, 0x0002, + 0x0026, 0x0002, 0x0032, 0x0002, 0x0033, 0x0002, 0x0034, 0x0002, + 0x0035, 0x0002, 0x0041, 0x0002, 0x004A, 0x0002, 0x004B, 0x0002, + 0x004C, 0x0002, 0x0050, 0x0002, 0x0058, 0x0002, 0x0059, 0x0002, + 0x005E, 0x0002, 0x0067, 0x0002, 0x0069, 0x0003, 0x0073, 0x0002, + 0x007F, 0x0002, 0x0082, 0x0002, 0x008E, 0x0002, 0x0096, 0x0003, + 0x00B5, 0x0002, 0x00C9, 0x001C, 0x00D0, 0x0002, 0x00D4, 0x0002, + 0x00D6, 0x0002, 0x00E5, 0x0002, 0x00F8, 0x0002, 0x00FE, 0x0002, + 0x0101, 0x0002, 0x0104, 0x0002, 0x011A, 0x0002, 0x012E, 0x0002, + 0x012F, 0x0002, 0x0132, 0x0002, 0x0134, 0x0002, 0x0136, 0x0002, + 0x013F, 0x0002, 0x0143, 0x0002, 0x014E, 0x0002, 0x015F, 0x0004, + 0x0162, 0x0002, 0x0167, 0x0002, 0x016A, 0x0002, 0x0175, 0x0002, + 0x0178, 0x0002, 0x017C, 0x0002, 0x017D, 0x0002, 0x017E, 0x0002, + 0x017F, 0x0002, 0x0180, 0x0002, 0x0182, 0x0004, 0x019C, 0x0003, + 0x019D, 0x0003, 0x019E, 0x0003, 0x01A5, 0x0002, 0x01A6, 0x0002, + 0x01A7, 0x0002, 0x01AC, 0x0002, 0x01BD, 0x0002, 0x01C0, 0x0002, + 0x01CC, 0x0002, 0x01DB, 0x0002, 0x01DF, 0x0006, 0x01E7, 0x0002, + 0x01EC, 0x0002, 0x01ED, 0x0012, 0x0213, 0x0002, 0x0226, 0x0002, + 0x022B, 0x0002, 0x0249, 0x0004, 0x024A, 0x0004, 0x0281, 0x0002, + 0x0282, 0x0002, 0x0285, 0x0002, 0x0286, 0x0003, 0x0287, 0x0002, + 0x0288, 0x0002, 0x0289, 0x0005, 0x0292, 0x0003, 0x0298, 0x0014, + 0x0299, 0x0014, 0x029A, 0x0014, 0x029D, 0x0005, 0x029E, 0x0006, + 0x029F, 0x0005, 0x02A4, 0x000A, 0x02A6, 0x0002, 0x02A9, 0x0002, + 0x02C6, 0x0004, 0x02C7, 0x0004, 0x02CC, 0x0002, 0x02CE, 0x0005, + 0x02CF, 0x0002, 0x02D0, 0x0002, 0x02DF, 0x0002, 0x02E2, 0x0002, + 0x02E5, 0x0004, 0x02E7, 0x0002, 0x02E8, 0x0002, 0x02E9, 0x0003, + 0x02EA, 0x0002, 0x02F0, 0x0002, 0x02F2, 0x0002, 0x02F6, 0x0002, + 0x0305, 0x0012, 0x0306, 0x000E, 0x0309, 0x0002, 0x030A, 0x0004, + 0x0310, 0x0002, 0x0320, 0x0004, 0x0321, 0x0002 }; private static int GetDexFormBitIndex(int species, int formct, int start, IReadOnlyList formtable) { From 9ba5ede81a923beb86587015b7a62a1ae43e332d Mon Sep 17 00:00:00 2001 From: Kurt Date: Wed, 8 Nov 2017 13:30:52 -0800 Subject: [PATCH 08/81] Fix broken test --- Tests/PKHeX.Tests/Util/DataUtilTests.cs | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/Tests/PKHeX.Tests/Util/DataUtilTests.cs b/Tests/PKHeX.Tests/Util/DataUtilTests.cs index 1b0be184f..e258b0fa0 100644 --- a/Tests/PKHeX.Tests/Util/DataUtilTests.cs +++ b/Tests/PKHeX.Tests/Util/DataUtilTests.cs @@ -1,9 +1,4 @@ using Microsoft.VisualStudio.TestTools.UnitTesting; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace PKHeX.Tests.Util { @@ -17,7 +12,7 @@ public class DataUtilTests public void TestGetPokemonNames() { var names = PKHeX.Core.Util.GetSpeciesList("en"); - Assert.AreEqual(803, names.Length); + Assert.AreEqual(808, names.Length); } } } From 47058d5709a5fe61dcb9e70ed01077c6f20481cf Mon Sep 17 00:00:00 2001 From: Kurt Date: Wed, 8 Nov 2017 13:44:55 -0800 Subject: [PATCH 09/81] Permit loading of usum met locations to pkmeditor --- PKHeX.Core/Game/GameInfo.cs | 4 ++-- PKHeX.Core/Legality/Tables.cs | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/PKHeX.Core/Game/GameInfo.cs b/PKHeX.Core/Game/GameInfo.cs index e56917fc0..aaeb4593c 100644 --- a/PKHeX.Core/Game/GameInfo.cs +++ b/PKHeX.Core/Game/GameInfo.cs @@ -317,7 +317,7 @@ public static void InitializeDataSources(GameStrings s) SpeciesDataSource = Util.GetCBList(s.specieslist, null); NatureDataSource = Util.GetCBList(s.natures, null); AbilityDataSource = Util.GetCBList(s.abilitylist, null); - VersionDataSource = Util.GetCBList(s.gamelist, Legal.Games_7sm, Legal.Games_6oras, Legal.Games_6xy, Legal.Games_5, Legal.Games_4, Legal.Games_4e, Legal.Games_4r, Legal.Games_3, Legal.Games_3e, Legal.Games_3r, Legal.Games_3s); + VersionDataSource = Util.GetCBList(s.gamelist, Legal.Games_7usum, Legal.Games_7sm, Legal.Games_6oras, Legal.Games_6xy, Legal.Games_5, Legal.Games_4, Legal.Games_4e, Legal.Games_4r, Legal.Games_3, Legal.Games_3e, Legal.Games_3r, Legal.Games_3s); VersionDataSource.AddRange(Util.GetCBList(s.gamelist, Legal.Games_7vc1).OrderBy(g => g.Value)); // stuff to end unsorted VersionDataSource.AddRange(Util.GetCBList(s.gamelist, Legal.Games_7vc2).OrderBy(g => g.Value)); // stuff to end unsorted VersionDataSource.AddRange(Util.GetCBList(s.gamelist, Legal.Games_7go).OrderBy(g => g.Value)); // stuff to end unsorted @@ -474,7 +474,7 @@ public static List GetLocationList(GameVersion Version, int SaveForma case GameVersion.GD: case GameVersion.SV: case GameVersion.C: - return MetGen7.Take(3).Concat(MetGen7.Skip(3).OrderByDescending(loc => loc.Value < 200)).ToList(); // Outer Cape + return MetGen7.Take(3).Concat(MetGen7.Skip(3).OrderByDescending(loc => loc.Value < 234)).ToList(); // Dividing Peak Tunnel } // Currently on a future game, return corresponding list for generation diff --git a/PKHeX.Core/Legality/Tables.cs b/PKHeX.Core/Legality/Tables.cs index 5cc55903d..d46ef91bf 100644 --- a/PKHeX.Core/Legality/Tables.cs +++ b/PKHeX.Core/Legality/Tables.cs @@ -386,6 +386,7 @@ public static partial class Legal public static readonly int[] Games_7vc2 = { 39, 40, 41 }; // Gold, Silver, Crystal public static readonly int[] Games_7vc1 = { 35, 36, 37, 38 }; // Red, Green, Blue, Yellow public static readonly int[] Games_7go = { 34 }; + public static readonly int[] Games_7usum = { 32, 33 }; public static readonly int[] Games_7sm = { 30, 31 }; public static readonly int[] Games_6xy = { 24, 25 }; public static readonly int[] Games_6oras = { 26, 27 }; From cf35adca6f44417d568aab00f1bdb33f30a2fe74 Mon Sep 17 00:00:00 2001 From: Kurt Date: Wed, 8 Nov 2017 14:12:41 -0800 Subject: [PATCH 10/81] Add roto blank item handling preserve input data --- PKHeX.Core/Legality/Tables7.cs | 2 +- PKHeX.WinForms/Subforms/Save Editors/SAV_Inventory.cs | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/PKHeX.Core/Legality/Tables7.cs b/PKHeX.Core/Legality/Tables7.cs index ee2d059ca..d746f2e12 100644 --- a/PKHeX.Core/Legality/Tables7.cs +++ b/PKHeX.Core/Legality/Tables7.cs @@ -96,7 +96,7 @@ public static partial class Legal internal static readonly ushort[] Pouch_Key_USUM = Pouch_Key_SM.Concat(new ushort[] { 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948 }).ToArray(); - internal static readonly ushort[] Pouch_Roto_USUM = { + public static readonly ushort[] Pouch_Roto_USUM = { 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959 }; internal static readonly ushort[] Pouch_TMHM_SM = { // 02 diff --git a/PKHeX.WinForms/Subforms/Save Editors/SAV_Inventory.cs b/PKHeX.WinForms/Subforms/Save Editors/SAV_Inventory.cs index 5ff031184..7f1a48469 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/SAV_Inventory.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/SAV_Inventory.cs @@ -197,7 +197,9 @@ private void SetBag(DataGridView dgv, InventoryPouch pouch) int c = 0; string item = dgv.Rows[i].Cells[c++].Value.ToString(); int itemindex = Array.IndexOf(itemlist, item); - if (itemindex <= 0) // Compression of Empty Slots + bool roto = pouch.Type == InventoryType.BattleItems && Legal.Pouch_Roto_USUM.Contains((ushort) itemindex); + + if (itemindex <= 0 && !roto) // Compression of Empty Slots continue; int.TryParse(dgv.Rows[i].Cells[c++].Value?.ToString(), out int itemcnt); @@ -217,7 +219,7 @@ private void SetBag(DataGridView dgv, InventoryPouch pouch) else itemcnt = pouch.MaxCount; // Cap at pouch maximum } - else if (itemcnt <= 0) + else if (itemcnt <= 0 && !roto) continue; // ignore item pouch.Items[ctr] = new InventoryItem { Index = itemindex, Count = itemcnt }; From 800ba6cf90a0e6a35710c07ca8badfa986e77d36 Mon Sep 17 00:00:00 2001 From: Kurt Date: Wed, 8 Nov 2017 15:07:04 -0800 Subject: [PATCH 11/81] encounter additions add ingame trade data add placeholder SOS data containers add refs to all wild encounters (pelago is same as sm) unmark some todo's --- PKHeX.Core/Legality/Checks.cs | 4 +-- .../Legality/Encounters/Data/Encounters7.cs | 27 +++++++++++++++--- PKHeX.Core/PKHeX.Core.csproj | 20 +++++++++++++ .../Resources/byte/encounter_um_sos.pkl | Bin 0 -> 3756 bytes .../Resources/byte/encounter_us_sos.pkl | Bin 0 -> 3756 bytes .../Resources/text/de/text_tradeusum_de.txt | 14 +++++++++ .../Resources/text/en/text_tradeusum_en.txt | 14 +++++++++ .../Resources/text/es/text_tradeusum_es.txt | 14 +++++++++ .../Resources/text/fr/text_tradeusum_fr.txt | 14 +++++++++ .../Resources/text/it/text_tradeusum_it.txt | 14 +++++++++ .../Resources/text/ja/text_tradeusum_ja.txt | 14 +++++++++ .../Resources/text/ko/text_tradeusum_ko.txt | 14 +++++++++ .../Resources/text/zh/text_tradeusum_zh.txt | 14 +++++++++ PKHeX.Core/Saves/SAV7.cs | 2 +- 14 files changed, 158 insertions(+), 7 deletions(-) create mode 100644 PKHeX.Core/Resources/byte/encounter_um_sos.pkl create mode 100644 PKHeX.Core/Resources/byte/encounter_us_sos.pkl create mode 100644 PKHeX.Core/Resources/text/de/text_tradeusum_de.txt create mode 100644 PKHeX.Core/Resources/text/en/text_tradeusum_en.txt create mode 100644 PKHeX.Core/Resources/text/es/text_tradeusum_es.txt create mode 100644 PKHeX.Core/Resources/text/fr/text_tradeusum_fr.txt create mode 100644 PKHeX.Core/Resources/text/it/text_tradeusum_it.txt create mode 100644 PKHeX.Core/Resources/text/ja/text_tradeusum_ja.txt create mode 100644 PKHeX.Core/Resources/text/ko/text_tradeusum_ko.txt create mode 100644 PKHeX.Core/Resources/text/zh/text_tradeusum_zh.txt diff --git a/PKHeX.Core/Legality/Checks.cs b/PKHeX.Core/Legality/Checks.cs index 40bf9a4cf..2c8f111cd 100644 --- a/PKHeX.Core/Legality/Checks.cs +++ b/PKHeX.Core/Legality/Checks.cs @@ -324,9 +324,9 @@ private void VerifyNicknameTrade() { case 1: case 2: VerifyTrade12(); return; - case 3: VerifyTrade3(); return; // todo + case 3: VerifyTrade3(); return; case 4: VerifyTrade4(); return; - case 5: VerifyTrade5(); return; // todo + case 5: VerifyTrade5(); return; case 6: VerifyTrade6(); return; case 7: VerifyTrade7(); return; } diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs index 1cfbc7f6c..c5e9abd4e 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs @@ -31,10 +31,12 @@ static Encounters7() var REG_US = GetEncounterTables(GameVersion.US); var REG_UM = GetEncounterTables(GameVersion.UM); + var SOS_US = GetEncounterTables("uu", "us_sos"); + var SOS_UM = GetEncounterTables("uu", "um_sos"); MarkG7REGSlots(ref REG_US); MarkG7REGSlots(ref REG_UM); - SlotsUS = AddExtraTableSlots(REG_US); - SlotsUM = AddExtraTableSlots(REG_UM); + SlotsUS = AddExtraTableSlots(REG_US, SOS_US, Encounter_Pelago_SM, Encounter_Pelago_SN); + SlotsUM = AddExtraTableSlots(REG_UM, SOS_UM, Encounter_Pelago_SM, Encounter_Pelago_MN); } private static void MarkG7REGSlots(ref EncounterArea[] Areas) { @@ -168,7 +170,14 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) }; internal static readonly EncounterTrade[] TradeGift_USUM = { - + // Trades - 4.bin + new EncounterTrade { Species = 701, Form = 0, Level = 08, Ability = 2, TID = 00410, SID = 00000, IVs = new[] {-1,31,-1,-1,-1,-1}, OTGender = 1, Gender = 0, Nature = Nature.Brave, }, // Hawlucha + new EncounterTrade { Species = 714, Form = 0, Level = 19, Ability = 1, TID = 20683, SID = 00009, IVs = new[] {-1,-1,-1,-1,31,-1}, OTGender = 0, Gender = 1, Nature = Nature.Modest, }, // Noibat + new EncounterTrade { Species = 339, Form = 0, Level = 21, Ability = 2, TID = 01092, SID = 00009, IVs = new[] {31,-1,-1,-1,-1,-1}, OTGender = 0, Gender = 1, Nature = Nature.Naughty, }, // Barboach + new EncounterTrade { Species = 024, Form = 0, Level = 22, Ability = 1, TID = 10913, SID = 00000, IVs = new[] {-1,-1,31,-1,-1,-1}, OTGender = 1, Gender = 1, Nature = Nature.Impish, }, // Arbok + new EncounterTrade { Species = 708, Form = 0, Level = 33, Ability = 1, TID = 20778, SID = 00009, IVs = new[] {-1,-1,-1,-1,-1,31}, OTGender = 0, Gender = 0, Nature = Nature.Calm, EvolveOnTrade = true }, // Phantump + new EncounterTrade { Species = 422, Form = 0, Level = 44, Ability = 2, TID = 20679, SID = 00009, IVs = new[] {-1,-1,31,-1,-1,-1}, OTGender = 1, Gender = 1, Nature = Nature.Quiet, }, // Shellos + new EncounterTrade { Species = 128, Form = 0, Level = 59, Ability = 1, TID = 56734, SID = 00008, IVs = new[] {-1,-1,-1,31,-1,-1}, OTGender = 0, Gender = 0, Nature = Nature.Jolly, }, // Tauros }; internal static readonly string[][] TradeSM = { @@ -186,7 +195,17 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) }; internal static readonly string[][] TradeUSUM = { - // todo + new string[0], // 0 - None + Util.GetStringList("tradeusum", "ja"), // 1 + Util.GetStringList("tradeusum", "en"), // 2 + Util.GetStringList("tradeusum", "fr"), // 3 + Util.GetStringList("tradeusum", "it"), // 4 + Util.GetStringList("tradeusum", "de"), // 5 + new string[0], // 6 - None + Util.GetStringList("tradeusum", "es"), // 7 + Util.GetStringList("tradeusum", "ko"), // 8 + Util.GetStringList("tradeusum", "zh"), // 9 + Util.GetStringList("tradeusum", "zh"), // 10 }; private static readonly EncounterArea[] Encounter_Pelago_SM = diff --git a/PKHeX.Core/PKHeX.Core.csproj b/PKHeX.Core/PKHeX.Core.csproj index 26e393af7..d1d26dc86 100644 --- a/PKHeX.Core/PKHeX.Core.csproj +++ b/PKHeX.Core/PKHeX.Core.csproj @@ -48,7 +48,9 @@ + + @@ -145,6 +147,7 @@ + @@ -190,6 +193,7 @@ + @@ -234,6 +238,7 @@ + @@ -278,6 +283,7 @@ + @@ -343,6 +349,7 @@ + @@ -387,6 +394,7 @@ + @@ -430,6 +438,7 @@ + @@ -629,6 +638,7 @@ + @@ -679,7 +689,9 @@ + + @@ -776,6 +788,7 @@ + @@ -821,6 +834,7 @@ + @@ -865,6 +879,7 @@ + @@ -909,6 +924,7 @@ + @@ -974,6 +990,7 @@ + @@ -1018,6 +1035,7 @@ + @@ -1061,6 +1079,7 @@ + @@ -1260,6 +1279,7 @@ + diff --git a/PKHeX.Core/Resources/byte/encounter_um_sos.pkl b/PKHeX.Core/Resources/byte/encounter_um_sos.pkl new file mode 100644 index 0000000000000000000000000000000000000000..c87cf8789a3f3be659f96ae4bf0459ee6eb448b9 GIT binary patch literal 3756 zcmdUyZ;V`38Ha!Oj=Ov3&Yi#a&dkov>`Zsv*qNQ_#%w3EGb~cnMphy6M?)F{ZcQ3n zh%pvuU9~_}Fvc{ID3E?I#uO}ttPLMXvlwD)T+Ep8sUh)0n`OyZ6zN);LO?=-&zadt z(S#}`n3(L7-#PC&?>X;%&wJ0^*|X#z?Fz#l2LjyU529~T)bP;_&}q7Vh_2m z(%u3-{jwEyJJ?=^E3lqMkx4_JBi;I9oK} zY;y*j8__zNLzl2GqCR~o^8x3Nt3rKEJ8smo-RN=6V$>PH|)98j0e&rdxY5|?3r~TuA*rVPTQ&UF)NjRMyd1?DmBF_f;Zq1coTdl8Aw+O-z>ga?u;yVMi&1pcSg3CzpJ#M z^sp6556_`(D?OZn5Pj~qON?zb>!vuT?j6KAt=GeKoO_U6wu5X1eG$!ALADBS(hi&; z+mDB5>Bb^`HSE3otWD3or z7qAge{9AC_dd=;neffUdINRPHZPqtyn>+6&Fn6AGi_TL={aSLVr73s^TfeS6`t#J+ z32Yaj@6)##-+w^g@4a)(n6cltzGmO2Kc|A-)VcIU^5VtUY%jiFUi>^5TdyYW(2MqP zKBM9MA+&=YhDT`!&T#$+Z8NV!pKn}u?rGXn*oQ(rpZCtcz?kuozM(HTxzRN{H@elz zjozc&=x#U%bIKR9R=(HFT-a6pVD|nrSU`PVf0aS-YSisKm(^Vegs>G_O-M-w59KSh#cRq7H74M zGdAacBWKn`&6!IlE-|)G8_D-(@@;beEX;Lt{QqL#ufLGP2{;2L&nB6zlNIHz6w4C^VV>_0H(fw1JpsDyChEy?}_vyzPh=>U?^AEYvl?Z+V{i9 zf%-4}8l)d{ZX?Atd!+ahY_&#;;m}C&9*q=t!#U{H(Sh}M^ry-@lbde0CO7SbKWTE) z9q2qv8r^UkZRr=(W4W5O%GHx9S04|T zt6xI{r(FF!`bX?PK(Dsk>Zjpd=8})Jc#D3(7 literal 0 HcmV?d00001 diff --git a/PKHeX.Core/Resources/byte/encounter_us_sos.pkl b/PKHeX.Core/Resources/byte/encounter_us_sos.pkl new file mode 100644 index 0000000000000000000000000000000000000000..3da835691a3592fe64c6e1e3f8d9a1574eaac1d3 GIT binary patch literal 3756 zcmdUyZHQde8OQ(kPIvdto%gwSW_CKWGudf1Gdr`(vKeM)Tx)C_>b6RKMS^HIh0sJP zrO_nawo%hoODTa$tCA0;l-R~7+mH_u)*?+xR~f+%B?$eHu&zvFecL7>idF>sJ2N|I z1w)NkDD02_InQ&RbIyIvbI;w`wd-bWv7{v^+tMCb00rp7K6nED4*qAPI$Q%=U>^3v zZ{Z18f_GtZK-vxu!t?M3#0RAsY=U`MfJJy7!b8|$E9{4-Uv_QMfq!wS3&@sP9`_P`-H0)K_G;Dn`huod>hbMOW#imuwB=n60{dJ@(v6kUS*VG;jf)N?}7r_m06 z?i5Wq$yCRV#NV+ZapsPnvm>b$a1}{~;gp?B9kr6FCzVVsqEdskqKQ>InplBlI0@?& zO)SCvu!#RK>N(NG)9C4BG{N1#*~Y!L75CB*2*f>}+2h^tzK_lW?}s<##69UUy=NzU z{62pFaTK55!8WUepSBWy8a;k0DbPa3-~sfd6S$|_YUHm*6QIJ&fU)}*?y*izJR7JKU0ObX#0+z z>FF!1P#zn+z<-ELfMP6FEL2ue|?;+SuUhjds;4DZtch9In?$2;Gm!oOUWCG2h z=drP$*!SSJwVK;a`{Ls^bGE%T+RSg}Hh10)VD3EW7M-Jx`nBXzOB3)ewtiiO>CaJL z$FZGYxF}SptUfoy)amCbi(-v^%q z>OcPnkbcg&ffnF``TYFD`sY{%($=j{5$!+jAjZNNx z&cRjo*ra6q0xf8<@MTo3luumn)MGe&0}+y*-`&Y@@}P7IU*4Sr_eb(4# ocVF+%bySa$zYXMg43$3IU+mWSHfqb%o2fHXZ*#Q&+^wU31DkMONdN!< literal 0 HcmV?d00001 diff --git a/PKHeX.Core/Resources/text/de/text_tradeusum_de.txt b/PKHeX.Core/Resources/text/de/text_tradeusum_de.txt new file mode 100644 index 000000000..35231e5e0 --- /dev/null +++ b/PKHeX.Core/Resources/text/de/text_tradeusum_de.txt @@ -0,0 +1,14 @@ +Gewalter +Funky +Bärbel +Bokra +Stumpfel +Schalotte +Bolle +Hilahila +Kihe +Yuichi +Keeyan +Hepa +Kumu +Huhu \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/en/text_tradeusum_en.txt b/PKHeX.Core/Resources/text/en/text_tradeusum_en.txt new file mode 100644 index 000000000..bf86564cc --- /dev/null +++ b/PKHeX.Core/Resources/text/en/text_tradeusum_en.txt @@ -0,0 +1,14 @@ +Cha +Noinoi +Babo +Arbo +Tumptump +Solle +Professor +Hila +Kihei +Yuichi +Miyo +Sill +Kumu +Anga \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/es/text_tradeusum_es.txt b/PKHeX.Core/Resources/text/es/text_tradeusum_es.txt new file mode 100644 index 000000000..37ccf85fb --- /dev/null +++ b/PKHeX.Core/Resources/text/es/text_tradeusum_es.txt @@ -0,0 +1,14 @@ +Vengador +Tabion +Barbo +Serpi +Tronquilo +Viscosín +Torete +Hila +Kike +Yuichi +Yann +Epi +Kumu +Tito \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/fr/text_tradeusum_fr.txt b/PKHeX.Core/Resources/text/fr/text_tradeusum_fr.txt new file mode 100644 index 000000000..b02682c95 --- /dev/null +++ b/PKHeX.Core/Resources/text/fr/text_tradeusum_fr.txt @@ -0,0 +1,14 @@ +Luchabrutal +Ionel +Boubouille +Le Roy +Jérôme +Coquillette +Institutaur +Hilahila +Kihe +Arnold +Josette +Hepa +Kumu +Inaina \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/it/text_tradeusum_it.txt b/PKHeX.Core/Resources/text/it/text_tradeusum_it.txt new file mode 100644 index 000000000..e357a418e --- /dev/null +++ b/PKHeX.Core/Resources/text/it/text_tradeusum_it.txt @@ -0,0 +1,14 @@ +Luchano +Tabion +Barbuccia +Arby +Tumpin +Shelly +Prof +Hilahila +Kihe +Pinuccio +Lalla +Hepa +Kumu +Huhu \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/ja/text_tradeusum_ja.txt b/PKHeX.Core/Resources/text/ja/text_tradeusum_ja.txt new file mode 100644 index 000000000..97fa0b8c2 --- /dev/null +++ b/PKHeX.Core/Resources/text/ja/text_tradeusum_ja.txt @@ -0,0 +1,14 @@ +オーガー +りくひさ +レナレナ +ロイ +ワーイ +バブコ +きょうじゅ +ヒラヒラ +キヘ +ユイッチー +キーヤン +ヘパ +クム +フフー \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/ko/text_tradeusum_ko.txt b/PKHeX.Core/Resources/text/ko/text_tradeusum_ko.txt new file mode 100644 index 000000000..deb91b065 --- /dev/null +++ b/PKHeX.Core/Resources/text/ko/text_tradeusum_ko.txt @@ -0,0 +1,14 @@ +차부 +자뱃 +꼬롱꼬롱 +도이 +와이 +추르르 +교수 +히라히라 +키헤 +유일 +기안 +헤파 +쿠무 +후후 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/zh/text_tradeusum_zh.txt b/PKHeX.Core/Resources/text/zh/text_tradeusum_zh.txt new file mode 100644 index 000000000..56b7b9998 --- /dev/null +++ b/PKHeX.Core/Resources/text/zh/text_tradeusum_zh.txt @@ -0,0 +1,14 @@ +Lucha +FMFly +Ni-Ni +Roy +LeLe +Yiya +Prof. +Hila +Kihei +Yuchi +Kiyan +Hepa +Kumu +Huhu \ No newline at end of file diff --git a/PKHeX.Core/Saves/SAV7.cs b/PKHeX.Core/Saves/SAV7.cs index e6095114d..dfd8f1c3a 100644 --- a/PKHeX.Core/Saves/SAV7.cs +++ b/PKHeX.Core/Saves/SAV7.cs @@ -117,7 +117,7 @@ private void GetBlockInfo() } - private const int MemeCryptoBlock = 36; // todo + private const int MemeCryptoBlock = 36; private bool CanReadChecksums() { if (Blocks.Length < MemeCryptoBlock) From 0caa0dec727dc9788ba271b8d3c910ae75e0f075 Mon Sep 17 00:00:00 2001 From: Kurt Date: Wed, 8 Nov 2017 16:27:35 -0800 Subject: [PATCH 12/81] Group forms with special battle formes check --- PKHeX.Core/Legality/Checks.cs | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/PKHeX.Core/Legality/Checks.cs b/PKHeX.Core/Legality/Checks.cs index 2c8f111cd..81271aa82 100644 --- a/PKHeX.Core/Legality/Checks.cs +++ b/PKHeX.Core/Legality/Checks.cs @@ -1977,13 +1977,6 @@ private void VerifyForm() return; } break; - case 718: // Zygarde - if (pkm.AltForm >= 4) - { - AddLine(Severity.Invalid, V310, CheckIdentifier.Form); - return; - } - break; case 773: // Silvally { int item = pkm.HeldItem; @@ -1996,13 +1989,6 @@ private void VerifyForm() AddLine(Severity.Valid, V309, CheckIdentifier.Form); break; } - case 774: // Minior - if (pkm.AltForm < 7) - { - AddLine(Severity.Invalid, V310, CheckIdentifier.Form); - return; - } - break; // Party Only Forms case 492: // Shaymin @@ -2014,6 +2000,13 @@ private void VerifyForm() return; } break; + + // Battle only Forms with other legal forms allowed + case 718 when pkm.AltForm >= 4: // Zygarde Complete + case 774 when pkm.AltForm < 7: // Minior Shield + case 800 when pkm.AltForm == 3: // Ultra Necrozma + AddLine(Severity.Invalid, V310, CheckIdentifier.Form); + return; } if (pkm.Format >= 7 && Info.Generation < 7 && pkm.AltForm != 0) From 134e676e910626d285bd08da3edd8ae2bc7c69da Mon Sep 17 00:00:00 2001 From: Kurt Date: Wed, 8 Nov 2017 18:42:52 -0800 Subject: [PATCH 13/81] Unlock Pokedex & HoF editors --- PKHeX.WinForms/Controls/SAV Editor/SAVEditor.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PKHeX.WinForms/Controls/SAV Editor/SAVEditor.cs b/PKHeX.WinForms/Controls/SAV Editor/SAVEditor.cs index f35ef618e..e770a1064 100644 --- a/PKHeX.WinForms/Controls/SAV Editor/SAVEditor.cs +++ b/PKHeX.WinForms/Controls/SAV Editor/SAVEditor.cs @@ -599,7 +599,7 @@ private void B_OpenPokedex_Click(object sender, EventArgs e) new SAV_PokedexXY(SAV).ShowDialog(); break; case 7: - if (SAV.SM) + if (SAV.SM || SAV.USUM) new SAV_PokedexSM(SAV).ShowDialog(); break; } @@ -695,7 +695,7 @@ private void B_OUTHallofFame_Click(object sender, EventArgs e) { if (SAV.Generation == 6) new SAV_HallOfFame(SAV).ShowDialog(); - else if (SAV.SM) + else if (SAV.Generation == 7) new SAV_HallOfFame7(SAV).ShowDialog(); } private void B_CGearSkin_Click(object sender, EventArgs e) From 93bd9742499f2debdd71e89c8f27deb73b859aaa Mon Sep 17 00:00:00 2001 From: Kurt Date: Wed, 8 Nov 2017 18:43:55 -0800 Subject: [PATCH 14/81] Add EncounterStatic data sourced from Ultra Moon, location IDs are not known (need manual docs). Many of these may be unused, like last gen. Will eventually remove unused ones once crowdsourced effort finishes. --- .../Legality/Encounters/Data/Encounters7.cs | 288 ++++++++++++++++++ 1 file changed, 288 insertions(+) diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs index c5e9abd4e..c2ce81d2b 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs @@ -166,7 +166,295 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) }; private static readonly EncounterStatic[] Encounter_USUM = { + new EncounterStatic { Gift = true, Species = 722, Level = 05, Location = 24, }, // Rowlet @ ??? + new EncounterStatic { Gift = true, Species = 725, Level = 05, Location = 24, }, // Litten @ ??? + new EncounterStatic { Gift = true, Species = 728, Level = 05, Location = 24, }, // Popplio @ ??? + new EncounterStatic { Gift = true, Species = 138, Level = 15, Location = 58, }, // Omanyte @ ??? + new EncounterStatic { Gift = true, Species = 140, Level = 15, Location = 58, }, // Kabuto @ ??? + new EncounterStatic { Gift = true, Species = 142, Level = 15, Location = 58, }, // Aerodactyl @ ??? + new EncounterStatic { Gift = true, Species = 345, Level = 15, Location = 58, }, // Lileep @ ??? + new EncounterStatic { Gift = true, Species = 347, Level = 15, Location = 58, }, // Anorith @ ??? + new EncounterStatic { Gift = true, Species = 408, Level = 15, Location = 58, }, // Cranidos @ ??? + new EncounterStatic { Gift = true, Species = 410, Level = 15, Location = 58, }, // Shieldon @ ??? + new EncounterStatic { Gift = true, Species = 564, Level = 15, Location = 58, }, // Tirtouga @ ??? + new EncounterStatic { Gift = true, Species = 566, Level = 15, Location = 58, }, // Archen @ ??? + new EncounterStatic { Gift = true, Species = 696, Level = 15, Location = 58, }, // Tyrunt @ ??? + new EncounterStatic { Gift = true, Species = 698, Level = 15, Location = 58, }, // Amaura @ ??? + new EncounterStatic { Gift = true, Species = 133, Level = 01, EggLocation = 60002, }, // Eevee @ Nursery helpers + new EncounterStatic { Gift = true, Species = 137, Level = 30, Location = -01, }, // Porygon @ ??? + new EncounterStatic { Gift = true, Species = 772, Level = 60, Location = -01, }, // Type: Null @ ??? + new EncounterStatic { Gift = true, Species = 801, Level = 50, Location = -01, Shiny = false, HeldItem = 795, }, // Magearna @ ??? + new EncounterStatic { Gift = true, Species = 789, Level = 05, Location = -01, Shiny = false, }, // Cosmog @ ??? + new EncounterStatic { Gift = true, Species = 142, Level = 40, Location = 172, }, // Aerodactyl @ ??? + new EncounterStatic { Gift = true, Species = 025, Level = 40, Location = -01, HeldItem = 796, }, // Pikachu @ ??? + new EncounterStatic { Gift = true, Species = 803, Level = 40, Location = -01, }, // Poipole @ ??? + new EncounterStatic { Gift = true, Species = 735, Level = 20, Location = -01, Form = 1, Shiny = false, }, // Gumshoos @ ??? + new EncounterStatic { Gift = true, Species = 020, Level = 20, Location = -01, Form = 2, Shiny = false, }, // Raticate @ ??? + new EncounterStatic { Gift = true, Species = 105, Level = 25, Location = -01, Form = 2, Shiny = false, }, // Marowak @ ??? + new EncounterStatic { Gift = true, Species = 752, Level = 25, Location = -01, Form = 1, Shiny = false, }, // Araquanid @ ??? + new EncounterStatic { Gift = true, Species = 754, Level = 30, Location = -01, Form = 1, Shiny = false, }, // Lurantis @ ??? + new EncounterStatic { Gift = true, Species = 758, Level = 30, Location = -01, Form = 1, Shiny = false, }, // Salazzle @ ??? + new EncounterStatic { Gift = true, Species = 738, Level = 35, Location = -01, Form = 1, Shiny = false, }, // Vikavolt @ ??? + new EncounterStatic { Gift = true, Species = 777, Level = 35, Location = -01, Form = 1, Shiny = false, }, // Togedemaru @ ??? + new EncounterStatic { Gift = true, Species = 778, Level = 40, Location = -01, Form = 2, Shiny = false, }, // Mimikyu @ ??? + new EncounterStatic { Gift = true, Species = 743, Level = 50, Location = -01, Form = 1, Shiny = false, }, // Ribombee @ ??? + new EncounterStatic { Gift = true, Species = 784, Level = 50, Location = -01, Form = 1, Shiny = false, }, // Kommo-o @ ??? + new EncounterStatic { Gift = true, Species = 718, Level = 63, Location = -01, Form = 1, Shiny = false, }, // Zygarde @ ??? + new EncounterStatic { Gift = true, Species = 025, Level = 21, Location = -01, Form = 7, Shiny = false, HeldItem = 571, }, // Pikachu @ ??? + new EncounterStatic { Species = 731, Level = 03, Location = -01, Shiny = false, }, // Pikipek @ ??? + new EncounterStatic { Species = 793, Level = 27, Location = -01, Shiny = false, }, // Nihilego @ ??? + new EncounterStatic { Species = 791, Level = 60, Location = -01, Shiny = false, }, // Solgaleo @ ??? + new EncounterStatic { Species = 792, Level = 60, Location = -01, Shiny = false, }, // Lunala @ ??? + new EncounterStatic { Species = 735, Level = 12, Location = -01, Form = 1, Shiny = false, HeldItem = 151, }, // Gumshoos @ ??? + new EncounterStatic { Species = 734, Level = 11, Location = -01, Shiny = false, }, // Yungoos @ ??? + new EncounterStatic { Species = 735, Level = 11, Location = -01, Shiny = false, }, // Gumshoos @ ??? + new EncounterStatic { Species = 734, Level = 11, Location = -01, Shiny = false, }, // Yungoos @ ??? + new EncounterStatic { Species = 734, Level = 10, Location = -01, Shiny = false, }, // Yungoos @ ??? + new EncounterStatic { Species = 020, Level = 12, Location = -01, Form = 2, Shiny = false, HeldItem = 151, }, // Raticate @ ??? + new EncounterStatic { Species = 019, Level = 11, Location = -01, Form = 1, Shiny = false, }, // Rattata @ ??? + new EncounterStatic { Species = 020, Level = 11, Location = -01, Form = 1, Shiny = false, }, // Raticate @ ??? + new EncounterStatic { Species = 019, Level = 11, Location = -01, Form = 1, Shiny = false, }, // Rattata @ ??? + new EncounterStatic { Species = 019, Level = 10, Location = -01, Form = 1, Shiny = false, }, // Rattata @ ??? + new EncounterStatic { Species = 746, Level = 20, Location = -01, Form = 1, Shiny = false, HeldItem = 158, }, // Wishiwashi @ ??? + new EncounterStatic { Species = 746, Level = 17, Location = -01, Shiny = false, }, // Wishiwashi @ ??? + new EncounterStatic { Species = 746, Level = 18, Location = -01, Shiny = false, }, // Wishiwashi @ ??? + new EncounterStatic { Species = 594, Level = 18, Location = -01, Shiny = false, }, // Alomomola @ ??? + new EncounterStatic { Species = 746, Level = 18, Location = -01, Shiny = false, }, // Wishiwashi @ ??? + new EncounterStatic { Species = 758, Level = 22, Location = -01, Form = 1, Shiny = false, HeldItem = 204, }, // Salazzle @ ??? + new EncounterStatic { Species = 105, Level = 18, Location = -01, Form = 1, Shiny = false, }, // Marowak @ ??? + new EncounterStatic { Species = 105, Level = 18, Location = -01, Form = 1, Shiny = false, }, // Marowak @ ??? + new EncounterStatic { Species = 025, Level = 20, Location = -01, Shiny = false, }, // Pikachu @ ??? + new EncounterStatic { Species = 757, Level = 20, Location = -01, Shiny = false, }, // Salandit @ ??? + new EncounterStatic { Species = 754, Level = 24, Location = -01, Form = 1, Shiny = false, HeldItem = 271, }, // Lurantis @ ??? + new EncounterStatic { Species = 047, Level = 22, Location = -01, Shiny = false, }, // Parasect @ ??? + new EncounterStatic { Species = 756, Level = 22, Location = -01, Shiny = false, }, // Shiinotic @ ??? + new EncounterStatic { Species = 753, Level = 23, Location = -01, Shiny = false, }, // Fomantis @ ??? + new EncounterStatic { Species = 753, Level = 23, Location = -01, Shiny = false, }, // Fomantis @ ??? + new EncounterStatic { Species = 753, Level = 23, Location = -01, Shiny = false, }, // Fomantis @ ??? + new EncounterStatic { Species = 753, Level = 23, Location = -01, Shiny = false, }, // Fomantis @ ??? + new EncounterStatic { Species = 764, Level = 22, Location = -01, Shiny = false, }, // Comfey @ ??? + new EncounterStatic { Species = 352, Level = 22, Location = -01, Shiny = false, }, // Kecleon @ ??? + new EncounterStatic { Species = 738, Level = 29, Location = -01, Form = 1, Shiny = false, HeldItem = 184, }, // Vikavolt @ ??? + new EncounterStatic { Species = 736, Level = 27, Location = -01, Shiny = false, }, // Grubbin @ ??? + new EncounterStatic { Species = 737, Level = 27, Location = -01, Shiny = false, }, // Charjabug @ ??? + new EncounterStatic { Species = 737, Level = 27, Location = -01, Shiny = false, }, // Charjabug @ ??? + new EncounterStatic { Species = 737, Level = 27, Location = -01, Shiny = false, }, // Charjabug @ ??? + new EncounterStatic { Species = 737, Level = 28, Location = -01, Shiny = false, }, // Charjabug @ ??? + new EncounterStatic { Species = 778, Level = 35, Location = -01, Form = 2, Shiny = false, HeldItem = 157, }, // Mimikyu @ ??? + new EncounterStatic { Species = 092, Level = 30, Location = -01, Shiny = false, }, // Gastly @ ??? + new EncounterStatic { Species = 093, Level = 30, Location = -01, Shiny = false, }, // Haunter @ ??? + new EncounterStatic { Species = 094, Level = 30, Location = -01, Shiny = false, }, // Gengar @ ??? + new EncounterStatic { Species = 354, Level = 32, Location = -01, Shiny = false, }, // Banette @ ??? + new EncounterStatic { Species = 593, Level = 33, Location = -01, Shiny = false, }, // Jellicent @ ??? + new EncounterStatic { Species = 784, Level = 49, Location = -01, Form = 1, Shiny = false, HeldItem = 686, }, // Kommo-o @ ??? + new EncounterStatic { Species = 782, Level = 42, Location = -01, Shiny = false, }, // Jangmo-o @ ??? + new EncounterStatic { Species = 783, Level = 44, Location = -01, Shiny = false, }, // Hakamo-o @ ??? + new EncounterStatic { Species = 715, Level = 48, Location = -01, Shiny = false, }, // Noivern @ ??? + new EncounterStatic { Species = 212, Level = 46, Location = -01, Shiny = false, }, // Scizor @ ??? + new EncounterStatic { Species = 793, Level = 55, Location = -01, Shiny = false, }, // Nihilego @ ??? + new EncounterStatic { Species = 793, Level = 55, Location = -01, Shiny = false, }, // Nihilego @ ??? + new EncounterStatic { Species = 794, Level = 65, Location = -01, Shiny = false, }, // Buzzwole @ ??? + new EncounterStatic { Species = 794, Level = 65, Location = -01, Shiny = false, }, // Buzzwole @ ??? + new EncounterStatic { Species = 795, Level = 60, Location = -01, Shiny = false, }, // Pheromosa @ ??? + new EncounterStatic { Species = 795, Level = 60, Location = -01, Shiny = false, }, // Pheromosa @ ??? + new EncounterStatic { Species = 795, Level = 60, Location = -01, Shiny = false, }, // Pheromosa @ ??? + new EncounterStatic { Species = 795, Level = 60, Location = -01, Shiny = false, }, // Pheromosa @ ??? + new EncounterStatic { Species = 796, Level = 65, Location = -01, Shiny = false, }, // Xurkitree @ ??? + new EncounterStatic { Species = 796, Level = 65, Location = -01, Shiny = false, }, // Xurkitree @ ??? + new EncounterStatic { Species = 796, Level = 65, Location = -01, Shiny = false, }, // Xurkitree @ ??? + new EncounterStatic { Species = 796, Level = 65, Location = -01, Shiny = false, }, // Xurkitree @ ??? + new EncounterStatic { Species = 796, Level = 65, Location = -01, Shiny = false, }, // Xurkitree @ ??? + new EncounterStatic { Species = 796, Level = 65, Location = -01, Shiny = false, }, // Xurkitree @ ??? + new EncounterStatic { Species = 796, Level = 65, Location = -01, Shiny = false, }, // Xurkitree @ ??? + new EncounterStatic { Species = 796, Level = 65, Location = -01, Shiny = false, }, // Xurkitree @ ??? + new EncounterStatic { Species = 796, Level = 65, Location = -01, Shiny = false, }, // Xurkitree @ ??? + new EncounterStatic { Species = 796, Level = 65, Location = -01, Shiny = false, }, // Xurkitree @ ??? + new EncounterStatic { Species = 798, Level = 60, Location = -01, Shiny = false, }, // Kartana @ ??? + new EncounterStatic { Species = 798, Level = 60, Location = -01, Shiny = false, }, // Kartana @ ??? + new EncounterStatic { Species = 798, Level = 60, Location = -01, Shiny = false, }, // Kartana @ ??? + new EncounterStatic { Species = 798, Level = 60, Location = -01, Shiny = false, }, // Kartana @ ??? + new EncounterStatic { Species = 798, Level = 60, Location = -01, Shiny = false, }, // Kartana @ ??? + new EncounterStatic { Species = 798, Level = 60, Location = -01, Shiny = false, }, // Kartana @ ??? + new EncounterStatic { Species = 798, Level = 60, Location = -01, Shiny = false, }, // Kartana @ ??? + new EncounterStatic { Species = 798, Level = 60, Location = -01, Shiny = false, }, // Kartana @ ??? + new EncounterStatic { Species = 798, Level = 60, Location = -01, Shiny = false, }, // Kartana @ ??? + new EncounterStatic { Species = 798, Level = 60, Location = -01, Shiny = false, }, // Kartana @ ??? + new EncounterStatic { Species = 798, Level = 60, Location = -01, Shiny = false, }, // Kartana @ ??? + new EncounterStatic { Species = 798, Level = 60, Location = -01, Shiny = false, }, // Kartana @ ??? + new EncounterStatic { Species = 797, Level = 65, Location = -01, Shiny = false, }, // Celesteela @ ??? + new EncounterStatic { Species = 797, Level = 65, Location = -01, Shiny = false, }, // Celesteela @ ??? + new EncounterStatic { Species = 797, Level = 65, Location = -01, Shiny = false, }, // Celesteela @ ??? + new EncounterStatic { Species = 797, Level = 65, Location = -01, Shiny = false, }, // Celesteela @ ??? + new EncounterStatic { Species = 797, Level = 65, Location = -01, Shiny = false, }, // Celesteela @ ??? + new EncounterStatic { Species = 797, Level = 65, Location = -01, Shiny = false, }, // Celesteela @ ??? + new EncounterStatic { Species = 797, Level = 65, Location = -01, Shiny = false, }, // Celesteela @ ??? + new EncounterStatic { Species = 797, Level = 65, Location = -01, Shiny = false, }, // Celesteela @ ??? + new EncounterStatic { Species = 797, Level = 65, Location = -01, Shiny = false, }, // Celesteela @ ??? + new EncounterStatic { Species = 797, Level = 65, Location = -01, Shiny = false, }, // Celesteela @ ??? + new EncounterStatic { Species = 797, Level = 65, Location = -01, Shiny = false, }, // Celesteela @ ??? + new EncounterStatic { Species = 797, Level = 65, Location = -01, Shiny = false, }, // Celesteela @ ??? + new EncounterStatic { Species = 797, Level = 65, Location = -01, Shiny = false, }, // Celesteela @ ??? + new EncounterStatic { Species = 797, Level = 65, Location = -01, Shiny = false, }, // Celesteela @ ??? + new EncounterStatic { Species = 797, Level = 65, Location = -01, Shiny = false, }, // Celesteela @ ??? + new EncounterStatic { Species = 797, Level = 65, Location = -01, Shiny = false, }, // Celesteela @ ??? + new EncounterStatic { Species = 797, Level = 65, Location = -01, Shiny = false, }, // Celesteela @ ??? + new EncounterStatic { Species = 797, Level = 65, Location = -01, Shiny = false, }, // Celesteela @ ??? + new EncounterStatic { Species = 799, Level = 70, Location = -01, Shiny = false, }, // Guzzlord @ ??? + new EncounterStatic { Species = 800, Level = 75, Location = -01, Shiny = false, }, // Necrozma @ ??? + new EncounterStatic { Species = 004, Level = 12, Location = -01, }, // Charmander @ ??? + new EncounterStatic { Species = 007, Level = 12, Location = -01, }, // Squirtle @ ??? + new EncounterStatic { Species = 095, Level = 14, Location = -01, }, // Onix @ ??? + new EncounterStatic { Species = 116, Level = 18, Location = -01, }, // Horsea @ ??? + new EncounterStatic { Species = 664, Level = 09, Location = -01, Form = 30, }, // Scatterbug @ ??? + new EncounterStatic { Species = 001, Level = 10, Location = -01, }, // Bulbasaur @ ??? + new EncounterStatic { Species = 607, Level = 09, Location = -01, }, // Litwick @ ??? + new EncounterStatic { Species = 280, Level = 17, Location = -01, }, // Ralts @ ??? + new EncounterStatic { Species = 363, Level = 19, Location = -01, }, // Spheal @ ??? + new EncounterStatic { Species = 256, Level = 20, Location = -01, }, // Combusken @ ??? + new EncounterStatic { Species = 679, Level = 24, Location = -01, }, // Honedge @ ??? + new EncounterStatic { Species = 015, Level = 14, Location = -01, }, // Beedrill @ ??? + new EncounterStatic { Species = 253, Level = 16, Location = -01, }, // Grovyle @ ??? + new EncounterStatic { Species = 259, Level = 17, Location = -01, }, // Marshtomp @ ??? + new EncounterStatic { Species = 111, Level = 32, Location = -01, }, // Rhyhorn @ ??? + new EncounterStatic { Species = 220, Level = 33, Location = -01, }, // Swinub @ ??? + new EncounterStatic { Species = 394, Level = 35, Location = -01, }, // Prinplup @ ??? + new EncounterStatic { Species = 388, Level = 36, Location = -01, }, // Grotle @ ??? + new EncounterStatic { Species = 388, Level = 36, Location = -01, }, // Grotle @ ??? + new EncounterStatic { Species = 018, Level = 29, Location = -01, }, // Pidgeot @ ??? + new EncounterStatic { Species = 391, Level = 29, Location = -01, }, // Monferno @ ??? + new EncounterStatic { Species = 610, Level = 30, Location = -01, }, // Axew @ ??? + new EncounterStatic { Species = 604, Level = 55, Location = -01, }, // Eelektross @ ??? + new EncounterStatic { Species = 306, Level = 57, Location = -01, }, // Aggron @ ??? + new EncounterStatic { Species = 479, Level = 61, Location = -01, }, // Rotom @ ??? + new EncounterStatic { Species = 542, Level = 57, Location = -01, }, // Leavanny @ ??? + new EncounterStatic { Species = 652, Level = 45, Location = -01, }, // Chesnaught @ ??? + new EncounterStatic { Species = 658, Level = 44, Location = -01, }, // Greninja @ ??? + new EncounterStatic { Species = 655, Level = 44, Location = -01, }, // Delphox @ ??? + new EncounterStatic { Species = 785, Level = 60, Location = -01, Shiny = false, }, // Tapu Koko @ ??? + new EncounterStatic { Species = 786, Level = 60, Location = -01, Shiny = false, }, // Tapu Lele @ ??? + new EncounterStatic { Species = 787, Level = 60, Location = -01, Shiny = false, }, // Tapu Bulu @ ??? + new EncounterStatic { Species = 788, Level = 60, Location = -01, Shiny = false, }, // Tapu Fini @ ??? + new EncounterStatic { Species = 023, Level = 10, Location = -01, }, // Ekans @ ??? + new EncounterStatic { Species = 103, Level = 40, Location = -01, Form = 1, }, // Exeggutor @ ??? + new EncounterStatic { Species = 785, Level = 60, Location = -01, Shiny = false, }, // Tapu Koko @ ??? + + new EncounterStatic { Species = 542, Level = 57, Location = -01, }, // Leavanny @ ??? + new EncounterStatic { Species = 752, Level = 20, Location = -01, Form = 1, Shiny = false, HeldItem = 186, }, // Araquanid @ ??? + new EncounterStatic { Species = 751, Level = 17, Location = -01, Shiny = false, }, // Dewpider @ ??? + new EncounterStatic { Species = 751, Level = 18, Location = -01, Shiny = false, }, // Dewpider @ ??? + new EncounterStatic { Species = 284, Level = 18, Location = -01, Shiny = false, }, // Masquerain @ ??? + new EncounterStatic { Species = 751, Level = 18, Location = -01, Shiny = false, }, // Dewpider @ ??? + new EncounterStatic { Species = 753, Level = 17, Location = -01, Shiny = false, }, // Fomantis @ ??? + new EncounterStatic { Species = 764, Level = 21, Location = -01, Shiny = false, }, // Comfey @ ??? + new EncounterStatic { Species = 753, Level = 21, Location = -01, Shiny = false, }, // Fomantis @ ??? + new EncounterStatic { Species = 185, Level = 24, Location = -01, Shiny = false, }, // Sudowoodo @ ??? + new EncounterStatic { Species = 777, Level = 33, Location = -01, Form = 1, Shiny = false, HeldItem = 158, }, // Togedemaru @ ??? + new EncounterStatic { Species = 227, Level = 32, Location = -01, Shiny = false, }, // Skarmory @ ??? + new EncounterStatic { Species = 702, Level = 31, Location = -01, Shiny = false, }, // Dedenne @ ??? + new EncounterStatic { Species = 239, Level = 29, Location = -01, Shiny = false, }, // Elekid @ ??? + new EncounterStatic { Species = 125, Level = 30, Location = -01, Shiny = false, }, // Electabuzz @ ??? + new EncounterStatic { Species = 734, Level = 03, Location = -01, Shiny = false, }, // Yungoos @ ??? + new EncounterStatic { Species = 019, Level = 03, Location = -01, Form = 1, Shiny = false, }, // Rattata @ ??? + new EncounterStatic { Species = 736, Level = 04, Location = -01, Shiny = false, }, // Grubbin @ ??? + new EncounterStatic { Species = 021, Level = 04, Location = -01, Shiny = false, }, // Spearow @ ??? + new EncounterStatic { Species = 127, Level = 42, Location = -01, Shiny = false, }, // Pinsir @ ??? + new EncounterStatic { Species = 127, Level = 43, Location = -01, Shiny = false, }, // Pinsir @ ??? + new EncounterStatic { Species = 127, Level = 42, Location = -01, Shiny = false, }, // Pinsir @ ??? + new EncounterStatic { Species = 800, Level = 50, Location = -01, Form = 1, Shiny = false, }, // Necrozma @ ??? + new EncounterStatic { Species = 800, Level = 50, Location = -01, Form = 2, Shiny = false, }, // Necrozma @ ??? + new EncounterStatic { Species = 800, Level = 60, Location = -01, Form = 3, Shiny = false, }, // Necrozma @ ??? + new EncounterStatic { Species = 800, Level = 65, Location = -01, Shiny = false, HeldItem = 923, }, // Necrozma @ ??? + new EncounterStatic { Species = 743, Level = 55, Location = -01, Form = 1, Shiny = false, HeldItem = 184, }, // Ribombee @ ??? + new EncounterStatic { Species = 279, Level = 52, Location = -01, Shiny = false, }, // Pelipper @ ??? + new EncounterStatic { Species = 242, Level = 53, Location = -01, Shiny = false, }, // Blissey @ ??? + new EncounterStatic { Species = 144, Level = 60, Location = -01, }, // Articuno @ ??? + new EncounterStatic { Species = 145, Level = 60, Location = -01, }, // Zapdos @ ??? + new EncounterStatic { Species = 146, Level = 60, Location = -01, }, // Moltres @ ??? + new EncounterStatic { Species = 250, Level = 60, Location = -01, HeldItem = 044, }, // Ho-Oh @ ??? + new EncounterStatic { Species = 384, Level = 60, Location = -01, }, // Rayquaza @ ??? + new EncounterStatic { Species = 488, Level = 60, Location = -01, }, // Cresselia @ ??? + new EncounterStatic { Species = 641, Level = 60, Location = -01, }, // Tornadus @ ??? + new EncounterStatic { Species = 642, Level = 60, Location = -01, }, // Thundurus @ ??? + new EncounterStatic { Species = 645, Level = 60, Location = -01, }, // Landorus @ ??? + new EncounterStatic { Species = 717, Level = 60, Location = -01, }, // Yveltal @ ??? + new EncounterStatic { Species = 150, Level = 60, Location = -01, }, // Mewtwo @ ??? + new EncounterStatic { Species = 243, Level = 60, Location = -01, }, // Raikou @ ??? + new EncounterStatic { Species = 244, Level = 60, Location = -01, }, // Entei @ ??? + new EncounterStatic { Species = 483, Level = 60, Location = -01, }, // Dialga @ ??? + new EncounterStatic { Species = 638, Level = 60, Location = -01, }, // Cobalion @ ??? + new EncounterStatic { Species = 639, Level = 60, Location = -01, }, // Terrakion @ ??? + new EncounterStatic { Species = 640, Level = 60, Location = -01, }, // Virizion @ ??? + new EncounterStatic { Species = 643, Level = 60, Location = -01, }, // Reshiram @ ??? + new EncounterStatic { Species = 644, Level = 60, Location = -01, }, // Zekrom @ ??? + new EncounterStatic { Species = 716, Level = 60, Location = -01, }, // Xerneas @ ??? + new EncounterStatic { Species = 377, Level = 60, Location = -01, }, // Regirock @ ??? + new EncounterStatic { Species = 378, Level = 60, Location = -01, }, // Regice @ ??? + new EncounterStatic { Species = 379, Level = 60, Location = -01, }, // Registeel @ ??? + new EncounterStatic { Species = 383, Level = 60, Location = -01, }, // Groudon @ ??? + new EncounterStatic { Species = 485, Level = 60, Location = -01, }, // Heatran @ ??? + new EncounterStatic { Species = 486, Level = 60, Location = -01, }, // Regigigas @ ??? + new EncounterStatic { Species = 484, Level = 60, Location = -01, }, // Palkia @ ??? + new EncounterStatic { Species = 487, Level = 60, Location = -01, }, // Giratina @ ??? + new EncounterStatic { Species = 245, Level = 60, Location = -01, }, // Suicune @ ??? + new EncounterStatic { Species = 249, Level = 60, Location = -01, }, // Lugia @ ??? + new EncounterStatic { Species = 380, Level = 60, Location = -01, }, // Latias @ ??? + new EncounterStatic { Species = 381, Level = 60, Location = -01, }, // Latios @ ??? + new EncounterStatic { Species = 382, Level = 60, Location = -01, }, // Kyogre @ ??? + new EncounterStatic { Species = 480, Level = 60, Location = -01, }, // Uxie @ ??? + new EncounterStatic { Species = 481, Level = 60, Location = -01, }, // Mesprit @ ??? + new EncounterStatic { Species = 482, Level = 60, Location = -01, }, // Azelf @ ??? + new EncounterStatic { Species = 646, Level = 60, Location = -01, }, // Kyurem @ ??? + new EncounterStatic { Species = 334, Level = 60, Location = -01, }, // Altaria @ ??? + new EncounterStatic { Species = 469, Level = 60, Location = -01, }, // Yanmega @ ??? + new EncounterStatic { Species = 561, Level = 60, Location = -01, }, // Sigilyph @ ??? + new EncounterStatic { Species = 581, Level = 60, Location = -01, }, // Swanna @ ??? + new EncounterStatic { Species = 277, Level = 60, Location = -01, }, // Swellow @ ??? + new EncounterStatic { Species = 452, Level = 60, Location = -01, }, // Drapion @ ??? + new EncounterStatic { Species = 531, Level = 60, Location = -01, }, // Audino @ ??? + new EncounterStatic { Species = 695, Level = 60, Location = -01, }, // Heliolisk @ ??? + new EncounterStatic { Species = 274, Level = 60, Location = -01, }, // Nuzleaf @ ??? + new EncounterStatic { Species = 326, Level = 60, Location = -01, }, // Grumpig @ ??? + new EncounterStatic { Species = 460, Level = 60, Location = -01, }, // Abomasnow @ ??? + new EncounterStatic { Species = 308, Level = 60, Location = -01, }, // Medicham @ ??? + new EncounterStatic { Species = 450, Level = 60, Location = -01, }, // Hippowdon @ ??? + new EncounterStatic { Species = 558, Level = 60, Location = -01, }, // Crustle @ ??? + new EncounterStatic { Species = 219, Level = 60, Location = -01, }, // Magcargo @ ??? + new EncounterStatic { Species = 689, Level = 60, Location = -01, }, // Barbaracle @ ??? + new EncounterStatic { Species = 271, Level = 60, Location = -01, }, // Lombre @ ??? + new EncounterStatic { Species = 618, Level = 60, Location = -01, }, // Stunfisk @ ??? + new EncounterStatic { Species = 419, Level = 60, Location = -01, }, // Floatzel @ ??? + new EncounterStatic { Species = 195, Level = 60, Location = -01, }, // Quagsire @ ??? + new EncounterStatic { Species = 793, Level = 60, Location = -01, }, // Nihilego @ ??? + new EncounterStatic { Species = 794, Level = 60, Location = -01, }, // Buzzwole @ ??? + new EncounterStatic { Species = 795, Level = 60, Location = -01, }, // Pheromosa @ ??? + new EncounterStatic { Species = 796, Level = 60, Location = -01, }, // Xurkitree @ ??? + new EncounterStatic { Species = 797, Level = 60, Location = -01, }, // Celesteela @ ??? + new EncounterStatic { Species = 798, Level = 60, Location = -01, }, // Kartana @ ??? + new EncounterStatic { Species = 799, Level = 60, Location = -01, }, // Guzzlord @ ??? + new EncounterStatic { Species = 735, Level = 60, Location = -01, Form = 1, Shiny = false, HeldItem = 189, }, // Gumshoos @ ??? + new EncounterStatic { Species = 734, Level = 58, Location = -01, Shiny = false, }, // Yungoos @ ??? + new EncounterStatic { Species = 020, Level = 60, Location = -01, Form = 2, Shiny = false, HeldItem = 189, }, // Raticate @ ??? + new EncounterStatic { Species = 019, Level = 58, Location = -01, Form = 1, Shiny = false, }, // Rattata @ ??? + new EncounterStatic { Species = 760, Level = 28, Location = -01, Shiny = false, }, // Bewear @ ??? + new EncounterStatic { Species = 097, Level = 29, Location = -01, Shiny = false, }, // Hypno @ ??? + new EncounterStatic { Species = 097, Level = 29, Location = -01, Shiny = false, }, // Hypno @ ??? + new EncounterStatic { Species = 097, Level = 29, Location = -01, Shiny = false, }, // Hypno @ ??? + new EncounterStatic { Species = 092, Level = 19, Location = -01, Shiny = false, }, // Gastly @ ??? + new EncounterStatic { Species = 425, Level = 19, Location = -01, Shiny = false, }, // Drifloon @ ??? + new EncounterStatic { Species = 769, Level = 30, Location = -01, Shiny = false, }, // Sandygast @ ??? + new EncounterStatic { Species = 592, Level = 34, Location = -01, Shiny = false, }, // Frillish @ ??? + new EncounterStatic { Species = 132, Level = 29, Location = -01, }, // Ditto @ ??? + new EncounterStatic { Species = 132, Level = 29, Location = -01, }, // Ditto @ ??? + new EncounterStatic { Species = 132, Level = 29, Location = -01, }, // Ditto @ ??? + new EncounterStatic { Species = 132, Level = 29, Location = -01, }, // Ditto @ ??? + new EncounterStatic { Species = 132, Level = 29, Location = -01, }, // Ditto @ ??? + new EncounterStatic { Species = 718, Level = 60, Location = -01, Shiny = false, }, // Zygarde @ ??? + new EncounterStatic { Species = 805, Level = 60, Location = -01, }, // Stakataka @ ??? + new EncounterStatic { Species = 806, Level = 60, Location = -01, }, // Blacephalon @ ??? + new EncounterStatic { Species = 105, Level = 22, Location = -01, Form = 2, Shiny = false, HeldItem = 258, }, // Marowak @ ??? + new EncounterStatic { Species = 758, Level = 20, Location = -01, Shiny = false, }, // Salazzle @ ??? + new EncounterStatic { Species = 101, Level = 60, Location = -01, Shiny = false, }, // Electrode @ ??? }; internal static readonly EncounterTrade[] TradeGift_USUM = { From 93b49928a08f06d5bc3bd4d61023d05bbbedb731 Mon Sep 17 00:00:00 2001 From: Kurt Date: Wed, 8 Nov 2017 19:31:07 -0800 Subject: [PATCH 15/81] add lvl/egg move tables for usum add a few met locations for static encounters, recognizes torracat with double kick correctly! --- .../Legality/Encounters/Data/Encounters7.cs | 12 ++++++------ PKHeX.Core/Resources/byte/eggmove_uu.pkl | Bin 15996 -> 16700 bytes PKHeX.Core/Resources/byte/lvlmove_uu.pkl | Bin 70808 -> 72024 bytes 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs index c2ce81d2b..7f17eaade 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs @@ -166,9 +166,9 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) }; private static readonly EncounterStatic[] Encounter_USUM = { - new EncounterStatic { Gift = true, Species = 722, Level = 05, Location = 24, }, // Rowlet @ ??? - new EncounterStatic { Gift = true, Species = 725, Level = 05, Location = 24, }, // Litten @ ??? - new EncounterStatic { Gift = true, Species = 728, Level = 05, Location = 24, }, // Popplio @ ??? + new EncounterStatic { Gift = true, Species = 722, Level = 05, Location = 8, }, // Rowlet @ ??? + new EncounterStatic { Gift = true, Species = 725, Level = 05, Location = 8, }, // Litten @ ??? + new EncounterStatic { Gift = true, Species = 728, Level = 05, Location = 8, }, // Popplio @ ??? new EncounterStatic { Gift = true, Species = 138, Level = 15, Location = 58, }, // Omanyte @ ??? new EncounterStatic { Gift = true, Species = 140, Level = 15, Location = 58, }, // Kabuto @ ??? new EncounterStatic { Gift = true, Species = 142, Level = 15, Location = 58, }, // Aerodactyl @ ??? @@ -314,7 +314,7 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 256, Level = 20, Location = -01, }, // Combusken @ ??? new EncounterStatic { Species = 679, Level = 24, Location = -01, }, // Honedge @ ??? new EncounterStatic { Species = 015, Level = 14, Location = -01, }, // Beedrill @ ??? - new EncounterStatic { Species = 253, Level = 16, Location = -01, }, // Grovyle @ ??? + new EncounterStatic { Species = 253, Level = 16, Location = 052, }, // Grovyle @ ??? new EncounterStatic { Species = 259, Level = 17, Location = -01, }, // Marshtomp @ ??? new EncounterStatic { Species = 111, Level = 32, Location = -01, }, // Rhyhorn @ ??? new EncounterStatic { Species = 220, Level = 33, Location = -01, }, // Swinub @ ??? @@ -335,7 +335,7 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 786, Level = 60, Location = -01, Shiny = false, }, // Tapu Lele @ ??? new EncounterStatic { Species = 787, Level = 60, Location = -01, Shiny = false, }, // Tapu Bulu @ ??? new EncounterStatic { Species = 788, Level = 60, Location = -01, Shiny = false, }, // Tapu Fini @ ??? - new EncounterStatic { Species = 023, Level = 10, Location = -01, }, // Ekans @ ??? + new EncounterStatic { Species = 023, Level = 10, Location = 012, }, // Ekans @ ??? new EncounterStatic { Species = 103, Level = 40, Location = -01, Form = 1, }, // Exeggutor @ ??? new EncounterStatic { Species = 785, Level = 60, Location = -01, Shiny = false, }, // Tapu Koko @ ??? @@ -443,7 +443,7 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 092, Level = 19, Location = -01, Shiny = false, }, // Gastly @ ??? new EncounterStatic { Species = 425, Level = 19, Location = -01, Shiny = false, }, // Drifloon @ ??? new EncounterStatic { Species = 769, Level = 30, Location = -01, Shiny = false, }, // Sandygast @ ??? - new EncounterStatic { Species = 592, Level = 34, Location = -01, Shiny = false, }, // Frillish @ ??? + new EncounterStatic { Species = 592, Level = 34, Location = 126, Shiny = false, }, // Frillish @ ??? new EncounterStatic { Species = 132, Level = 29, Location = -01, }, // Ditto @ ??? new EncounterStatic { Species = 132, Level = 29, Location = -01, }, // Ditto @ ??? new EncounterStatic { Species = 132, Level = 29, Location = -01, }, // Ditto @ ??? diff --git a/PKHeX.Core/Resources/byte/eggmove_uu.pkl b/PKHeX.Core/Resources/byte/eggmove_uu.pkl index dd77a7ebe46a0c01860d02c4e3cffe9676165764..8f9fb01781e8f2d1b33396b417273c569a773436 100644 GIT binary patch delta 8947 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 delta 8361 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 diff --git a/PKHeX.Core/Resources/byte/lvlmove_uu.pkl b/PKHeX.Core/Resources/byte/lvlmove_uu.pkl index 40cafd1d38271e4d9498ab807345971556ce74a4..79426875aee6edb40037ff1c01dc4002ee505042 100644 GIT binary patch delta 4950 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 TRLC#fpSgABq^KM_dJBF7v8!Cz From da5dd5ccb365ba39bef1a629d3cff7c065ccdb1f Mon Sep 17 00:00:00 2001 From: Kurt Date: Wed, 8 Nov 2017 19:34:07 -0800 Subject: [PATCH 16/81] remove usum early return for dex bit setting I highly doubt this is causing save corruption; looked through the disassembly and the offset ptrs are the same relative to sun/moon. Implementation is flexible for both as gamefreak allocated enough space in each bit array. pokedex editor recognizes bools correctly (including for formes). --- PKHeX.Core/Saves/SAV7.cs | 3 --- 1 file changed, 3 deletions(-) diff --git a/PKHeX.Core/Saves/SAV7.cs b/PKHeX.Core/Saves/SAV7.cs index dfd8f1c3a..cf02f6912 100644 --- a/PKHeX.Core/Saves/SAV7.cs +++ b/PKHeX.Core/Saves/SAV7.cs @@ -974,9 +974,6 @@ protected override void SetDex(PKM pkm) if (pkm.IsEgg) // do not add return; - if (USUM) // TODO: IMPLEMENT POKEDEX EDITING FOR USUM - return; - int bit = pkm.Species - 1; int bd = bit >> 3; // div8 int bm = bit & 7; // mod8 From 115c611120e326cd9a7736223020ec408150b1e4 Mon Sep 17 00:00:00 2001 From: Kurt Date: Wed, 8 Nov 2017 19:51:04 -0800 Subject: [PATCH 17/81] add surf to gift pikachu moveset only gift pkm with special move --- PKHeX.Core/Legality/Encounters/Data/Encounters7.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs index 7f17eaade..48bc96a7f 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs @@ -186,7 +186,7 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Gift = true, Species = 801, Level = 50, Location = -01, Shiny = false, HeldItem = 795, }, // Magearna @ ??? new EncounterStatic { Gift = true, Species = 789, Level = 05, Location = -01, Shiny = false, }, // Cosmog @ ??? new EncounterStatic { Gift = true, Species = 142, Level = 40, Location = 172, }, // Aerodactyl @ ??? - new EncounterStatic { Gift = true, Species = 025, Level = 40, Location = -01, HeldItem = 796, }, // Pikachu @ ??? + new EncounterStatic { Gift = true, Species = 025, Level = 40, Location = -01, HeldItem = 796, Moves = new[] {057} }, // Pikachu (Surf) @ ??? new EncounterStatic { Gift = true, Species = 803, Level = 40, Location = -01, }, // Poipole @ ??? new EncounterStatic { Gift = true, Species = 735, Level = 20, Location = -01, Form = 1, Shiny = false, }, // Gumshoos @ ??? new EncounterStatic { Gift = true, Species = 020, Level = 20, Location = -01, Form = 2, Shiny = false, }, // Raticate @ ??? From a8000608f252280f8540fe9027feb9fa723f7abc Mon Sep 17 00:00:00 2001 From: Matt Date: Wed, 8 Nov 2017 22:56:13 -0500 Subject: [PATCH 18/81] Add more USUM static encounter locations Totems @ Heahea Beach, Island Scan. Grovyle is Akala-Friday @ Route 5, as is Bellsprout in SM; assume locations were unchanged. --- .../Legality/Encounters/Data/Encounters7.cs | 99 ++++++++++--------- 1 file changed, 54 insertions(+), 45 deletions(-) diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs index 48bc96a7f..1934a90f9 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs @@ -166,9 +166,9 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) }; private static readonly EncounterStatic[] Encounter_USUM = { - new EncounterStatic { Gift = true, Species = 722, Level = 05, Location = 8, }, // Rowlet @ ??? - new EncounterStatic { Gift = true, Species = 725, Level = 05, Location = 8, }, // Litten @ ??? - new EncounterStatic { Gift = true, Species = 728, Level = 05, Location = 8, }, // Popplio @ ??? + new EncounterStatic { Gift = true, Species = 722, Level = 05, Location = 8, }, // Rowlet @ Route 1 + new EncounterStatic { Gift = true, Species = 725, Level = 05, Location = 8, }, // Litten @ Route 1 + new EncounterStatic { Gift = true, Species = 728, Level = 05, Location = 8, }, // Popplio @ Route 1 new EncounterStatic { Gift = true, Species = 138, Level = 15, Location = 58, }, // Omanyte @ ??? new EncounterStatic { Gift = true, Species = 140, Level = 15, Location = 58, }, // Kabuto @ ??? new EncounterStatic { Gift = true, Species = 142, Level = 15, Location = 58, }, // Aerodactyl @ ??? @@ -185,20 +185,20 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Gift = true, Species = 772, Level = 60, Location = -01, }, // Type: Null @ ??? new EncounterStatic { Gift = true, Species = 801, Level = 50, Location = -01, Shiny = false, HeldItem = 795, }, // Magearna @ ??? new EncounterStatic { Gift = true, Species = 789, Level = 05, Location = -01, Shiny = false, }, // Cosmog @ ??? - new EncounterStatic { Gift = true, Species = 142, Level = 40, Location = 172, }, // Aerodactyl @ ??? - new EncounterStatic { Gift = true, Species = 025, Level = 40, Location = -01, HeldItem = 796, Moves = new[] {057} }, // Pikachu (Surf) @ ??? + new EncounterStatic { Gift = true, Species = 142, Level = 40, Location = 172, }, // Aerodactyl @ Seafolk Village + new EncounterStatic { Gift = true, Species = 025, Level = 40, Location = -01, HeldItem = 796, }, // Pikachu @ ??? new EncounterStatic { Gift = true, Species = 803, Level = 40, Location = -01, }, // Poipole @ ??? - new EncounterStatic { Gift = true, Species = 735, Level = 20, Location = -01, Form = 1, Shiny = false, }, // Gumshoos @ ??? - new EncounterStatic { Gift = true, Species = 020, Level = 20, Location = -01, Form = 2, Shiny = false, }, // Raticate @ ??? - new EncounterStatic { Gift = true, Species = 105, Level = 25, Location = -01, Form = 2, Shiny = false, }, // Marowak @ ??? - new EncounterStatic { Gift = true, Species = 752, Level = 25, Location = -01, Form = 1, Shiny = false, }, // Araquanid @ ??? - new EncounterStatic { Gift = true, Species = 754, Level = 30, Location = -01, Form = 1, Shiny = false, }, // Lurantis @ ??? - new EncounterStatic { Gift = true, Species = 758, Level = 30, Location = -01, Form = 1, Shiny = false, }, // Salazzle @ ??? - new EncounterStatic { Gift = true, Species = 738, Level = 35, Location = -01, Form = 1, Shiny = false, }, // Vikavolt @ ??? - new EncounterStatic { Gift = true, Species = 777, Level = 35, Location = -01, Form = 1, Shiny = false, }, // Togedemaru @ ??? - new EncounterStatic { Gift = true, Species = 778, Level = 40, Location = -01, Form = 2, Shiny = false, }, // Mimikyu @ ??? - new EncounterStatic { Gift = true, Species = 743, Level = 50, Location = -01, Form = 1, Shiny = false, }, // Ribombee @ ??? - new EncounterStatic { Gift = true, Species = 784, Level = 50, Location = -01, Form = 1, Shiny = false, }, // Kommo-o @ ??? + new EncounterStatic { Gift = true, Species = 735, Level = 20, Location = 202, Form = 1, Shiny = false, }, // Totem Gumshoos + new EncounterStatic { Gift = true, Species = 020, Level = 20, Location = 202, Form = 2, Shiny = false, }, // Totem Raticate + new EncounterStatic { Gift = true, Species = 105, Level = 25, Location = 202, Form = 2, Shiny = false, }, // Totem Marowak + new EncounterStatic { Gift = true, Species = 752, Level = 25, Location = 202, Form = 1, Shiny = false, }, // Totem Araquanid + new EncounterStatic { Gift = true, Species = 754, Level = 30, Location = 202, Form = 1, Shiny = false, }, // Totem Lurantis + new EncounterStatic { Gift = true, Species = 758, Level = 30, Location = 202, Form = 1, Shiny = false, }, // Totem Salazzle + new EncounterStatic { Gift = true, Species = 738, Level = 35, Location = 202, Form = 1, Shiny = false, }, // Totem Vikavolt + new EncounterStatic { Gift = true, Species = 777, Level = 35, Location = 202, Form = 1, Shiny = false, }, // Totem Togedemaru + new EncounterStatic { Gift = true, Species = 778, Level = 40, Location = 202, Form = 2, Shiny = false, }, // Totem Mimikyu + new EncounterStatic { Gift = true, Species = 743, Level = 50, Location = 202, Form = 1, Shiny = false, }, // Totem Ribombee + new EncounterStatic { Gift = true, Species = 784, Level = 50, Location = 202, Form = 1, Shiny = false, }, // Totem Kommo-o new EncounterStatic { Gift = true, Species = 718, Level = 63, Location = -01, Form = 1, Shiny = false, }, // Zygarde @ ??? new EncounterStatic { Gift = true, Species = 025, Level = 21, Location = -01, Form = 7, Shiny = false, HeldItem = 571, }, // Pikachu @ ??? @@ -302,35 +302,44 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 797, Level = 65, Location = -01, Shiny = false, }, // Celesteela @ ??? new EncounterStatic { Species = 799, Level = 70, Location = -01, Shiny = false, }, // Guzzlord @ ??? new EncounterStatic { Species = 800, Level = 75, Location = -01, Shiny = false, }, // Necrozma @ ??? - new EncounterStatic { Species = 004, Level = 12, Location = -01, }, // Charmander @ ??? - new EncounterStatic { Species = 007, Level = 12, Location = -01, }, // Squirtle @ ??? - new EncounterStatic { Species = 095, Level = 14, Location = -01, }, // Onix @ ??? - new EncounterStatic { Species = 116, Level = 18, Location = -01, }, // Horsea @ ??? - new EncounterStatic { Species = 664, Level = 09, Location = -01, Form = 30, }, // Scatterbug @ ??? - new EncounterStatic { Species = 001, Level = 10, Location = -01, }, // Bulbasaur @ ??? - new EncounterStatic { Species = 607, Level = 09, Location = -01, }, // Litwick @ ??? - new EncounterStatic { Species = 280, Level = 17, Location = -01, }, // Ralts @ ??? - new EncounterStatic { Species = 363, Level = 19, Location = -01, }, // Spheal @ ??? - new EncounterStatic { Species = 256, Level = 20, Location = -01, }, // Combusken @ ??? - new EncounterStatic { Species = 679, Level = 24, Location = -01, }, // Honedge @ ??? - new EncounterStatic { Species = 015, Level = 14, Location = -01, }, // Beedrill @ ??? - new EncounterStatic { Species = 253, Level = 16, Location = 052, }, // Grovyle @ ??? - new EncounterStatic { Species = 259, Level = 17, Location = -01, }, // Marshtomp @ ??? - new EncounterStatic { Species = 111, Level = 32, Location = -01, }, // Rhyhorn @ ??? - new EncounterStatic { Species = 220, Level = 33, Location = -01, }, // Swinub @ ??? - new EncounterStatic { Species = 394, Level = 35, Location = -01, }, // Prinplup @ ??? - new EncounterStatic { Species = 388, Level = 36, Location = -01, }, // Grotle @ ??? - new EncounterStatic { Species = 388, Level = 36, Location = -01, }, // Grotle @ ??? - new EncounterStatic { Species = 018, Level = 29, Location = -01, }, // Pidgeot @ ??? - new EncounterStatic { Species = 391, Level = 29, Location = -01, }, // Monferno @ ??? - new EncounterStatic { Species = 610, Level = 30, Location = -01, }, // Axew @ ??? - new EncounterStatic { Species = 604, Level = 55, Location = -01, }, // Eelektross @ ??? - new EncounterStatic { Species = 306, Level = 57, Location = -01, }, // Aggron @ ??? - new EncounterStatic { Species = 479, Level = 61, Location = -01, }, // Rotom @ ??? - new EncounterStatic { Species = 542, Level = 57, Location = -01, }, // Leavanny @ ??? - new EncounterStatic { Species = 652, Level = 45, Location = -01, }, // Chesnaught @ ??? - new EncounterStatic { Species = 658, Level = 44, Location = -01, }, // Greninja @ ??? - new EncounterStatic { Species = 655, Level = 44, Location = -01, }, // Delphox @ ??? + + // QR Scan: Su/M/Tu/W/Th/F/Sa + // Melemele Island + new EncounterStatic { Species = 004, Level = 12, Location = 010, }, // Charmander @ Route 3 + new EncounterStatic { Species = 007, Level = 12, Location = 042, }, // Squirtle @ Seaward Cave + new EncounterStatic { Species = 095, Level = 14, Location = 034, }, // Onix @ Ten Carat Hill + new EncounterStatic { Species = 116, Level = 18, Location = 014, }, // Horsea @ Kala'e Bay + new EncounterStatic { Species = 664, Level = 09, Location = 020, Form = 30, }, // Scatterbug @ Hau'oli City + new EncounterStatic { Species = 001, Level = 10, Location = 012, }, // Bulbasaur @ Route 2 + new EncounterStatic { Species = 607, Level = 09, Location = 038, }, // Litwick @ Hau'oli Cemetery + + // Akala Island + new EncounterStatic { Species = 280, Level = 17, Location = 054, }, // Ralts @ Route 6 + new EncounterStatic { Species = 363, Level = 19, Location = 056, }, // Spheal @ Route 7 + new EncounterStatic { Species = 256, Level = 20, Location = 058, }, // Combusken @ Route 8 + new EncounterStatic { Species = 679, Level = 24, Location = 094, }, // Honedge @ Akala Outskirts + new EncounterStatic { Species = 015, Level = 14, Location = 050, }, // Beedrill @ Route 4 + new EncounterStatic { Species = 253, Level = 16, Location = 052, }, // Grovyle @ Route 5 + new EncounterStatic { Species = 259, Level = 17, Location = 086, }, // Marshtomp @ Brooklet Hill + + // Ula'ula Island + new EncounterStatic { Species = 111, Level = 32, Location = 138, }, // Rhyhorn @ Blush Mountain + new EncounterStatic { Species = 220, Level = 33, Location = 114, }, // Swinub @ Tapu Village + new EncounterStatic { Species = 394, Level = 35, Location = 118, }, // Prinplup @ Route 16 + new EncounterStatic { Species = 388, Level = 36, Location = 128, }, // Grotle @ Ula'ula Meadow + new EncounterStatic { Species = 018, Level = 29, Location = 106, }, // Pidgeot @ Route 10 + new EncounterStatic { Species = 391, Level = 29, Location = 108, }, // Monferno @ Route 11 + new EncounterStatic { Species = 610, Level = 30, Location = 136, }, // Axew @ Mount Hokulani + + // Poni Island + new EncounterStatic { Species = 604, Level = 55, Location = 164, }, // Eelektross @ Poni Grove + new EncounterStatic { Species = 306, Level = 57, Location = 166, }, // Aggron @ Poni Plains + new EncounterStatic { Species = 479, Level = 61, Location = 170, }, // Rotom @ Poni Gauntlet + new EncounterStatic { Species = 542, Level = 57, Location = 156, }, // Leavanny @ Poni Meadow + new EncounterStatic { Species = 652, Level = 45, Location = 184, }, // Chesnaught @ Exeggutor Island + new EncounterStatic { Species = 658, Level = 44, Location = 158, }, // Greninja @ Poni Wilds + new EncounterStatic { Species = 655, Level = 44, Location = 160, }, // Delphox @ Ancient Poni Path + new EncounterStatic { Species = 785, Level = 60, Location = -01, Shiny = false, }, // Tapu Koko @ ??? new EncounterStatic { Species = 786, Level = 60, Location = -01, Shiny = false, }, // Tapu Lele @ ??? new EncounterStatic { Species = 787, Level = 60, Location = -01, Shiny = false, }, // Tapu Bulu @ ??? From 9ab2938b849a48f7c5f35d155510bae9f544dbb5 Mon Sep 17 00:00:00 2001 From: wwwwwwzx Date: Wed, 8 Nov 2017 20:20:41 -0800 Subject: [PATCH 19/81] Fix USUM Chinese species names encoding --- PKHeX.Core/PKHeX.Core.csproj | 2 - PKHeX.Core/PKM/StringConverter.cs | 41 +++++++++++-------- PKHeX.Core/Resources/text/zh/text_Char_zh.txt | 2 +- .../Resources/text/zh/text_Char_zh2.txt | 1 - .../Resources/text/zh/text_Species_zh.txt | 10 ++--- .../Resources/text/zh/text_Species_zh2.txt | 10 ++--- 6 files changed, 34 insertions(+), 32 deletions(-) delete mode 100644 PKHeX.Core/Resources/text/zh/text_Char_zh2.txt diff --git a/PKHeX.Core/PKHeX.Core.csproj b/PKHeX.Core/PKHeX.Core.csproj index d1d26dc86..5965d79f0 100644 --- a/PKHeX.Core/PKHeX.Core.csproj +++ b/PKHeX.Core/PKHeX.Core.csproj @@ -614,7 +614,6 @@ - @@ -1255,7 +1254,6 @@ - diff --git a/PKHeX.Core/PKM/StringConverter.cs b/PKHeX.Core/PKM/StringConverter.cs index 1a03344d3..41d13bf09 100644 --- a/PKHeX.Core/PKM/StringConverter.cs +++ b/PKHeX.Core/PKM/StringConverter.cs @@ -496,17 +496,12 @@ private static string ConvertString2BinG7_zh(string inputstr, int lang) bool cht = lang == 10; // A string cannot contain a mix of CHS and CHT characters. - bool IsCHT = inputstr.Any(chr => Gen7_CHT.Contains(chr) && !Gen7_CHS.Contains(chr)); - IsCHT |= cht && !inputstr.Any(chr => Gen7_CHT.Contains(chr) ^ Gen7_CHS.Contains(chr)); // CHS and CHT have the same display name - var table = IsCHT ? Gen7_CHT : Gen7_CHS; - ushort ofs = IsCHT ? Gen7_CHT_Ofs : Gen7_CHS_Ofs; + bool IsCHT = inputstr.Any(chr => G7_CHT.ContainsKey(chr) && !G7_CHS.ContainsKey(chr)); + IsCHT |= cht && !inputstr.Any(chr => G7_CHT.ContainsKey(chr) ^ G7_CHS.ContainsKey(chr)); // CHS and CHT have the same display name + var table = IsCHT ? G7_CHT : G7_CHS; foreach (char chr in inputstr) - { - var index = Array.IndexOf(table, chr); - var val = index > -1 ? (char) (ofs + index) : chr; - str.Append(val); - } + str.Append(table.TryGetValue(chr, out int index) ? (char)(index + Gen7_ZH_Ofs) : chr); return str.ToString(); } @@ -524,16 +519,14 @@ private static string ConvertBin2StringG7_zh(string inputstr) } /// - /// Shifts a character from the CHS/CHT character tables + /// Shifts a character from the Chinese character tables /// /// Input value to shift /// Shifted character private static ushort Getg7zhChar(ushort val) { - if (Gen7_CHS_Ofs <= val && val < Gen7_CHS_Ofs + Gen7_CHS.Length) // within CHS char table - return Gen7_CHS[val - Gen7_CHS_Ofs]; - if (Gen7_CHT_Ofs <= val && val < Gen7_CHT_Ofs + Gen7_CHT.Length) // within CHT char table - return Gen7_CHT[val - Gen7_CHT_Ofs]; + if (Gen7_ZH_Ofs <= val && val < Gen7_ZH_Ofs + Gen7_ZH.Length) + return Gen7_ZH[val - Gen7_ZH_Ofs]; return val; // regular character } @@ -1923,10 +1916,22 @@ private static byte SetG3Char(ushort chr, bool jp) .ToDictionary(pair => pair.value, pair => pair.index); #region Gen 7 Chinese Character Tables - private static readonly char[] Gen7_CHS = Util.GetStringList("Char", "zh")[0].ToCharArray(); - private const ushort Gen7_CHS_Ofs = 0xE800; - private static readonly char[] Gen7_CHT = Util.GetStringList("Char", "zh2")[0].ToCharArray(); - private const ushort Gen7_CHT_Ofs = 0xEB0F; + private static readonly char[] Gen7_ZH = Util.GetStringList("Char", "zh")[0].ToCharArray(); + private const ushort Gen7_ZH_Ofs = 0xE800; + private const ushort SM_ZHCharTable_Size = 0x30F; + private const ushort USUM_CHS_Size = 0x4; + private const ushort USUM_CHT_Size = 0x5; + private static bool getisG7CHSChar(int idx) => idx < SM_ZHCharTable_Size || SM_ZHCharTable_Size * 2 <= idx && idx < SM_ZHCharTable_Size * 2 + USUM_CHS_Size; + + private static readonly Dictionary G7_CHS = Gen7_ZH + .Select((value, index) => new { value, index }) + .Where(pair => getisG7CHSChar(pair.index)) + .ToDictionary(pair => pair.value, pair => pair.index); + + private static readonly Dictionary G7_CHT = Gen7_ZH + .Select((value, index) => new { value, index }) + .Where(pair => !getisG7CHSChar(pair.index)) + .ToDictionary(pair => pair.value, pair => pair.index); #endregion /// diff --git a/PKHeX.Core/Resources/text/zh/text_Char_zh.txt b/PKHeX.Core/Resources/text/zh/text_Char_zh.txt index 713e87865..1573b9e1f 100644 --- a/PKHeX.Core/Resources/text/zh/text_Char_zh.txt +++ b/PKHeX.Core/Resources/text/zh/text_Char_zh.txt @@ -1 +1 @@ -蛋妙蛙种子草花小火龙恐喷杰尼龟卡咪水箭绿毛虫铁甲蛹巴大蝶独角壳针蜂波比鸟拉达烈雀嘴阿柏蛇怪皮丘雷穿山鼠王多兰娜后朗力诺可西六尾九胖丁超音蝠走路臭霸派斯特球摩鲁蛾地三喵猫老鸭哥猴暴蒂狗风速蚊香蝌蚪君泳士凯勇基胡腕豪喇叭芽口呆食玛瑙母毒刺拳石隆岩马焰兽磁合一葱嘟利海狮白泥舌贝鬼通耿催眠貘引梦人钳蟹巨霹雳电顽弹椰树嘎啦飞腿郎快头瓦双犀牛钻吉蔓藤袋墨金鱼星宝魔墙偶天螳螂迷唇姐击罗肯泰鲤普百变伊布边菊化盔镰刀翼急冻闪你哈克幻叶月桂竺葵锯鳄蓝立咕夜鹰芭瓢安圆丝蛛叉字灯笼古然咩羊茸美丽露才皇毽棉长手向日蜻蜓乌沼太阳亮黑暗鸦妖未知图腾果翁麒麟奇榛佛托土弟蝎钢千壶赫狃熊圈熔蜗猪珊瑚炮章桶信使翅戴加象顿Ⅱ惊鹿犬无畏战舞娃奶罐幸福公炎帝幼沙班洛亚凤时木守宫森林蜥蜴稚鸡壮跃狼纹直冲茧狩猎盾粉莲童帽乐河橡实鼻狡猾傲骨燕鸥莉奈朵溜糖雨蘑菇斗笠懒獭过动猿请假居忍面者脱妞吼爆幕下掌朝北优雅勾魂眼那恰姆落正拍负萤甜蔷薇溶吞牙鲨鲸驼煤炭跳噗晃斑颚蚁漠仙歌青绵七夕鼬斩饭匙鳅鲶虾兵螯秤念触摇篮羽丑纳飘浮泡隐怨影诅咒巡灵彷徨热带铃勃梭雪冰护豹珍珠樱空棘爱心哑属艾欧盖固坐祈代希苗台猛曼拿儿狸法师箱蟀勒伦琴含羞苞槌城结贵妇绅蜜女帕兹潜兔随卷耳魅东施铛响坦铜镜钟盆聒噪陆尖咬不良骷荧光霓虹自舔狂远Z由卢席恩骑色霏莱谢米尔宙提主暖炒武刃丸剑探步哨约扒酷冷蚀豆鸽高雉幔庞滚蝙螺钉差搬运匠修建蟾蜍投摔打包保足蜈蚣车轮精根裙野蛮鲈混流氓红倒狒殿滑巾征哭具死神棺原肋始祖破灰尘索沫栗德单卵细胞造鹅倍四季萌哎呀败轻蜘坚齿组麻鳗宇烛幽晶斧嚏几何敏捷功夫父赤驹劈司令炸雄秃丫首恶燃烧毕云酋迪耶塔赛里狐呱贺掘彩蓓洁能鞘芳芙妮好鱿贼脚铠垃藻臂枪伞咚碎黏钥朽南瓜嗡哲裴格枭狙射炽咆哮虎漾壬笃啄铳少强锹农胜虻鬃弱坏驴仔重挽滴伪睡罩盗着竹疗环智挥猩掷胆噬堡爷参性:银伴陨枕戈谜拟Q磨舵鳞杖璞・鸣哞鳍科莫迦虚吾肌费束辉纸御机夏 \ No newline at end of file +蛋妙蛙种子草花小火龙恐喷杰尼龟卡咪水箭绿毛虫铁甲蛹巴大蝶独角壳针蜂波比鸟拉达烈雀嘴阿柏蛇怪皮丘雷穿山鼠王多兰娜后朗力诺可西六尾九胖丁超音蝠走路臭霸派斯特球摩鲁蛾地三喵猫老鸭哥猴暴蒂狗风速蚊香蝌蚪君泳士凯勇基胡腕豪喇叭芽口呆食玛瑙母毒刺拳石隆岩马焰兽磁合一葱嘟利海狮白泥舌贝鬼通耿催眠貘引梦人钳蟹巨霹雳电顽弹椰树嘎啦飞腿郎快头瓦双犀牛钻吉蔓藤袋墨金鱼星宝魔墙偶天螳螂迷唇姐击罗肯泰鲤普百变伊布边菊化盔镰刀翼急冻闪你哈克幻叶月桂竺葵锯鳄蓝立咕夜鹰芭瓢安圆丝蛛叉字灯笼古然咩羊茸美丽露才皇毽棉长手向日蜻蜓乌沼太阳亮黑暗鸦妖未知图腾果翁麒麟奇榛佛托土弟蝎钢千壶赫狃熊圈熔蜗猪珊瑚炮章桶信使翅戴加象顿Ⅱ惊鹿犬无畏战舞娃奶罐幸福公炎帝幼沙班洛亚凤时木守宫森林蜥蜴稚鸡壮跃狼纹直冲茧狩猎盾粉莲童帽乐河橡实鼻狡猾傲骨燕鸥莉奈朵溜糖雨蘑菇斗笠懒獭过动猿请假居忍面者脱妞吼爆幕下掌朝北优雅勾魂眼那恰姆落正拍负萤甜蔷薇溶吞牙鲨鲸驼煤炭跳噗晃斑颚蚁漠仙歌青绵七夕鼬斩饭匙鳅鲶虾兵螯秤念触摇篮羽丑纳飘浮泡隐怨影诅咒巡灵彷徨热带铃勃梭雪冰护豹珍珠樱空棘爱心哑属艾欧盖固坐祈代希苗台猛曼拿儿狸法师箱蟀勒伦琴含羞苞槌城结贵妇绅蜜女帕兹潜兔随卷耳魅东施铛响坦铜镜钟盆聒噪陆尖咬不良骷荧光霓虹自舔狂远Z由卢席恩骑色霏莱谢米尔宙提主暖炒武刃丸剑探步哨约扒酷冷蚀豆鸽高雉幔庞滚蝙螺钉差搬运匠修建蟾蜍投摔打包保足蜈蚣车轮精根裙野蛮鲈混流氓红倒狒殿滑巾征哭具死神棺原肋始祖破灰尘索沫栗德单卵细胞造鹅倍四季萌哎呀败轻蜘坚齿组麻鳗宇烛幽晶斧嚏几何敏捷功夫父赤驹劈司令炸雄秃丫首恶燃烧毕云酋迪耶塔赛里狐呱贺掘彩蓓洁能鞘芳芙妮好鱿贼脚铠垃藻臂枪伞咚碎黏钥朽南瓜嗡哲裴格枭狙射炽咆哮虎漾壬笃啄铳少强锹农胜虻鬃弱坏驴仔重挽滴伪睡罩盗着竹疗环智挥猩掷胆噬堡爷参性:银伴陨枕戈谜拟Q磨舵鳞杖璞・鸣哞鳍科莫迦虚吾肌费束辉纸御机夏蛋妙蛙種子草花小火龍恐噴傑尼龜卡咪水箭綠毛蟲鐵甲蛹巴大蝶獨角殼針蜂波比鳥拉達烈雀嘴阿柏蛇怪皮丘雷穿山鼠王多蘭娜后朗力諾可西六尾九胖丁超音蝠走路臭霸派斯特球摩魯蛾地三喵貓老鴨哥猴爆蒂狗風速蚊香蝌蚪君泳士凱勇基胡腕豪喇叭芽口呆食瑪瑙母毒刺拳石隆岩馬焰獸磁合一蔥嘟利海獅白泥舌貝鬼通耿催眠貘引夢人鉗蟹巨霹靂電頑彈椰樹嘎啦飛腿郎快頭瓦雙犀牛鑽吉蔓藤袋墨金魚星寶魔牆偶天螳螂迷唇姐擊羅肯泰鯉暴普百變伊布邊菊化盔鐮刀翼急凍閃你哈克幻葉月桂竺葵鋸鱷藍立咕夜鷹芭瓢安圓絲蛛叉字燈籠古然咩羊茸美麗露才皇毽棉長手向日蜻蜓烏沼太陽亮黑暗鴉妖未知圖騰果翁麒麟奇榛佛托土弟蠍鋼千壺赫狃熊圈熔蝸豬珊瑚炮章桶信使翅戴加象頓Ⅱ驚鹿犬無畏戰舞娃奶罐幸福公炎帝幼沙班洛亞鳳時木守宮森林蜥蜴稚雞壯躍狼紋直衝繭狩獵盾粉蓮童帽樂河橡實鼻狡猾傲骨燕鷗莉奈朵溜糖雨蘑菇斗笠懶獺過動猿請假居忍面者脫妞吼幕下掌朝北優雅勾魂眼那恰姆落正拍負螢甜薔薇溶吞牙鯊鯨駝煤炭跳噗晃斑顎蟻漠仙歌青綿七夕鼬斬飯匙鰍鯰蝦兵螯秤念觸搖籃羽醜納飄浮泡隱怨影詛咒巡靈彷徨熱帶鈴勃梭雪冰護豹珍珠櫻空棘愛心啞屬艾歐蓋固坐祈代希苗台猛曼拿兒狸法師箱蟀勒倫琴含羞苞槌城結貴婦紳蜜女帕茲潛兔隨捲耳魅東施鐺響坦銅鏡鐘盆聒噪陸尖咬不良骷光霓虹自舔狂遠Z由盧席恩騎色霏萊謝米爾宙提主暖炒武刃丸劍探步哨約扒酷冷蝕豆鴿高雉幔龐滾蝙螺釘差搬運匠修建蟾蜍投摔打包保足蜈蚣車輪毬精根裙野蠻鱸混流氓紅倒狒殿滑巾徵哭具死神棺原肋始祖破灰塵索沫栗德單卵細胞造鵝倍四季萌哎呀敗輕蜘堅齒組麻鰻宇燭幽晶斧嚏幾何敏捷功夫父赤駒劈司令炸雄禿丫首惡燃燒畢雲酋迪耶塔賽里狐呱賀掘彩蓓潔能鞘芳芙妮好魷賊腳鎧垃藻臂槍傘咚碎黏鑰朽南瓜嗡哲裴格梟狙射熾咆哮虎漾壬篤啄銃少強鍬農勝虻鬃弱壞驢仔重挽滴偽睡罩盜著竹療環智揮猩擲膽噬堡爺參性:銀伴隕枕戈謎擬Q磨舵鱗杖璞・鳴哞鰭科莫迦虛吾肌費束輝紙御機夏垒磊砰奥壘磊砰丑奧 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/zh/text_Char_zh2.txt b/PKHeX.Core/Resources/text/zh/text_Char_zh2.txt deleted file mode 100644 index e01869e31..000000000 --- a/PKHeX.Core/Resources/text/zh/text_Char_zh2.txt +++ /dev/null @@ -1 +0,0 @@ -蛋妙蛙種子草花小火龍恐噴傑尼龜卡咪水箭綠毛蟲鐵甲蛹巴大蝶獨角殼針蜂波比鳥拉達烈雀嘴阿柏蛇怪皮丘雷穿山鼠王多蘭娜后朗力諾可西六尾九胖丁超音蝠走路臭霸派斯特球摩魯蛾地三喵貓老鴨哥猴爆蒂狗風速蚊香蝌蚪君泳士凱勇基胡腕豪喇叭芽口呆食瑪瑙母毒刺拳石隆岩馬焰獸磁合一蔥嘟利海獅白泥舌貝鬼通耿催眠貘引夢人鉗蟹巨霹靂電頑彈椰樹嘎啦飛腿郎快頭瓦雙犀牛鑽吉蔓藤袋墨金魚星寶魔牆偶天螳螂迷唇姐擊羅肯泰鯉暴普百變伊布邊菊化盔鐮刀翼急凍閃你哈克幻葉月桂竺葵鋸鱷藍立咕夜鷹芭瓢安圓絲蛛叉字燈籠古然咩羊茸美麗露才皇毽棉長手向日蜻蜓烏沼太陽亮黑暗鴉妖未知圖騰果翁麒麟奇榛佛托土弟蠍鋼千壺赫狃熊圈熔蝸豬珊瑚炮章桶信使翅戴加象頓Ⅱ驚鹿犬無畏戰舞娃奶罐幸福公炎帝幼沙班洛亞鳳時木守宮森林蜥蜴稚雞壯躍狼紋直衝繭狩獵盾粉蓮童帽樂河橡實鼻狡猾傲骨燕鷗莉奈朵溜糖雨蘑菇斗笠懶獺過動猿請假居忍面者脫妞吼幕下掌朝北優雅勾魂眼那恰姆落正拍負螢甜薔薇溶吞牙鯊鯨駝煤炭跳噗晃斑顎蟻漠仙歌青綿七夕鼬斬飯匙鰍鯰蝦兵螯秤念觸搖籃羽醜納飄浮泡隱怨影詛咒巡靈彷徨熱帶鈴勃梭雪冰護豹珍珠櫻空棘愛心啞屬艾歐蓋固坐祈代希苗台猛曼拿兒狸法師箱蟀勒倫琴含羞苞槌城結貴婦紳蜜女帕茲潛兔隨捲耳魅東施鐺響坦銅鏡鐘盆聒噪陸尖咬不良骷光霓虹自舔狂遠Z由盧席恩騎色霏萊謝米爾宙提主暖炒武刃丸劍探步哨約扒酷冷蝕豆鴿高雉幔龐滾蝙螺釘差搬運匠修建蟾蜍投摔打包保足蜈蚣車輪毬精根裙野蠻鱸混流氓紅倒狒殿滑巾徵哭具死神棺原肋始祖破灰塵索沫栗德單卵細胞造鵝倍四季萌哎呀敗輕蜘堅齒組麻鰻宇燭幽晶斧嚏幾何敏捷功夫父赤駒劈司令炸雄禿丫首惡燃燒畢雲酋迪耶塔賽里狐呱賀掘彩蓓潔能鞘芳芙妮好魷賊腳鎧垃藻臂槍傘咚碎黏鑰朽南瓜嗡哲裴格梟狙射熾咆哮虎漾壬篤啄銃少強鍬農勝虻鬃弱壞驢仔重挽滴偽睡罩盜著竹療環智揮猩擲膽噬堡爺參性:銀伴隕枕戈謎擬Q磨舵鱗杖璞・鳴哞鰭科莫迦虛吾肌費束輝紙御機夏 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/zh/text_Species_zh.txt b/PKHeX.Core/Resources/text/zh/text_Species_zh.txt index 26428a6d3..a16d3dea9 100644 --- a/PKHeX.Core/Resources/text/zh/text_Species_zh.txt +++ b/PKHeX.Core/Resources/text/zh/text_Species_zh.txt @@ -801,8 +801,8 @@ 奈克洛兹玛 玛机雅娜 玛夏多 -803 -804 -805 -806 -807 \ No newline at end of file +毒贝比 +四颚针龙 +垒磊石 +砰头小丑 +捷拉奥拉 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/zh/text_Species_zh2.txt b/PKHeX.Core/Resources/text/zh/text_Species_zh2.txt index 8b74583bc..cfc50ba0a 100644 --- a/PKHeX.Core/Resources/text/zh/text_Species_zh2.txt +++ b/PKHeX.Core/Resources/text/zh/text_Species_zh2.txt @@ -801,8 +801,8 @@ 奈克洛茲瑪 瑪機雅娜 瑪夏多 -803 -804 -805 -806 -807 \ No newline at end of file +毒貝比 +四顎針龍 +壘磊石 +砰頭小丑 +捷拉奧拉 \ No newline at end of file From ab8faac55dd73476a1bd0d4318a5197db0ce90bf Mon Sep 17 00:00:00 2001 From: Kurt Date: Wed, 8 Nov 2017 20:23:06 -0800 Subject: [PATCH 20/81] Update legal tables with usum species --- PKHeX.Core/Legality/Tables.cs | 19 ++++++++++++++++--- PKHeX.Core/Legality/Tables7.cs | 10 +++++++++- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/PKHeX.Core/Legality/Tables.cs b/PKHeX.Core/Legality/Tables.cs index d46ef91bf..cc9fbdb1b 100644 --- a/PKHeX.Core/Legality/Tables.cs +++ b/PKHeX.Core/Legality/Tables.cs @@ -54,6 +54,8 @@ public static partial class Legal 720, // Hoopa 741, // Oricorio 773, // Silvally + + 800, // Necrozma }; public static readonly HashSet FormChangeMoves = new HashSet { @@ -153,6 +155,12 @@ public static partial class Legal 800, // Necrozma 801, // Magearna 802, // Marshadow + + 803, // Poipole + 804, // Naganadel + 805, // Stakataka + 806, // Blacephalon + 807, // Zeraora }; public static readonly HashSet BattleFrontierBanlist = new HashSet @@ -195,6 +203,7 @@ public static partial class Legal 800, // Necrozma 801, // Magearna 802, // Marshadow + 807, // Zeraora }; public static readonly HashSet BattleForms = new HashSet @@ -223,7 +232,10 @@ public static partial class Legal 302,319,323,334,362,373,376,384, 428,475, 531, - 719 + 719, + + // USUM + 800, // Ultra Necrozma }; public static readonly HashSet BattlePrimals = new HashSet { 382, 383 }; @@ -232,6 +244,7 @@ public static partial class Legal 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 695, 696, 697, 698, 699, 700, 701, 702, 703, 719, + 723, 724, 725, 726, 727, 728 }; internal static readonly HashSet InvalidSketch = new HashSet(new[] { 165, 448 }.Concat(Z_Moves)); // Struggle & Chatter @@ -240,14 +253,14 @@ public static partial class Legal 150, 151, 249, 250, 251, 382, 383, 384, 385, 386, 483, 484, 487, 489, 490, 491, 492, 493, 494, 643, 644, 646, 647, 648, 649, 716, 717, 718, 719, 720, 721, 789, 790, - 791, 792, 800, 801, 802 + 791, 792, 800, 801, 802, 807 }; public static readonly HashSet SubLegends = new HashSet { 144, 145, 146, 243, 244, 245, 377, 378, 379, 380, 381, 480, 481, 482, 485, 486, 488, 638, 639, 640, 641, 642, 645, 772, 773, 787, 788, 785, 786, 793, 794, 795, 796, - 797, 798, 799 + 797, 798, 799, 803, 804, 805, 806, }; public static readonly int[] Arceus_Plate = {303, 306, 304, 305, 309, 308, 310, 313, 298, 299, 301, 300, 307, 302, 311, 312, 644}; diff --git a/PKHeX.Core/Legality/Tables7.cs b/PKHeX.Core/Legality/Tables7.cs index d746f2e12..3a4727d18 100644 --- a/PKHeX.Core/Legality/Tables7.cs +++ b/PKHeX.Core/Legality/Tables7.cs @@ -263,7 +263,15 @@ public static partial class Legal 731, 734, 736, 739, 741, 742, 744, 746, 747, 749, 751, 753, 755, 757, 759, 761, 764, 765, 766, 767, 769, 771, 774, 775, 776, 777, 778, 779, 780, 781, - 782 + 782, + + // USUM Additions + 023, 086, 108, 138, 140, 163, 177, 179, 190, 204, + 206, 214, 223, 228, 238, 246, 303, 309, 341, 343, + 345, 347, 352, 353, 357, 366, 427, 439, 458, 550, + 559, 570, 572, 592, 605, 619, 621, 622, 624, 636, + 667, 669, 676, 686, 690, 692, 696, 698, 701, 702, + 714 }; internal static readonly HashSet AlolanCaptureNoHeavyBall = new HashSet { 374, 785, 786, 787, 788}; // Beldum & Tapus internal static readonly HashSet Inherit_ApricornMale7 = new HashSet From 28d15bb06e37981c0acd399180923e6f9f34248a Mon Sep 17 00:00:00 2001 From: Kurt Date: Wed, 8 Nov 2017 20:32:23 -0800 Subject: [PATCH 21/81] Permit usum met locations & add new move PP counts --- PKHeX.Core/Legality/Tables7.cs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/PKHeX.Core/Legality/Tables7.cs b/PKHeX.Core/Legality/Tables7.cs index 3a4727d18..af17d5a88 100644 --- a/PKHeX.Core/Legality/Tables7.cs +++ b/PKHeX.Core/Legality/Tables7.cs @@ -27,7 +27,10 @@ public static partial class Legal 006, 008, 010, 012, 014, 016, 018, 020, 022, 024, 026, 028, 030, 032, 034, 036, 038, 040, 042, 044, 046, 048, 050, 052, 054, 056, 058, 060, 062, 064, 066, 068, 070, 072, 074, 076, 078, 082, 084, 086, 088, 090, 092, 094, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, - 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192 + 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, + + 194, 196, 198, + 200, 202, 204, 206, 208, 210, 212, 214, 216, 218, 220, 222, 224, 226, 228, 230, 232, }; internal static readonly int[] Met_SM_3 = @@ -375,9 +378,10 @@ public static partial class Legal 30016 // Poké Pelago }; - internal static readonly HashSet ValidMet_USUM = new HashSet + internal static readonly HashSet ValidMet_USUM = new HashSet(ValidMet_SM) { - // todo + 194, 196, 198, + 200, 202, 204, 206, 208, 210, 212, 214, 216, 218, 220, 222, 224, 226, 228, 230, 232, }; private static readonly int[] TMHM_SM = @@ -413,7 +417,7 @@ public static partial class Legal 05, 10, 05, 05, 15, 10, 05, 05, 05, 10, 10, 10, 10, 20, 25, 10, 20, 30, 25, 20, 20, 15, 20, 15, 20, 20, 10, 10, 10, 10, 10, 20, 10, 30, 15, 10, 10, 10, 20, 20, 05, 05, 05, 20, 10, 10, 20, 15, 20, 20, 10, 20, 30, 10, 10, 40, 40, 30, 20, 40, 20, 20, 10, 10, 10, 10, 05, 10, 10, 05, 05, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 40, 15, 20, 30, 20, 15, 15, 20, 10, 15, 15, 10, 05, 10, 10, 20, 15, 10, 15, 15, 15, 05, 15, 20, 20, 01, 01, 01, 01, 01, 01, - 01, 01, 01, 05, 05, 10, 10, 10, 20, 10, 10, 10, 05, 05, 20, 10, 10, 10, 01 + 01, 01, 01, 05, 05, 10, 10, 10, 20, 10, 10, 10, 05, 05, 20, 10, 10, 10, 01, 05, 15, 05, 01, 01, 01, 01, 01, 01, }; internal static readonly HashSet Ban_NoHidden7 = new HashSet From 9f2899617dd8ffeee6f62b00210c7d6a52ea610c Mon Sep 17 00:00:00 2001 From: Kurt Date: Wed, 8 Nov 2017 21:56:56 -0800 Subject: [PATCH 22/81] add ultra moon encounter legality binaries fix an odd edge case going from a bad FRLG save to gen6+ while we're pushing code --- PKHeX.Core/Resources/byte/encounter_um.pkl | Bin 3804 -> 4376 bytes .../Resources/byte/encounter_um_sos.pkl | Bin 3756 -> 5708 bytes .../Controls/PKM Editor/LoadSave.cs | 5 ++++- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/PKHeX.Core/Resources/byte/encounter_um.pkl b/PKHeX.Core/Resources/byte/encounter_um.pkl index 2914ce7351b804e12488acdd5913ec85ce592f8e..4b758a12531ac972f7a5296db61985f70fe930c0 100644 GIT binary patch literal 4376 zcmdUye`s6R701tePqv<(WLZC-EL&16+c=V9%Rgjf%Za@#Et|8HCF#0iN-|v7mMq;$ z(ljBgW%0Upgi%J>+EGRqLgyu3>lv>tX(?$^SSel>LI|b}i*cN($=o$*V(P5LY;>P1 zTNy2dQMMKO$A|Ad=idA7z2}~L-+O!Z?2rjfWT!6DZipNLk3-}^SW_W#0A7MQxB}N< z0X~3OrAQYHz;+mc2{;2&AWo4@un%5{UTVN+V3Xj3#@Fa}E1RR4`;We0qQ*Z{R;2ccDEW8DCa0RZz z0+@c*1(h&AI_R@05&h;GbMw$L#Mn!0fW9oHRBTXQ%!io^LsvHXA2E&qL*<)5K^ zFM0tLpw6bwrp~6$rp~6$rp}(x-QM$XRC9ah(Bo*(bbAM+I$&$nfk`+C%*Vle9L&eT zd>qWj!F(Ld$H9CY%!m34@coi_6mkuTY-Rm*TOTSZpLVL9;p#7OQHH zZjnP)RS_-k!Cl1sQBmq*3799zz!q_j#`L@He)dZnw&taQCYd4}>A&>;xo zi-^-Y4JplO4WS%8tEiit1=HP2`Lgb`-a%*3Fd8(SR)o6KkkU-|5GvyRjMwJ-oaaJ7 zK7JO;`}}Fo8h49uM%cFsOYO7T+ZWmQLH2etWwq}%_P@`O{VChma2?k|3=+^FCpgn> zoawx{y&lSGG)?a1LESGRO|lN(mzU4KYNPsyG|Lv|^jqeWMqdZ+Y;wo)G{LVd%X0}V zu{>_@fJjF2oR^F6E~HCT2kvC7i_2rG*nN$=seCU{F5N@ivsJ!D zt;%R$i2c>S~J44j8Yu!E-8 ze<|Q)jXmU!FF2|Bf;Je2FUa}>+{J-?C~FE}N3bK<5$s5(=?n6HgkJej_lHFMA=-p! z6M6>aUcqN6Uld;yUld;yU$jX30ovP|KQsv^VFuqc+<^Dt2?(0%xof06HhCQ3y-*q- zUySF*@Wt?vNQ!>hCw5dbY{s#p12C!CQ5%esZ|#4mzg3O(iTl2^r(a?}2jDAk8+jM5 zc})-3q|poL@6q>BTMO5$f{+=m;dwR8vxfDP^p>*Y*m3MQHhfi{7f6VeSTOI_yO_={T{zviqCTAu@PJ|+9_&e}j#PfH^1-&+IOKtpV zw1^&tkXaiaMNa{DP`rFri?reUOPoe+e426_b*i80vw*5TBKLCke^Neas<|jA)7EHmEZb$?u>cl(r4DZJ=!fZ5yyxVz0zriM?{YB$Aux zJ4t)K@oqk6BmU+7jkIs1eIwsVjr3{c87X`zd?|b>e5s;dPhEZE1vH}7H*TaHGV2@L zu-8+b#8-}i$llLroPCUwY_cWU)P^2LLuRsR6fI(lQrLiRSIPdqY%t^XSBd?tTD(3F z{1ZruHRM>!0BcZd6#2o;`TuwE9+tl{ZWA1YOQ7bc<|pzHx%II0=+W4q8I7$$H%l}o z@?+^kyYMyP%TvCN9!6tYG&YK|KQYcqjGnHF)W?SbDt*vt#yeVy+b!K~Rht{6k25(AxE(0DzX&WqC6YF)zS~Ufafb; z2fhw`9r!x%b*S;mV~ITde}4XmJgaqePwQRXZ%9}7YIHw(0^ibp9VVyqg@~3fOfSc8 zn7GYD$jlcC=mz}9QQr3j8}?#91rJc(1x3nf`rl3YUCR7_O3v(A&3hl7;nwTzi)g)l z<9cu32XGd<8;DIGd(p>U^br?juftx4y$&13)E!ugX_fKOcw(1gDKaj%$g1qy`l{?b zP^4Uio&c|b-&&QuMKY~#>zUSjph&q2Jpo<=zm;jt;LDkr)^3zlCjZ+q#5a-prds;8`WNqTqlW+h literal 3804 zcmdUye`s7)7RS$hZl)+pWLA5z9ewpljH2>u~OP-uveq5f>PEmd5_#r@ow46TA) zttjjtAHMgVd+)jDoqOJ$H(Rz`E*q3c1J1BScEXFGZTj#S%)(Jv@iUQgVIBM)?u8k6 z0p{RMaJxh%VLQygVQ{-e3NQ)l;X#;#H{dV~^o8U>P z!y>q0e8F1S1dqcWcp2uQTNW%UbPyb|LeGGwt0gQPvXQsvYhx$%84(~{xf_`e@Y_phKj^_uAgWhN8YmnZbAa?f)$9r zi;jb*1Mwtr+^hn`8;RdSdo8-f3c5|^6MuyGBUhlr9@(M-?upo4*&sbmMfW%hR*&;B z?KR-hFQ|ai#P%MXi7f#l;U6J}sF--nGnjmSTfRl2KT)3J-!UFvs4aWJ>eAGTUL#$4 zo$k_?pcQlvnua=K9(|GI_nbc{MQUwSJ0aI{Li=Ha`mB;GvoG(ioJXC0fc--3ojD@E zkoBC^bE?NFqK($M6_S)s%tI1)+(!G(D%p4g}2iI*gvsG}lP_6x_BtZ-}*7T_T4 zm2m8CSP64bXO5@Cu~%pxiicy|8=P^}YpAG~1lx{!Jh#Vt;%!5DPrO@UR7X9LGvzBQ z<}>ay?mv$*?l-YbNz6~GnBRZ}`t$H9JPMz|LGX0U7dcBG4`#;@_;S=*UcWX#mR$ZyG$8(Fg4$PRHM z$H3UyHFCYYWA$c|(wo_ZHqqVi6m4JkW@c!cc}@C!Bedqu(;mUzW4G6wJpVXjW{t=V z@@t*$U$WBulPcYRMAH4Y!)BP0OfID|xdxEK968JdZ6`+#b4@Fg6S>jU-`DISH?em% zpHkWUM#$)F{yKCTF2L^7XH6bod3@#Zm7kJqzQMT29Y0|0Ev(HAq*QL;V#y8oIyb;R z1MD-vJ_GDC&}4jyu?BP6Io*01Yqqf_KbVyK;4XAG`V=~?@`JOeuk(X5*qXF2qTQq| za@!Bc@lF}%tk!YH=KL?=%xb7PbH0&IF}7V+lJC{z+vNUbm}=$t|HZyT-Y17ca0pDE zOLA12lA#7N+$*j3gl}4Yk<;03 zJDuIC(%B~Mo$y!qIZ*#uk^4BezTA@4mwOi`RbMV(_vMaAU+#9;4DC9)fB7AKNHThO z)pcrk)kb(rhF4vWPQ!)P@G6o2JwD8u&U)8A;X~w6xl;O948uRI{uPehzv3#|B2Q3{ zg;GitN(ZD+dNxofU5om)C&=oG-=l zhgPxNL__GS=zcV87t2wIz=uw;{C(&0#a3Re+dhrI5!Lo_D*M>-8saSzZ<%<@#9Job rGV!+JJK<{|Uxn4$YI6M?D)P;Ky;biUsWDS`rru25P1F8ItDgP~c`IYU diff --git a/PKHeX.Core/Resources/byte/encounter_um_sos.pkl b/PKHeX.Core/Resources/byte/encounter_um_sos.pkl index c87cf8789a3f3be659f96ae4bf0459ee6eb448b9..c707614f7fec8b3a248d3253bffed99b5997d898 100644 GIT binary patch literal 5708 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 diff --git a/PKHeX.WinForms/Controls/PKM Editor/LoadSave.cs b/PKHeX.WinForms/Controls/PKM Editor/LoadSave.cs index 2fe7b261f..adc89e0ef 100644 --- a/PKHeX.WinForms/Controls/PKM Editor/LoadSave.cs +++ b/PKHeX.WinForms/Controls/PKM Editor/LoadSave.cs @@ -341,7 +341,10 @@ private void SaveMisc4(PKM pk) private void LoadMisc6(PKM pk) { TB_EC.Text = $"{pk.EncryptionConstant:X8}"; - CB_Ability.SelectedIndex = pk.AbilityNumber < 6 ? pk.AbilityNumber >> 1 : 0; // with some simple error handling + int abil = pk.AbilityNumber < 6 ? pk.AbilityNumber >> 1 : 0; + if (CB_Ability.Items.Count <= abil) + abil = CB_Ability.Items.Count - 1; + CB_Ability.SelectedIndex = abil; // with some simple error handling DEV_Ability.SelectedValue = pk.Ability; TB_AbilityNumber.Text = pk.AbilityNumber.ToString(); From 665e94b0aaa654976692dfdb5775b251a6e767db Mon Sep 17 00:00:00 2001 From: Kurt Date: Wed, 8 Nov 2017 22:56:42 -0800 Subject: [PATCH 23/81] misc cleanup add german forme names truncate some forme names fix nidoran gender symbols adds null check for invalid (caught error) pkm disables accessory giving (needs more research) --- PKHeX.Core/Legality/Analysis.cs | 6 +++--- PKHeX.Core/PKM/FormConverter.cs | 2 +- .../Resources/text/de/text_Forms_de.txt | 5 +++++ .../Resources/text/de/text_Species_de.txt | 4 ++-- .../Resources/text/en/text_Forms_en.txt | Bin 7126 -> 7068 bytes .../Resources/text/en/text_Species_en.txt | 4 ++-- .../Resources/text/es/text_Forms_es.txt | Bin 7402 -> 7384 bytes .../Resources/text/es/text_Species_es.txt | 4 ++-- .../Resources/text/fr/text_Forms_fr.txt | Bin 7352 -> 7334 bytes .../Resources/text/fr/text_Species_fr.txt | 4 ++-- .../Resources/text/it/text_Forms_it.txt | Bin 7550 -> 7534 bytes .../Resources/text/it/text_Species_it.txt | 4 ++-- .../Resources/text/ja/text_Forms_ja.txt | Bin 7918 -> 7908 bytes .../Resources/text/ko/text_Forms_ko.txt | Bin 7070 -> 7042 bytes .../Resources/text/ko/text_Species_ko.txt | 4 ++-- .../Save Editors/Gen7/SAV_Trainer7.cs | 5 +++++ 16 files changed, 26 insertions(+), 16 deletions(-) diff --git a/PKHeX.Core/Legality/Analysis.cs b/PKHeX.Core/Legality/Analysis.cs index bca707451..5b9b7ff63 100644 --- a/PKHeX.Core/Legality/Analysis.cs +++ b/PKHeX.Core/Legality/Analysis.cs @@ -1,4 +1,4 @@ -#define SUPPRESS +//#define SUPPRESS using System; using System.Collections.Generic; @@ -294,7 +294,7 @@ private void UpdateChecks() } private string GetLegalityReport() { - if (!Parsed || pkm == null) + if (!Parsed || pkm == null || Info == null) return V189; var lines = new List(); @@ -323,7 +323,7 @@ private string GetLegalityReport() } private string GetVerboseLegalityReport() { - if (!Parsed || pkm == null) + if (!Parsed || pkm == null || Info == null) return V189; const string separator = "==="; diff --git a/PKHeX.Core/PKM/FormConverter.cs b/PKHeX.Core/PKM/FormConverter.cs index a0fa3cfbc..f5da804b6 100644 --- a/PKHeX.Core/PKM/FormConverter.cs +++ b/PKHeX.Core/PKM/FormConverter.cs @@ -444,7 +444,7 @@ private static string[] GetFormsGen7(int species, IReadOnlyList types, I } } - private static string[] GetFormsAlolan (int generation, IReadOnlyList types, IReadOnlyList forms, int species) + private static string[] GetFormsAlolan(int generation, IReadOnlyList types, IReadOnlyList forms, int species) { if (generation < 7) return new[] { "" }; diff --git a/PKHeX.Core/Resources/text/de/text_Forms_de.txt b/PKHeX.Core/Resources/text/de/text_Forms_de.txt index 5157542b5..8e7b2b906 100644 --- a/PKHeX.Core/Resources/text/de/text_Forms_de.txt +++ b/PKHeX.Core/Resources/text/de/text_Forms_de.txt @@ -1061,3 +1061,8 @@ Entlarvte Original +Partner +Abend +Abend +Morgen +Ultra \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/de/text_Species_de.txt b/PKHeX.Core/Resources/text/de/text_Species_de.txt index 27a20de1e..dd0f50326 100644 --- a/PKHeX.Core/Resources/text/de/text_Species_de.txt +++ b/PKHeX.Core/Resources/text/de/text_Species_de.txt @@ -27,10 +27,10 @@ Pikachu Raichu Sandan Sandamer -Nidoran +Nidoran♀ Nidorina Nidoqueen -Nidoran +Nidoran♂ Nidorino Nidoking Piepi diff --git a/PKHeX.Core/Resources/text/en/text_Forms_en.txt b/PKHeX.Core/Resources/text/en/text_Forms_en.txt index 4ae5cab82dd6c18339d643a38225b90f4426a478..9e543bdeddfe749704743bdf91e2bfd544445024 100644 GIT binary patch delta 58 ucmca+KF54Rmb4Ks0~dn}Ln%WsLpB2@JCUKBArCAb%8OWgbH+R5X#H p9LQ5(2xrIy(&<2*ATvT4au`a0dJ};%en7R!Kz2Su70|3i1^@y_6s`aO diff --git a/PKHeX.Core/Resources/text/en/text_Species_en.txt b/PKHeX.Core/Resources/text/en/text_Species_en.txt index 5f493d52d..19b5605ba 100644 --- a/PKHeX.Core/Resources/text/en/text_Species_en.txt +++ b/PKHeX.Core/Resources/text/en/text_Species_en.txt @@ -27,10 +27,10 @@ Pikachu Raichu Sandshrew Sandslash -Nidoran +Nidoran♀ Nidorina Nidoqueen -Nidoran +Nidoran♂ Nidorino Nidoking Clefairy diff --git a/PKHeX.Core/Resources/text/es/text_Forms_es.txt b/PKHeX.Core/Resources/text/es/text_Forms_es.txt index 19d08369fafe48d6a7249282935ab3e96b3e4ff6..371ae36f60b7519516fdddd7f024f77e99a64e99 100644 GIT binary patch delta 7 OcmaE5dBbwU4H*Csy93z( delta 26 hcmca%`O0#`4H+R_20w;WhGd2!hJ1!9hFpe31^{|`2Uh?9 diff --git a/PKHeX.Core/Resources/text/es/text_Species_es.txt b/PKHeX.Core/Resources/text/es/text_Species_es.txt index 95bb7dfc5..5f4da308a 100644 --- a/PKHeX.Core/Resources/text/es/text_Species_es.txt +++ b/PKHeX.Core/Resources/text/es/text_Species_es.txt @@ -27,10 +27,10 @@ Pikachu Raichu Sandshrew Sandslash -Nidoran +Nidoran♀ Nidorina Nidoqueen -Nidoran +Nidoran♂ Nidorino Nidoking Clefairy diff --git a/PKHeX.Core/Resources/text/fr/text_Forms_fr.txt b/PKHeX.Core/Resources/text/fr/text_Forms_fr.txt index d03d6ae13bf5130e18cada3b7b760c9355e1adfd..b3d7df7e4cc919bbe3283a7c6647b2ae6cd75ad7 100644 GIT binary patch delta 7 OcmdmCxy*9IG8q63{{uq+ delta 26 hcmZ2xxx;e9G8rLV20w;WhGd2!hJ1!9hFpe31^{fF2EhOT diff --git a/PKHeX.Core/Resources/text/fr/text_Species_fr.txt b/PKHeX.Core/Resources/text/fr/text_Species_fr.txt index 95b6b3920..050d5d81d 100644 --- a/PKHeX.Core/Resources/text/fr/text_Species_fr.txt +++ b/PKHeX.Core/Resources/text/fr/text_Species_fr.txt @@ -27,10 +27,10 @@ Pikachu Raichu Sabelette Sablaireau -Nidoran +Nidoran♀ Nidorina Nidoqueen -Nidoran +Nidoran♂ Nidorino Nidoking Mélofée diff --git a/PKHeX.Core/Resources/text/it/text_Forms_it.txt b/PKHeX.Core/Resources/text/it/text_Forms_it.txt index 12c3de6b20c8da92d587076a953ae95e5205e0a4..48fe21a4f01dbb37eb6fba64a7031b859797ac02 100644 GIT binary patch delta 7 Ocmexo_0DQTo-6;s$t delta 24 fcmaE7_0MWUo~(c$Ln=cuLlHwhLlr|VLm~qJYk&sp diff --git a/PKHeX.Core/Resources/text/it/text_Species_it.txt b/PKHeX.Core/Resources/text/it/text_Species_it.txt index 5a749c8f1..a3e81d291 100644 --- a/PKHeX.Core/Resources/text/it/text_Species_it.txt +++ b/PKHeX.Core/Resources/text/it/text_Species_it.txt @@ -27,10 +27,10 @@ Pikachu Raichu Sandshrew Sandslash -Nidoran +Nidoran♀ Nidorina Nidoqueen -Nidoran +Nidoran♂ Nidorino Nidoking Clefairy diff --git a/PKHeX.Core/Resources/text/ja/text_Forms_ja.txt b/PKHeX.Core/Resources/text/ja/text_Forms_ja.txt index 0dc15ff566860d3526713cf52f6b3bd207693049..156506c95b30bb7f7d13eb699dc2ee618671e691 100644 GIT binary patch delta 7 OcmaE7`^0v`6FC48RRjM3 delta 18 acmaE2`_6X56FIK42I~#p8tgK-X8-_N00{a3 diff --git a/PKHeX.Core/Resources/text/ko/text_Forms_ko.txt b/PKHeX.Core/Resources/text/ko/text_Forms_ko.txt index a2dd618d4f971a31b21a2b27a14b02dc43b89188..e1332275a952f7ff20c629838a6d6833ef045e56 100644 GIT binary patch delta 38 ocmbPd-ekTZMOu!Rfr}yYn$5L{;~>_F1AF&CSUZmGxKy(p00E{B>;M1& delta 66 zcmZoNpJ%=yMcPV%Va2Ykhj%5m;=tZLApU|4GHXEm9mjTD Ss@blxG3P?ej*gQjb^-uLUmM~8 diff --git a/PKHeX.Core/Resources/text/ko/text_Species_ko.txt b/PKHeX.Core/Resources/text/ko/text_Species_ko.txt index ca7896921..4ab4c9596 100644 --- a/PKHeX.Core/Resources/text/ko/text_Species_ko.txt +++ b/PKHeX.Core/Resources/text/ko/text_Species_ko.txt @@ -27,10 +27,10 @@ 라이츄 모래두지 고지 -니드런 +니드런♀ 니드리나 니드퀸 -니드런 +니드런♂ 니드리노 니드킹 삐삐 diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_Trainer7.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_Trainer7.cs index ba9a49246..ea167b98f 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_Trainer7.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_Trainer7.cs @@ -399,6 +399,11 @@ private void UpdateCountry(object sender, EventArgs e) } private void B_Fashion_Click(object sender, EventArgs e) { + if (SAV.USUM) + { + WinFormsUtil.Alert("Temporarily disabled, needs research for permissible values."); + return; + } var prompt = WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "Modifying Fashion Items will clear existing data", "Continue?"); if (DialogResult.Yes != prompt) return; From 2af7b152a74c0be9fa5102763fb29f4ea56139a0 Mon Sep 17 00:00:00 2001 From: Kurt Date: Wed, 8 Nov 2017 22:59:18 -0800 Subject: [PATCH 24/81] re-enable error suppression oops --- PKHeX.Core/Legality/Analysis.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PKHeX.Core/Legality/Analysis.cs b/PKHeX.Core/Legality/Analysis.cs index 5b9b7ff63..1ad901904 100644 --- a/PKHeX.Core/Legality/Analysis.cs +++ b/PKHeX.Core/Legality/Analysis.cs @@ -1,4 +1,4 @@ -//#define SUPPRESS +#define SUPPRESS using System; using System.Collections.Generic; From 38cbf160ec40a83587bdf0176fa817f01009cb73 Mon Sep 17 00:00:00 2001 From: sora10pls Date: Thu, 9 Nov 2017 02:01:09 -0500 Subject: [PATCH 25/81] Add Totem-Sized gift ability/version checks --- .../Legality/Encounters/Data/Encounters7.cs | 55 ++++++++++--------- 1 file changed, 29 insertions(+), 26 deletions(-) diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs index 1934a90f9..515e7f86f 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs @@ -166,20 +166,20 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) }; private static readonly EncounterStatic[] Encounter_USUM = { - new EncounterStatic { Gift = true, Species = 722, Level = 05, Location = 8, }, // Rowlet @ Route 1 - new EncounterStatic { Gift = true, Species = 725, Level = 05, Location = 8, }, // Litten @ Route 1 - new EncounterStatic { Gift = true, Species = 728, Level = 05, Location = 8, }, // Popplio @ Route 1 - new EncounterStatic { Gift = true, Species = 138, Level = 15, Location = 58, }, // Omanyte @ ??? - new EncounterStatic { Gift = true, Species = 140, Level = 15, Location = 58, }, // Kabuto @ ??? - new EncounterStatic { Gift = true, Species = 142, Level = 15, Location = 58, }, // Aerodactyl @ ??? - new EncounterStatic { Gift = true, Species = 345, Level = 15, Location = 58, }, // Lileep @ ??? - new EncounterStatic { Gift = true, Species = 347, Level = 15, Location = 58, }, // Anorith @ ??? - new EncounterStatic { Gift = true, Species = 408, Level = 15, Location = 58, }, // Cranidos @ ??? - new EncounterStatic { Gift = true, Species = 410, Level = 15, Location = 58, }, // Shieldon @ ??? - new EncounterStatic { Gift = true, Species = 564, Level = 15, Location = 58, }, // Tirtouga @ ??? - new EncounterStatic { Gift = true, Species = 566, Level = 15, Location = 58, }, // Archen @ ??? - new EncounterStatic { Gift = true, Species = 696, Level = 15, Location = 58, }, // Tyrunt @ ??? - new EncounterStatic { Gift = true, Species = 698, Level = 15, Location = 58, }, // Amaura @ ??? + new EncounterStatic { Gift = true, Species = 722, Level = 05, Location = 8, }, // Rowlet + new EncounterStatic { Gift = true, Species = 725, Level = 05, Location = 8, }, // Litten + new EncounterStatic { Gift = true, Species = 728, Level = 05, Location = 8, }, // Popplio + new EncounterStatic { Gift = true, Species = 138, Level = 15, Location = 58, }, // Omanyte + new EncounterStatic { Gift = true, Species = 140, Level = 15, Location = 58, }, // Kabuto + new EncounterStatic { Gift = true, Species = 142, Level = 15, Location = 58, }, // Aerodactyl + new EncounterStatic { Gift = true, Species = 345, Level = 15, Location = 58, }, // Lileep + new EncounterStatic { Gift = true, Species = 347, Level = 15, Location = 58, }, // Anorith + new EncounterStatic { Gift = true, Species = 408, Level = 15, Location = 58, }, // Cranidos + new EncounterStatic { Gift = true, Species = 410, Level = 15, Location = 58, }, // Shieldon + new EncounterStatic { Gift = true, Species = 564, Level = 15, Location = 58, }, // Tirtouga + new EncounterStatic { Gift = true, Species = 566, Level = 15, Location = 58, }, // Archen + new EncounterStatic { Gift = true, Species = 696, Level = 15, Location = 58, }, // Tyrunt + new EncounterStatic { Gift = true, Species = 698, Level = 15, Location = 58, }, // Amaura new EncounterStatic { Gift = true, Species = 133, Level = 01, EggLocation = 60002, }, // Eevee @ Nursery helpers new EncounterStatic { Gift = true, Species = 137, Level = 30, Location = -01, }, // Porygon @ ??? new EncounterStatic { Gift = true, Species = 772, Level = 60, Location = -01, }, // Type: Null @ ??? @@ -188,17 +188,20 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Gift = true, Species = 142, Level = 40, Location = 172, }, // Aerodactyl @ Seafolk Village new EncounterStatic { Gift = true, Species = 025, Level = 40, Location = -01, HeldItem = 796, }, // Pikachu @ ??? new EncounterStatic { Gift = true, Species = 803, Level = 40, Location = -01, }, // Poipole @ ??? - new EncounterStatic { Gift = true, Species = 735, Level = 20, Location = 202, Form = 1, Shiny = false, }, // Totem Gumshoos - new EncounterStatic { Gift = true, Species = 020, Level = 20, Location = 202, Form = 2, Shiny = false, }, // Totem Raticate - new EncounterStatic { Gift = true, Species = 105, Level = 25, Location = 202, Form = 2, Shiny = false, }, // Totem Marowak - new EncounterStatic { Gift = true, Species = 752, Level = 25, Location = 202, Form = 1, Shiny = false, }, // Totem Araquanid - new EncounterStatic { Gift = true, Species = 754, Level = 30, Location = 202, Form = 1, Shiny = false, }, // Totem Lurantis - new EncounterStatic { Gift = true, Species = 758, Level = 30, Location = 202, Form = 1, Shiny = false, }, // Totem Salazzle - new EncounterStatic { Gift = true, Species = 738, Level = 35, Location = 202, Form = 1, Shiny = false, }, // Totem Vikavolt - new EncounterStatic { Gift = true, Species = 777, Level = 35, Location = 202, Form = 1, Shiny = false, }, // Totem Togedemaru - new EncounterStatic { Gift = true, Species = 778, Level = 40, Location = 202, Form = 2, Shiny = false, }, // Totem Mimikyu - new EncounterStatic { Gift = true, Species = 743, Level = 50, Location = 202, Form = 1, Shiny = false, }, // Totem Ribombee - new EncounterStatic { Gift = true, Species = 784, Level = 50, Location = 202, Form = 1, Shiny = false, }, // Totem Kommo-o + + // Totem-Sized Gifts @ Heahea Beach + new EncounterStatic { Gift = true, Species = 735, Level = 20, Ability = 4, Location = 202, Form = 1, Shiny = false, Version = GameVersion.US }, // Gumshoos + new EncounterStatic { Gift = true, Species = 020, Level = 20, Ability = 4, Location = 202, Form = 2, Shiny = false, Version = GameVersion.UM }, // Raticate + new EncounterStatic { Gift = true, Species = 105, Level = 25, Ability = 4, Location = 202, Form = 2, Shiny = false, Version = GameVersion.US }, // Marowak + new EncounterStatic { Gift = true, Species = 752, Level = 25, Ability = 1, Location = 202, Form = 1, Shiny = false, Version = GameVersion.UM }, // Araquanid + new EncounterStatic { Gift = true, Species = 754, Level = 30, Ability = 4, Location = 202, Form = 1, Shiny = false, Version = GameVersion.US }, // Lurantis + new EncounterStatic { Gift = true, Species = 758, Level = 30, Ability = 1, Location = 202, Form = 1, Shiny = false, Version = GameVersion.UM }, // Salazzle + new EncounterStatic { Gift = true, Species = 738, Level = 35, Ability = 4, Location = 202, Form = 1, Shiny = false, }, // Vikavolt + new EncounterStatic { Gift = true, Species = 777, Level = 35, Ability = 4, Location = 202, Form = 1, Shiny = false, }, // Togedemaru + new EncounterStatic { Gift = true, Species = 778, Level = 40, Ability = 1, Location = 202, Form = 2, Shiny = false, }, // Mimikyu + new EncounterStatic { Gift = true, Species = 743, Level = 50, Ability = 4, Location = 202, Form = 1, Shiny = false, }, // Ribombee + new EncounterStatic { Gift = true, Species = 784, Level = 50, Ability = 4, Location = 202, Form = 1, Shiny = false, }, // Kommo-o + new EncounterStatic { Gift = true, Species = 718, Level = 63, Location = -01, Form = 1, Shiny = false, }, // Zygarde @ ??? new EncounterStatic { Gift = true, Species = 025, Level = 21, Location = -01, Form = 7, Shiny = false, HeldItem = 571, }, // Pikachu @ ??? @@ -344,7 +347,7 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 786, Level = 60, Location = -01, Shiny = false, }, // Tapu Lele @ ??? new EncounterStatic { Species = 787, Level = 60, Location = -01, Shiny = false, }, // Tapu Bulu @ ??? new EncounterStatic { Species = 788, Level = 60, Location = -01, Shiny = false, }, // Tapu Fini @ ??? - new EncounterStatic { Species = 023, Level = 10, Location = 012, }, // Ekans @ ??? + new EncounterStatic { Species = 023, Level = 10, Location = 012, }, // Ekans @ Route 2 new EncounterStatic { Species = 103, Level = 40, Location = -01, Form = 1, }, // Exeggutor @ ??? new EncounterStatic { Species = 785, Level = 60, Location = -01, Shiny = false, }, // Tapu Koko @ ??? From ae0122254a85d1d9b42fc4250cff8488d9a6b26d Mon Sep 17 00:00:00 2001 From: Kurt Date: Thu, 9 Nov 2017 06:43:11 -0800 Subject: [PATCH 26/81] Add abilities & IV3 flags for usum gifts --- .../Legality/Encounters/Data/Encounters7.cs | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs index 515e7f86f..9ce8dafbf 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs @@ -182,28 +182,28 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Gift = true, Species = 698, Level = 15, Location = 58, }, // Amaura new EncounterStatic { Gift = true, Species = 133, Level = 01, EggLocation = 60002, }, // Eevee @ Nursery helpers new EncounterStatic { Gift = true, Species = 137, Level = 30, Location = -01, }, // Porygon @ ??? - new EncounterStatic { Gift = true, Species = 772, Level = 60, Location = -01, }, // Type: Null @ ??? - new EncounterStatic { Gift = true, Species = 801, Level = 50, Location = -01, Shiny = false, HeldItem = 795, }, // Magearna @ ??? - new EncounterStatic { Gift = true, Species = 789, Level = 05, Location = -01, Shiny = false, }, // Cosmog @ ??? + new EncounterStatic { Gift = true, Species = 772, Level = 60, Location = -01, IV3 = true, }, // Type: Null @ ??? + new EncounterStatic { Gift = true, Species = 801, Level = 50, Location = -01, IV3 = true,Shiny = false, Ability = 2, HeldItem = 795, }, // Magearna @ ??? + new EncounterStatic { Gift = true, Species = 789, Level = 05, Location = -01, IV3 = true,Shiny = false, Ability = 2, }, // Cosmog @ ??? new EncounterStatic { Gift = true, Species = 142, Level = 40, Location = 172, }, // Aerodactyl @ Seafolk Village - new EncounterStatic { Gift = true, Species = 025, Level = 40, Location = -01, HeldItem = 796, }, // Pikachu @ ??? - new EncounterStatic { Gift = true, Species = 803, Level = 40, Location = -01, }, // Poipole @ ??? + new EncounterStatic { Gift = true, Species = 025, Level = 40, Location = -01, IV3 = true,HeldItem = 796, }, // Pikachu @ ??? + new EncounterStatic { Gift = true, Species = 803, Level = 40, Location = -01, IV3 = true,}, // Poipole @ ??? // Totem-Sized Gifts @ Heahea Beach - new EncounterStatic { Gift = true, Species = 735, Level = 20, Ability = 4, Location = 202, Form = 1, Shiny = false, Version = GameVersion.US }, // Gumshoos - new EncounterStatic { Gift = true, Species = 020, Level = 20, Ability = 4, Location = 202, Form = 2, Shiny = false, Version = GameVersion.UM }, // Raticate - new EncounterStatic { Gift = true, Species = 105, Level = 25, Ability = 4, Location = 202, Form = 2, Shiny = false, Version = GameVersion.US }, // Marowak - new EncounterStatic { Gift = true, Species = 752, Level = 25, Ability = 1, Location = 202, Form = 1, Shiny = false, Version = GameVersion.UM }, // Araquanid - new EncounterStatic { Gift = true, Species = 754, Level = 30, Ability = 4, Location = 202, Form = 1, Shiny = false, Version = GameVersion.US }, // Lurantis - new EncounterStatic { Gift = true, Species = 758, Level = 30, Ability = 1, Location = 202, Form = 1, Shiny = false, Version = GameVersion.UM }, // Salazzle - new EncounterStatic { Gift = true, Species = 738, Level = 35, Ability = 4, Location = 202, Form = 1, Shiny = false, }, // Vikavolt - new EncounterStatic { Gift = true, Species = 777, Level = 35, Ability = 4, Location = 202, Form = 1, Shiny = false, }, // Togedemaru - new EncounterStatic { Gift = true, Species = 778, Level = 40, Ability = 1, Location = 202, Form = 2, Shiny = false, }, // Mimikyu - new EncounterStatic { Gift = true, Species = 743, Level = 50, Ability = 4, Location = 202, Form = 1, Shiny = false, }, // Ribombee - new EncounterStatic { Gift = true, Species = 784, Level = 50, Ability = 4, Location = 202, Form = 1, Shiny = false, }, // Kommo-o + new EncounterStatic { Gift = true, Species = 735, Level = 20, Ability = 4, Location = 202, Form = 1, Shiny = false, IV3 = true, Version = GameVersion.US }, // Gumshoos + new EncounterStatic { Gift = true, Species = 020, Level = 20, Ability = 4, Location = 202, Form = 2, Shiny = false, IV3 = true, Version = GameVersion.UM }, // Raticate + new EncounterStatic { Gift = true, Species = 105, Level = 25, Ability = 4, Location = 202, Form = 2, Shiny = false, IV3 = true, Version = GameVersion.US }, // Marowak + new EncounterStatic { Gift = true, Species = 752, Level = 25, Ability = 1, Location = 202, Form = 1, Shiny = false, IV3 = true, Version = GameVersion.UM }, // Araquanid + new EncounterStatic { Gift = true, Species = 754, Level = 30, Ability = 2, Location = 202, Form = 1, Shiny = false, IV3 = true, Version = GameVersion.US }, // Lurantis + new EncounterStatic { Gift = true, Species = 758, Level = 30, Ability = 1, Location = 202, Form = 1, Shiny = false, IV3 = true, Version = GameVersion.UM }, // Salazzle + new EncounterStatic { Gift = true, Species = 738, Level = 35, Ability = 1, Location = 202, Form = 1, Shiny = false, IV3 = true, }, // Vikavolt + new EncounterStatic { Gift = true, Species = 777, Level = 35, Ability = 4, Location = 202, Form = 1, Shiny = false, IV3 = true, }, // Togedemaru + new EncounterStatic { Gift = true, Species = 778, Level = 40, Ability = 1, Location = 202, Form = 2, Shiny = false, IV3 = true, }, // Mimikyu + new EncounterStatic { Gift = true, Species = 743, Level = 50, Ability = 4, Location = 202, Form = 1, Shiny = false, IV3 = true, }, // Ribombee + new EncounterStatic { Gift = true, Species = 784, Level = 50, Ability = 4, Location = 202, Form = 1, Shiny = false, IV3 = true, }, // Kommo-o - new EncounterStatic { Gift = true, Species = 718, Level = 63, Location = -01, Form = 1, Shiny = false, }, // Zygarde @ ??? - new EncounterStatic { Gift = true, Species = 025, Level = 21, Location = -01, Form = 7, Shiny = false, HeldItem = 571, }, // Pikachu @ ??? + new EncounterStatic { Gift = true, Species = 718, Level = 63, Ability = 1, Location = -01, Form = 1, Shiny = false, IV3 = true, }, // Zygarde @ ??? + new EncounterStatic { Gift = true, Species = 025, Level = 21, Ability = 1, Location = -01, Form = 7, Shiny = false, HeldItem = 571, Nature = Nature.Hardy }, // Pikachu @ ??? new EncounterStatic { Species = 731, Level = 03, Location = -01, Shiny = false, }, // Pikipek @ ??? new EncounterStatic { Species = 793, Level = 27, Location = -01, Shiny = false, }, // Nihilego @ ??? From b615ef0057304c2fb59a7499c0ca87bea2cbb2be Mon Sep 17 00:00:00 2001 From: Kurt Date: Thu, 9 Nov 2017 07:17:36 -0800 Subject: [PATCH 27/81] Update static7 with more data --- .../Legality/Encounters/Data/Encounters7.cs | 501 +++++++++--------- 1 file changed, 251 insertions(+), 250 deletions(-) diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs index 9ce8dafbf..fa16ffd79 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs @@ -183,10 +183,10 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Gift = true, Species = 133, Level = 01, EggLocation = 60002, }, // Eevee @ Nursery helpers new EncounterStatic { Gift = true, Species = 137, Level = 30, Location = -01, }, // Porygon @ ??? new EncounterStatic { Gift = true, Species = 772, Level = 60, Location = -01, IV3 = true, }, // Type: Null @ ??? - new EncounterStatic { Gift = true, Species = 801, Level = 50, Location = -01, IV3 = true,Shiny = false, Ability = 2, HeldItem = 795, }, // Magearna @ ??? - new EncounterStatic { Gift = true, Species = 789, Level = 05, Location = -01, IV3 = true,Shiny = false, Ability = 2, }, // Cosmog @ ??? + new EncounterStatic { Gift = true, Species = 801, Level = 50, Location = -01, IV3 = true, Shiny = false, Ability = 2, HeldItem = 795, }, // Magearna @ ??? + new EncounterStatic { Gift = true, Species = 789, Level = 05, Location = -01, IV3 = true, Shiny = false, Ability = 2, }, // Cosmog @ ??? new EncounterStatic { Gift = true, Species = 142, Level = 40, Location = 172, }, // Aerodactyl @ Seafolk Village - new EncounterStatic { Gift = true, Species = 025, Level = 40, Location = -01, IV3 = true,HeldItem = 796, }, // Pikachu @ ??? + new EncounterStatic { Gift = true, Species = 025, Level = 40, Location = -01, IV3 = true, HeldItem = 796, }, // Pikachu @ ??? new EncounterStatic { Gift = true, Species = 803, Level = 40, Location = -01, IV3 = true,}, // Poipole @ ??? // Totem-Sized Gifts @ Heahea Beach @@ -204,269 +204,270 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Gift = true, Species = 718, Level = 63, Ability = 1, Location = -01, Form = 1, Shiny = false, IV3 = true, }, // Zygarde @ ??? new EncounterStatic { Gift = true, Species = 025, Level = 21, Ability = 1, Location = -01, Form = 7, Shiny = false, HeldItem = 571, Nature = Nature.Hardy }, // Pikachu @ ??? - - new EncounterStatic { Species = 731, Level = 03, Location = -01, Shiny = false, }, // Pikipek @ ??? - new EncounterStatic { Species = 793, Level = 27, Location = -01, Shiny = false, }, // Nihilego @ ??? - new EncounterStatic { Species = 791, Level = 60, Location = -01, Shiny = false, }, // Solgaleo @ ??? - new EncounterStatic { Species = 792, Level = 60, Location = -01, Shiny = false, }, // Lunala @ ??? - new EncounterStatic { Species = 735, Level = 12, Location = -01, Form = 1, Shiny = false, HeldItem = 151, }, // Gumshoos @ ??? - new EncounterStatic { Species = 734, Level = 11, Location = -01, Shiny = false, }, // Yungoos @ ??? - new EncounterStatic { Species = 735, Level = 11, Location = -01, Shiny = false, }, // Gumshoos @ ??? - new EncounterStatic { Species = 734, Level = 11, Location = -01, Shiny = false, }, // Yungoos @ ??? - new EncounterStatic { Species = 734, Level = 10, Location = -01, Shiny = false, }, // Yungoos @ ??? - new EncounterStatic { Species = 020, Level = 12, Location = -01, Form = 2, Shiny = false, HeldItem = 151, }, // Raticate @ ??? - new EncounterStatic { Species = 019, Level = 11, Location = -01, Form = 1, Shiny = false, }, // Rattata @ ??? - new EncounterStatic { Species = 020, Level = 11, Location = -01, Form = 1, Shiny = false, }, // Raticate @ ??? - new EncounterStatic { Species = 019, Level = 11, Location = -01, Form = 1, Shiny = false, }, // Rattata @ ??? - new EncounterStatic { Species = 019, Level = 10, Location = -01, Form = 1, Shiny = false, }, // Rattata @ ??? - new EncounterStatic { Species = 746, Level = 20, Location = -01, Form = 1, Shiny = false, HeldItem = 158, }, // Wishiwashi @ ??? - new EncounterStatic { Species = 746, Level = 17, Location = -01, Shiny = false, }, // Wishiwashi @ ??? - new EncounterStatic { Species = 746, Level = 18, Location = -01, Shiny = false, }, // Wishiwashi @ ??? - new EncounterStatic { Species = 594, Level = 18, Location = -01, Shiny = false, }, // Alomomola @ ??? - new EncounterStatic { Species = 746, Level = 18, Location = -01, Shiny = false, }, // Wishiwashi @ ??? - new EncounterStatic { Species = 758, Level = 22, Location = -01, Form = 1, Shiny = false, HeldItem = 204, }, // Salazzle @ ??? - new EncounterStatic { Species = 105, Level = 18, Location = -01, Form = 1, Shiny = false, }, // Marowak @ ??? - new EncounterStatic { Species = 105, Level = 18, Location = -01, Form = 1, Shiny = false, }, // Marowak @ ??? - new EncounterStatic { Species = 025, Level = 20, Location = -01, Shiny = false, }, // Pikachu @ ??? - new EncounterStatic { Species = 757, Level = 20, Location = -01, Shiny = false, }, // Salandit @ ??? - new EncounterStatic { Species = 754, Level = 24, Location = -01, Form = 1, Shiny = false, HeldItem = 271, }, // Lurantis @ ??? - new EncounterStatic { Species = 047, Level = 22, Location = -01, Shiny = false, }, // Parasect @ ??? - new EncounterStatic { Species = 756, Level = 22, Location = -01, Shiny = false, }, // Shiinotic @ ??? - new EncounterStatic { Species = 753, Level = 23, Location = -01, Shiny = false, }, // Fomantis @ ??? - new EncounterStatic { Species = 753, Level = 23, Location = -01, Shiny = false, }, // Fomantis @ ??? - new EncounterStatic { Species = 753, Level = 23, Location = -01, Shiny = false, }, // Fomantis @ ??? - new EncounterStatic { Species = 753, Level = 23, Location = -01, Shiny = false, }, // Fomantis @ ??? - new EncounterStatic { Species = 764, Level = 22, Location = -01, Shiny = false, }, // Comfey @ ??? - new EncounterStatic { Species = 352, Level = 22, Location = -01, Shiny = false, }, // Kecleon @ ??? - new EncounterStatic { Species = 738, Level = 29, Location = -01, Form = 1, Shiny = false, HeldItem = 184, }, // Vikavolt @ ??? - new EncounterStatic { Species = 736, Level = 27, Location = -01, Shiny = false, }, // Grubbin @ ??? - new EncounterStatic { Species = 737, Level = 27, Location = -01, Shiny = false, }, // Charjabug @ ??? - new EncounterStatic { Species = 737, Level = 27, Location = -01, Shiny = false, }, // Charjabug @ ??? - new EncounterStatic { Species = 737, Level = 27, Location = -01, Shiny = false, }, // Charjabug @ ??? - new EncounterStatic { Species = 737, Level = 28, Location = -01, Shiny = false, }, // Charjabug @ ??? - new EncounterStatic { Species = 778, Level = 35, Location = -01, Form = 2, Shiny = false, HeldItem = 157, }, // Mimikyu @ ??? - new EncounterStatic { Species = 092, Level = 30, Location = -01, Shiny = false, }, // Gastly @ ??? - new EncounterStatic { Species = 093, Level = 30, Location = -01, Shiny = false, }, // Haunter @ ??? - new EncounterStatic { Species = 094, Level = 30, Location = -01, Shiny = false, }, // Gengar @ ??? - new EncounterStatic { Species = 354, Level = 32, Location = -01, Shiny = false, }, // Banette @ ??? - new EncounterStatic { Species = 593, Level = 33, Location = -01, Shiny = false, }, // Jellicent @ ??? - new EncounterStatic { Species = 784, Level = 49, Location = -01, Form = 1, Shiny = false, HeldItem = 686, }, // Kommo-o @ ??? - new EncounterStatic { Species = 782, Level = 42, Location = -01, Shiny = false, }, // Jangmo-o @ ??? - new EncounterStatic { Species = 783, Level = 44, Location = -01, Shiny = false, }, // Hakamo-o @ ??? - new EncounterStatic { Species = 715, Level = 48, Location = -01, Shiny = false, }, // Noivern @ ??? - new EncounterStatic { Species = 212, Level = 46, Location = -01, Shiny = false, }, // Scizor @ ??? - new EncounterStatic { Species = 793, Level = 55, Location = -01, Shiny = false, }, // Nihilego @ ??? - new EncounterStatic { Species = 793, Level = 55, Location = -01, Shiny = false, }, // Nihilego @ ??? - new EncounterStatic { Species = 794, Level = 65, Location = -01, Shiny = false, }, // Buzzwole @ ??? - new EncounterStatic { Species = 794, Level = 65, Location = -01, Shiny = false, }, // Buzzwole @ ??? - new EncounterStatic { Species = 795, Level = 60, Location = -01, Shiny = false, }, // Pheromosa @ ??? - new EncounterStatic { Species = 795, Level = 60, Location = -01, Shiny = false, }, // Pheromosa @ ??? - new EncounterStatic { Species = 795, Level = 60, Location = -01, Shiny = false, }, // Pheromosa @ ??? - new EncounterStatic { Species = 795, Level = 60, Location = -01, Shiny = false, }, // Pheromosa @ ??? - new EncounterStatic { Species = 796, Level = 65, Location = -01, Shiny = false, }, // Xurkitree @ ??? - new EncounterStatic { Species = 796, Level = 65, Location = -01, Shiny = false, }, // Xurkitree @ ??? - new EncounterStatic { Species = 796, Level = 65, Location = -01, Shiny = false, }, // Xurkitree @ ??? - new EncounterStatic { Species = 796, Level = 65, Location = -01, Shiny = false, }, // Xurkitree @ ??? - new EncounterStatic { Species = 796, Level = 65, Location = -01, Shiny = false, }, // Xurkitree @ ??? - new EncounterStatic { Species = 796, Level = 65, Location = -01, Shiny = false, }, // Xurkitree @ ??? - new EncounterStatic { Species = 796, Level = 65, Location = -01, Shiny = false, }, // Xurkitree @ ??? - new EncounterStatic { Species = 796, Level = 65, Location = -01, Shiny = false, }, // Xurkitree @ ??? - new EncounterStatic { Species = 796, Level = 65, Location = -01, Shiny = false, }, // Xurkitree @ ??? - new EncounterStatic { Species = 796, Level = 65, Location = -01, Shiny = false, }, // Xurkitree @ ??? - new EncounterStatic { Species = 798, Level = 60, Location = -01, Shiny = false, }, // Kartana @ ??? - new EncounterStatic { Species = 798, Level = 60, Location = -01, Shiny = false, }, // Kartana @ ??? - new EncounterStatic { Species = 798, Level = 60, Location = -01, Shiny = false, }, // Kartana @ ??? - new EncounterStatic { Species = 798, Level = 60, Location = -01, Shiny = false, }, // Kartana @ ??? - new EncounterStatic { Species = 798, Level = 60, Location = -01, Shiny = false, }, // Kartana @ ??? - new EncounterStatic { Species = 798, Level = 60, Location = -01, Shiny = false, }, // Kartana @ ??? - new EncounterStatic { Species = 798, Level = 60, Location = -01, Shiny = false, }, // Kartana @ ??? - new EncounterStatic { Species = 798, Level = 60, Location = -01, Shiny = false, }, // Kartana @ ??? - new EncounterStatic { Species = 798, Level = 60, Location = -01, Shiny = false, }, // Kartana @ ??? - new EncounterStatic { Species = 798, Level = 60, Location = -01, Shiny = false, }, // Kartana @ ??? - new EncounterStatic { Species = 798, Level = 60, Location = -01, Shiny = false, }, // Kartana @ ??? - new EncounterStatic { Species = 798, Level = 60, Location = -01, Shiny = false, }, // Kartana @ ??? - new EncounterStatic { Species = 797, Level = 65, Location = -01, Shiny = false, }, // Celesteela @ ??? - new EncounterStatic { Species = 797, Level = 65, Location = -01, Shiny = false, }, // Celesteela @ ??? - new EncounterStatic { Species = 797, Level = 65, Location = -01, Shiny = false, }, // Celesteela @ ??? - new EncounterStatic { Species = 797, Level = 65, Location = -01, Shiny = false, }, // Celesteela @ ??? - new EncounterStatic { Species = 797, Level = 65, Location = -01, Shiny = false, }, // Celesteela @ ??? - new EncounterStatic { Species = 797, Level = 65, Location = -01, Shiny = false, }, // Celesteela @ ??? - new EncounterStatic { Species = 797, Level = 65, Location = -01, Shiny = false, }, // Celesteela @ ??? - new EncounterStatic { Species = 797, Level = 65, Location = -01, Shiny = false, }, // Celesteela @ ??? - new EncounterStatic { Species = 797, Level = 65, Location = -01, Shiny = false, }, // Celesteela @ ??? - new EncounterStatic { Species = 797, Level = 65, Location = -01, Shiny = false, }, // Celesteela @ ??? - new EncounterStatic { Species = 797, Level = 65, Location = -01, Shiny = false, }, // Celesteela @ ??? - new EncounterStatic { Species = 797, Level = 65, Location = -01, Shiny = false, }, // Celesteela @ ??? - new EncounterStatic { Species = 797, Level = 65, Location = -01, Shiny = false, }, // Celesteela @ ??? - new EncounterStatic { Species = 797, Level = 65, Location = -01, Shiny = false, }, // Celesteela @ ??? - new EncounterStatic { Species = 797, Level = 65, Location = -01, Shiny = false, }, // Celesteela @ ??? - new EncounterStatic { Species = 797, Level = 65, Location = -01, Shiny = false, }, // Celesteela @ ??? - new EncounterStatic { Species = 797, Level = 65, Location = -01, Shiny = false, }, // Celesteela @ ??? - new EncounterStatic { Species = 797, Level = 65, Location = -01, Shiny = false, }, // Celesteela @ ??? - new EncounterStatic { Species = 799, Level = 70, Location = -01, Shiny = false, }, // Guzzlord @ ??? - new EncounterStatic { Species = 800, Level = 75, Location = -01, Shiny = false, }, // Necrozma @ ??? + + new EncounterStatic { Species = 731, Level = 03, Location = -01, Ability = 1, Shiny = false, }, // Pikipek @ ??? + new EncounterStatic { Species = 793, Level = 27, Location = -01, Ability = 1, Shiny = false, IVs = new[] {31,01,31,01,31,31}, }, // Nihilego @ ??? + new EncounterStatic { Species = 791, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, Relearn = new[] {713,322,242,428}, Version = GameVersion.SN }, // Solgaleo @ ??? + new EncounterStatic { Species = 792, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, Relearn = new[] {714,322,539,585}, Version = GameVersion.MN }, // Lunala @ ??? + new EncounterStatic { Species = 735, Level = 12, Location = -01, Ability = 4, Shiny = false, Form = 1, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {162,044,033,184}, HeldItem = 151, }, // Gumshoos @ ??? + new EncounterStatic { Species = 734, Level = 11, Location = -01, Ability = 2, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {028,033,158,043}, }, // Yungoos @ ??? + new EncounterStatic { Species = 735, Level = 11, Location = -01, Ability = 4, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {028,044,162,043}, }, // Gumshoos @ ??? + new EncounterStatic { Species = 734, Level = 11, Location = -01, Ability = 2, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {028,033,162,043}, }, // Yungoos @ ??? + new EncounterStatic { Species = 734, Level = 10, Location = -01, Ability = 1, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {043,033,228,316}, }, // Yungoos @ ??? + new EncounterStatic { Species = 020, Level = 12, Location = -01, Ability = 1, Shiny = false, Form = 2, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {162,044,154,184}, HeldItem = 151, }, // Raticate @ ??? + new EncounterStatic { Species = 019, Level = 11, Location = -01, Ability = 1, Shiny = false, Form = 1, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {033,039,098,158}, }, // Rattata @ ??? + new EncounterStatic { Species = 020, Level = 11, Location = -01, Ability = 1, Shiny = false, Form = 1, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {116,039,033,162}, }, // Raticate @ ??? + new EncounterStatic { Species = 019, Level = 11, Location = -01, Ability = 1, Shiny = false, Form = 1, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {033,039,098,162}, }, // Rattata @ ??? + new EncounterStatic { Species = 019, Level = 10, Location = -01, Ability = 2, Shiny = false, Form = 1, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {033,039,098,228}, }, // Rattata @ ??? + new EncounterStatic { Species = 746, Level = 20, Location = -01, Ability = 1, Shiny = false, Form = 1, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {055,045,240,487}, HeldItem = 158, }, // Wishiwashi @ ??? + new EncounterStatic { Species = 746, Level = 17, Location = -01, Ability = 1, Shiny = false, }, // Wishiwashi @ ??? + new EncounterStatic { Species = 746, Level = 18, Location = -01, Ability = 1, Shiny = false, }, // Wishiwashi @ ??? + new EncounterStatic { Species = 594, Level = 18, Location = -01, Ability = 1, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {270,003,505,055}, }, // Alomomola @ ??? + new EncounterStatic { Species = 746, Level = 18, Location = -01, Ability = 1, Shiny = false, }, // Wishiwashi @ ??? + new EncounterStatic { Species = 758, Level = 22, Location = -01, Ability = 1, Shiny = false, Form = 1, IVs = new[] {31,01,15,01,15,01}, Relearn = new[] {259,599,092,481}, HeldItem = 204, }, // Salazzle @ ??? + new EncounterStatic { Species = 105, Level = 18, Location = -01, Ability = 1, Shiny = false, Form = 1, Relearn = new[] {172,125,039,045}, }, // Marowak @ ??? + new EncounterStatic { Species = 105, Level = 18, Location = -01, Ability = 1, Shiny = false, Form = 1, Relearn = new[] {172,125,039,045}, }, // Marowak @ ??? + new EncounterStatic { Species = 025, Level = 20, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {486,086,098,589}, }, // Pikachu @ ??? + new EncounterStatic { Species = 757, Level = 20, Location = -01, Ability = 1, Shiny = false, IVs = new[] {15,15,15,15,15,15}, Relearn = new[] {139,474,269,010}, }, // Salandit @ ??? + new EncounterStatic { Species = 754, Level = 24, Location = -01, Ability = 1, Shiny = false, Form = 1, IVs = new[] {31,31,31,01,31,31}, Relearn = new[] {490,404,669,235}, HeldItem = 271, }, // Lurantis @ ??? + new EncounterStatic { Species = 047, Level = 22, Location = -01, Ability = 2, Shiny = false, Relearn = new[] {440,141,210,147}, }, // Parasect @ ??? + new EncounterStatic { Species = 756, Level = 22, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {310,275,072,079}, }, // Shiinotic @ ??? + new EncounterStatic { Species = 753, Level = 23, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {075,670,210,074}, }, // Fomantis @ ??? + new EncounterStatic { Species = 753, Level = 23, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {075,670,210,074}, }, // Fomantis @ ??? + new EncounterStatic { Species = 753, Level = 23, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {670,210,275,075}, }, // Fomantis @ ??? + new EncounterStatic { Species = 753, Level = 23, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {670,210,275,075}, }, // Fomantis @ ??? + new EncounterStatic { Species = 764, Level = 22, Location = -01, Ability = 1, Shiny = false, IVs = new[] {30,30,30,30,30,30}, Relearn = new[] {241,666,579,345}, }, // Comfey @ ??? + new EncounterStatic { Species = 352, Level = 22, Location = -01, Ability = 1, Shiny = false, IVs = new[] {30,10,30,10,30,10}, Relearn = new[] {241,246,146,103}, }, // Kecleon @ ??? + new EncounterStatic { Species = 738, Level = 29, Location = -01, Ability = 1, Shiny = false, Form = 1, IVs = new[] {31,01,31,01,31,01}, Relearn = new[] {011,268,450,209}, HeldItem = 184, }, // Vikavolt @ ??? + new EncounterStatic { Species = 736, Level = 27, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {011,081,044,450}, }, // Grubbin @ ??? + new EncounterStatic { Species = 737, Level = 27, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {268,011,450,209}, }, // Charjabug @ ??? + new EncounterStatic { Species = 737, Level = 27, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {268,189,512,209}, }, // Charjabug @ ??? + new EncounterStatic { Species = 737, Level = 27, Location = -01, Ability = 1, Shiny = false, IVs = new[] {15,15,15,15,15,15}, Relearn = new[] {081,011,189,086}, }, // Charjabug @ ??? + new EncounterStatic { Species = 737, Level = 28, Location = -01, Ability = 1, Shiny = false, IVs = new[] {15,15,15,15,15,15}, Relearn = new[] {044,086,189,209}, }, // Charjabug @ ??? + new EncounterStatic { Species = 778, Level = 35, Location = -01, Ability = 1, Shiny = false, Form = 2, IVs = new[] {31,08,31,15,31,15}, Relearn = new[] {421,583,141,163}, HeldItem = 157, }, // Mimikyu @ ??? + new EncounterStatic { Species = 092, Level = 30, Location = -01, Ability = 1, Shiny = false, IVs = new[] {15,15,15,15,15,15}, Relearn = new[] {174,109,212,095}, }, // Gastly @ ??? + new EncounterStatic { Species = 093, Level = 30, Location = -01, Ability = 1, Shiny = false, IVs = new[] {15,15,15,15,15,15}, Relearn = new[] {122,101,389,095}, }, // Haunter @ ??? + new EncounterStatic { Species = 094, Level = 30, Location = -01, Ability = 1, Shiny = false, IVs = new[] {15,15,15,15,15,15}, Relearn = new[] {101,325,247,095}, }, // Gengar @ ??? + new EncounterStatic { Species = 354, Level = 32, Location = -01, Ability = 1, Shiny = false, IVs = new[] {31,15,31,15,31,15}, Relearn = new[] {103,261,185,174}, }, // Banette @ ??? + new EncounterStatic { Species = 593, Level = 33, Location = -01, Ability = 2, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {352,173,180,101}, }, // Jellicent @ ??? + new EncounterStatic { Species = 784, Level = 49, Location = -01, Ability = 2, Shiny = false, Form = 1, IVs = new[] {31,01,31,01,31,31}, Relearn = new[] {409,337,009,398}, HeldItem = 686, }, // Kommo-o @ ??? + new EncounterStatic { Species = 782, Level = 42, Location = -01, Ability = 1, Shiny = false, IVs = new[] {31,31,31,31,31,31}, Relearn = new[] {117,033,043,029}, }, // Jangmo-o @ ??? + new EncounterStatic { Species = 783, Level = 44, Location = -01, Ability = 1, Shiny = false, IVs = new[] {31,31,31,31,31,31}, Relearn = new[] {029,475,526,327}, }, // Hakamo-o @ ??? + new EncounterStatic { Species = 715, Level = 48, Location = -01, Ability = 2, Shiny = false, IVs = new[] {31,31,31,31,31,31}, Relearn = new[] {586,103,406,403}, }, // Noivern @ ??? + new EncounterStatic { Species = 212, Level = 46, Location = -01, Ability = 2, Shiny = false, IVs = new[] {15,15,15,15,15,15}, Relearn = new[] {113,228,418,404}, }, // Scizor @ ??? + new EncounterStatic { Species = 793, Level = 55, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Nihilego @ ??? + new EncounterStatic { Species = 793, Level = 55, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Nihilego @ ??? + new EncounterStatic { Species = 794, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Buzzwole @ ??? + new EncounterStatic { Species = 794, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Buzzwole @ ??? + new EncounterStatic { Species = 795, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Pheromosa @ ??? + new EncounterStatic { Species = 795, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Pheromosa @ ??? + new EncounterStatic { Species = 795, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Pheromosa @ ??? + new EncounterStatic { Species = 795, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Pheromosa @ ??? + new EncounterStatic { Species = 796, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Xurkitree @ ??? + new EncounterStatic { Species = 796, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Xurkitree @ ??? + new EncounterStatic { Species = 796, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Xurkitree @ ??? + new EncounterStatic { Species = 796, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Xurkitree @ ??? + new EncounterStatic { Species = 796, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Xurkitree @ ??? + new EncounterStatic { Species = 796, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Xurkitree @ ??? + new EncounterStatic { Species = 796, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Xurkitree @ ??? + new EncounterStatic { Species = 796, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Xurkitree @ ??? + new EncounterStatic { Species = 796, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Xurkitree @ ??? + new EncounterStatic { Species = 796, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Xurkitree @ ??? + new EncounterStatic { Species = 798, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Kartana @ ??? + new EncounterStatic { Species = 798, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Kartana @ ??? + new EncounterStatic { Species = 798, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Kartana @ ??? + new EncounterStatic { Species = 798, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Kartana @ ??? + new EncounterStatic { Species = 798, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Kartana @ ??? + new EncounterStatic { Species = 798, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Kartana @ ??? + new EncounterStatic { Species = 798, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Kartana @ ??? + new EncounterStatic { Species = 798, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Kartana @ ??? + new EncounterStatic { Species = 798, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Kartana @ ??? + new EncounterStatic { Species = 798, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Kartana @ ??? + new EncounterStatic { Species = 798, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Kartana @ ??? + new EncounterStatic { Species = 798, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Kartana @ ??? + new EncounterStatic { Species = 797, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Celesteela @ ??? + new EncounterStatic { Species = 797, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Celesteela @ ??? + new EncounterStatic { Species = 797, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Celesteela @ ??? + new EncounterStatic { Species = 797, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Celesteela @ ??? + new EncounterStatic { Species = 797, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Celesteela @ ??? + new EncounterStatic { Species = 797, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Celesteela @ ??? + new EncounterStatic { Species = 797, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Celesteela @ ??? + new EncounterStatic { Species = 797, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Celesteela @ ??? + new EncounterStatic { Species = 797, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Celesteela @ ??? + new EncounterStatic { Species = 797, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Celesteela @ ??? + new EncounterStatic { Species = 797, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Celesteela @ ??? + new EncounterStatic { Species = 797, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Celesteela @ ??? + new EncounterStatic { Species = 797, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Celesteela @ ??? + new EncounterStatic { Species = 797, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Celesteela @ ??? + new EncounterStatic { Species = 797, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Celesteela @ ??? + new EncounterStatic { Species = 797, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Celesteela @ ??? + new EncounterStatic { Species = 797, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Celesteela @ ??? + new EncounterStatic { Species = 797, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Celesteela @ ??? + new EncounterStatic { Species = 799, Level = 70, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Guzzlord @ ??? + new EncounterStatic { Species = 800, Level = 75, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Necrozma @ ??? // QR Scan: Su/M/Tu/W/Th/F/Sa // Melemele Island - new EncounterStatic { Species = 004, Level = 12, Location = 010, }, // Charmander @ Route 3 - new EncounterStatic { Species = 007, Level = 12, Location = 042, }, // Squirtle @ Seaward Cave - new EncounterStatic { Species = 095, Level = 14, Location = 034, }, // Onix @ Ten Carat Hill - new EncounterStatic { Species = 116, Level = 18, Location = 014, }, // Horsea @ Kala'e Bay - new EncounterStatic { Species = 664, Level = 09, Location = 020, Form = 30, }, // Scatterbug @ Hau'oli City - new EncounterStatic { Species = 001, Level = 10, Location = 012, }, // Bulbasaur @ Route 2 - new EncounterStatic { Species = 607, Level = 09, Location = 038, }, // Litwick @ Hau'oli Cemetery + new EncounterStatic { Species = 004, Level = 12, Location = 010, Relearn = new[] {068,108,052,010}, }, // Charmander @ Route 3 + new EncounterStatic { Species = 007, Level = 12, Location = 042, Relearn = new[] {453,110,055,033}, }, // Squirtle @ Seaward Cave + new EncounterStatic { Species = 095, Level = 14, Location = 034, Relearn = new[] {563,099,317,088}, }, // Onix @ Ten Carat Hill + new EncounterStatic { Species = 116, Level = 18, Location = 014, Relearn = new[] {352,239,055,043}, }, // Horsea @ Kala'e Bay + new EncounterStatic { Species = 664, Level = 09, Location = 020, Relearn = new[] {476,081,078,033}, Form = 30, }, // Scatterbug @ Hau'oli City + new EncounterStatic { Species = 001, Level = 10, Location = 012, Relearn = new[] {580,022,045,033}, }, // Bulbasaur @ Route 2 + new EncounterStatic { Species = 607, Level = 09, Location = 038, Relearn = new[] {203,052,083,123}, }, // Litwick @ Hau'oli Cemetery // Akala Island - new EncounterStatic { Species = 280, Level = 17, Location = 054, }, // Ralts @ Route 6 - new EncounterStatic { Species = 363, Level = 19, Location = 056, }, // Spheal @ Route 7 - new EncounterStatic { Species = 256, Level = 20, Location = 058, }, // Combusken @ Route 8 - new EncounterStatic { Species = 679, Level = 24, Location = 094, }, // Honedge @ Akala Outskirts - new EncounterStatic { Species = 015, Level = 14, Location = 050, }, // Beedrill @ Route 4 - new EncounterStatic { Species = 253, Level = 16, Location = 052, }, // Grovyle @ Route 5 - new EncounterStatic { Species = 259, Level = 17, Location = 086, }, // Marshtomp @ Brooklet Hill + new EncounterStatic { Species = 280, Level = 17, Location = 054, Relearn = new[] {581,345,381,574}, }, // Ralts @ Route 6 + new EncounterStatic { Species = 363, Level = 19, Location = 056, Relearn = new[] {187,362,301,227}, }, // Spheal @ Route 7 + new EncounterStatic { Species = 256, Level = 20, Location = 058, Relearn = new[] {067,488,064,028}, }, // Combusken @ Route 8 + new EncounterStatic { Species = 679, Level = 24, Location = 094, Relearn = new[] {469,332,425,475}, }, // Honedge @ Akala Outskirts + new EncounterStatic { Species = 015, Level = 14, Location = 050, Relearn = new[] {099,031,041,000}, }, // Beedrill @ Route 4 + new EncounterStatic { Species = 253, Level = 16, Location = 052, Relearn = new[] {580,072,098,071}, }, // Grovyle @ Route 5 + new EncounterStatic { Species = 259, Level = 17, Location = 086, Relearn = new[] {068,193,189,055}, }, // Marshtomp @ Brooklet Hill // Ula'ula Island - new EncounterStatic { Species = 111, Level = 32, Location = 138, }, // Rhyhorn @ Blush Mountain - new EncounterStatic { Species = 220, Level = 33, Location = 114, }, // Swinub @ Tapu Village - new EncounterStatic { Species = 394, Level = 35, Location = 118, }, // Prinplup @ Route 16 - new EncounterStatic { Species = 388, Level = 36, Location = 128, }, // Grotle @ Ula'ula Meadow - new EncounterStatic { Species = 018, Level = 29, Location = 106, }, // Pidgeot @ Route 10 - new EncounterStatic { Species = 391, Level = 29, Location = 108, }, // Monferno @ Route 11 - new EncounterStatic { Species = 610, Level = 30, Location = 136, }, // Axew @ Mount Hokulani + new EncounterStatic { Species = 111, Level = 32, Location = 138, Relearn = new[] {470,350,498,523}, }, // Rhyhorn @ Blush Mountain + new EncounterStatic { Species = 220, Level = 33, Location = 114, Relearn = new[] {333,036,420,196}, }, // Swinub @ Tapu Village + new EncounterStatic { Species = 394, Level = 35, Location = 118, Relearn = new[] {681,362,031,117}, }, // Prinplup @ Route 16 + new EncounterStatic { Species = 388, Level = 36, Location = 128, Relearn = new[] {484,073,072,044}, }, // Grotle @ Ula'ula Meadow + new EncounterStatic { Species = 388, Level = 36, Location = -01, Relearn = new[] {484,073,072,044}, }, // Grotle @ ??? + new EncounterStatic { Species = 018, Level = 29, Location = 106, Relearn = new[] {211,297,239,098}, }, // Pidgeot @ Route 10 + new EncounterStatic { Species = 391, Level = 29, Location = 108, Relearn = new[] {612,172,154,259}, }, // Monferno @ Route 11 + new EncounterStatic { Species = 610, Level = 30, Location = 136, Relearn = new[] {068,337,206,163}, }, // Axew @ Mount Hokulani // Poni Island - new EncounterStatic { Species = 604, Level = 55, Location = 164, }, // Eelektross @ Poni Grove - new EncounterStatic { Species = 306, Level = 57, Location = 166, }, // Aggron @ Poni Plains - new EncounterStatic { Species = 479, Level = 61, Location = 170, }, // Rotom @ Poni Gauntlet - new EncounterStatic { Species = 542, Level = 57, Location = 156, }, // Leavanny @ Poni Meadow - new EncounterStatic { Species = 652, Level = 45, Location = 184, }, // Chesnaught @ Exeggutor Island - new EncounterStatic { Species = 658, Level = 44, Location = 158, }, // Greninja @ Poni Wilds - new EncounterStatic { Species = 655, Level = 44, Location = 160, }, // Delphox @ Ancient Poni Path + new EncounterStatic { Species = 604, Level = 55, Location = 164, Relearn = new[] {242,435,029,306}, }, // Eelektross @ Poni Grove + new EncounterStatic { Species = 306, Level = 57, Location = 166, Relearn = new[] {179,484,038,334}, }, // Aggron @ Poni Plains + new EncounterStatic { Species = 479, Level = 61, Location = 170, Relearn = new[] {268,506,486,164}, }, // Rotom @ Poni Gauntlet + new EncounterStatic { Species = 542, Level = 57, Location = 156, Relearn = new[] {580,437,014,494}, }, // Leavanny @ Poni Meadow + new EncounterStatic { Species = 652, Level = 45, Location = 184, Relearn = new[] {191,341,402,596}, }, // Chesnaught @ Exeggutor Island + new EncounterStatic { Species = 658, Level = 44, Location = 158, Relearn = new[] {516,164,185,594}, }, // Greninja @ Poni Wilds + new EncounterStatic { Species = 655, Level = 44, Location = 160, Relearn = new[] {273,473,113,595}, }, // Delphox @ Ancient Poni Path - new EncounterStatic { Species = 785, Level = 60, Location = -01, Shiny = false, }, // Tapu Koko @ ??? - new EncounterStatic { Species = 786, Level = 60, Location = -01, Shiny = false, }, // Tapu Lele @ ??? - new EncounterStatic { Species = 787, Level = 60, Location = -01, Shiny = false, }, // Tapu Bulu @ ??? - new EncounterStatic { Species = 788, Level = 60, Location = -01, Shiny = false, }, // Tapu Fini @ ??? - new EncounterStatic { Species = 023, Level = 10, Location = 012, }, // Ekans @ Route 2 - new EncounterStatic { Species = 103, Level = 40, Location = -01, Form = 1, }, // Exeggutor @ ??? - new EncounterStatic { Species = 785, Level = 60, Location = -01, Shiny = false, }, // Tapu Koko @ ??? + new EncounterStatic { Species = 785, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Tapu Koko @ ??? + new EncounterStatic { Species = 786, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Tapu Lele @ ??? + new EncounterStatic { Species = 787, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Tapu Bulu @ ??? + new EncounterStatic { Species = 788, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Tapu Fini @ ??? + new EncounterStatic { Species = 023, Level = 10, Location = -01, Ability = 1, }, // Ekans @ ??? + new EncounterStatic { Species = 103, Level = 40, Location = -01, Ability = 1, Form = 1, }, // Exeggutor @ ??? + new EncounterStatic { Species = 785, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Tapu Koko @ ??? - new EncounterStatic { Species = 542, Level = 57, Location = -01, }, // Leavanny @ ??? - new EncounterStatic { Species = 752, Level = 20, Location = -01, Form = 1, Shiny = false, HeldItem = 186, }, // Araquanid @ ??? - new EncounterStatic { Species = 751, Level = 17, Location = -01, Shiny = false, }, // Dewpider @ ??? - new EncounterStatic { Species = 751, Level = 18, Location = -01, Shiny = false, }, // Dewpider @ ??? - new EncounterStatic { Species = 284, Level = 18, Location = -01, Shiny = false, }, // Masquerain @ ??? - new EncounterStatic { Species = 751, Level = 18, Location = -01, Shiny = false, }, // Dewpider @ ??? - new EncounterStatic { Species = 753, Level = 17, Location = -01, Shiny = false, }, // Fomantis @ ??? - new EncounterStatic { Species = 764, Level = 21, Location = -01, Shiny = false, }, // Comfey @ ??? - new EncounterStatic { Species = 753, Level = 21, Location = -01, Shiny = false, }, // Fomantis @ ??? - new EncounterStatic { Species = 185, Level = 24, Location = -01, Shiny = false, }, // Sudowoodo @ ??? - new EncounterStatic { Species = 777, Level = 33, Location = -01, Form = 1, Shiny = false, HeldItem = 158, }, // Togedemaru @ ??? - new EncounterStatic { Species = 227, Level = 32, Location = -01, Shiny = false, }, // Skarmory @ ??? - new EncounterStatic { Species = 702, Level = 31, Location = -01, Shiny = false, }, // Dedenne @ ??? - new EncounterStatic { Species = 239, Level = 29, Location = -01, Shiny = false, }, // Elekid @ ??? - new EncounterStatic { Species = 125, Level = 30, Location = -01, Shiny = false, }, // Electabuzz @ ??? - new EncounterStatic { Species = 734, Level = 03, Location = -01, Shiny = false, }, // Yungoos @ ??? - new EncounterStatic { Species = 019, Level = 03, Location = -01, Form = 1, Shiny = false, }, // Rattata @ ??? - new EncounterStatic { Species = 736, Level = 04, Location = -01, Shiny = false, }, // Grubbin @ ??? - new EncounterStatic { Species = 021, Level = 04, Location = -01, Shiny = false, }, // Spearow @ ??? + new EncounterStatic { Species = 542, Level = 57, Location = -01, Relearn = new[] {580,437,014,494}, }, // Leavanny @ ??? + new EncounterStatic { Species = 752, Level = 20, Location = -01, Ability = 1, Shiny = false, Form = 1, IVs = new[] {31,01,31,01,31,01}, Relearn = new[] {141,145,044,062}, HeldItem = 186, }, // Araquanid @ ??? + new EncounterStatic { Species = 751, Level = 17, Location = -01, Ability = 1, Shiny = false, }, // Dewpider @ ??? + new EncounterStatic { Species = 751, Level = 18, Location = -01, Ability = 1, Shiny = false, }, // Dewpider @ ??? + new EncounterStatic { Species = 284, Level = 18, Location = -01, Ability = 1, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {184,078,366,450}, }, // Masquerain @ ??? + new EncounterStatic { Species = 751, Level = 18, Location = -01, Ability = 1, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {564,240,450,145}, }, // Dewpider @ ??? + new EncounterStatic { Species = 753, Level = 17, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {075,670,210,074}, }, // Fomantis @ ??? + new EncounterStatic { Species = 764, Level = 21, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {022,577,186,073}, }, // Comfey @ ??? + new EncounterStatic { Species = 753, Level = 21, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {075,210,275,074}, }, // Fomantis @ ??? + new EncounterStatic { Species = 185, Level = 24, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {088,317,452,175}, }, // Sudowoodo @ ??? + new EncounterStatic { Species = 777, Level = 33, Location = -01, Ability = 2, Shiny = false, Form = 1, IVs = new[] {31,15,31,01,31,31}, Relearn = new[] {716,596,442,340}, HeldItem = 158, }, // Togedemaru @ ??? + new EncounterStatic { Species = 227, Level = 32, Location = -01, Ability = 2, Shiny = false, IVs = new[] {15,15,15,15,15,15}, Relearn = new[] {446,211,366,259}, }, // Skarmory @ ??? + new EncounterStatic { Species = 702, Level = 31, Location = -01, Ability = 2, Shiny = false, IVs = new[] {31,31,31,31,31,31}, Relearn = new[] {162,598,204,435}, }, // Dedenne @ ??? + new EncounterStatic { Species = 239, Level = 29, Location = -01, Ability = 1, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {098,009,067,043}, }, // Elekid @ ??? + new EncounterStatic { Species = 125, Level = 30, Location = -01, Ability = 1, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {486,113,129,086}, }, // Electabuzz @ ??? + new EncounterStatic { Species = 734, Level = 03, Location = -01, Ability = 1, Shiny = false, }, // Yungoos @ ??? + new EncounterStatic { Species = 019, Level = 03, Location = -01, Ability = 1, Shiny = false, Form = 1, }, // Rattata @ ??? + new EncounterStatic { Species = 736, Level = 04, Location = -01, Ability = 1, Shiny = false, }, // Grubbin @ ??? + new EncounterStatic { Species = 021, Level = 04, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {043,228,000,000}, }, // Spearow @ ??? new EncounterStatic { Species = 127, Level = 42, Location = -01, Shiny = false, }, // Pinsir @ ??? new EncounterStatic { Species = 127, Level = 43, Location = -01, Shiny = false, }, // Pinsir @ ??? new EncounterStatic { Species = 127, Level = 42, Location = -01, Shiny = false, }, // Pinsir @ ??? - new EncounterStatic { Species = 800, Level = 50, Location = -01, Form = 1, Shiny = false, }, // Necrozma @ ??? - new EncounterStatic { Species = 800, Level = 50, Location = -01, Form = 2, Shiny = false, }, // Necrozma @ ??? - new EncounterStatic { Species = 800, Level = 60, Location = -01, Form = 3, Shiny = false, }, // Necrozma @ ??? - new EncounterStatic { Species = 800, Level = 65, Location = -01, Shiny = false, HeldItem = 923, }, // Necrozma @ ??? - new EncounterStatic { Species = 743, Level = 55, Location = -01, Form = 1, Shiny = false, HeldItem = 184, }, // Ribombee @ ??? - new EncounterStatic { Species = 279, Level = 52, Location = -01, Shiny = false, }, // Pelipper @ ??? - new EncounterStatic { Species = 242, Level = 53, Location = -01, Shiny = false, }, // Blissey @ ??? - new EncounterStatic { Species = 144, Level = 60, Location = -01, }, // Articuno @ ??? - new EncounterStatic { Species = 145, Level = 60, Location = -01, }, // Zapdos @ ??? - new EncounterStatic { Species = 146, Level = 60, Location = -01, }, // Moltres @ ??? - new EncounterStatic { Species = 250, Level = 60, Location = -01, HeldItem = 044, }, // Ho-Oh @ ??? - new EncounterStatic { Species = 384, Level = 60, Location = -01, }, // Rayquaza @ ??? - new EncounterStatic { Species = 488, Level = 60, Location = -01, }, // Cresselia @ ??? - new EncounterStatic { Species = 641, Level = 60, Location = -01, }, // Tornadus @ ??? - new EncounterStatic { Species = 642, Level = 60, Location = -01, }, // Thundurus @ ??? - new EncounterStatic { Species = 645, Level = 60, Location = -01, }, // Landorus @ ??? - new EncounterStatic { Species = 717, Level = 60, Location = -01, }, // Yveltal @ ??? - new EncounterStatic { Species = 150, Level = 60, Location = -01, }, // Mewtwo @ ??? - new EncounterStatic { Species = 243, Level = 60, Location = -01, }, // Raikou @ ??? - new EncounterStatic { Species = 244, Level = 60, Location = -01, }, // Entei @ ??? - new EncounterStatic { Species = 483, Level = 60, Location = -01, }, // Dialga @ ??? - new EncounterStatic { Species = 638, Level = 60, Location = -01, }, // Cobalion @ ??? - new EncounterStatic { Species = 639, Level = 60, Location = -01, }, // Terrakion @ ??? - new EncounterStatic { Species = 640, Level = 60, Location = -01, }, // Virizion @ ??? - new EncounterStatic { Species = 643, Level = 60, Location = -01, }, // Reshiram @ ??? - new EncounterStatic { Species = 644, Level = 60, Location = -01, }, // Zekrom @ ??? - new EncounterStatic { Species = 716, Level = 60, Location = -01, }, // Xerneas @ ??? - new EncounterStatic { Species = 377, Level = 60, Location = -01, }, // Regirock @ ??? - new EncounterStatic { Species = 378, Level = 60, Location = -01, }, // Regice @ ??? - new EncounterStatic { Species = 379, Level = 60, Location = -01, }, // Registeel @ ??? - new EncounterStatic { Species = 383, Level = 60, Location = -01, }, // Groudon @ ??? - new EncounterStatic { Species = 485, Level = 60, Location = -01, }, // Heatran @ ??? - new EncounterStatic { Species = 486, Level = 60, Location = -01, }, // Regigigas @ ??? - new EncounterStatic { Species = 484, Level = 60, Location = -01, }, // Palkia @ ??? - new EncounterStatic { Species = 487, Level = 60, Location = -01, }, // Giratina @ ??? - new EncounterStatic { Species = 245, Level = 60, Location = -01, }, // Suicune @ ??? - new EncounterStatic { Species = 249, Level = 60, Location = -01, }, // Lugia @ ??? - new EncounterStatic { Species = 380, Level = 60, Location = -01, }, // Latias @ ??? - new EncounterStatic { Species = 381, Level = 60, Location = -01, }, // Latios @ ??? - new EncounterStatic { Species = 382, Level = 60, Location = -01, }, // Kyogre @ ??? - new EncounterStatic { Species = 480, Level = 60, Location = -01, }, // Uxie @ ??? - new EncounterStatic { Species = 481, Level = 60, Location = -01, }, // Mesprit @ ??? - new EncounterStatic { Species = 482, Level = 60, Location = -01, }, // Azelf @ ??? - new EncounterStatic { Species = 646, Level = 60, Location = -01, }, // Kyurem @ ??? - new EncounterStatic { Species = 334, Level = 60, Location = -01, }, // Altaria @ ??? - new EncounterStatic { Species = 469, Level = 60, Location = -01, }, // Yanmega @ ??? - new EncounterStatic { Species = 561, Level = 60, Location = -01, }, // Sigilyph @ ??? - new EncounterStatic { Species = 581, Level = 60, Location = -01, }, // Swanna @ ??? - new EncounterStatic { Species = 277, Level = 60, Location = -01, }, // Swellow @ ??? - new EncounterStatic { Species = 452, Level = 60, Location = -01, }, // Drapion @ ??? - new EncounterStatic { Species = 531, Level = 60, Location = -01, }, // Audino @ ??? - new EncounterStatic { Species = 695, Level = 60, Location = -01, }, // Heliolisk @ ??? - new EncounterStatic { Species = 274, Level = 60, Location = -01, }, // Nuzleaf @ ??? - new EncounterStatic { Species = 326, Level = 60, Location = -01, }, // Grumpig @ ??? - new EncounterStatic { Species = 460, Level = 60, Location = -01, }, // Abomasnow @ ??? - new EncounterStatic { Species = 308, Level = 60, Location = -01, }, // Medicham @ ??? - new EncounterStatic { Species = 450, Level = 60, Location = -01, }, // Hippowdon @ ??? - new EncounterStatic { Species = 558, Level = 60, Location = -01, }, // Crustle @ ??? - new EncounterStatic { Species = 219, Level = 60, Location = -01, }, // Magcargo @ ??? - new EncounterStatic { Species = 689, Level = 60, Location = -01, }, // Barbaracle @ ??? - new EncounterStatic { Species = 271, Level = 60, Location = -01, }, // Lombre @ ??? - new EncounterStatic { Species = 618, Level = 60, Location = -01, }, // Stunfisk @ ??? - new EncounterStatic { Species = 419, Level = 60, Location = -01, }, // Floatzel @ ??? - new EncounterStatic { Species = 195, Level = 60, Location = -01, }, // Quagsire @ ??? - new EncounterStatic { Species = 793, Level = 60, Location = -01, }, // Nihilego @ ??? - new EncounterStatic { Species = 794, Level = 60, Location = -01, }, // Buzzwole @ ??? - new EncounterStatic { Species = 795, Level = 60, Location = -01, }, // Pheromosa @ ??? - new EncounterStatic { Species = 796, Level = 60, Location = -01, }, // Xurkitree @ ??? - new EncounterStatic { Species = 797, Level = 60, Location = -01, }, // Celesteela @ ??? - new EncounterStatic { Species = 798, Level = 60, Location = -01, }, // Kartana @ ??? - new EncounterStatic { Species = 799, Level = 60, Location = -01, }, // Guzzlord @ ??? - new EncounterStatic { Species = 735, Level = 60, Location = -01, Form = 1, Shiny = false, HeldItem = 189, }, // Gumshoos @ ??? - new EncounterStatic { Species = 734, Level = 58, Location = -01, Shiny = false, }, // Yungoos @ ??? - new EncounterStatic { Species = 020, Level = 60, Location = -01, Form = 2, Shiny = false, HeldItem = 189, }, // Raticate @ ??? - new EncounterStatic { Species = 019, Level = 58, Location = -01, Form = 1, Shiny = false, }, // Rattata @ ??? + new EncounterStatic { Species = 800, Level = 50, Location = -01, Ability = 1, Shiny = false, Form = 1, IVs = new[] {31,31,31,31,31,31}, Relearn = new[] {713,234,427,400}, }, // Necrozma @ ??? + new EncounterStatic { Species = 800, Level = 50, Location = -01, Ability = 1, Shiny = false, Form = 2, IVs = new[] {31,31,31,31,31,31}, Relearn = new[] {714,236,094,408}, }, // Necrozma @ ??? + new EncounterStatic { Species = 800, Level = 60, Location = -01, Ability = 1, Shiny = false, Form = 3, IVs = new[] {31,31,31,00,31,31}, Relearn = new[] {722,684,408,406}, }, // Necrozma @ ??? + new EncounterStatic { Species = 800, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, Relearn = new[] {722,334,408,400}, HeldItem = 923, }, // Necrozma @ ??? + new EncounterStatic { Species = 743, Level = 55, Location = -01, Ability = 2, Shiny = false, Form = 1, IVs = new[] {31,01,31,01,31,31}, Relearn = new[] {405,577,483,605}, HeldItem = 184, }, // Ribombee @ ??? + new EncounterStatic { Species = 279, Level = 52, Location = -01, Ability = 2, Shiny = false, IVs = new[] {15,31,15,15,15,31}, Relearn = new[] {254,503,255,402}, }, // Pelipper @ ??? + new EncounterStatic { Species = 242, Level = 53, Location = -01, Ability = 2, Shiny = false, IVs = new[] {15,00,00,00,00,00}, Relearn = new[] {505,113,270,605}, }, // Blissey @ ??? + new EncounterStatic { Species = 144, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {246,573,115,258}, }, // Articuno @ ??? + new EncounterStatic { Species = 145, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {246,435,365,240}, }, // Zapdos @ ??? + new EncounterStatic { Species = 146, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {246,053,403,241}, }, // Moltres @ ??? + new EncounterStatic { Species = 250, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {682,221,326,246}, HeldItem = 044, }, // Ho-Oh @ ??? + new EncounterStatic { Species = 384, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Rayquaza @ ??? + new EncounterStatic { Species = 488, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Cresselia @ ??? + new EncounterStatic { Species = 641, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Tornadus @ ??? + new EncounterStatic { Species = 642, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Thundurus @ ??? + new EncounterStatic { Species = 645, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Landorus @ ??? + new EncounterStatic { Species = 717, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {613,399,566,094}, }, // Yveltal @ ??? + new EncounterStatic { Species = 150, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {094,105,129,427}, }, // Mewtwo @ ??? + new EncounterStatic { Species = 243, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Raikou @ ??? + new EncounterStatic { Species = 244, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {023,044,207,436}, }, // Entei @ ??? + new EncounterStatic { Species = 483, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Dialga @ ??? + new EncounterStatic { Species = 638, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {533,014,098,442}, }, // Cobalion @ ??? + new EncounterStatic { Species = 639, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {533,014,157,444}, }, // Terrakion @ ??? + new EncounterStatic { Species = 640, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {533,014,202,348}, }, // Virizion @ ??? + new EncounterStatic { Species = 643, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Reshiram @ ??? + new EncounterStatic { Species = 644, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Zekrom @ ??? + new EncounterStatic { Species = 716, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {601,532,400,585}, }, // Xerneas @ ??? + new EncounterStatic { Species = 377, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Regirock @ ??? + new EncounterStatic { Species = 378, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Regice @ ??? + new EncounterStatic { Species = 379, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Registeel @ ??? + new EncounterStatic { Species = 383, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {089,619,339,076}, }, // Groudon @ ??? + new EncounterStatic { Species = 485, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Heatran @ ??? + new EncounterStatic { Species = 486, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {428,279,146,109}, }, // Regigigas @ ??? + new EncounterStatic { Species = 484, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Palkia @ ??? + new EncounterStatic { Species = 487, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {467,396,414,337}, }, // Giratina @ ??? + new EncounterStatic { Species = 245, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {061,062,054,240}, }, // Suicune @ ??? + new EncounterStatic { Species = 249, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {285,177,326,246}, }, // Lugia @ ??? + new EncounterStatic { Species = 380, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {296,406,375,273}, }, // Latias @ ??? + new EncounterStatic { Species = 381, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {295,406,375,225}, }, // Latios @ ??? + new EncounterStatic { Species = 382, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {058,618,347,330}, }, // Kyogre @ ??? + new EncounterStatic { Species = 480, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {326,281,133,129}, }, // Uxie @ ??? + new EncounterStatic { Species = 481, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {326,204,248,129}, }, // Mesprit @ ??? + new EncounterStatic { Species = 482, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {326,417,253,129}, }, // Azelf @ ??? + new EncounterStatic { Species = 646, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Kyurem @ ??? + new EncounterStatic { Species = 334, Level = 60, Location = -01, IV3 = true, }, // Altaria @ ??? + new EncounterStatic { Species = 469, Level = 60, Location = -01, IV3 = true, }, // Yanmega @ ??? + new EncounterStatic { Species = 561, Level = 60, Location = -01, IV3 = true, }, // Sigilyph @ ??? + new EncounterStatic { Species = 581, Level = 60, Location = -01, IV3 = true, }, // Swanna @ ??? + new EncounterStatic { Species = 277, Level = 60, Location = -01, IV3 = true, }, // Swellow @ ??? + new EncounterStatic { Species = 452, Level = 60, Location = -01, IV3 = true, }, // Drapion @ ??? + new EncounterStatic { Species = 531, Level = 60, Location = -01, IV3 = true, }, // Audino @ ??? + new EncounterStatic { Species = 695, Level = 60, Location = -01, IV3 = true, }, // Heliolisk @ ??? + new EncounterStatic { Species = 274, Level = 60, Location = -01, IV3 = true, }, // Nuzleaf @ ??? + new EncounterStatic { Species = 326, Level = 60, Location = -01, IV3 = true, }, // Grumpig @ ??? + new EncounterStatic { Species = 460, Level = 60, Location = -01, IV3 = true, }, // Abomasnow @ ??? + new EncounterStatic { Species = 308, Level = 60, Location = -01, IV3 = true, }, // Medicham @ ??? + new EncounterStatic { Species = 450, Level = 60, Location = -01, IV3 = true, }, // Hippowdon @ ??? + new EncounterStatic { Species = 558, Level = 60, Location = -01, IV3 = true, }, // Crustle @ ??? + new EncounterStatic { Species = 219, Level = 60, Location = -01, IV3 = true, }, // Magcargo @ ??? + new EncounterStatic { Species = 689, Level = 60, Location = -01, IV3 = true, }, // Barbaracle @ ??? + new EncounterStatic { Species = 271, Level = 60, Location = -01, IV3 = true, }, // Lombre @ ??? + new EncounterStatic { Species = 618, Level = 60, Location = -01, IV3 = true, }, // Stunfisk @ ??? + new EncounterStatic { Species = 419, Level = 60, Location = -01, IV3 = true, }, // Floatzel @ ??? + new EncounterStatic { Species = 195, Level = 60, Location = -01, IV3 = true, }, // Quagsire @ ??? + new EncounterStatic { Species = 793, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {408,491,446,243}, }, // Nihilego @ ??? + new EncounterStatic { Species = 794, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Buzzwole @ ??? + new EncounterStatic { Species = 795, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Pheromosa @ ??? + new EncounterStatic { Species = 796, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Xurkitree @ ??? + new EncounterStatic { Species = 797, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Celesteela @ ??? + new EncounterStatic { Species = 798, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Kartana @ ??? + new EncounterStatic { Species = 799, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Guzzlord @ ??? + new EncounterStatic { Species = 735, Level = 60, Location = -01, Form = 1, IVs = new[] {31,29,31,31,31,31}, Relearn = new[] {158,423,182,242}, HeldItem = 189, }, // Gumshoos @ ??? + new EncounterStatic { Species = 734, Level = 58, Location = -01, IVs = new[] {31,31,31,00,31,31}, Relearn = new[] {281,189,259,162}, }, // Yungoos @ ??? + new EncounterStatic { Species = 020, Level = 60, Location = -01, Form = 2, IVs = new[] {31,31,31,31,31,31}, Relearn = new[] {158,675,182,104}, HeldItem = 189, }, // Raticate @ ??? + new EncounterStatic { Species = 019, Level = 58, Location = -01, Form = 1, IVs = new[] {31,31,31,00,31,31}, Relearn = new[] {162,039,259,242}, }, // Rattata @ ??? new EncounterStatic { Species = 760, Level = 28, Location = -01, Shiny = false, }, // Bewear @ ??? - new EncounterStatic { Species = 097, Level = 29, Location = -01, Shiny = false, }, // Hypno @ ??? - new EncounterStatic { Species = 097, Level = 29, Location = -01, Shiny = false, }, // Hypno @ ??? - new EncounterStatic { Species = 097, Level = 29, Location = -01, Shiny = false, }, // Hypno @ ??? - new EncounterStatic { Species = 092, Level = 19, Location = -01, Shiny = false, }, // Gastly @ ??? - new EncounterStatic { Species = 425, Level = 19, Location = -01, Shiny = false, }, // Drifloon @ ??? - new EncounterStatic { Species = 769, Level = 30, Location = -01, Shiny = false, }, // Sandygast @ ??? + new EncounterStatic { Species = 097, Level = 29, Location = -01, Shiny = false, Relearn = new[] {095,171,139,029}, }, // Hypno @ ??? + new EncounterStatic { Species = 097, Level = 29, Location = -01, Shiny = false, Relearn = new[] {417,060,050,139}, }, // Hypno @ ??? + new EncounterStatic { Species = 097, Level = 29, Location = -01, Shiny = false, Relearn = new[] {093,050,001,096}, }, // Hypno @ ??? + new EncounterStatic { Species = 092, Level = 19, Location = -01, Shiny = false, Relearn = new[] {174,109,122,101}, }, // Gastly @ ??? + new EncounterStatic { Species = 425, Level = 19, Location = -01, Shiny = false, Relearn = new[] {310,132,016,371}, }, // Drifloon @ ??? + new EncounterStatic { Species = 769, Level = 30, Location = -01, Shiny = false, Relearn = new[] {310,523,072,328}, }, // Sandygast @ ??? new EncounterStatic { Species = 592, Level = 34, Location = 126, Shiny = false, }, // Frillish @ ??? - new EncounterStatic { Species = 132, Level = 29, Location = -01, }, // Ditto @ ??? - new EncounterStatic { Species = 132, Level = 29, Location = -01, }, // Ditto @ ??? - new EncounterStatic { Species = 132, Level = 29, Location = -01, }, // Ditto @ ??? - new EncounterStatic { Species = 132, Level = 29, Location = -01, }, // Ditto @ ??? - new EncounterStatic { Species = 132, Level = 29, Location = -01, }, // Ditto @ ??? - new EncounterStatic { Species = 718, Level = 60, Location = -01, Shiny = false, }, // Zygarde @ ??? - new EncounterStatic { Species = 805, Level = 60, Location = -01, }, // Stakataka @ ??? - new EncounterStatic { Species = 806, Level = 60, Location = -01, }, // Blacephalon @ ??? - new EncounterStatic { Species = 105, Level = 22, Location = -01, Form = 2, Shiny = false, HeldItem = 258, }, // Marowak @ ??? - new EncounterStatic { Species = 758, Level = 20, Location = -01, Shiny = false, }, // Salazzle @ ??? - new EncounterStatic { Species = 101, Level = 60, Location = -01, Shiny = false, }, // Electrode @ ??? + new EncounterStatic { Species = 132, Level = 29, Location = -01, IVs = new[] {-1,-1,31,30,-1,00}, }, // Ditto @ ??? + new EncounterStatic { Species = 132, Level = 29, Location = -01, IVs = new[] {-1,-1,30,30,-1,31}, }, // Ditto @ ??? + new EncounterStatic { Species = 132, Level = 29, Location = -01, IVs = new[] {-1,31,30,-1,-1,30}, }, // Ditto @ ??? + new EncounterStatic { Species = 132, Level = 29, Location = -01, IVs = new[] {-1,00,-1,31,30,-1}, }, // Ditto @ ??? + new EncounterStatic { Species = 132, Level = 29, Location = -01, IVs = new[] {-1,30,-1,-1,30,31}, }, // Ditto @ ??? + new EncounterStatic { Species = 718, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, Relearn = new[] {616,137,219,225}, }, // Zygarde @ ??? + new EncounterStatic { Species = 805, Level = 60, Location = -01, Ability = 1, IV3 = true}, // Stakataka @ ??? + new EncounterStatic { Species = 806, Level = 60, Location = -01, Ability = 1, IV3 = true }, // Blacephalon @ ??? + new EncounterStatic { Species = 105, Level = 22, Location = -01, Ability = 1, Form = 2, Shiny = false, HeldItem = 258, }, // Marowak @ ??? + new EncounterStatic { Species = 758, Level = 20, Location = -01, Ability = 1, Shiny = false, IVs = new[] {15,01,31,15,31,01}, Relearn = new[] {139,474,481,259}, }, // Salazzle @ ??? + new EncounterStatic { Species = 101, Level = 60, Location = -01, Ability = 1, Shiny = false, }, // Electrode @ ??? }; internal static readonly EncounterTrade[] TradeGift_USUM = { From ccdb84b85122a1ecd97b318b255118dcad75eae0 Mon Sep 17 00:00:00 2001 From: Kurt Date: Thu, 9 Nov 2017 07:22:34 -0800 Subject: [PATCH 28/81] update for some errors restore ekans values, re-add antishiny for yungoos set --- PKHeX.Core/Legality/Encounters/Data/Encounters7.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs index fa16ffd79..df8c66027 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs @@ -348,7 +348,7 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 786, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Tapu Lele @ ??? new EncounterStatic { Species = 787, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Tapu Bulu @ ??? new EncounterStatic { Species = 788, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Tapu Fini @ ??? - new EncounterStatic { Species = 023, Level = 10, Location = -01, Ability = 1, }, // Ekans @ ??? + new EncounterStatic { Species = 023, Level = 10, Location = 012, Ability = 1, }, // Ekans @ Route 2 new EncounterStatic { Species = 103, Level = 40, Location = -01, Ability = 1, Form = 1, }, // Exeggutor @ ??? new EncounterStatic { Species = 785, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Tapu Koko @ ??? @@ -445,10 +445,10 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 797, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Celesteela @ ??? new EncounterStatic { Species = 798, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Kartana @ ??? new EncounterStatic { Species = 799, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Guzzlord @ ??? - new EncounterStatic { Species = 735, Level = 60, Location = -01, Form = 1, IVs = new[] {31,29,31,31,31,31}, Relearn = new[] {158,423,182,242}, HeldItem = 189, }, // Gumshoos @ ??? - new EncounterStatic { Species = 734, Level = 58, Location = -01, IVs = new[] {31,31,31,00,31,31}, Relearn = new[] {281,189,259,162}, }, // Yungoos @ ??? - new EncounterStatic { Species = 020, Level = 60, Location = -01, Form = 2, IVs = new[] {31,31,31,31,31,31}, Relearn = new[] {158,675,182,104}, HeldItem = 189, }, // Raticate @ ??? - new EncounterStatic { Species = 019, Level = 58, Location = -01, Form = 1, IVs = new[] {31,31,31,00,31,31}, Relearn = new[] {162,039,259,242}, }, // Rattata @ ??? + new EncounterStatic { Species = 735, Level = 60, Location = -01, Shiny = false, Form = 1, IVs = new[] {31,29,31,31,31,31}, Relearn = new[] {158,423,182,242}, HeldItem = 189, }, // Gumshoos @ ??? + new EncounterStatic { Species = 734, Level = 58, Location = -01, Shiny = false, IVs = new[] {31,31,31,00,31,31}, Relearn = new[] {281,189,259,162}, }, // Yungoos @ ??? + new EncounterStatic { Species = 020, Level = 60, Location = -01, Shiny = false, Form = 2, IVs = new[] {31,31,31,31,31,31}, Relearn = new[] {158,675,182,104}, HeldItem = 189, }, // Raticate @ ??? + new EncounterStatic { Species = 019, Level = 58, Location = -01, Shiny = false, Form = 1, IVs = new[] {31,31,31,00,31,31}, Relearn = new[] {162,039,259,242}, }, // Rattata @ ??? new EncounterStatic { Species = 760, Level = 28, Location = -01, Shiny = false, }, // Bewear @ ??? new EncounterStatic { Species = 097, Level = 29, Location = -01, Shiny = false, Relearn = new[] {095,171,139,029}, }, // Hypno @ ??? new EncounterStatic { Species = 097, Level = 29, Location = -01, Shiny = false, Relearn = new[] {417,060,050,139}, }, // Hypno @ ??? From 273231ad00564406837561b10e1045f96f89f571 Mon Sep 17 00:00:00 2001 From: Matt Date: Thu, 9 Nov 2017 16:56:10 -0500 Subject: [PATCH 29/81] Add USUM Pinsir on Exeggutor Island locations --- PKHeX.Core/Legality/Encounters/Data/Encounters7.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs index df8c66027..2e9d7f8e7 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs @@ -371,9 +371,9 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 019, Level = 03, Location = -01, Ability = 1, Shiny = false, Form = 1, }, // Rattata @ ??? new EncounterStatic { Species = 736, Level = 04, Location = -01, Ability = 1, Shiny = false, }, // Grubbin @ ??? new EncounterStatic { Species = 021, Level = 04, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {043,228,000,000}, }, // Spearow @ ??? - new EncounterStatic { Species = 127, Level = 42, Location = -01, Shiny = false, }, // Pinsir @ ??? - new EncounterStatic { Species = 127, Level = 43, Location = -01, Shiny = false, }, // Pinsir @ ??? - new EncounterStatic { Species = 127, Level = 42, Location = -01, Shiny = false, }, // Pinsir @ ??? + new EncounterStatic { Species = 127, Level = 42, Location = 184, Shiny = false, }, // Pinsir @ ??? + new EncounterStatic { Species = 127, Level = 43, Location = 184, Shiny = false, }, // Pinsir @ ??? + new EncounterStatic { Species = 127, Level = 42, Location = 184, Shiny = false, }, // Pinsir @ ??? new EncounterStatic { Species = 800, Level = 50, Location = -01, Ability = 1, Shiny = false, Form = 1, IVs = new[] {31,31,31,31,31,31}, Relearn = new[] {713,234,427,400}, }, // Necrozma @ ??? new EncounterStatic { Species = 800, Level = 50, Location = -01, Ability = 1, Shiny = false, Form = 2, IVs = new[] {31,31,31,31,31,31}, Relearn = new[] {714,236,094,408}, }, // Necrozma @ ??? new EncounterStatic { Species = 800, Level = 60, Location = -01, Ability = 1, Shiny = false, Form = 3, IVs = new[] {31,31,31,00,31,31}, Relearn = new[] {722,684,408,406}, }, // Necrozma @ ??? From c9be698d46ed4f953211240b2d2e37b01e981716 Mon Sep 17 00:00:00 2001 From: Michael Scire Date: Thu, 9 Nov 2017 14:41:00 -0800 Subject: [PATCH 30/81] Fix Partner Cap pikachu icon --- .../Resources/img/Pokemon Sprites/25-7.png | Bin 475 -> 577 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/PKHeX.WinForms/Resources/img/Pokemon Sprites/25-7.png b/PKHeX.WinForms/Resources/img/Pokemon Sprites/25-7.png index 3f5c68039b456adaa4ad41fa0ee8057a221203ff..a4d5a316502c558b2d1c1657484b00e26855534e 100644 GIT binary patch delta 501 zcmVL_t(oN6nMHQ3Ej)gk6eLLQ0^83ke<42BBLZbP1#m2?=Sz zC6EfOtQF6DdncQp8ENJl9V@-}KJH+XQW_c?j)VnH?kg8}a*HlD zBy3bkyZ2q;csl0e^Lm{gua!)nANT3)aCeiW4GEi6a^zQ(#677iwUi^saF)wgu^|Zq z$`HIguJ}wr?6{|OD)%3PY03ilv`e3v)WHoEi*g{BuVO>M25835M+sfb@k`)sVUPS& z4%iT=+!9d)a(|>J2i#o6h9ER5jhCb_IEuYIKTu><4!F6B4T&_INnyvrS(L=jtXY%f zoHcAnVzW#eq%x3>8FQ@*S;5UzY)E3W%1orN%Ys01++UIdZl+>GA`QzR_jl(64^QWR z6zr&#UIjN(u^}-{Ijp@I3c1hBd`Z&HRBTAJq0l6wTyA{kTf|+dEx4JA4T)CJuHj}XHYBd8&;(Tsti3(pW-2x$uBm|%Gr^j>nu43D*pRrU9hzu;c6Se delta 399 zcmV;A0dW4o1lt3UR)26wL_t(oN6nKlQo}G1MROFllsN(|rOT8la}BORnIq7qp=9xaNE?DUVMZLF(vd&d4jY9B+pw4CM+q5@15{SnMB#{mdo~i+vSu`r$_n}* zAA@M?#QSx|HGf0p4x5n7`8yCekNG2UfXWK_LF{+O0prU)DtC~F>CQ+H z` t2hh-R&gOJMD%PDHLkV1nNpx*7lg From 82a7502cf43d44d40173f3323e1a218b1b3844c6 Mon Sep 17 00:00:00 2001 From: Matt Date: Thu, 9 Nov 2017 19:10:11 -0500 Subject: [PATCH 31/81] Add Poipole location --- PKHeX.Core/Legality/Encounters/Data/Encounters7.cs | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs index 2e9d7f8e7..5bd439e26 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs @@ -187,7 +187,7 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Gift = true, Species = 789, Level = 05, Location = -01, IV3 = true, Shiny = false, Ability = 2, }, // Cosmog @ ??? new EncounterStatic { Gift = true, Species = 142, Level = 40, Location = 172, }, // Aerodactyl @ Seafolk Village new EncounterStatic { Gift = true, Species = 025, Level = 40, Location = -01, IV3 = true, HeldItem = 796, }, // Pikachu @ ??? - new EncounterStatic { Gift = true, Species = 803, Level = 40, Location = -01, IV3 = true,}, // Poipole @ ??? + new EncounterStatic { Gift = true, Species = 803, Level = 40, Location = 208, IV3 = true,}, // Poipole @ Megalo Tower // Totem-Sized Gifts @ Heahea Beach new EncounterStatic { Gift = true, Species = 735, Level = 20, Ability = 4, Location = 202, Form = 1, Shiny = false, IV3 = true, Version = GameVersion.US }, // Gumshoos @@ -371,12 +371,9 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 019, Level = 03, Location = -01, Ability = 1, Shiny = false, Form = 1, }, // Rattata @ ??? new EncounterStatic { Species = 736, Level = 04, Location = -01, Ability = 1, Shiny = false, }, // Grubbin @ ??? new EncounterStatic { Species = 021, Level = 04, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {043,228,000,000}, }, // Spearow @ ??? - new EncounterStatic { Species = 127, Level = 42, Location = 184, Shiny = false, }, // Pinsir @ ??? - new EncounterStatic { Species = 127, Level = 43, Location = 184, Shiny = false, }, // Pinsir @ ??? - new EncounterStatic { Species = 127, Level = 42, Location = 184, Shiny = false, }, // Pinsir @ ??? - new EncounterStatic { Species = 800, Level = 50, Location = -01, Ability = 1, Shiny = false, Form = 1, IVs = new[] {31,31,31,31,31,31}, Relearn = new[] {713,234,427,400}, }, // Necrozma @ ??? - new EncounterStatic { Species = 800, Level = 50, Location = -01, Ability = 1, Shiny = false, Form = 2, IVs = new[] {31,31,31,31,31,31}, Relearn = new[] {714,236,094,408}, }, // Necrozma @ ??? - new EncounterStatic { Species = 800, Level = 60, Location = -01, Ability = 1, Shiny = false, Form = 3, IVs = new[] {31,31,31,00,31,31}, Relearn = new[] {722,684,408,406}, }, // Necrozma @ ??? + new EncounterStatic { Species = 127, Level = 42, Location = 184, Shiny = false, }, // Pinsir @ Exeggutor Island + new EncounterStatic { Species = 127, Level = 43, Location = 184, Shiny = false, }, // Pinsir @ Exeggutor Island + new EncounterStatic { Species = 127, Level = 42, Location = 184, Shiny = false, }, // Pinsir @ Exeggutor Island new EncounterStatic { Species = 800, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, Relearn = new[] {722,334,408,400}, HeldItem = 923, }, // Necrozma @ ??? new EncounterStatic { Species = 743, Level = 55, Location = -01, Ability = 2, Shiny = false, Form = 1, IVs = new[] {31,01,31,01,31,31}, Relearn = new[] {405,577,483,605}, HeldItem = 184, }, // Ribombee @ ??? new EncounterStatic { Species = 279, Level = 52, Location = -01, Ability = 2, Shiny = false, IVs = new[] {15,31,15,15,15,31}, Relearn = new[] {254,503,255,402}, }, // Pelipper @ ??? From 55820246cf28d74868c5e90b1b05173ce54872a3 Mon Sep 17 00:00:00 2001 From: Kurt Date: Thu, 9 Nov 2017 16:18:26 -0800 Subject: [PATCH 32/81] Misc tweaks mark SOS slots for usum, only permit varied alolan evos to be forme changed (blocks totem raticate from being matched to non totem forme inputs) --- PKHeX.Core/Legality/Core.cs | 4 +--- PKHeX.Core/Legality/Encounters/Data/Encounters7.cs | 2 ++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/PKHeX.Core/Legality/Core.cs b/PKHeX.Core/Legality/Core.cs index e28401fc5..de2ac1e27 100644 --- a/PKHeX.Core/Legality/Core.cs +++ b/PKHeX.Core/Legality/Core.cs @@ -1157,7 +1157,7 @@ private static bool IsEvolvedFormChange(PKM pkm) if (pkm.IsEgg) return false; - if (pkm.Format >= 7 && EvolveToAlolanForms.Contains(pkm.Species)) + if (pkm.Format >= 7 && AlolanVariantEvolutions12.Contains(pkm.Species)) return pkm.AltForm == 1; if (pkm.Species == 678 && pkm.Gender == 1) return pkm.AltForm == 1; @@ -1249,9 +1249,7 @@ internal static bool IsFormChangeable(PKM pkm, int species) if (IsEvolvedFormChange(pkm)) return true; if (pkm.Species == 718 && pkm.InhabitedGeneration(7) && pkm.AltForm != 1) - { return true; - } return false; } diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs index 5bd439e26..0f8969f32 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs @@ -35,6 +35,8 @@ static Encounters7() var SOS_UM = GetEncounterTables("uu", "um_sos"); MarkG7REGSlots(ref REG_US); MarkG7REGSlots(ref REG_UM); + MarkG7SMSlots(ref SOS_US); + MarkG7SMSlots(ref SOS_UM); SlotsUS = AddExtraTableSlots(REG_US, SOS_US, Encounter_Pelago_SM, Encounter_Pelago_SN); SlotsUM = AddExtraTableSlots(REG_UM, SOS_UM, Encounter_Pelago_SM, Encounter_Pelago_MN); } From 4deb24cc9517ac9ce3596672ab2fdb1f118aaeac Mon Sep 17 00:00:00 2001 From: Kurt Date: Thu, 9 Nov 2017 16:32:09 -0800 Subject: [PATCH 33/81] Add gender locks lots of totems with fixed genders (not capturable), but some other slightly important ones needing enforcement. --- .../Legality/Encounters/Data/Encounters7.cs | 70 +++++++++---------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs index 0f8969f32..53d6b1831 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs @@ -211,48 +211,48 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 793, Level = 27, Location = -01, Ability = 1, Shiny = false, IVs = new[] {31,01,31,01,31,31}, }, // Nihilego @ ??? new EncounterStatic { Species = 791, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, Relearn = new[] {713,322,242,428}, Version = GameVersion.SN }, // Solgaleo @ ??? new EncounterStatic { Species = 792, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, Relearn = new[] {714,322,539,585}, Version = GameVersion.MN }, // Lunala @ ??? - new EncounterStatic { Species = 735, Level = 12, Location = -01, Ability = 4, Shiny = false, Form = 1, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {162,044,033,184}, HeldItem = 151, }, // Gumshoos @ ??? + new EncounterStatic { Species = 735, Level = 12, Location = -01, Ability = 4, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {162,044,033,184}, Form = 1, Gender = 0, HeldItem = 151, }, // Gumshoos @ ??? new EncounterStatic { Species = 734, Level = 11, Location = -01, Ability = 2, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {028,033,158,043}, }, // Yungoos @ ??? new EncounterStatic { Species = 735, Level = 11, Location = -01, Ability = 4, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {028,044,162,043}, }, // Gumshoos @ ??? new EncounterStatic { Species = 734, Level = 11, Location = -01, Ability = 2, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {028,033,162,043}, }, // Yungoos @ ??? - new EncounterStatic { Species = 734, Level = 10, Location = -01, Ability = 1, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {043,033,228,316}, }, // Yungoos @ ??? - new EncounterStatic { Species = 020, Level = 12, Location = -01, Ability = 1, Shiny = false, Form = 2, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {162,044,154,184}, HeldItem = 151, }, // Raticate @ ??? - new EncounterStatic { Species = 019, Level = 11, Location = -01, Ability = 1, Shiny = false, Form = 1, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {033,039,098,158}, }, // Rattata @ ??? - new EncounterStatic { Species = 020, Level = 11, Location = -01, Ability = 1, Shiny = false, Form = 1, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {116,039,033,162}, }, // Raticate @ ??? - new EncounterStatic { Species = 019, Level = 11, Location = -01, Ability = 1, Shiny = false, Form = 1, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {033,039,098,162}, }, // Rattata @ ??? - new EncounterStatic { Species = 019, Level = 10, Location = -01, Ability = 2, Shiny = false, Form = 1, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {033,039,098,228}, }, // Rattata @ ??? - new EncounterStatic { Species = 746, Level = 20, Location = -01, Ability = 1, Shiny = false, Form = 1, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {055,045,240,487}, HeldItem = 158, }, // Wishiwashi @ ??? + new EncounterStatic { Species = 734, Level = 10, Location = -01, Ability = 1, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {043,033,228,316}, Gender = 0, }, // Yungoos @ ??? + new EncounterStatic { Species = 020, Level = 12, Location = -01, Ability = 1, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {162,044,154,184}, Form = 2, HeldItem = 151, }, // Raticate @ ??? + new EncounterStatic { Species = 019, Level = 11, Location = -01, Ability = 1, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {033,039,098,158}, Form = 1, }, // Rattata @ ??? + new EncounterStatic { Species = 020, Level = 11, Location = -01, Ability = 1, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {116,039,033,162}, Form = 1, }, // Raticate @ ??? + new EncounterStatic { Species = 019, Level = 11, Location = -01, Ability = 1, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {033,039,098,162}, Form = 1, }, // Rattata @ ??? + new EncounterStatic { Species = 019, Level = 10, Location = -01, Ability = 2, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {033,039,098,228}, Form = 1, }, // Rattata @ ??? + new EncounterStatic { Species = 746, Level = 20, Location = -01, Ability = 1, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {055,045,240,487}, Form = 1, Gender = 0, HeldItem = 158, }, // Wishiwashi @ ??? new EncounterStatic { Species = 746, Level = 17, Location = -01, Ability = 1, Shiny = false, }, // Wishiwashi @ ??? new EncounterStatic { Species = 746, Level = 18, Location = -01, Ability = 1, Shiny = false, }, // Wishiwashi @ ??? new EncounterStatic { Species = 594, Level = 18, Location = -01, Ability = 1, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {270,003,505,055}, }, // Alomomola @ ??? new EncounterStatic { Species = 746, Level = 18, Location = -01, Ability = 1, Shiny = false, }, // Wishiwashi @ ??? - new EncounterStatic { Species = 758, Level = 22, Location = -01, Ability = 1, Shiny = false, Form = 1, IVs = new[] {31,01,15,01,15,01}, Relearn = new[] {259,599,092,481}, HeldItem = 204, }, // Salazzle @ ??? - new EncounterStatic { Species = 105, Level = 18, Location = -01, Ability = 1, Shiny = false, Form = 1, Relearn = new[] {172,125,039,045}, }, // Marowak @ ??? - new EncounterStatic { Species = 105, Level = 18, Location = -01, Ability = 1, Shiny = false, Form = 1, Relearn = new[] {172,125,039,045}, }, // Marowak @ ??? + new EncounterStatic { Species = 758, Level = 22, Location = -01, Ability = 1, Shiny = false, IVs = new[] {31,01,15,01,15,01}, Relearn = new[] {259,599,092,481}, Form = 1, Gender = 1, HeldItem = 204, }, // Salazzle @ ??? + new EncounterStatic { Species = 105, Level = 18, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {172,125,039,045}, Form = 1, }, // Marowak @ ??? + new EncounterStatic { Species = 105, Level = 18, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {172,125,039,045}, Form = 1, }, // Marowak @ ??? new EncounterStatic { Species = 025, Level = 20, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {486,086,098,589}, }, // Pikachu @ ??? - new EncounterStatic { Species = 757, Level = 20, Location = -01, Ability = 1, Shiny = false, IVs = new[] {15,15,15,15,15,15}, Relearn = new[] {139,474,269,010}, }, // Salandit @ ??? - new EncounterStatic { Species = 754, Level = 24, Location = -01, Ability = 1, Shiny = false, Form = 1, IVs = new[] {31,31,31,01,31,31}, Relearn = new[] {490,404,669,235}, HeldItem = 271, }, // Lurantis @ ??? + new EncounterStatic { Species = 757, Level = 20, Location = -01, Ability = 1, Shiny = false, IVs = new[] {15,15,15,15,15,15}, Relearn = new[] {139,474,269,010}, Gender = 0, }, // Salandit @ ??? + new EncounterStatic { Species = 754, Level = 24, Location = -01, Ability = 1, Shiny = false, IVs = new[] {31,31,31,01,31,31}, Relearn = new[] {490,404,669,235}, Form = 1, Gender = 1, HeldItem = 271, }, // Lurantis @ ??? new EncounterStatic { Species = 047, Level = 22, Location = -01, Ability = 2, Shiny = false, Relearn = new[] {440,141,210,147}, }, // Parasect @ ??? new EncounterStatic { Species = 756, Level = 22, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {310,275,072,079}, }, // Shiinotic @ ??? new EncounterStatic { Species = 753, Level = 23, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {075,670,210,074}, }, // Fomantis @ ??? new EncounterStatic { Species = 753, Level = 23, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {075,670,210,074}, }, // Fomantis @ ??? new EncounterStatic { Species = 753, Level = 23, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {670,210,275,075}, }, // Fomantis @ ??? new EncounterStatic { Species = 753, Level = 23, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {670,210,275,075}, }, // Fomantis @ ??? - new EncounterStatic { Species = 764, Level = 22, Location = -01, Ability = 1, Shiny = false, IVs = new[] {30,30,30,30,30,30}, Relearn = new[] {241,666,579,345}, }, // Comfey @ ??? - new EncounterStatic { Species = 352, Level = 22, Location = -01, Ability = 1, Shiny = false, IVs = new[] {30,10,30,10,30,10}, Relearn = new[] {241,246,146,103}, }, // Kecleon @ ??? - new EncounterStatic { Species = 738, Level = 29, Location = -01, Ability = 1, Shiny = false, Form = 1, IVs = new[] {31,01,31,01,31,01}, Relearn = new[] {011,268,450,209}, HeldItem = 184, }, // Vikavolt @ ??? + new EncounterStatic { Species = 764, Level = 22, Location = -01, Ability = 1, Shiny = false, IVs = new[] {30,30,30,30,30,30}, Relearn = new[] {241,666,579,345}, Gender = 1 }, // Comfey @ ??? + new EncounterStatic { Species = 352, Level = 22, Location = -01, Ability = 1, Shiny = false, IVs = new[] {30,10,30,10,30,10}, Relearn = new[] {241,246,146,103}, Gender = 1 }, // Kecleon @ ??? + new EncounterStatic { Species = 738, Level = 29, Location = -01, Ability = 1, Shiny = false, IVs = new[] {31,01,31,01,31,01}, Relearn = new[] {011,268,450,209}, Form = 1, Gender = 0, HeldItem = 184, }, // Vikavolt @ ??? new EncounterStatic { Species = 736, Level = 27, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {011,081,044,450}, }, // Grubbin @ ??? new EncounterStatic { Species = 737, Level = 27, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {268,011,450,209}, }, // Charjabug @ ??? new EncounterStatic { Species = 737, Level = 27, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {268,189,512,209}, }, // Charjabug @ ??? new EncounterStatic { Species = 737, Level = 27, Location = -01, Ability = 1, Shiny = false, IVs = new[] {15,15,15,15,15,15}, Relearn = new[] {081,011,189,086}, }, // Charjabug @ ??? new EncounterStatic { Species = 737, Level = 28, Location = -01, Ability = 1, Shiny = false, IVs = new[] {15,15,15,15,15,15}, Relearn = new[] {044,086,189,209}, }, // Charjabug @ ??? - new EncounterStatic { Species = 778, Level = 35, Location = -01, Ability = 1, Shiny = false, Form = 2, IVs = new[] {31,08,31,15,31,15}, Relearn = new[] {421,583,141,163}, HeldItem = 157, }, // Mimikyu @ ??? + new EncounterStatic { Species = 778, Level = 35, Location = -01, Ability = 1, Shiny = false, IVs = new[] {31,08,31,15,31,15}, Relearn = new[] {421,583,141,163}, Form = 2, Gender = 1, HeldItem = 157, }, // Mimikyu @ ??? new EncounterStatic { Species = 092, Level = 30, Location = -01, Ability = 1, Shiny = false, IVs = new[] {15,15,15,15,15,15}, Relearn = new[] {174,109,212,095}, }, // Gastly @ ??? new EncounterStatic { Species = 093, Level = 30, Location = -01, Ability = 1, Shiny = false, IVs = new[] {15,15,15,15,15,15}, Relearn = new[] {122,101,389,095}, }, // Haunter @ ??? new EncounterStatic { Species = 094, Level = 30, Location = -01, Ability = 1, Shiny = false, IVs = new[] {15,15,15,15,15,15}, Relearn = new[] {101,325,247,095}, }, // Gengar @ ??? new EncounterStatic { Species = 354, Level = 32, Location = -01, Ability = 1, Shiny = false, IVs = new[] {31,15,31,15,31,15}, Relearn = new[] {103,261,185,174}, }, // Banette @ ??? new EncounterStatic { Species = 593, Level = 33, Location = -01, Ability = 2, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {352,173,180,101}, }, // Jellicent @ ??? - new EncounterStatic { Species = 784, Level = 49, Location = -01, Ability = 2, Shiny = false, Form = 1, IVs = new[] {31,01,31,01,31,31}, Relearn = new[] {409,337,009,398}, HeldItem = 686, }, // Kommo-o @ ??? + new EncounterStatic { Species = 784, Level = 49, Location = -01, Ability = 2, Shiny = false, IVs = new[] {31,01,31,01,31,31}, Relearn = new[] {409,337,009,398}, HeldItem = 686, Form = 1, Gender = 0, }, // Kommo-o @ ??? new EncounterStatic { Species = 782, Level = 42, Location = -01, Ability = 1, Shiny = false, IVs = new[] {31,31,31,31,31,31}, Relearn = new[] {117,033,043,029}, }, // Jangmo-o @ ??? new EncounterStatic { Species = 783, Level = 44, Location = -01, Ability = 1, Shiny = false, IVs = new[] {31,31,31,31,31,31}, Relearn = new[] {029,475,526,327}, }, // Hakamo-o @ ??? new EncounterStatic { Species = 715, Level = 48, Location = -01, Ability = 2, Shiny = false, IVs = new[] {31,31,31,31,31,31}, Relearn = new[] {586,103,406,403}, }, // Noivern @ ??? @@ -355,7 +355,7 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 785, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Tapu Koko @ ??? new EncounterStatic { Species = 542, Level = 57, Location = -01, Relearn = new[] {580,437,014,494}, }, // Leavanny @ ??? - new EncounterStatic { Species = 752, Level = 20, Location = -01, Ability = 1, Shiny = false, Form = 1, IVs = new[] {31,01,31,01,31,01}, Relearn = new[] {141,145,044,062}, HeldItem = 186, }, // Araquanid @ ??? + new EncounterStatic { Species = 752, Level = 20, Location = -01, Ability = 1, Shiny = false, IVs = new[] {31,01,31,01,31,01}, Relearn = new[] {141,145,044,062}, Form = 1, Gender = 0, HeldItem = 186, }, // Araquanid @ ??? new EncounterStatic { Species = 751, Level = 17, Location = -01, Ability = 1, Shiny = false, }, // Dewpider @ ??? new EncounterStatic { Species = 751, Level = 18, Location = -01, Ability = 1, Shiny = false, }, // Dewpider @ ??? new EncounterStatic { Species = 284, Level = 18, Location = -01, Ability = 1, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {184,078,366,450}, }, // Masquerain @ ??? @@ -364,7 +364,7 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 764, Level = 21, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {022,577,186,073}, }, // Comfey @ ??? new EncounterStatic { Species = 753, Level = 21, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {075,210,275,074}, }, // Fomantis @ ??? new EncounterStatic { Species = 185, Level = 24, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {088,317,452,175}, }, // Sudowoodo @ ??? - new EncounterStatic { Species = 777, Level = 33, Location = -01, Ability = 2, Shiny = false, Form = 1, IVs = new[] {31,15,31,01,31,31}, Relearn = new[] {716,596,442,340}, HeldItem = 158, }, // Togedemaru @ ??? + new EncounterStatic { Species = 777, Level = 33, Location = -01, Ability = 2, Shiny = false, IVs = new[] {31,15,31,01,31,31}, Relearn = new[] {716,596,442,340}, Form = 1, Gender = 0, HeldItem = 158, }, // Togedemaru @ ??? new EncounterStatic { Species = 227, Level = 32, Location = -01, Ability = 2, Shiny = false, IVs = new[] {15,15,15,15,15,15}, Relearn = new[] {446,211,366,259}, }, // Skarmory @ ??? new EncounterStatic { Species = 702, Level = 31, Location = -01, Ability = 2, Shiny = false, IVs = new[] {31,31,31,31,31,31}, Relearn = new[] {162,598,204,435}, }, // Dedenne @ ??? new EncounterStatic { Species = 239, Level = 29, Location = -01, Ability = 1, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {098,009,067,043}, }, // Elekid @ ??? @@ -377,18 +377,18 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 127, Level = 43, Location = 184, Shiny = false, }, // Pinsir @ Exeggutor Island new EncounterStatic { Species = 127, Level = 42, Location = 184, Shiny = false, }, // Pinsir @ Exeggutor Island new EncounterStatic { Species = 800, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, Relearn = new[] {722,334,408,400}, HeldItem = 923, }, // Necrozma @ ??? - new EncounterStatic { Species = 743, Level = 55, Location = -01, Ability = 2, Shiny = false, Form = 1, IVs = new[] {31,01,31,01,31,31}, Relearn = new[] {405,577,483,605}, HeldItem = 184, }, // Ribombee @ ??? - new EncounterStatic { Species = 279, Level = 52, Location = -01, Ability = 2, Shiny = false, IVs = new[] {15,31,15,15,15,31}, Relearn = new[] {254,503,255,402}, }, // Pelipper @ ??? - new EncounterStatic { Species = 242, Level = 53, Location = -01, Ability = 2, Shiny = false, IVs = new[] {15,00,00,00,00,00}, Relearn = new[] {505,113,270,605}, }, // Blissey @ ??? + new EncounterStatic { Species = 743, Level = 55, Location = -01, Ability = 2, Shiny = false, IVs = new[] {31,01,31,01,31,31}, Relearn = new[] {405,577,483,605}, Form = 1, Gender = 1, HeldItem = 184, }, // Ribombee @ ??? + new EncounterStatic { Species = 279, Level = 52, Location = -01, Ability = 2, Shiny = false, IVs = new[] {15,31,15,15,15,31}, Relearn = new[] {254,503,255,402}, Gender = 1, }, // Pelipper @ ??? + new EncounterStatic { Species = 242, Level = 53, Location = -01, Ability = 2, Shiny = false, IVs = new[] {15,00,00,00,00,00}, Relearn = new[] {505,113,270,605}, Gender = 1, }, // Blissey @ ??? new EncounterStatic { Species = 144, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {246,573,115,258}, }, // Articuno @ ??? new EncounterStatic { Species = 145, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {246,435,365,240}, }, // Zapdos @ ??? new EncounterStatic { Species = 146, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {246,053,403,241}, }, // Moltres @ ??? new EncounterStatic { Species = 250, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {682,221,326,246}, HeldItem = 044, }, // Ho-Oh @ ??? new EncounterStatic { Species = 384, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Rayquaza @ ??? - new EncounterStatic { Species = 488, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Cresselia @ ??? - new EncounterStatic { Species = 641, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Tornadus @ ??? - new EncounterStatic { Species = 642, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Thundurus @ ??? - new EncounterStatic { Species = 645, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Landorus @ ??? + new EncounterStatic { Species = 488, Level = 60, Location = -01, Ability = 1, IV3 = true, Gender = 1, }, // Cresselia @ ??? + new EncounterStatic { Species = 641, Level = 60, Location = -01, Ability = 1, IV3 = true, Gender = 0, }, // Tornadus @ ??? + new EncounterStatic { Species = 642, Level = 60, Location = -01, Ability = 1, IV3 = true, Gender = 0, }, // Thundurus @ ??? + new EncounterStatic { Species = 645, Level = 60, Location = -01, Ability = 1, IV3 = true, Gender = 0, }, // Landorus @ ??? new EncounterStatic { Species = 717, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {613,399,566,094}, }, // Yveltal @ ??? new EncounterStatic { Species = 150, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {094,105,129,427}, }, // Mewtwo @ ??? new EncounterStatic { Species = 243, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Raikou @ ??? @@ -410,8 +410,8 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 487, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {467,396,414,337}, }, // Giratina @ ??? new EncounterStatic { Species = 245, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {061,062,054,240}, }, // Suicune @ ??? new EncounterStatic { Species = 249, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {285,177,326,246}, }, // Lugia @ ??? - new EncounterStatic { Species = 380, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {296,406,375,273}, }, // Latias @ ??? - new EncounterStatic { Species = 381, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {295,406,375,225}, }, // Latios @ ??? + new EncounterStatic { Species = 380, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {296,406,375,273}, Gender = 1, }, // Latias @ ??? + new EncounterStatic { Species = 381, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {295,406,375,225}, Gender = 0, }, // Latios @ ??? new EncounterStatic { Species = 382, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {058,618,347,330}, }, // Kyogre @ ??? new EncounterStatic { Species = 480, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {326,281,133,129}, }, // Uxie @ ??? new EncounterStatic { Species = 481, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {326,204,248,129}, }, // Mesprit @ ??? @@ -444,10 +444,10 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 797, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Celesteela @ ??? new EncounterStatic { Species = 798, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Kartana @ ??? new EncounterStatic { Species = 799, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Guzzlord @ ??? - new EncounterStatic { Species = 735, Level = 60, Location = -01, Shiny = false, Form = 1, IVs = new[] {31,29,31,31,31,31}, Relearn = new[] {158,423,182,242}, HeldItem = 189, }, // Gumshoos @ ??? + new EncounterStatic { Species = 735, Level = 60, Location = -01, Shiny = false, IVs = new[] {31,29,31,31,31,31}, Relearn = new[] {158,423,182,242}, Form = 1, Gender = 0, HeldItem = 189, }, // Gumshoos @ ??? new EncounterStatic { Species = 734, Level = 58, Location = -01, Shiny = false, IVs = new[] {31,31,31,00,31,31}, Relearn = new[] {281,189,259,162}, }, // Yungoos @ ??? - new EncounterStatic { Species = 020, Level = 60, Location = -01, Shiny = false, Form = 2, IVs = new[] {31,31,31,31,31,31}, Relearn = new[] {158,675,182,104}, HeldItem = 189, }, // Raticate @ ??? - new EncounterStatic { Species = 019, Level = 58, Location = -01, Shiny = false, Form = 1, IVs = new[] {31,31,31,00,31,31}, Relearn = new[] {162,039,259,242}, }, // Rattata @ ??? + new EncounterStatic { Species = 020, Level = 60, Location = -01, Shiny = false, IVs = new[] {31,31,31,31,31,31}, Relearn = new[] {158,675,182,104}, Form = 2, Gender = 0, HeldItem = 189, }, // Raticate @ ??? + new EncounterStatic { Species = 019, Level = 58, Location = -01, Shiny = false, IVs = new[] {31,31,31,00,31,31}, Relearn = new[] {162,039,259,242}, Form = 1, }, // Rattata @ ??? new EncounterStatic { Species = 760, Level = 28, Location = -01, Shiny = false, }, // Bewear @ ??? new EncounterStatic { Species = 097, Level = 29, Location = -01, Shiny = false, Relearn = new[] {095,171,139,029}, }, // Hypno @ ??? new EncounterStatic { Species = 097, Level = 29, Location = -01, Shiny = false, Relearn = new[] {417,060,050,139}, }, // Hypno @ ??? @@ -455,7 +455,7 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 092, Level = 19, Location = -01, Shiny = false, Relearn = new[] {174,109,122,101}, }, // Gastly @ ??? new EncounterStatic { Species = 425, Level = 19, Location = -01, Shiny = false, Relearn = new[] {310,132,016,371}, }, // Drifloon @ ??? new EncounterStatic { Species = 769, Level = 30, Location = -01, Shiny = false, Relearn = new[] {310,523,072,328}, }, // Sandygast @ ??? - new EncounterStatic { Species = 592, Level = 34, Location = 126, Shiny = false, }, // Frillish @ ??? + new EncounterStatic { Species = 592, Level = 34, Location = 126, Shiny = false, Gender = 1, }, // Frillish @ ??? new EncounterStatic { Species = 132, Level = 29, Location = -01, IVs = new[] {-1,-1,31,30,-1,00}, }, // Ditto @ ??? new EncounterStatic { Species = 132, Level = 29, Location = -01, IVs = new[] {-1,-1,30,30,-1,31}, }, // Ditto @ ??? new EncounterStatic { Species = 132, Level = 29, Location = -01, IVs = new[] {-1,31,30,-1,-1,30}, }, // Ditto @ ??? @@ -464,8 +464,8 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 718, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, Relearn = new[] {616,137,219,225}, }, // Zygarde @ ??? new EncounterStatic { Species = 805, Level = 60, Location = -01, Ability = 1, IV3 = true}, // Stakataka @ ??? new EncounterStatic { Species = 806, Level = 60, Location = -01, Ability = 1, IV3 = true }, // Blacephalon @ ??? - new EncounterStatic { Species = 105, Level = 22, Location = -01, Ability = 1, Form = 2, Shiny = false, HeldItem = 258, }, // Marowak @ ??? - new EncounterStatic { Species = 758, Level = 20, Location = -01, Ability = 1, Shiny = false, IVs = new[] {15,01,31,15,31,01}, Relearn = new[] {139,474,481,259}, }, // Salazzle @ ??? + new EncounterStatic { Species = 105, Level = 22, Location = -01, Ability = 1, Shiny = false, Form = 2, Gender = 0, HeldItem = 258, }, // Marowak @ ??? + new EncounterStatic { Species = 758, Level = 20, Location = -01, Ability = 1, Shiny = false, IVs = new[] {15,01,31,15,31,01}, Relearn = new[] {139,474,481,259}, Gender = 1, }, // Salazzle @ ??? new EncounterStatic { Species = 101, Level = 60, Location = -01, Ability = 1, Shiny = false, }, // Electrode @ ??? }; internal static readonly EncounterTrade[] TradeGift_USUM = From c1de054c7f065d76b0ecc65e2e299b92112366d1 Mon Sep 17 00:00:00 2001 From: Matt Date: Thu, 9 Nov 2017 20:27:14 -0500 Subject: [PATCH 34/81] Add several Ultra Warp Ride locations - Cresselia - Swanna - Drapion - Audino - Medicham - Magcargo - Quagsire --- PKHeX.Core/Legality/Encounters/Data/Encounters7.cs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs index 53d6b1831..ad903dc7e 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs @@ -385,7 +385,7 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 146, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {246,053,403,241}, }, // Moltres @ ??? new EncounterStatic { Species = 250, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {682,221,326,246}, HeldItem = 044, }, // Ho-Oh @ ??? new EncounterStatic { Species = 384, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Rayquaza @ ??? - new EncounterStatic { Species = 488, Level = 60, Location = -01, Ability = 1, IV3 = true, Gender = 1, }, // Cresselia @ ??? + new EncounterStatic { Species = 488, Level = 60, Location = 222, Ability = 1, IV3 = true, Gender = 1, }, // Cresselia @ Ultra Space Wilds new EncounterStatic { Species = 641, Level = 60, Location = -01, Ability = 1, IV3 = true, Gender = 0, }, // Tornadus @ ??? new EncounterStatic { Species = 642, Level = 60, Location = -01, Ability = 1, IV3 = true, Gender = 0, }, // Thundurus @ ??? new EncounterStatic { Species = 645, Level = 60, Location = -01, Ability = 1, IV3 = true, Gender = 0, }, // Landorus @ ??? @@ -420,23 +420,23 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 334, Level = 60, Location = -01, IV3 = true, }, // Altaria @ ??? new EncounterStatic { Species = 469, Level = 60, Location = -01, IV3 = true, }, // Yanmega @ ??? new EncounterStatic { Species = 561, Level = 60, Location = -01, IV3 = true, }, // Sigilyph @ ??? - new EncounterStatic { Species = 581, Level = 60, Location = -01, IV3 = true, }, // Swanna @ ??? + new EncounterStatic { Species = 581, Level = 60, Location = 222, IV3 = true, }, // Swanna @ Ultra Space Wilds new EncounterStatic { Species = 277, Level = 60, Location = -01, IV3 = true, }, // Swellow @ ??? - new EncounterStatic { Species = 452, Level = 60, Location = -01, IV3 = true, }, // Drapion @ ??? - new EncounterStatic { Species = 531, Level = 60, Location = -01, IV3 = true, }, // Audino @ ??? + new EncounterStatic { Species = 452, Level = 60, Location = 222, IV3 = true, }, // Drapion @ Ultra Space Wilds + new EncounterStatic { Species = 531, Level = 60, Location = 222, IV3 = true, }, // Audino @ Ultra Space Wilds new EncounterStatic { Species = 695, Level = 60, Location = -01, IV3 = true, }, // Heliolisk @ ??? new EncounterStatic { Species = 274, Level = 60, Location = -01, IV3 = true, }, // Nuzleaf @ ??? new EncounterStatic { Species = 326, Level = 60, Location = -01, IV3 = true, }, // Grumpig @ ??? new EncounterStatic { Species = 460, Level = 60, Location = -01, IV3 = true, }, // Abomasnow @ ??? - new EncounterStatic { Species = 308, Level = 60, Location = -01, IV3 = true, }, // Medicham @ ??? + new EncounterStatic { Species = 308, Level = 60, Location = 222, IV3 = true, }, // Medicham @ Ultra Space Wilds new EncounterStatic { Species = 450, Level = 60, Location = -01, IV3 = true, }, // Hippowdon @ ??? new EncounterStatic { Species = 558, Level = 60, Location = -01, IV3 = true, }, // Crustle @ ??? - new EncounterStatic { Species = 219, Level = 60, Location = -01, IV3 = true, }, // Magcargo @ ??? + new EncounterStatic { Species = 219, Level = 60, Location = 222, IV3 = true, }, // Magcargo @ Ultra Space Wilds new EncounterStatic { Species = 689, Level = 60, Location = -01, IV3 = true, }, // Barbaracle @ ??? new EncounterStatic { Species = 271, Level = 60, Location = -01, IV3 = true, }, // Lombre @ ??? new EncounterStatic { Species = 618, Level = 60, Location = -01, IV3 = true, }, // Stunfisk @ ??? new EncounterStatic { Species = 419, Level = 60, Location = -01, IV3 = true, }, // Floatzel @ ??? - new EncounterStatic { Species = 195, Level = 60, Location = -01, IV3 = true, }, // Quagsire @ ??? + new EncounterStatic { Species = 195, Level = 60, Location = 222, IV3 = true, }, // Quagsire @ Ultra Space Wilds new EncounterStatic { Species = 793, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {408,491,446,243}, }, // Nihilego @ ??? new EncounterStatic { Species = 794, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Buzzwole @ ??? new EncounterStatic { Species = 795, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Pheromosa @ ??? From 104a9d622e700add24c2b53a8c3918a6ea14faf9 Mon Sep 17 00:00:00 2001 From: Kurt Date: Thu, 9 Nov 2017 17:56:52 -0800 Subject: [PATCH 35/81] Add non-alolan native species for ball tables --- PKHeX.Core/Legality/Tables7.cs | 52 +++++++++++++++++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/PKHeX.Core/Legality/Tables7.cs b/PKHeX.Core/Legality/Tables7.cs index af17d5a88..a5523e271 100644 --- a/PKHeX.Core/Legality/Tables7.cs +++ b/PKHeX.Core/Legality/Tables7.cs @@ -180,7 +180,37 @@ public static partial class Legal 422, 423, 425, 426, 429, 430, 438, 440, 443, 444, 445, 446, 447, 448, 456, 457, 461, 462, 466, 467, 470, 471, 474, 476, 478, 506, 507, 508, 524, 525, 526, 546, 547, 548, 549, 551, 552, 553, 564, 565, 566, 567, 568, 569, 582, 583, 584, 587, 594, 627, 628, 629, 630, 661, 662, 663, 674, 675, 700, 703, 704, 705, 706, 707, 708, 709, - 718 + 718, + + // Regular + 023, 086, 108, 138, 140, 163, 177, 179, 190, 204, + 206, 214, 223, 228, 238, 246, 303, 309, 341, 343, + 345, 347, 352, 353, 357, 366, 427, 439, 458, 550, + 559, 570, 572, 592, 605, 619, 621, 622, 624, 636, + 667, 669, 676, 686, 690, 692, 696, 698, 701, 702, + 714, + + // Wormhole + 333, 334, // Altaria + 193, 469, // Yanmega + 561, // Sigilyph + 580, 581, // Swanna + 276, 277, // Swellow + 451, 452, // Drapion + 531, // Audino + 695, // Heliolisk + 273, 274, 275, // Nuzleaf + 325, 326, // Gumpig + 459, 460, // Abomasnow + 307, 308, // Medicham + 449, 450, // Hippowdon + 557, 558, // Crustle + 218, 219, // Magcargo + 688, 689, // Barbaracle + 270, 271, 272, // Lombre + 618, // Stunfisk + 418, 419, // Floatzel + 194, 195, // Quagsire }; public static readonly HashSet PastGenAlolanNativesUncapturable = new HashSet { @@ -221,6 +251,26 @@ public static partial class Legal 532, // [534] Conkeldurr (Timburr) 540, // [542] Leavanny (Sewaddle) 602, // [604] Eelektross (Tynamo) + + 004, // Charmander + 007, // Squirtle + 095, // Onix + 663, 664, // Scatterbug + 001, // Bulbasaur + 280, // Ralts + 255, 256, // Combusken + 013, 014, 015, // Beedrill + 252, 253, // Grovyle + 258, 259, // Marshtomp + 393, 394, // Prinplup + 387, 388, // Grotle + 016, 017, 018, // Pidgeot + 389, 390, 391, // Monferno + 304, 305, 306, // Aggron + 479, // Rotom + 650, 651, 652, // Chesnaught + 656, 657, 658, // Greninja + 653, 654, 655, // Delphox }; internal static readonly HashSet Inherit_Apricorn6 = new HashSet { From 6057780b4b23fb9ffe1a37558c078a60c4b40fa1 Mon Sep 17 00:00:00 2001 From: Kurt Date: Thu, 9 Nov 2017 19:26:31 -0800 Subject: [PATCH 36/81] Fix blank saves array accessing old blanks modeled sm saves with fixed offsets; since the conversion to dynamic block offsets, a few offsets need to be manually defined. --- PKHeX.Core/Saves/SAV7.cs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/PKHeX.Core/Saves/SAV7.cs b/PKHeX.Core/Saves/SAV7.cs index cf02f6912..44281b375 100644 --- a/PKHeX.Core/Saves/SAV7.cs +++ b/PKHeX.Core/Saves/SAV7.cs @@ -197,10 +197,12 @@ private void GetSAVOffsets() { if (!Exportable) // Empty input { - Party = 0x0; - Box = Party + SIZE_PARTY * 6 + 0x1000; - - PCLayout = Party + SIZE_PARTY * 6; + // Set bare minimum values for empty sav compatibility (based on S/M offsets) + Trainer1 = 0x00E00; + TrainerCard = 0x01200; + Party = 0x01400; + Box = 0x04E00; + PCLayout = 0x04800; BattleBoxFlags = PCLayout + 0x4C4; PCBackgrounds = PCLayout + 0x5C0; LastViewedBox = PCLayout + 0x5E3; From 519e21a9bf17ee25d0a2c0e71ee80180f73fae50 Mon Sep 17 00:00:00 2001 From: Kurt Date: Thu, 9 Nov 2017 19:26:47 -0800 Subject: [PATCH 37/81] Permit totem mimikyu forme (not battle forme) --- PKHeX.Core/Legality/Checks.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/PKHeX.Core/Legality/Checks.cs b/PKHeX.Core/Legality/Checks.cs index 81271aa82..09344c3f0 100644 --- a/PKHeX.Core/Legality/Checks.cs +++ b/PKHeX.Core/Legality/Checks.cs @@ -2007,6 +2007,9 @@ private void VerifyForm() case 800 when pkm.AltForm == 3: // Ultra Necrozma AddLine(Severity.Invalid, V310, CheckIdentifier.Form); return; + case 778 when pkm.AltForm == 2: // Totem disguise Mimikyu + AddLine(Severity.Valid, V315, CheckIdentifier.Form); + return; } if (pkm.Format >= 7 && Info.Generation < 7 && pkm.AltForm != 0) From 5e2e4fd6f1bca836a21c9d95857f3128c2169ca6 Mon Sep 17 00:00:00 2001 From: Kurt Date: Thu, 9 Nov 2017 19:27:16 -0800 Subject: [PATCH 38/81] Add usum evo table repacked garc as mini uu --- .../Legality/Structures/EvolutionTree.cs | 1 + PKHeX.Core/Resources/byte/evos_uu.pkl | Bin 65356 -> 66376 bytes 2 files changed, 1 insertion(+) diff --git a/PKHeX.Core/Legality/Structures/EvolutionTree.cs b/PKHeX.Core/Legality/Structures/EvolutionTree.cs index 38c2d84e1..6698b2313 100644 --- a/PKHeX.Core/Legality/Structures/EvolutionTree.cs +++ b/PKHeX.Core/Legality/Structures/EvolutionTree.cs @@ -565,6 +565,7 @@ public bool Valid(PKM pkm, int lvl, bool skipChecks) switch (Method) { case 8: // Use Item + case 42: return true; case 17: // Male return pkm.Gender == 0; diff --git a/PKHeX.Core/Resources/byte/evos_uu.pkl b/PKHeX.Core/Resources/byte/evos_uu.pkl index b9154d6b86cb661bf4d7e763ed3f92a183f5e3ec..15d974f89861b18e9e2b97a3362e31ffc712bb71 100644 GIT binary patch delta 4147 zcmXxnciisv9LMqNbjst+BXY_~B@|g%*;%QqlOiNDWt3zmWki?lV}@IHR`%w$iDbRw zAbTWaXN!o0=gq?(&+qkpz3=Os`;XrrzsJ4#U+eqKEtkh0d*=F0+bkAC$)y*IO$;R) zG(*X@nxSMn%}{a~%}}yYGn8zv8M^&qxyWS=3?(~ghLRmML&;8>q2zL!p=4*xP;zP;yPpP;xEJP;za}P;wp3u&g83H87Oyp&3f9rx{AFuNg{ipczVTs2NIbq!~(X zteG2o{&mSs3=AcEYKD@VYKD@VX@-)UYlf0rXoiwoYKD@%G_%*z;F4Pz7)tim3?=($ zhLU|XL&>c*L&}|a#zhza*$>yxtnGvIao84++E+@^B?x`6{?xh(@ z?yVV0?xPt>4$%xH_tgv~hw4L@2A7h<3=Adr(+nl|*9;{O&JVY~;JXAB3JWMl`JX|xBJi_zeCm_V>Cm_v6`XeIM096aRy2r>kAAekJAh#kJk((PtXh{$7_a?Cu)Y0CuxR~ z6PAV(43w-jL&=jhL&;M#L&;M$L&?)LL&?)ML&-BVL&@@)28NPnX@-)~3?CGk%SMq2#riq2zU%q2%?Nq2vvk zq2v_JQ1V92Q1T|t(4`}9HZYXDMKhGVRWp>lO*53dT{D!tLo<}TQ!|vjOEWC%$h!>; zCGXJ;CGXV?CGXP=CGXb^C99gD{lzdn-lzc=plzdb(lzdDx zlzdz>lzc)nl$@%WQe%G{ryQ`&#kSgganNF?mHjpzzq)zjY1>|M_r<}BBNuD`tS| zPrb!ai^a|>TVLaX)vb3w@R}TKGnA~;%(|t;QeCp0fuUr3%}}ylGn8CiGn8CIGn8CYGn8CQGnDM0 znH?4em+WX@DA`Fflw4aglw3zMlw4OclT1GnCvwGnCv=GnCv&vlvIojSUPXH_;3wH`NR!H`5FyH`fd$x6lkFduoP~z4Tt* z|G1RwZD1(5rDiC(m1ZcpwPq-}jbon|Q6NAI&RxRl)9z)-TUW+=IXW+>TD zGnCv>GnCv(GnCv}GnCv#FC0V3T@4H+`)h`hyJ?1!yK9D$duWD|4Vt0ko|>WLUf%x( z$53*B2N+5Y)C?sDX@-(}Ylf2hXoiyeYKD^gX@-)6z5fjd8z{NI2N+5opczUYs2NHg zq!~&ctQkrkq8Umasu@ZSSr`s6P;#hdC^<|slsrr`lssHBlsrN+lsr;1lsrl^lq?=? zU?_QvW+*vaGn715Gn5>m8A=|f8A=|n8A_g@8OkD0G%%DrNi&o@Su>OzsToS1q8Un_ zsu@b2rWr~$YKCs~{_}JLL&-BVL&;H^q2!sGq2yVbq2$?`q2xK5q2y@I(4!ZI=NcGF zY#SK5`v3DZL&@_sL&*y?L&*y@L&=LYL&=LZLl=%5V_+zGiDoD{Rx^~mR5O&kOf!_c zTr-r6W+-`uW?0mbR~i^fj?)Y!$7_a?S80ZlS8IlnWzA6X8qH90f@V%w{rN|GHTMP^(Z`BMXZ_^AVZ`TYZ@6Ze- zCuxR~cWQ=`cWGwfD0#Pmq2xW9q2#@qq2zsP;R5O%(Of!_MXoixHYlf0j^eL;~f0vR^7#K=EsToQ>r5Q>-tri6F Date: Thu, 9 Nov 2017 19:47:01 -0800 Subject: [PATCH 39/81] evo table / check update prune froslass/gallade evolution tree pruning by editing the binary like prior commit for sm https://github.com/kwsch/PKHeX/commit/fe66a654642b050f8b10b5dc078b2da2ba72b207#diff-e0f20441fd5149efa4e829994c94f683 revise banlist interaction for usum evos (need to trade to USUM to be able to undergo these evolutions). Closes #1570 (evolution table issues), other open issues can catch any other/unrelated fallout. --- .../Legality/Structures/EvolutionTree.cs | 31 ++++++++---------- PKHeX.Core/Resources/byte/evos_uu.pkl | Bin 66376 -> 66376 bytes 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/PKHeX.Core/Legality/Structures/EvolutionTree.cs b/PKHeX.Core/Legality/Structures/EvolutionTree.cs index 6698b2313..8fa1e1d64 100644 --- a/PKHeX.Core/Legality/Structures/EvolutionTree.cs +++ b/PKHeX.Core/Legality/Structures/EvolutionTree.cs @@ -166,21 +166,18 @@ private void FixEvoTreeSM() } Lineage[711].Chain.RemoveRange(0, 3); - // Add past gen evolutions for other Marowak and Exeggutor - var raichu1 = Lineage[Personal.GetFormeIndex(26, 1)]; - var evo1 = raichu1.Chain[0].StageEntryMethods[0].Copy(); - Lineage[26].Chain.Add(new EvolutionStage { StageEntryMethods = new List { evo1 } }); - var evo2 = raichu1.Chain[1].StageEntryMethods[0].Copy(); - evo2.Form = -1; evo2.Banlist = EvolutionMethod.BanSM; - Lineage[26].Chain.Add(new EvolutionStage { StageEntryMethods = new List { evo2 } }); - - var exegg = Lineage[Personal.GetFormeIndex(103, 1)].Chain[0].StageEntryMethods[0].Copy(); - exegg.Form = -1; exegg.Banlist = EvolutionMethod.BanSM; exegg.Method = 8; // No night required (doesn't matter) - Lineage[103].Chain.Add(new EvolutionStage { StageEntryMethods = new List { exegg } }); - - var marowak = Lineage[Personal.GetFormeIndex(105, 1)].Chain[0].StageEntryMethods[0].Copy(); - marowak.Form = -1; marowak.Banlist = EvolutionMethod.BanSM; - Lineage[105].Chain.Add(new EvolutionStage { StageEntryMethods = new List { marowak } }); + // Ban Raichu Evolution on SM + Lineage[Personal.GetFormeIndex(26, 0)] + .Chain[1].StageEntryMethods[0] + .Banlist = EvolutionMethod.BanSM; + // Ban Exeggutor Evolution on SM + Lineage[Personal.GetFormeIndex(103, 0)] + .Chain[0].StageEntryMethods[0] + .Banlist = EvolutionMethod.BanSM; + // Ban Marowak Evolution on SM + Lineage[Personal.GetFormeIndex(105, 0)] + .Chain[0].StageEntryMethods[0] + .Banlist = EvolutionMethod.BanSM; } private int GetIndex(PKM pkm) @@ -549,7 +546,7 @@ public class EvolutionMethod internal static readonly HashSet TradeMethods = new HashSet {5, 6, 7}; private static readonly IReadOnlyCollection NoBanlist = new GameVersion[0]; - internal static readonly IReadOnlyCollection BanSM = new[] {GameVersion.SN, GameVersion.MN, GameVersion.US, GameVersion.UM}; + internal static readonly IReadOnlyCollection BanSM = new[] {GameVersion.SN, GameVersion.MN}; internal IReadOnlyCollection Banlist = NoBanlist; public bool Valid(PKM pkm, int lvl, bool skipChecks) @@ -559,7 +556,7 @@ public bool Valid(PKM pkm, int lvl, bool skipChecks) if (!skipChecks && pkm.AltForm != Form) return false; - if (!skipChecks && Banlist.Contains((GameVersion)pkm.Version)) + if (!skipChecks && Banlist.Contains((GameVersion)pkm.Version) && pkm.IsUntraded) // sm lacks usum kantonian evos return false; switch (Method) diff --git a/PKHeX.Core/Resources/byte/evos_uu.pkl b/PKHeX.Core/Resources/byte/evos_uu.pkl index 15d974f89861b18e9e2b97a3362e31ffc712bb71..baa815ab31c0fd76f0e5ca70ec84558a646b4418 100644 GIT binary patch delta 27 ecmX@n#&V*KWyAE)$$}zoVzg&~YAhnWDHE($~d delta 31 icmX@n#&V*KWyADPM!Cs?A_bc{!uo|7wIIwahnWDi4hoC_ From 23d57f8807ed1a19152fe2daf5fcfb73d3b10e58 Mon Sep 17 00:00:00 2001 From: Kurt Date: Thu, 9 Nov 2017 21:11:19 -0800 Subject: [PATCH 40/81] Add ditto5, necrozma fix tab for oras flag resource --- PKHeX.Core/Legality/Encounters/Data/Encounters7.cs | 12 ++++++------ PKHeX.Core/Resources/text/script/flags_oras_en.txt | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs index ad903dc7e..8c8b4289b 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs @@ -376,7 +376,7 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 127, Level = 42, Location = 184, Shiny = false, }, // Pinsir @ Exeggutor Island new EncounterStatic { Species = 127, Level = 43, Location = 184, Shiny = false, }, // Pinsir @ Exeggutor Island new EncounterStatic { Species = 127, Level = 42, Location = 184, Shiny = false, }, // Pinsir @ Exeggutor Island - new EncounterStatic { Species = 800, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, Relearn = new[] {722,334,408,400}, HeldItem = 923, }, // Necrozma @ ??? + new EncounterStatic { Species = 800, Level = 65, Location = 146, Ability = 1, Shiny = false, IV3 = true, Relearn = new[] {722,334,408,400}, HeldItem = 923, }, // Necrozma @ Mount Lanakila new EncounterStatic { Species = 743, Level = 55, Location = -01, Ability = 2, Shiny = false, IVs = new[] {31,01,31,01,31,31}, Relearn = new[] {405,577,483,605}, Form = 1, Gender = 1, HeldItem = 184, }, // Ribombee @ ??? new EncounterStatic { Species = 279, Level = 52, Location = -01, Ability = 2, Shiny = false, IVs = new[] {15,31,15,15,15,31}, Relearn = new[] {254,503,255,402}, Gender = 1, }, // Pelipper @ ??? new EncounterStatic { Species = 242, Level = 53, Location = -01, Ability = 2, Shiny = false, IVs = new[] {15,00,00,00,00,00}, Relearn = new[] {505,113,270,605}, Gender = 1, }, // Blissey @ ??? @@ -456,11 +456,11 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 425, Level = 19, Location = -01, Shiny = false, Relearn = new[] {310,132,016,371}, }, // Drifloon @ ??? new EncounterStatic { Species = 769, Level = 30, Location = -01, Shiny = false, Relearn = new[] {310,523,072,328}, }, // Sandygast @ ??? new EncounterStatic { Species = 592, Level = 34, Location = 126, Shiny = false, Gender = 1, }, // Frillish @ ??? - new EncounterStatic { Species = 132, Level = 29, Location = -01, IVs = new[] {-1,-1,31,30,-1,00}, }, // Ditto @ ??? - new EncounterStatic { Species = 132, Level = 29, Location = -01, IVs = new[] {-1,-1,30,30,-1,31}, }, // Ditto @ ??? - new EncounterStatic { Species = 132, Level = 29, Location = -01, IVs = new[] {-1,31,30,-1,-1,30}, }, // Ditto @ ??? - new EncounterStatic { Species = 132, Level = 29, Location = -01, IVs = new[] {-1,00,-1,31,30,-1}, }, // Ditto @ ??? - new EncounterStatic { Species = 132, Level = 29, Location = -01, IVs = new[] {-1,30,-1,-1,30,31}, }, // Ditto @ ??? + new EncounterStatic { Species = 132, Level = 29, Location = 060, IVs = new[] {-1,-1,31,30,-1,00}, }, // Ditto @ Route 9 + new EncounterStatic { Species = 132, Level = 29, Location = 072, IVs = new[] {-1,-1,30,30,-1,31}, }, // Ditto @ Konikoni City + new EncounterStatic { Species = 132, Level = 29, Location = 072, IVs = new[] {-1,31,30,-1,-1,30}, }, // Ditto @ Konikoni City + new EncounterStatic { Species = 132, Level = 29, Location = 072, IVs = new[] {-1,00,-1,31,30,-1}, }, // Ditto @ Konikoni City + new EncounterStatic { Species = 132, Level = 29, Location = 072, IVs = new[] {-1,30,-1,-1,30,31}, }, // Ditto @ Konikoni City new EncounterStatic { Species = 718, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, Relearn = new[] {616,137,219,225}, }, // Zygarde @ ??? new EncounterStatic { Species = 805, Level = 60, Location = -01, Ability = 1, IV3 = true}, // Stakataka @ ??? new EncounterStatic { Species = 806, Level = 60, Location = -01, Ability = 1, IV3 = true }, // Blacephalon @ ??? diff --git a/PKHeX.Core/Resources/text/script/flags_oras_en.txt b/PKHeX.Core/Resources/text/script/flags_oras_en.txt index 6b6697f39..3808aab35 100644 --- a/PKHeX.Core/Resources/text/script/flags_oras_en.txt +++ b/PKHeX.Core/Resources/text/script/flags_oras_en.txt @@ -19,7 +19,7 @@ 2834 (OR) Latias Captured 0420 (AS) Latios Defeated 2835 (AS) Latios Captured -2915 Eon Ticket Event Completed +2915 Eon Ticket Event Completed 0945 Deoxys Defeated @ Sky Tower 2842 Deoxys Captured @ Sky Tower 0173 Raikou Defeated From ec6e485c50e65a7f9a052064fa562d56f3268b19 Mon Sep 17 00:00:00 2001 From: ReignOfComputer Date: Fri, 10 Nov 2017 13:14:18 +0800 Subject: [PATCH 41/81] Sandygast @ Route 15 --- PKHeX.Core/Legality/Encounters/Data/Encounters7.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs index 8c8b4289b..4e545b735 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs @@ -454,7 +454,7 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 097, Level = 29, Location = -01, Shiny = false, Relearn = new[] {093,050,001,096}, }, // Hypno @ ??? new EncounterStatic { Species = 092, Level = 19, Location = -01, Shiny = false, Relearn = new[] {174,109,122,101}, }, // Gastly @ ??? new EncounterStatic { Species = 425, Level = 19, Location = -01, Shiny = false, Relearn = new[] {310,132,016,371}, }, // Drifloon @ ??? - new EncounterStatic { Species = 769, Level = 30, Location = -01, Shiny = false, Relearn = new[] {310,523,072,328}, }, // Sandygast @ ??? + new EncounterStatic { Species = 769, Level = 30, Location = 116, Shiny = false, Relearn = new[] {310,523,072,328}, }, // Sandygast @ Route 15 new EncounterStatic { Species = 592, Level = 34, Location = 126, Shiny = false, Gender = 1, }, // Frillish @ ??? new EncounterStatic { Species = 132, Level = 29, Location = 060, IVs = new[] {-1,-1,31,30,-1,00}, }, // Ditto @ Route 9 new EncounterStatic { Species = 132, Level = 29, Location = 072, IVs = new[] {-1,-1,30,30,-1,31}, }, // Ditto @ Konikoni City From b3436cb791bbea07c75d1e8eee4e59e0e7f777a2 Mon Sep 17 00:00:00 2001 From: Kurt Date: Thu, 9 Nov 2017 21:52:11 -0800 Subject: [PATCH 42/81] Add totem forms selection/spritemod and req changes --- PKHeX.Core/Legality/Tables7.cs | 33 +++++++++++ PKHeX.Core/PKM/FormConverter.cs | 59 +++++++++++++++---- .../Controls/PKM Editor/PKMEditor.cs | 3 +- .../Save Editors/Gen7/SAV_PokedexSM.cs | 2 +- PKHeX.WinForms/Util/PKMUtil.cs | 7 +++ 5 files changed, 91 insertions(+), 13 deletions(-) diff --git a/PKHeX.Core/Legality/Tables7.cs b/PKHeX.Core/Legality/Tables7.cs index a5523e271..8cb122baa 100644 --- a/PKHeX.Core/Legality/Tables7.cs +++ b/PKHeX.Core/Legality/Tables7.cs @@ -418,6 +418,39 @@ public static partial class Legal 687, // Core Enforcer }; + internal static readonly HashSet Totem_Alolan = new HashSet + { + 020, // Raticate (Normal, Alolan, Totem) + 105, // Marowak (Normal, Alolan, Totem) + 778, // Mimikyu (Normal, Busted, Totem, Totem_Busted) + }; + internal static readonly HashSet Totem_SM = new HashSet + { + 020, // Raticate + 735, // Gumshoos + 746, // Wishiwashi + 758, // Salazzle + 754, // Lurantis + 738, // Vikavolt + 778, // Mimikyu + 784, // Kommo-o + }; + internal static readonly HashSet Totem_USUM = new HashSet + { + 020, // Raticate + 735, // Gumshoos + 746, // Wishiwashi + 758, // Salazzle + 754, // Lurantis + 738, // Vikavolt + 778, // Mimikyu + 784, // Kommo-o + 105, // Marowak + 752, // Araquanid + 777, // Togedemaru + 743, // Ribombee + }; + internal static readonly int[] EggLocations7 = {60002, 30002}; internal static readonly HashSet ValidMet_SM = new HashSet { diff --git a/PKHeX.Core/PKM/FormConverter.cs b/PKHeX.Core/PKM/FormConverter.cs index f5da804b6..9bf4bc47c 100644 --- a/PKHeX.Core/PKM/FormConverter.cs +++ b/PKHeX.Core/PKM/FormConverter.cs @@ -2,7 +2,7 @@ namespace PKHeX.Core { - internal static class FormConverter + public static class FormConverter { /// /// Gets a list of formes that the species can have. @@ -22,6 +22,8 @@ internal static string[] GetFormList(int species, IReadOnlyList types, I types[000], // Normal forms[804], // Mega }; + if (generation == 7 && Legal.Totem_USUM.Contains(species)) + return GetFormsTotem(species, types, forms); if (species <= Legal.MaxSpeciesID_1) return GetFormsGen1(species, types, forms, generation); @@ -39,6 +41,27 @@ internal static string[] GetFormList(int species, IReadOnlyList types, I return GetFormsGen7(species, types, forms); } + public static bool IsTotemForm(int species, int form, int generation = 7) + { + if (generation != 7) + return false; + if (form == 0) + return false; + if (!Legal.Totem_USUM.Contains(species)) + return false; + if (species == 778) // Mimikyu + return form == 2 || form == 3; + if (Legal.Totem_Alolan.Contains(species)) + return form == 2; + return form == 1; + } + public static int GetTotemBaseForm(int species, int form) + { + if (species == 778) // Mimikyu + return form -2; + return form - 1; + } + private static string[] GetFormsGen1(int species, IReadOnlyList types, IReadOnlyList forms, int generation) { switch (species) @@ -419,13 +442,6 @@ private static string[] GetFormsGen7(int species, IReadOnlyList types, I forms[1057], // "V-Core", // Core Violet }; - case 778: // Mimikyu - return new[] - { - forms[778], // Disguised - forms[1058], // Busted - }; - case 800: return new[] { @@ -444,7 +460,7 @@ private static string[] GetFormsGen7(int species, IReadOnlyList types, I } } - private static string[] GetFormsAlolan(int generation, IReadOnlyList types, IReadOnlyList forms, int species) + private static string[] GetFormsAlolan (int generation, IReadOnlyList types, IReadOnlyList forms, int species) { if (generation < 7) return new[] { "" }; @@ -455,7 +471,6 @@ private static string[] GetFormsAlolan(int generation, IReadOnlyList typ return new[] { "" }; case 19: // Rattata - case 20: // Raticate case 26: // Raichu case 27: // Sandshrew case 28: // Sandslash @@ -470,7 +485,6 @@ private static string[] GetFormsAlolan(int generation, IReadOnlyList typ case 76: // Golem case 88: // Grimer case 89: // Muk - case 105: // Marowak case 103: // Exeggutor return new[] { @@ -592,6 +606,29 @@ private static string[] GetFormsArceus (int generation, IReadOnlyList ty }; } } + private static string[] GetFormsTotem (int species, IReadOnlyList types, IReadOnlyList forms) + { + if (species == 778) // Mimikyu + return new[] + { + forms[778], // Disguised + forms[1058], // Busted + forms[1007], // Large + "*" + forms[1058], // Busted + }; + if (Legal.Totem_Alolan.Contains(species)) + return new[] + { + types[0], // Normal + forms[810], // Alolan + forms[1007], // Large + }; + return new[] + { + types[0], // Normal + forms[1007], // Large + }; + } private static string[] GetFormsUnown(int generation) { switch (generation) diff --git a/PKHeX.WinForms/Controls/PKM Editor/PKMEditor.cs b/PKHeX.WinForms/Controls/PKM Editor/PKMEditor.cs index cf27d9dfb..de98555cd 100644 --- a/PKHeX.WinForms/Controls/PKM Editor/PKMEditor.cs +++ b/PKHeX.WinForms/Controls/PKM Editor/PKMEditor.cs @@ -343,7 +343,8 @@ private void SetForms() if (!hasForms) return; - var ds = PKX.GetFormList(species, GameInfo.Strings.types, GameInfo.Strings.forms, gendersymbols, pkm.Format).ToList(); + var ds = PKX.GetFormList(species, GameInfo.Strings.types, GameInfo.Strings.forms, gendersymbols, pkm.Format) + .Take(RequestSaveFile?.Personal[species]?.FormeCount ?? 0).ToList(); if (ds.Count == 1 && string.IsNullOrEmpty(ds[0])) // empty (Alolan Totems) CB_Form.Enabled = CB_Form.Visible = Label_Form.Visible = false; else CB_Form.DataSource = ds; diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_PokedexSM.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_PokedexSM.cs index dec905429..8329d275e 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_PokedexSM.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_PokedexSM.cs @@ -139,7 +139,7 @@ private bool FillLBForms() bool hasForms = SAV.Personal[bspecies].HasFormes || new[] { 201, 664, 665, 414 }.Contains(bspecies); LB_Forms.Enabled = hasForms; if (!hasForms) return false; - var ds = PKX.GetFormList(bspecies, GameInfo.Strings.types, GameInfo.Strings.forms, Main.GenderSymbols, SAV.Generation).ToList(); + var ds = PKX.GetFormList(bspecies, GameInfo.Strings.types, GameInfo.Strings.forms, Main.GenderSymbols, SAV.Generation).Take(SAV.Personal[bspecies].FormeCount).ToList(); if (ds.Count == 1 && string.IsNullOrEmpty(ds[0])) { // empty (Alolan Totems) diff --git a/PKHeX.WinForms/Util/PKMUtil.cs b/PKHeX.WinForms/Util/PKMUtil.cs index 742994e87..f8cfbcbf2 100644 --- a/PKHeX.WinForms/Util/PKMUtil.cs +++ b/PKHeX.WinForms/Util/PKMUtil.cs @@ -49,6 +49,13 @@ public static Image GetSprite(int species, int form, int gender, int item, bool // Redrawing logic Image baseImage = (Image)Resources.ResourceManager.GetObject(file); + if (baseImage == null && FormConverter.IsTotemForm(species, form)) + { + form = FormConverter.GetTotemBaseForm(species, form); + file = PKX.GetResourceStringSprite(species, form, gender, generation); + baseImage = (Image)Resources.ResourceManager.GetObject(file); + baseImage = ImageUtil.ToGrayscale(baseImage); + } if (baseImage == null) { baseImage = (Image) Resources.ResourceManager.GetObject($"_{species}"); From b99ae92b477f11da862e2f7782597ab5f57ba897 Mon Sep 17 00:00:00 2001 From: Kurt Date: Thu, 9 Nov 2017 22:00:36 -0800 Subject: [PATCH 43/81] handle mimikyu totem forme edge case run totem form code regardless of sprite --- PKHeX.WinForms/Util/PKMUtil.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PKHeX.WinForms/Util/PKMUtil.cs b/PKHeX.WinForms/Util/PKMUtil.cs index f8cfbcbf2..185dbc9e3 100644 --- a/PKHeX.WinForms/Util/PKMUtil.cs +++ b/PKHeX.WinForms/Util/PKMUtil.cs @@ -49,7 +49,7 @@ public static Image GetSprite(int species, int form, int gender, int item, bool // Redrawing logic Image baseImage = (Image)Resources.ResourceManager.GetObject(file); - if (baseImage == null && FormConverter.IsTotemForm(species, form)) + if (FormConverter.IsTotemForm(species, form)) { form = FormConverter.GetTotemBaseForm(species, form); file = PKX.GetResourceStringSprite(species, form, gender, generation); From af913887926b333126846b121a5d25485f13467a Mon Sep 17 00:00:00 2001 From: Kurt Date: Thu, 9 Nov 2017 22:17:55 -0800 Subject: [PATCH 44/81] Return empty enumerables for invalid table fetch shouldn't ever be called but best practice --- PKHeX.Core/Legality/Core.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/PKHeX.Core/Legality/Core.cs b/PKHeX.Core/Legality/Core.cs index de2ac1e27..a09d2f15c 100644 --- a/PKHeX.Core/Legality/Core.cs +++ b/PKHeX.Core/Legality/Core.cs @@ -918,7 +918,7 @@ internal static IEnumerable GetEncounterStaticTable(PKM pkm, Ga case GameVersion.US: return StaticUS; case GameVersion.UM: return StaticUM; - default: return new EncounterStatic[0]; + default: return Enumerable.Empty(); } } internal static IEnumerable GetEncounterTable(PKM pkm, GameVersion gameSource = GameVersion.Any) @@ -969,7 +969,7 @@ internal static IEnumerable GetEncounterTable(PKM pkm, GameVersio case GameVersion.US: return SlotsUS; case GameVersion.UM: return SlotsUM; - default: return new EncounterArea[0]; + default: return Enumerable.Empty(); } } private static IEnumerable GetEncounterStaticTableGSC(PKM pkm) @@ -1014,7 +1014,7 @@ internal static IEnumerable GetDexNavAreas(PKM pkm) case (int)GameVersion.OR: return SlotsO.Where(l => l.Location == pkm.Met_Location); default: - return new EncounterArea[0]; + return Enumerable.Empty(); } } From 7dd8dd970f026650f22244402b3ff05609c93c77 Mon Sep 17 00:00:00 2001 From: ReignOfComputer Date: Fri, 10 Nov 2017 17:29:20 +0800 Subject: [PATCH 45/81] Normal Pokemon @ Ultra Space Wilds --- .../Legality/Encounters/Data/Encounters7.cs | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs index 4e545b735..da66243a8 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs @@ -417,25 +417,25 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 481, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {326,204,248,129}, }, // Mesprit @ ??? new EncounterStatic { Species = 482, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {326,417,253,129}, }, // Azelf @ ??? new EncounterStatic { Species = 646, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Kyurem @ ??? - new EncounterStatic { Species = 334, Level = 60, Location = -01, IV3 = true, }, // Altaria @ ??? - new EncounterStatic { Species = 469, Level = 60, Location = -01, IV3 = true, }, // Yanmega @ ??? - new EncounterStatic { Species = 561, Level = 60, Location = -01, IV3 = true, }, // Sigilyph @ ??? + new EncounterStatic { Species = 334, Level = 60, Location = 222, IV3 = true, }, // Altaria @ Ultra Space Wilds + new EncounterStatic { Species = 469, Level = 60, Location = 222, IV3 = true, }, // Yanmega @ Ultra Space Wilds + new EncounterStatic { Species = 561, Level = 60, Location = 222, IV3 = true, }, // Sigilyph @ Ultra Space Wilds new EncounterStatic { Species = 581, Level = 60, Location = 222, IV3 = true, }, // Swanna @ Ultra Space Wilds - new EncounterStatic { Species = 277, Level = 60, Location = -01, IV3 = true, }, // Swellow @ ??? + new EncounterStatic { Species = 277, Level = 60, Location = 222, IV3 = true, }, // Swellow @ Ultra Space Wilds new EncounterStatic { Species = 452, Level = 60, Location = 222, IV3 = true, }, // Drapion @ Ultra Space Wilds new EncounterStatic { Species = 531, Level = 60, Location = 222, IV3 = true, }, // Audino @ Ultra Space Wilds - new EncounterStatic { Species = 695, Level = 60, Location = -01, IV3 = true, }, // Heliolisk @ ??? - new EncounterStatic { Species = 274, Level = 60, Location = -01, IV3 = true, }, // Nuzleaf @ ??? - new EncounterStatic { Species = 326, Level = 60, Location = -01, IV3 = true, }, // Grumpig @ ??? - new EncounterStatic { Species = 460, Level = 60, Location = -01, IV3 = true, }, // Abomasnow @ ??? + new EncounterStatic { Species = 695, Level = 60, Location = 222, IV3 = true, }, // Heliolisk @ Ultra Space Wilds + new EncounterStatic { Species = 274, Level = 60, Location = 222, IV3 = true, }, // Nuzleaf @ Ultra Space Wilds + new EncounterStatic { Species = 326, Level = 60, Location = 222, IV3 = true, }, // Grumpig @ Ultra Space Wilds + new EncounterStatic { Species = 460, Level = 60, Location = 222, IV3 = true, }, // Abomasnow @ Ultra Space Wilds new EncounterStatic { Species = 308, Level = 60, Location = 222, IV3 = true, }, // Medicham @ Ultra Space Wilds - new EncounterStatic { Species = 450, Level = 60, Location = -01, IV3 = true, }, // Hippowdon @ ??? - new EncounterStatic { Species = 558, Level = 60, Location = -01, IV3 = true, }, // Crustle @ ??? + new EncounterStatic { Species = 450, Level = 60, Location = 222, IV3 = true, }, // Hippowdon @ Ultra Space Wilds + new EncounterStatic { Species = 558, Level = 60, Location = 222, IV3 = true, }, // Crustle @ Ultra Space Wilds new EncounterStatic { Species = 219, Level = 60, Location = 222, IV3 = true, }, // Magcargo @ Ultra Space Wilds - new EncounterStatic { Species = 689, Level = 60, Location = -01, IV3 = true, }, // Barbaracle @ ??? - new EncounterStatic { Species = 271, Level = 60, Location = -01, IV3 = true, }, // Lombre @ ??? - new EncounterStatic { Species = 618, Level = 60, Location = -01, IV3 = true, }, // Stunfisk @ ??? - new EncounterStatic { Species = 419, Level = 60, Location = -01, IV3 = true, }, // Floatzel @ ??? + new EncounterStatic { Species = 689, Level = 60, Location = 222, IV3 = true, }, // Barbaracle @ Ultra Space Wilds + new EncounterStatic { Species = 271, Level = 60, Location = 222, IV3 = true, }, // Lombre @ Ultra Space Wilds + new EncounterStatic { Species = 618, Level = 60, Location = 222, IV3 = true, }, // Stunfisk @ Ultra Space Wilds + new EncounterStatic { Species = 419, Level = 60, Location = 222, IV3 = true, }, // Floatzel @ Ultra Space Wilds new EncounterStatic { Species = 195, Level = 60, Location = 222, IV3 = true, }, // Quagsire @ Ultra Space Wilds new EncounterStatic { Species = 793, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {408,491,446,243}, }, // Nihilego @ ??? new EncounterStatic { Species = 794, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Buzzwole @ ??? From a39f92cac67860041f161364c673b785c6db04e4 Mon Sep 17 00:00:00 2001 From: Kurt Date: Fri, 10 Nov 2017 04:01:36 -0800 Subject: [PATCH 46/81] Add rockruff forme list items revert form selection filtering, screwed up scatterbug and other forced-forme lists. behavior works fine without the list filtering --- PKHeX.Core/PKM/FormConverter.cs | 6 ++++++ PKHeX.WinForms/Controls/PKM Editor/PKMEditor.cs | 3 +-- PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_PokedexSM.cs | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/PKHeX.Core/PKM/FormConverter.cs b/PKHeX.Core/PKM/FormConverter.cs index 9bf4bc47c..dcc73ed09 100644 --- a/PKHeX.Core/PKM/FormConverter.cs +++ b/PKHeX.Core/PKM/FormConverter.cs @@ -405,6 +405,12 @@ private static string[] GetFormsGen7(int species, IReadOnlyList types, I forms[1023], // "BLU" - Sensu }; + case 744: // Rockruff + return new[] + { + types[0], // Normal + forms[1064], // Dusk + }; case 745: // Lycanroc return new[] { diff --git a/PKHeX.WinForms/Controls/PKM Editor/PKMEditor.cs b/PKHeX.WinForms/Controls/PKM Editor/PKMEditor.cs index de98555cd..cf27d9dfb 100644 --- a/PKHeX.WinForms/Controls/PKM Editor/PKMEditor.cs +++ b/PKHeX.WinForms/Controls/PKM Editor/PKMEditor.cs @@ -343,8 +343,7 @@ private void SetForms() if (!hasForms) return; - var ds = PKX.GetFormList(species, GameInfo.Strings.types, GameInfo.Strings.forms, gendersymbols, pkm.Format) - .Take(RequestSaveFile?.Personal[species]?.FormeCount ?? 0).ToList(); + var ds = PKX.GetFormList(species, GameInfo.Strings.types, GameInfo.Strings.forms, gendersymbols, pkm.Format).ToList(); if (ds.Count == 1 && string.IsNullOrEmpty(ds[0])) // empty (Alolan Totems) CB_Form.Enabled = CB_Form.Visible = Label_Form.Visible = false; else CB_Form.DataSource = ds; diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_PokedexSM.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_PokedexSM.cs index 8329d275e..dec905429 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_PokedexSM.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_PokedexSM.cs @@ -139,7 +139,7 @@ private bool FillLBForms() bool hasForms = SAV.Personal[bspecies].HasFormes || new[] { 201, 664, 665, 414 }.Contains(bspecies); LB_Forms.Enabled = hasForms; if (!hasForms) return false; - var ds = PKX.GetFormList(bspecies, GameInfo.Strings.types, GameInfo.Strings.forms, Main.GenderSymbols, SAV.Generation).Take(SAV.Personal[bspecies].FormeCount).ToList(); + var ds = PKX.GetFormList(bspecies, GameInfo.Strings.types, GameInfo.Strings.forms, Main.GenderSymbols, SAV.Generation).ToList(); if (ds.Count == 1 && string.IsNullOrEmpty(ds[0])) { // empty (Alolan Totems) From 30f07fc979348539d307f29a67124324f5899a3f Mon Sep 17 00:00:00 2001 From: Kurt Date: Fri, 10 Nov 2017 08:42:25 -0800 Subject: [PATCH 47/81] Fix wishiwashi handling totem wishi isn't a gift because it isn't really a totem --- PKHeX.Core/Legality/Tables7.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PKHeX.Core/Legality/Tables7.cs b/PKHeX.Core/Legality/Tables7.cs index 8cb122baa..41cd402dd 100644 --- a/PKHeX.Core/Legality/Tables7.cs +++ b/PKHeX.Core/Legality/Tables7.cs @@ -428,7 +428,7 @@ public static partial class Legal { 020, // Raticate 735, // Gumshoos - 746, // Wishiwashi + //746, // Wishiwashi 758, // Salazzle 754, // Lurantis 738, // Vikavolt @@ -439,7 +439,7 @@ public static partial class Legal { 020, // Raticate 735, // Gumshoos - 746, // Wishiwashi + //746, // Wishiwashi 758, // Salazzle 754, // Lurantis 738, // Vikavolt From 41a60dda78144f744878dc5355deff1c4fc3567b Mon Sep 17 00:00:00 2001 From: Kurt Date: Fri, 10 Nov 2017 09:22:41 -0800 Subject: [PATCH 48/81] permit necrozma formes 1&2 and 0. was eventually reaching the Battle Megas list so insert this abort-early detection. --- PKHeX.Core/Legality/Checks.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/PKHeX.Core/Legality/Checks.cs b/PKHeX.Core/Legality/Checks.cs index 09344c3f0..acc61b1ce 100644 --- a/PKHeX.Core/Legality/Checks.cs +++ b/PKHeX.Core/Legality/Checks.cs @@ -2007,6 +2007,7 @@ private void VerifyForm() case 800 when pkm.AltForm == 3: // Ultra Necrozma AddLine(Severity.Invalid, V310, CheckIdentifier.Form); return; + case 800 when pkm.AltForm < 3: // Necrozma Fused forms & default case 778 when pkm.AltForm == 2: // Totem disguise Mimikyu AddLine(Severity.Valid, V315, CheckIdentifier.Form); return; From 6f58698187e65736d979f99b72df9f98a68ff828 Mon Sep 17 00:00:00 2001 From: sora10pls Date: Fri, 10 Nov 2017 13:08:36 -0500 Subject: [PATCH 49/81] Add more static encounter locations --- .../Legality/Encounters/Data/Encounters7.cs | 119 +++++++++--------- 1 file changed, 62 insertions(+), 57 deletions(-) diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs index da66243a8..df9d1be71 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs @@ -184,7 +184,8 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Gift = true, Species = 698, Level = 15, Location = 58, }, // Amaura new EncounterStatic { Gift = true, Species = 133, Level = 01, EggLocation = 60002, }, // Eevee @ Nursery helpers new EncounterStatic { Gift = true, Species = 137, Level = 30, Location = -01, }, // Porygon @ ??? - new EncounterStatic { Gift = true, Species = 772, Level = 60, Location = -01, IV3 = true, }, // Type: Null @ ??? + new EncounterStatic { Gift = true, Species = 772, Level = 60, Location = 188, IV3 = true, }, // Type: Null @ Aether Paradise + new EncounterStatic { Gift = true, Species = 772, Level = 60, Location = 164, IV3 = true, }, // Type: Null @ Poni Grove new EncounterStatic { Gift = true, Species = 801, Level = 50, Location = -01, IV3 = true, Shiny = false, Ability = 2, HeldItem = 795, }, // Magearna @ ??? new EncounterStatic { Gift = true, Species = 789, Level = 05, Location = -01, IV3 = true, Shiny = false, Ability = 2, }, // Cosmog @ ??? new EncounterStatic { Gift = true, Species = 142, Level = 40, Location = 172, }, // Aerodactyl @ Seafolk Village @@ -198,11 +199,11 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Gift = true, Species = 752, Level = 25, Ability = 1, Location = 202, Form = 1, Shiny = false, IV3 = true, Version = GameVersion.UM }, // Araquanid new EncounterStatic { Gift = true, Species = 754, Level = 30, Ability = 2, Location = 202, Form = 1, Shiny = false, IV3 = true, Version = GameVersion.US }, // Lurantis new EncounterStatic { Gift = true, Species = 758, Level = 30, Ability = 1, Location = 202, Form = 1, Shiny = false, IV3 = true, Version = GameVersion.UM }, // Salazzle - new EncounterStatic { Gift = true, Species = 738, Level = 35, Ability = 1, Location = 202, Form = 1, Shiny = false, IV3 = true, }, // Vikavolt - new EncounterStatic { Gift = true, Species = 777, Level = 35, Ability = 4, Location = 202, Form = 1, Shiny = false, IV3 = true, }, // Togedemaru + new EncounterStatic { Gift = true, Species = 738, Level = 35, Ability = 1, Location = 202, Form = 1, Shiny = false, IV3 = true, Version = GameVersion.US }, // Vikavolt + new EncounterStatic { Gift = true, Species = 777, Level = 35, Ability = 4, Location = 202, Form = 1, Shiny = false, IV3 = true, Version = GameVersion.UM }, // Togedemaru new EncounterStatic { Gift = true, Species = 778, Level = 40, Ability = 1, Location = 202, Form = 2, Shiny = false, IV3 = true, }, // Mimikyu - new EncounterStatic { Gift = true, Species = 743, Level = 50, Ability = 4, Location = 202, Form = 1, Shiny = false, IV3 = true, }, // Ribombee - new EncounterStatic { Gift = true, Species = 784, Level = 50, Ability = 4, Location = 202, Form = 1, Shiny = false, IV3 = true, }, // Kommo-o + new EncounterStatic { Gift = true, Species = 743, Level = 50, Ability = 4, Location = 202, Form = 1, Shiny = false, IV3 = true, Version = GameVersion.US }, // Ribombee + new EncounterStatic { Gift = true, Species = 784, Level = 50, Ability = 4, Location = 202, Form = 1, Shiny = false, IV3 = true, Version = GameVersion.UM }, // Kommo-o new EncounterStatic { Gift = true, Species = 718, Level = 63, Ability = 1, Location = -01, Form = 1, Shiny = false, IV3 = true, }, // Zygarde @ ??? new EncounterStatic { Gift = true, Species = 025, Level = 21, Ability = 1, Location = -01, Form = 7, Shiny = false, HeldItem = 571, Nature = Nature.Hardy }, // Pikachu @ ??? @@ -346,10 +347,11 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 658, Level = 44, Location = 158, Relearn = new[] {516,164,185,594}, }, // Greninja @ Poni Wilds new EncounterStatic { Species = 655, Level = 44, Location = 160, Relearn = new[] {273,473,113,595}, }, // Delphox @ Ancient Poni Path - new EncounterStatic { Species = 785, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Tapu Koko @ ??? - new EncounterStatic { Species = 786, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Tapu Lele @ ??? - new EncounterStatic { Species = 787, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Tapu Bulu @ ??? - new EncounterStatic { Species = 788, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Tapu Fini @ ??? + new EncounterStatic { Species = 785, Level = 60, Location = 030, Ability = 1, Shiny = false, IV3 = true, }, // Tapu Koko @ Ruins of Conflict + new EncounterStatic { Species = 786, Level = 60, Location = 092, Ability = 1, Shiny = false, IV3 = true, }, // Tapu Lele @ Ruins of Life + new EncounterStatic { Species = 787, Level = 60, Location = 140, Ability = 1, Shiny = false, IV3 = true, }, // Tapu Bulu @ Ruins of Abundance + new EncounterStatic { Species = 788, Level = 60, Location = 180, Ability = 1, Shiny = false, IV3 = true, }, // Tapu Fini @ Ruins of Hope + new EncounterStatic { Species = 023, Level = 10, Location = 012, Ability = 1, }, // Ekans @ Route 2 new EncounterStatic { Species = 103, Level = 40, Location = -01, Ability = 1, Form = 1, }, // Exeggutor @ ??? new EncounterStatic { Species = 785, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Tapu Koko @ ??? @@ -375,48 +377,50 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 021, Level = 04, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {043,228,000,000}, }, // Spearow @ ??? new EncounterStatic { Species = 127, Level = 42, Location = 184, Shiny = false, }, // Pinsir @ Exeggutor Island new EncounterStatic { Species = 127, Level = 43, Location = 184, Shiny = false, }, // Pinsir @ Exeggutor Island - new EncounterStatic { Species = 127, Level = 42, Location = 184, Shiny = false, }, // Pinsir @ Exeggutor Island new EncounterStatic { Species = 800, Level = 65, Location = 146, Ability = 1, Shiny = false, IV3 = true, Relearn = new[] {722,334,408,400}, HeldItem = 923, }, // Necrozma @ Mount Lanakila new EncounterStatic { Species = 743, Level = 55, Location = -01, Ability = 2, Shiny = false, IVs = new[] {31,01,31,01,31,31}, Relearn = new[] {405,577,483,605}, Form = 1, Gender = 1, HeldItem = 184, }, // Ribombee @ ??? new EncounterStatic { Species = 279, Level = 52, Location = -01, Ability = 2, Shiny = false, IVs = new[] {15,31,15,15,15,31}, Relearn = new[] {254,503,255,402}, Gender = 1, }, // Pelipper @ ??? new EncounterStatic { Species = 242, Level = 53, Location = -01, Ability = 2, Shiny = false, IVs = new[] {15,00,00,00,00,00}, Relearn = new[] {505,113,270,605}, Gender = 1, }, // Blissey @ ??? - new EncounterStatic { Species = 144, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {246,573,115,258}, }, // Articuno @ ??? - new EncounterStatic { Species = 145, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {246,435,365,240}, }, // Zapdos @ ??? - new EncounterStatic { Species = 146, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {246,053,403,241}, }, // Moltres @ ??? - new EncounterStatic { Species = 250, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {682,221,326,246}, HeldItem = 044, }, // Ho-Oh @ ??? - new EncounterStatic { Species = 384, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Rayquaza @ ??? - new EncounterStatic { Species = 488, Level = 60, Location = 222, Ability = 1, IV3 = true, Gender = 1, }, // Cresselia @ Ultra Space Wilds - new EncounterStatic { Species = 641, Level = 60, Location = -01, Ability = 1, IV3 = true, Gender = 0, }, // Tornadus @ ??? - new EncounterStatic { Species = 642, Level = 60, Location = -01, Ability = 1, IV3 = true, Gender = 0, }, // Thundurus @ ??? - new EncounterStatic { Species = 645, Level = 60, Location = -01, Ability = 1, IV3 = true, Gender = 0, }, // Landorus @ ??? - new EncounterStatic { Species = 717, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {613,399,566,094}, }, // Yveltal @ ??? - new EncounterStatic { Species = 150, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {094,105,129,427}, }, // Mewtwo @ ??? - new EncounterStatic { Species = 243, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Raikou @ ??? - new EncounterStatic { Species = 244, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {023,044,207,436}, }, // Entei @ ??? - new EncounterStatic { Species = 483, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Dialga @ ??? - new EncounterStatic { Species = 638, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {533,014,098,442}, }, // Cobalion @ ??? - new EncounterStatic { Species = 639, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {533,014,157,444}, }, // Terrakion @ ??? - new EncounterStatic { Species = 640, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {533,014,202,348}, }, // Virizion @ ??? - new EncounterStatic { Species = 643, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Reshiram @ ??? - new EncounterStatic { Species = 644, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Zekrom @ ??? - new EncounterStatic { Species = 716, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {601,532,400,585}, }, // Xerneas @ ??? - new EncounterStatic { Species = 377, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Regirock @ ??? - new EncounterStatic { Species = 378, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Regice @ ??? - new EncounterStatic { Species = 379, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Registeel @ ??? - new EncounterStatic { Species = 383, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {089,619,339,076}, }, // Groudon @ ??? - new EncounterStatic { Species = 485, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Heatran @ ??? - new EncounterStatic { Species = 486, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {428,279,146,109}, }, // Regigigas @ ??? - new EncounterStatic { Species = 484, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Palkia @ ??? - new EncounterStatic { Species = 487, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {467,396,414,337}, }, // Giratina @ ??? - new EncounterStatic { Species = 245, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {061,062,054,240}, }, // Suicune @ ??? - new EncounterStatic { Species = 249, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {285,177,326,246}, }, // Lugia @ ??? - new EncounterStatic { Species = 380, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {296,406,375,273}, Gender = 1, }, // Latias @ ??? - new EncounterStatic { Species = 381, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {295,406,375,225}, Gender = 0, }, // Latios @ ??? - new EncounterStatic { Species = 382, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {058,618,347,330}, }, // Kyogre @ ??? - new EncounterStatic { Species = 480, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {326,281,133,129}, }, // Uxie @ ??? - new EncounterStatic { Species = 481, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {326,204,248,129}, }, // Mesprit @ ??? - new EncounterStatic { Species = 482, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {326,417,253,129}, }, // Azelf @ ??? - new EncounterStatic { Species = 646, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Kyurem @ ??? + + // Legendaries @ Ultra Space Wilds + new EncounterStatic { Species = 144, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {246,573,115,258}, }, // Articuno + new EncounterStatic { Species = 145, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {246,435,365,240}, }, // Zapdos + new EncounterStatic { Species = 146, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {246,053,403,241}, }, // Moltres + new EncounterStatic { Species = 150, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {094,105,129,427}, }, // Mewtwo + new EncounterStatic { Species = 243, Level = 60, Location = 222, Ability = 1, IV3 = true, Version = GameVersion.US }, // Raikou + new EncounterStatic { Species = 244, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {023,044,207,436}, Version = GameVersion.UM }, // Entei + new EncounterStatic { Species = 245, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {061,062,054,240}, }, // Suicune + new EncounterStatic { Species = 249, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {285,177,326,246}, Version = GameVersion.UM }, // Lugia + new EncounterStatic { Species = 250, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {682,221,326,246}, HeldItem = 044, Version = GameVersion.US }, // Ho-Oh + new EncounterStatic { Species = 377, Level = 60, Location = 222, Ability = 1, IV3 = true, }, // Regirock + new EncounterStatic { Species = 378, Level = 60, Location = 222, Ability = 1, IV3 = true, }, // Regice + new EncounterStatic { Species = 379, Level = 60, Location = 222, Ability = 1, IV3 = true, }, // Registeel + new EncounterStatic { Species = 380, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {296,406,375,273}, Gender = 1, Version = GameVersion.UM }, // Latias + new EncounterStatic { Species = 381, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {295,406,375,225}, Gender = 0, Version = GameVersion.US }, // Latios + new EncounterStatic { Species = 382, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {058,618,347,330}, Version = GameVersion.UM }, // Kyogre + new EncounterStatic { Species = 383, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {089,619,339,076}, Version = GameVersion.US }, // Groudon + new EncounterStatic { Species = 384, Level = 60, Location = 222, Ability = 1, IV3 = true, }, // Rayquaza + new EncounterStatic { Species = 480, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {326,281,133,129}, }, // Uxie + new EncounterStatic { Species = 481, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {326,204,248,129}, }, // Mesprit + new EncounterStatic { Species = 482, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {326,417,253,129}, }, // Azelf + new EncounterStatic { Species = 483, Level = 60, Location = 222, Ability = 1, IV3 = true, Version = GameVersion.US }, // Dialga + new EncounterStatic { Species = 484, Level = 60, Location = 222, Ability = 1, IV3 = true, Version = GameVersion.UM }, // Palkia + new EncounterStatic { Species = 485, Level = 60, Location = 222, Ability = 1, IV3 = true, Version = GameVersion.US }, // Heatran + new EncounterStatic { Species = 486, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {428,279,146,109}, Version = GameVersion.UM }, // Regigigas + new EncounterStatic { Species = 487, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {467,396,414,337}, }, // Giratina + new EncounterStatic { Species = 488, Level = 60, Location = 222, Ability = 1, IV3 = true, Gender = 1, }, // Cresselia + new EncounterStatic { Species = 638, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {533,014,098,442}, }, // Cobalion + new EncounterStatic { Species = 639, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {533,014,157,444}, }, // Terrakion + new EncounterStatic { Species = 640, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {533,014,202,348}, }, // Virizion + new EncounterStatic { Species = 641, Level = 60, Location = 222, Ability = 1, IV3 = true, Gender = 0, Version = GameVersion.US }, // Tornadus + new EncounterStatic { Species = 642, Level = 60, Location = 222, Ability = 1, IV3 = true, Gender = 0, Version = GameVersion.UM }, // Thundurus + new EncounterStatic { Species = 643, Level = 60, Location = 222, Ability = 1, IV3 = true, Version = GameVersion.US }, // Reshiram + new EncounterStatic { Species = 644, Level = 60, Location = 222, Ability = 1, IV3 = true, Version = GameVersion.UM }, // Zekrom + new EncounterStatic { Species = 645, Level = 60, Location = 222, Ability = 1, IV3 = true, Gender = 0, }, // Landorus + new EncounterStatic { Species = 646, Level = 60, Location = 222, Ability = 1, IV3 = true, }, // Kyurem + new EncounterStatic { Species = 716, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {601,532,400,585}, Version = GameVersion.US }, // Xerneas + new EncounterStatic { Species = 717, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {613,399,566,094}, Version = GameVersion.UM }, // Yveltal + new EncounterStatic { Species = 334, Level = 60, Location = 222, IV3 = true, }, // Altaria @ Ultra Space Wilds new EncounterStatic { Species = 469, Level = 60, Location = 222, IV3 = true, }, // Yanmega @ Ultra Space Wilds new EncounterStatic { Species = 561, Level = 60, Location = 222, IV3 = true, }, // Sigilyph @ Ultra Space Wilds @@ -437,13 +441,14 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 618, Level = 60, Location = 222, IV3 = true, }, // Stunfisk @ Ultra Space Wilds new EncounterStatic { Species = 419, Level = 60, Location = 222, IV3 = true, }, // Floatzel @ Ultra Space Wilds new EncounterStatic { Species = 195, Level = 60, Location = 222, IV3 = true, }, // Quagsire @ Ultra Space Wilds - new EncounterStatic { Species = 793, Level = 60, Location = -01, Ability = 1, IV3 = true, Relearn = new[] {408,491,446,243}, }, // Nihilego @ ??? + + new EncounterStatic { Species = 793, Level = 60, Location = 190, Ability = 1, IV3 = true, Relearn = new[] {408,491,446,243}, }, // Nihilego @ Ultra Deep Sea new EncounterStatic { Species = 794, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Buzzwole @ ??? - new EncounterStatic { Species = 795, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Pheromosa @ ??? - new EncounterStatic { Species = 796, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Xurkitree @ ??? - new EncounterStatic { Species = 797, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Celesteela @ ??? + new EncounterStatic { Species = 795, Level = 60, Location = 214, Ability = 1, IV3 = true, }, // Pheromosa @ Ultra Desert + new EncounterStatic { Species = 796, Level = 60, Location = 210, Ability = 1, IV3 = true, }, // Xurkitree @ Ultra Plant + new EncounterStatic { Species = 797, Level = 60, Location = 212, Ability = 1, IV3 = true, }, // Celesteela @ Ultra Crater new EncounterStatic { Species = 798, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Kartana @ ??? - new EncounterStatic { Species = 799, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Guzzlord @ ??? + new EncounterStatic { Species = 799, Level = 60, Location = 220, Ability = 1, IV3 = true, }, // Guzzlord @ Ultra Ruin new EncounterStatic { Species = 735, Level = 60, Location = -01, Shiny = false, IVs = new[] {31,29,31,31,31,31}, Relearn = new[] {158,423,182,242}, Form = 1, Gender = 0, HeldItem = 189, }, // Gumshoos @ ??? new EncounterStatic { Species = 734, Level = 58, Location = -01, Shiny = false, IVs = new[] {31,31,31,00,31,31}, Relearn = new[] {281,189,259,162}, }, // Yungoos @ ??? new EncounterStatic { Species = 020, Level = 60, Location = -01, Shiny = false, IVs = new[] {31,31,31,31,31,31}, Relearn = new[] {158,675,182,104}, Form = 2, Gender = 0, HeldItem = 189, }, // Raticate @ ??? @@ -455,18 +460,18 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 092, Level = 19, Location = -01, Shiny = false, Relearn = new[] {174,109,122,101}, }, // Gastly @ ??? new EncounterStatic { Species = 425, Level = 19, Location = -01, Shiny = false, Relearn = new[] {310,132,016,371}, }, // Drifloon @ ??? new EncounterStatic { Species = 769, Level = 30, Location = 116, Shiny = false, Relearn = new[] {310,523,072,328}, }, // Sandygast @ Route 15 - new EncounterStatic { Species = 592, Level = 34, Location = 126, Shiny = false, Gender = 1, }, // Frillish @ ??? + new EncounterStatic { Species = 592, Level = 34, Location = 126, Shiny = false, Gender = 1, }, // Frillish @ Route 14 new EncounterStatic { Species = 132, Level = 29, Location = 060, IVs = new[] {-1,-1,31,30,-1,00}, }, // Ditto @ Route 9 new EncounterStatic { Species = 132, Level = 29, Location = 072, IVs = new[] {-1,-1,30,30,-1,31}, }, // Ditto @ Konikoni City new EncounterStatic { Species = 132, Level = 29, Location = 072, IVs = new[] {-1,31,30,-1,-1,30}, }, // Ditto @ Konikoni City new EncounterStatic { Species = 132, Level = 29, Location = 072, IVs = new[] {-1,00,-1,31,30,-1}, }, // Ditto @ Konikoni City new EncounterStatic { Species = 132, Level = 29, Location = 072, IVs = new[] {-1,30,-1,-1,30,31}, }, // Ditto @ Konikoni City - new EncounterStatic { Species = 718, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, Relearn = new[] {616,137,219,225}, }, // Zygarde @ ??? - new EncounterStatic { Species = 805, Level = 60, Location = -01, Ability = 1, IV3 = true}, // Stakataka @ ??? - new EncounterStatic { Species = 806, Level = 60, Location = -01, Ability = 1, IV3 = true }, // Blacephalon @ ??? + new EncounterStatic { Species = 718, Level = 60, Location = 182, Ability = 1, Shiny = false, IV3 = true, Relearn = new[] {616,137,219,225}, }, // Zygarde @ Resolution Cave + new EncounterStatic { Species = 805, Level = 60, Location = 164, Ability = 1, IV3 = true, Version = GameVersion.UM }, // Stakataka @ Poni Grove + new EncounterStatic { Species = 806, Level = 60, Location = 164, Ability = 1, IV3 = true, Version = GameVersion.US }, // Blacephalon @ Poni Grove new EncounterStatic { Species = 105, Level = 22, Location = -01, Ability = 1, Shiny = false, Form = 2, Gender = 0, HeldItem = 258, }, // Marowak @ ??? new EncounterStatic { Species = 758, Level = 20, Location = -01, Ability = 1, Shiny = false, IVs = new[] {15,01,31,15,31,01}, Relearn = new[] {139,474,481,259}, Gender = 1, }, // Salazzle @ ??? - new EncounterStatic { Species = 101, Level = 60, Location = -01, Ability = 1, Shiny = false, }, // Electrode @ ??? + new EncounterStatic { Species = 101, Level = 60, Location = 224, Ability = 1, Shiny = false, }, // Electrode @ Team Rocket's Castle }; internal static readonly EncounterTrade[] TradeGift_USUM = { From 1d44c45fe02caf6b7ee761763a31aa3bd23ede8a Mon Sep 17 00:00:00 2001 From: sora10pls Date: Fri, 10 Nov 2017 13:16:43 -0500 Subject: [PATCH 50/81] Fix indenting --- .../Legality/Encounters/Data/Encounters7.cs | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs index df9d1be71..20a5c6b20 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs @@ -383,23 +383,23 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 242, Level = 53, Location = -01, Ability = 2, Shiny = false, IVs = new[] {15,00,00,00,00,00}, Relearn = new[] {505,113,270,605}, Gender = 1, }, // Blissey @ ??? // Legendaries @ Ultra Space Wilds - new EncounterStatic { Species = 144, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {246,573,115,258}, }, // Articuno + new EncounterStatic { Species = 144, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {246,573,115,258}, }, // Articuno new EncounterStatic { Species = 145, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {246,435,365,240}, }, // Zapdos new EncounterStatic { Species = 146, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {246,053,403,241}, }, // Moltres - new EncounterStatic { Species = 150, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {094,105,129,427}, }, // Mewtwo + new EncounterStatic { Species = 150, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {094,105,129,427}, }, // Mewtwo new EncounterStatic { Species = 243, Level = 60, Location = 222, Ability = 1, IV3 = true, Version = GameVersion.US }, // Raikou new EncounterStatic { Species = 244, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {023,044,207,436}, Version = GameVersion.UM }, // Entei new EncounterStatic { Species = 245, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {061,062,054,240}, }, // Suicune new EncounterStatic { Species = 249, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {285,177,326,246}, Version = GameVersion.UM }, // Lugia new EncounterStatic { Species = 250, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {682,221,326,246}, HeldItem = 044, Version = GameVersion.US }, // Ho-Oh - new EncounterStatic { Species = 377, Level = 60, Location = 222, Ability = 1, IV3 = true, }, // Regirock + new EncounterStatic { Species = 377, Level = 60, Location = 222, Ability = 1, IV3 = true, }, // Regirock new EncounterStatic { Species = 378, Level = 60, Location = 222, Ability = 1, IV3 = true, }, // Regice new EncounterStatic { Species = 379, Level = 60, Location = 222, Ability = 1, IV3 = true, }, // Registeel - new EncounterStatic { Species = 380, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {296,406,375,273}, Gender = 1, Version = GameVersion.UM }, // Latias + new EncounterStatic { Species = 380, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {296,406,375,273}, Gender = 1, Version = GameVersion.UM }, // Latias new EncounterStatic { Species = 381, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {295,406,375,225}, Gender = 0, Version = GameVersion.US }, // Latios new EncounterStatic { Species = 382, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {058,618,347,330}, Version = GameVersion.UM }, // Kyogre - new EncounterStatic { Species = 383, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {089,619,339,076}, Version = GameVersion.US }, // Groudon - new EncounterStatic { Species = 384, Level = 60, Location = 222, Ability = 1, IV3 = true, }, // Rayquaza + new EncounterStatic { Species = 383, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {089,619,339,076}, Version = GameVersion.US }, // Groudon + new EncounterStatic { Species = 384, Level = 60, Location = 222, Ability = 1, IV3 = true, }, // Rayquaza new EncounterStatic { Species = 480, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {326,281,133,129}, }, // Uxie new EncounterStatic { Species = 481, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {326,204,248,129}, }, // Mesprit new EncounterStatic { Species = 482, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {326,417,253,129}, }, // Azelf @@ -412,14 +412,14 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 638, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {533,014,098,442}, }, // Cobalion new EncounterStatic { Species = 639, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {533,014,157,444}, }, // Terrakion new EncounterStatic { Species = 640, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {533,014,202,348}, }, // Virizion - new EncounterStatic { Species = 641, Level = 60, Location = 222, Ability = 1, IV3 = true, Gender = 0, Version = GameVersion.US }, // Tornadus + new EncounterStatic { Species = 641, Level = 60, Location = 222, Ability = 1, IV3 = true, Gender = 0, Version = GameVersion.US }, // Tornadus new EncounterStatic { Species = 642, Level = 60, Location = 222, Ability = 1, IV3 = true, Gender = 0, Version = GameVersion.UM }, // Thundurus new EncounterStatic { Species = 643, Level = 60, Location = 222, Ability = 1, IV3 = true, Version = GameVersion.US }, // Reshiram new EncounterStatic { Species = 644, Level = 60, Location = 222, Ability = 1, IV3 = true, Version = GameVersion.UM }, // Zekrom - new EncounterStatic { Species = 645, Level = 60, Location = 222, Ability = 1, IV3 = true, Gender = 0, }, // Landorus - new EncounterStatic { Species = 646, Level = 60, Location = 222, Ability = 1, IV3 = true, }, // Kyurem - new EncounterStatic { Species = 716, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {601,532,400,585}, Version = GameVersion.US }, // Xerneas - new EncounterStatic { Species = 717, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {613,399,566,094}, Version = GameVersion.UM }, // Yveltal + new EncounterStatic { Species = 645, Level = 60, Location = 222, Ability = 1, IV3 = true, Gender = 0, }, // Landorus + new EncounterStatic { Species = 646, Level = 60, Location = 222, Ability = 1, IV3 = true, }, // Kyurem + new EncounterStatic { Species = 716, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {601,532,400,585}, Version = GameVersion.US }, // Xerneas + new EncounterStatic { Species = 717, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {613,399,566,094}, Version = GameVersion.UM }, // Yveltal new EncounterStatic { Species = 334, Level = 60, Location = 222, IV3 = true, }, // Altaria @ Ultra Space Wilds new EncounterStatic { Species = 469, Level = 60, Location = 222, IV3 = true, }, // Yanmega @ Ultra Space Wilds From 6cd2a08238a674a355f83061fb237f13d3c77c72 Mon Sep 17 00:00:00 2001 From: sora10pls Date: Fri, 10 Nov 2017 13:19:47 -0500 Subject: [PATCH 51/81] Fix Type: Null location --- PKHeX.Core/Legality/Encounters/Data/Encounters7.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs index 20a5c6b20..12108ddb6 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs @@ -185,7 +185,7 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Gift = true, Species = 133, Level = 01, EggLocation = 60002, }, // Eevee @ Nursery helpers new EncounterStatic { Gift = true, Species = 137, Level = 30, Location = -01, }, // Porygon @ ??? new EncounterStatic { Gift = true, Species = 772, Level = 60, Location = 188, IV3 = true, }, // Type: Null @ Aether Paradise - new EncounterStatic { Gift = true, Species = 772, Level = 60, Location = 164, IV3 = true, }, // Type: Null @ Poni Grove + new EncounterStatic { Gift = true, Species = 772, Level = 60, Location = 160, IV3 = true, }, // Type: Null @ Ancient Poni Path new EncounterStatic { Gift = true, Species = 801, Level = 50, Location = -01, IV3 = true, Shiny = false, Ability = 2, HeldItem = 795, }, // Magearna @ ??? new EncounterStatic { Gift = true, Species = 789, Level = 05, Location = -01, IV3 = true, Shiny = false, Ability = 2, }, // Cosmog @ ??? new EncounterStatic { Gift = true, Species = 142, Level = 40, Location = 172, }, // Aerodactyl @ Seafolk Village From e455aef501a00f81b9df376eaa4b5059c7ee4482 Mon Sep 17 00:00:00 2001 From: Michael Scire Date: Fri, 10 Nov 2017 15:08:20 -0800 Subject: [PATCH 52/81] USUM event constants for starter choice/Tapu rebattle --- PKHeX.Core/PKHeX.Core.csproj | 2 ++ PKHeX.Core/Resources/text/script/const_usum_en.txt | 5 +++++ PKHeX.WinForms/Subforms/Save Editors/SAV_EventFlags.cs | 4 ++++ 3 files changed, 11 insertions(+) create mode 100644 PKHeX.Core/Resources/text/script/const_usum_en.txt diff --git a/PKHeX.Core/PKHeX.Core.csproj b/PKHeX.Core/PKHeX.Core.csproj index 5965d79f0..861bfa4db 100644 --- a/PKHeX.Core/PKHeX.Core.csproj +++ b/PKHeX.Core/PKHeX.Core.csproj @@ -594,6 +594,7 @@ + @@ -1234,6 +1235,7 @@ + diff --git a/PKHeX.Core/Resources/text/script/const_usum_en.txt b/PKHeX.Core/Resources/text/script/const_usum_en.txt new file mode 100644 index 000000000..62c311d72 --- /dev/null +++ b/PKHeX.Core/Resources/text/script/const_usum_en.txt @@ -0,0 +1,5 @@ +148 Starter 00:Rowlet,01:Litten,02:Popplio +432 Tapu Koko 03:Battleable,04:Defeated,05:Captured +433 Tapu Lele 01:Battleable,02:Defeated,03:Captured +434 Tapu Bulu 01:Battleable,02:Defeated,03:Captured +404 Tapu Fini 03:Battleable,04:Defeated,05:Captured \ No newline at end of file diff --git a/PKHeX.WinForms/Subforms/Save Editors/SAV_EventFlags.cs b/PKHeX.WinForms/Subforms/Save Editors/SAV_EventFlags.cs index b8a9fdb70..fa7cdb3b3 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/SAV_EventFlags.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/SAV_EventFlags.cs @@ -114,6 +114,10 @@ private string[] GetStringList(string type) case GameVersion.MN: gamePrefix = "sm"; break; + case GameVersion.US: + case GameVersion.UM: + gamePrefix = "usum"; + break; case GameVersion.DP: gamePrefix = "dp"; break; From 8ab39cae7b4752965c4f25a79a422125e246939a Mon Sep 17 00:00:00 2001 From: Kurt Date: Fri, 10 Nov 2017 17:08:43 -0800 Subject: [PATCH 53/81] Update dex form handling --- PKHeX.Core/Saves/SAV7.cs | 18 ++++++++++++++++-- .../Save Editors/Gen7/SAV_PokedexSM.cs | 6 +++--- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/PKHeX.Core/Saves/SAV7.cs b/PKHeX.Core/Saves/SAV7.cs index 44281b375..59971a08e 100644 --- a/PKHeX.Core/Saves/SAV7.cs +++ b/PKHeX.Core/Saves/SAV7.cs @@ -1022,7 +1022,9 @@ protected override void SetDex(PKM pkm) int fc = Personal[pkm.Species].FormeCount; if (fc > 1) // actually has forms { - int f = SaveUtil.GetDexFormIndexSM(pkm.Species, fc, MaxSpeciesID - 1); + int f = USUM + ? SaveUtil.GetDexFormIndexUSUM(pkm.Species, fc, MaxSpeciesID - 1) + : SaveUtil.GetDexFormIndexSM(pkm.Species, fc, MaxSpeciesID - 1); if (f >= 0) // bit index valid bitIndex = f + form; } @@ -1060,7 +1062,7 @@ protected override void SetPartyValues(PKM pkm, bool isParty) ((PK7)pkm).FormDuration = duration; } - private static bool SanitizeFormsToIterate(int species, out int formStart, out int formEnd, int formIn) + private bool SanitizeFormsToIterate(int species, out int formStart, out int formEnd, int formIn) { // 004AA370 in Moon // Simplified in terms of usage -- only overrides to give all the battle forms for a pkm @@ -1069,14 +1071,26 @@ private static bool SanitizeFormsToIterate(int species, out int formStart, out i switch (species) { case 351: // Castform + case 778 when USUM: // Mimikyu formStart = 0; formEnd = 3; return true; + + case 020: // Raticate + case 105 when USUM: // Marowak + formStart = 0; + formEnd = 2; + return true; + case 421: // Cherrim case 555: // Darmanitan case 648: // Meloetta case 746: // Wishiwashi case 778: // Mimikyu + case 743 when USUM: // Ribombee + case 744 when USUM: // Rockruff + case 752 when USUM: // Araquanid + case 777 when USUM: // Togedemaru formStart = 0; formEnd = 1; return true; diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_PokedexSM.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_PokedexSM.cs index dec905429..414b9a152 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_PokedexSM.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_PokedexSM.cs @@ -41,7 +41,7 @@ public SAV_PokedexSM(SaveFile sav) int c = SAV.Personal[i].FormeCount; for (int j = 0; j < c; j++) { - int x = SaveUtil.GetDexFormIndexSM(i, c, j); + int x = SAV.USUM ? SaveUtil.GetDexFormIndexUSUM(i, c, j) : SaveUtil.GetDexFormIndexSM(i, c, j); if (x == -1 || j == 0) continue; baseSpecies.Add(i); @@ -112,7 +112,7 @@ private void ChangeLBForms(object sender, EventArgs e) int fc = SAV.Personal[bspecies].FormeCount; if (fc > 1) // actually has forms { - int f = SaveUtil.GetDexFormIndexSM(bspecies, fc, SAV.MaxSpeciesID - 1); + int f = SAV.USUM ? SaveUtil.GetDexFormIndexUSUM(bspecies, fc, SAV.MaxSpeciesID - 1) : SaveUtil.GetDexFormIndexSM(bspecies, fc, SAV.MaxSpeciesID - 1); if (f >= 0) // bit index valid species = f + form + 1; else @@ -156,7 +156,7 @@ private bool FillLBForms() if (fc <= 1) return true; - int f = SaveUtil.GetDexFormIndexSM(bspecies, fc, SAV.MaxSpeciesID - 1); + int f = SAV.USUM ? SaveUtil.GetDexFormIndexUSUM(bspecies, fc, SAV.MaxSpeciesID - 1) : SaveUtil.GetDexFormIndexSM(bspecies, fc, SAV.MaxSpeciesID - 1); if (f < 0) return true; // bit index valid From 6127dd7a081ccff73874e878441119205285a057 Mon Sep 17 00:00:00 2001 From: Kurt Date: Fri, 10 Nov 2017 17:37:04 -0800 Subject: [PATCH 54/81] split record maxes slightly different in USUM, any difference increased the cap: 070 999999->999999999 071 999999->999999999 072 999999->999999999 073 999999->999999999 074 999999->999999999 192 9999->65535 193 9999->65535 194 9999->65535 197 9999->65535 Worth noting that these were undocumented record IDs and likely unused in Sun/Moon; don't really need to split these tables but good for documentation purposes. Trainer7 grabs maxes from the save without specifying version, so add an overload to default to USUM (even though the unused records will have bad caps, they're unused in SM so whatever). --- PKHeX.Core/Saves/SAV7.cs | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/PKHeX.Core/Saves/SAV7.cs b/PKHeX.Core/Saves/SAV7.cs index 59971a08e..415445300 100644 --- a/PKHeX.Core/Saves/SAV7.cs +++ b/PKHeX.Core/Saves/SAV7.cs @@ -736,7 +736,8 @@ public int GetRecord(int recordID) public void SetRecord(int recordID, int value) { int ofs = GetRecordOffset(recordID); - int max = GetRecordMax(recordID); + var maxes = USUM ? RecordMaxType_USUM: RecordMaxType_SM; + int max = GetRecordMax(recordID, maxes); if (value > max) value = max; if (recordID < 100) @@ -753,9 +754,9 @@ public int GetRecordOffset(int recordID) return -1; } - public static int GetRecordMax(int recordID) => recordID < 200 ? RecordMax[RecordMaxType[recordID]] : 0; + public static int GetRecordMax(int recordID, int[] maxes = null) => recordID < 200 ? RecordMax[(maxes ?? RecordMaxType_USUM)[recordID]] : 0; private static readonly int[] RecordMax = {999999999, 9999999, 999999, 99999, 65535, 9999, 999}; - private static readonly int[] RecordMaxType = + private static readonly int[] RecordMaxType_SM = { 0, 0, 0, 0, 0, 0, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -779,6 +780,30 @@ public int GetRecordOffset(int recordID) 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, }; + private static readonly int[] RecordMaxType_USUM = + { + 0, 0, 0, 0, 0, 0, 2, 2, 2, 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, 2, 2, 2, 0, 0, 0, 2, 2, 0, + 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, + 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, 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, 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, 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, 5, 4, 4, 4, 5, 5, 4, 5, 5 + }; public ushort PokeFinderCameraVersion { From f5a6f2316151abce41d1d21b6300a965e2f57b8d Mon Sep 17 00:00:00 2001 From: Kurt Date: Fri, 10 Nov 2017 19:43:31 -0800 Subject: [PATCH 55/81] Add more static enc data clear out unused (highly certain) SM encounters add solgaleo/lunala locations add partner form pikachu --- .../Legality/Encounters/Data/Encounters7.cs | 119 ++---------------- PKHeX.WinForms/Subforms/SAV_Database.cs | 7 +- 2 files changed, 18 insertions(+), 108 deletions(-) diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs index 12108ddb6..1029dfb9a 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs @@ -206,108 +206,17 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Gift = true, Species = 784, Level = 50, Ability = 4, Location = 202, Form = 1, Shiny = false, IV3 = true, Version = GameVersion.UM }, // Kommo-o new EncounterStatic { Gift = true, Species = 718, Level = 63, Ability = 1, Location = -01, Form = 1, Shiny = false, IV3 = true, }, // Zygarde @ ??? - new EncounterStatic { Gift = true, Species = 025, Level = 21, Ability = 1, Location = -01, Form = 7, Shiny = false, HeldItem = 571, Nature = Nature.Hardy }, // Pikachu @ ??? + + new EncounterStatic // Pikachu (Pikashunium Z), should probably be a fake mystery gift as it has OT details + { + Gift = true, Species = 25, Level = 21, Location = 40005, Shiny = false, Form = 7, HeldItem = 571, Nature = Nature.Hardy, + Ability = 1, Fateful = true, RibbonWishing = true, Relearn = new[] {85, 98, 87, 231}, + }, new EncounterStatic { Species = 731, Level = 03, Location = -01, Ability = 1, Shiny = false, }, // Pikipek @ ??? new EncounterStatic { Species = 793, Level = 27, Location = -01, Ability = 1, Shiny = false, IVs = new[] {31,01,31,01,31,31}, }, // Nihilego @ ??? - new EncounterStatic { Species = 791, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, Relearn = new[] {713,322,242,428}, Version = GameVersion.SN }, // Solgaleo @ ??? - new EncounterStatic { Species = 792, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, Relearn = new[] {714,322,539,585}, Version = GameVersion.MN }, // Lunala @ ??? - new EncounterStatic { Species = 735, Level = 12, Location = -01, Ability = 4, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {162,044,033,184}, Form = 1, Gender = 0, HeldItem = 151, }, // Gumshoos @ ??? - new EncounterStatic { Species = 734, Level = 11, Location = -01, Ability = 2, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {028,033,158,043}, }, // Yungoos @ ??? - new EncounterStatic { Species = 735, Level = 11, Location = -01, Ability = 4, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {028,044,162,043}, }, // Gumshoos @ ??? - new EncounterStatic { Species = 734, Level = 11, Location = -01, Ability = 2, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {028,033,162,043}, }, // Yungoos @ ??? - new EncounterStatic { Species = 734, Level = 10, Location = -01, Ability = 1, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {043,033,228,316}, Gender = 0, }, // Yungoos @ ??? - new EncounterStatic { Species = 020, Level = 12, Location = -01, Ability = 1, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {162,044,154,184}, Form = 2, HeldItem = 151, }, // Raticate @ ??? - new EncounterStatic { Species = 019, Level = 11, Location = -01, Ability = 1, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {033,039,098,158}, Form = 1, }, // Rattata @ ??? - new EncounterStatic { Species = 020, Level = 11, Location = -01, Ability = 1, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {116,039,033,162}, Form = 1, }, // Raticate @ ??? - new EncounterStatic { Species = 019, Level = 11, Location = -01, Ability = 1, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {033,039,098,162}, Form = 1, }, // Rattata @ ??? - new EncounterStatic { Species = 019, Level = 10, Location = -01, Ability = 2, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {033,039,098,228}, Form = 1, }, // Rattata @ ??? - new EncounterStatic { Species = 746, Level = 20, Location = -01, Ability = 1, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {055,045,240,487}, Form = 1, Gender = 0, HeldItem = 158, }, // Wishiwashi @ ??? - new EncounterStatic { Species = 746, Level = 17, Location = -01, Ability = 1, Shiny = false, }, // Wishiwashi @ ??? - new EncounterStatic { Species = 746, Level = 18, Location = -01, Ability = 1, Shiny = false, }, // Wishiwashi @ ??? - new EncounterStatic { Species = 594, Level = 18, Location = -01, Ability = 1, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {270,003,505,055}, }, // Alomomola @ ??? - new EncounterStatic { Species = 746, Level = 18, Location = -01, Ability = 1, Shiny = false, }, // Wishiwashi @ ??? - new EncounterStatic { Species = 758, Level = 22, Location = -01, Ability = 1, Shiny = false, IVs = new[] {31,01,15,01,15,01}, Relearn = new[] {259,599,092,481}, Form = 1, Gender = 1, HeldItem = 204, }, // Salazzle @ ??? - new EncounterStatic { Species = 105, Level = 18, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {172,125,039,045}, Form = 1, }, // Marowak @ ??? - new EncounterStatic { Species = 105, Level = 18, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {172,125,039,045}, Form = 1, }, // Marowak @ ??? - new EncounterStatic { Species = 025, Level = 20, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {486,086,098,589}, }, // Pikachu @ ??? - new EncounterStatic { Species = 757, Level = 20, Location = -01, Ability = 1, Shiny = false, IVs = new[] {15,15,15,15,15,15}, Relearn = new[] {139,474,269,010}, Gender = 0, }, // Salandit @ ??? - new EncounterStatic { Species = 754, Level = 24, Location = -01, Ability = 1, Shiny = false, IVs = new[] {31,31,31,01,31,31}, Relearn = new[] {490,404,669,235}, Form = 1, Gender = 1, HeldItem = 271, }, // Lurantis @ ??? - new EncounterStatic { Species = 047, Level = 22, Location = -01, Ability = 2, Shiny = false, Relearn = new[] {440,141,210,147}, }, // Parasect @ ??? - new EncounterStatic { Species = 756, Level = 22, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {310,275,072,079}, }, // Shiinotic @ ??? - new EncounterStatic { Species = 753, Level = 23, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {075,670,210,074}, }, // Fomantis @ ??? - new EncounterStatic { Species = 753, Level = 23, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {075,670,210,074}, }, // Fomantis @ ??? - new EncounterStatic { Species = 753, Level = 23, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {670,210,275,075}, }, // Fomantis @ ??? - new EncounterStatic { Species = 753, Level = 23, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {670,210,275,075}, }, // Fomantis @ ??? - new EncounterStatic { Species = 764, Level = 22, Location = -01, Ability = 1, Shiny = false, IVs = new[] {30,30,30,30,30,30}, Relearn = new[] {241,666,579,345}, Gender = 1 }, // Comfey @ ??? - new EncounterStatic { Species = 352, Level = 22, Location = -01, Ability = 1, Shiny = false, IVs = new[] {30,10,30,10,30,10}, Relearn = new[] {241,246,146,103}, Gender = 1 }, // Kecleon @ ??? - new EncounterStatic { Species = 738, Level = 29, Location = -01, Ability = 1, Shiny = false, IVs = new[] {31,01,31,01,31,01}, Relearn = new[] {011,268,450,209}, Form = 1, Gender = 0, HeldItem = 184, }, // Vikavolt @ ??? - new EncounterStatic { Species = 736, Level = 27, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {011,081,044,450}, }, // Grubbin @ ??? - new EncounterStatic { Species = 737, Level = 27, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {268,011,450,209}, }, // Charjabug @ ??? - new EncounterStatic { Species = 737, Level = 27, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {268,189,512,209}, }, // Charjabug @ ??? - new EncounterStatic { Species = 737, Level = 27, Location = -01, Ability = 1, Shiny = false, IVs = new[] {15,15,15,15,15,15}, Relearn = new[] {081,011,189,086}, }, // Charjabug @ ??? - new EncounterStatic { Species = 737, Level = 28, Location = -01, Ability = 1, Shiny = false, IVs = new[] {15,15,15,15,15,15}, Relearn = new[] {044,086,189,209}, }, // Charjabug @ ??? - new EncounterStatic { Species = 778, Level = 35, Location = -01, Ability = 1, Shiny = false, IVs = new[] {31,08,31,15,31,15}, Relearn = new[] {421,583,141,163}, Form = 2, Gender = 1, HeldItem = 157, }, // Mimikyu @ ??? - new EncounterStatic { Species = 092, Level = 30, Location = -01, Ability = 1, Shiny = false, IVs = new[] {15,15,15,15,15,15}, Relearn = new[] {174,109,212,095}, }, // Gastly @ ??? - new EncounterStatic { Species = 093, Level = 30, Location = -01, Ability = 1, Shiny = false, IVs = new[] {15,15,15,15,15,15}, Relearn = new[] {122,101,389,095}, }, // Haunter @ ??? - new EncounterStatic { Species = 094, Level = 30, Location = -01, Ability = 1, Shiny = false, IVs = new[] {15,15,15,15,15,15}, Relearn = new[] {101,325,247,095}, }, // Gengar @ ??? - new EncounterStatic { Species = 354, Level = 32, Location = -01, Ability = 1, Shiny = false, IVs = new[] {31,15,31,15,31,15}, Relearn = new[] {103,261,185,174}, }, // Banette @ ??? - new EncounterStatic { Species = 593, Level = 33, Location = -01, Ability = 2, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {352,173,180,101}, }, // Jellicent @ ??? - new EncounterStatic { Species = 784, Level = 49, Location = -01, Ability = 2, Shiny = false, IVs = new[] {31,01,31,01,31,31}, Relearn = new[] {409,337,009,398}, HeldItem = 686, Form = 1, Gender = 0, }, // Kommo-o @ ??? - new EncounterStatic { Species = 782, Level = 42, Location = -01, Ability = 1, Shiny = false, IVs = new[] {31,31,31,31,31,31}, Relearn = new[] {117,033,043,029}, }, // Jangmo-o @ ??? - new EncounterStatic { Species = 783, Level = 44, Location = -01, Ability = 1, Shiny = false, IVs = new[] {31,31,31,31,31,31}, Relearn = new[] {029,475,526,327}, }, // Hakamo-o @ ??? - new EncounterStatic { Species = 715, Level = 48, Location = -01, Ability = 2, Shiny = false, IVs = new[] {31,31,31,31,31,31}, Relearn = new[] {586,103,406,403}, }, // Noivern @ ??? - new EncounterStatic { Species = 212, Level = 46, Location = -01, Ability = 2, Shiny = false, IVs = new[] {15,15,15,15,15,15}, Relearn = new[] {113,228,418,404}, }, // Scizor @ ??? - new EncounterStatic { Species = 793, Level = 55, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Nihilego @ ??? - new EncounterStatic { Species = 793, Level = 55, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Nihilego @ ??? - new EncounterStatic { Species = 794, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Buzzwole @ ??? - new EncounterStatic { Species = 794, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Buzzwole @ ??? - new EncounterStatic { Species = 795, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Pheromosa @ ??? - new EncounterStatic { Species = 795, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Pheromosa @ ??? - new EncounterStatic { Species = 795, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Pheromosa @ ??? - new EncounterStatic { Species = 795, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Pheromosa @ ??? - new EncounterStatic { Species = 796, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Xurkitree @ ??? - new EncounterStatic { Species = 796, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Xurkitree @ ??? - new EncounterStatic { Species = 796, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Xurkitree @ ??? - new EncounterStatic { Species = 796, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Xurkitree @ ??? - new EncounterStatic { Species = 796, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Xurkitree @ ??? - new EncounterStatic { Species = 796, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Xurkitree @ ??? - new EncounterStatic { Species = 796, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Xurkitree @ ??? - new EncounterStatic { Species = 796, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Xurkitree @ ??? - new EncounterStatic { Species = 796, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Xurkitree @ ??? - new EncounterStatic { Species = 796, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Xurkitree @ ??? - new EncounterStatic { Species = 798, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Kartana @ ??? - new EncounterStatic { Species = 798, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Kartana @ ??? - new EncounterStatic { Species = 798, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Kartana @ ??? - new EncounterStatic { Species = 798, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Kartana @ ??? - new EncounterStatic { Species = 798, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Kartana @ ??? - new EncounterStatic { Species = 798, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Kartana @ ??? - new EncounterStatic { Species = 798, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Kartana @ ??? - new EncounterStatic { Species = 798, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Kartana @ ??? - new EncounterStatic { Species = 798, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Kartana @ ??? - new EncounterStatic { Species = 798, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Kartana @ ??? - new EncounterStatic { Species = 798, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Kartana @ ??? - new EncounterStatic { Species = 798, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Kartana @ ??? - new EncounterStatic { Species = 797, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Celesteela @ ??? - new EncounterStatic { Species = 797, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Celesteela @ ??? - new EncounterStatic { Species = 797, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Celesteela @ ??? - new EncounterStatic { Species = 797, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Celesteela @ ??? - new EncounterStatic { Species = 797, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Celesteela @ ??? - new EncounterStatic { Species = 797, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Celesteela @ ??? - new EncounterStatic { Species = 797, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Celesteela @ ??? - new EncounterStatic { Species = 797, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Celesteela @ ??? - new EncounterStatic { Species = 797, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Celesteela @ ??? - new EncounterStatic { Species = 797, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Celesteela @ ??? - new EncounterStatic { Species = 797, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Celesteela @ ??? - new EncounterStatic { Species = 797, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Celesteela @ ??? - new EncounterStatic { Species = 797, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Celesteela @ ??? - new EncounterStatic { Species = 797, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Celesteela @ ??? - new EncounterStatic { Species = 797, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Celesteela @ ??? - new EncounterStatic { Species = 797, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Celesteela @ ??? - new EncounterStatic { Species = 797, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Celesteela @ ??? - new EncounterStatic { Species = 797, Level = 65, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Celesteela @ ??? - new EncounterStatic { Species = 799, Level = 70, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Guzzlord @ ??? - new EncounterStatic { Species = 800, Level = 75, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Necrozma @ ??? + new EncounterStatic { Species = 791, Level = 60, Location = 028, Ability = 1, Shiny = false, IV3 = true, Relearn = new[] {713,322,242,428}, Version = GameVersion.US }, // Solgaleo @ Mahalo Trail (Plank Bridge) + new EncounterStatic { Species = 792, Level = 60, Location = 028, Ability = 1, Shiny = false, IV3 = true, Relearn = new[] {714,322,539,585}, Version = GameVersion.UM }, // Lunala @ Mahalo Trail (Plank Bridge) // QR Scan: Su/M/Tu/W/Th/F/Sa // Melemele Island @@ -315,7 +224,7 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 007, Level = 12, Location = 042, Relearn = new[] {453,110,055,033}, }, // Squirtle @ Seaward Cave new EncounterStatic { Species = 095, Level = 14, Location = 034, Relearn = new[] {563,099,317,088}, }, // Onix @ Ten Carat Hill new EncounterStatic { Species = 116, Level = 18, Location = 014, Relearn = new[] {352,239,055,043}, }, // Horsea @ Kala'e Bay - new EncounterStatic { Species = 664, Level = 09, Location = 020, Relearn = new[] {476,081,078,033}, Form = 30, }, // Scatterbug @ Hau'oli City + new EncounterStatic { Species = 664, Level = 09, Location = 020, Relearn = new[] {476,081,078,033}, }, // Scatterbug @ Hau'oli City new EncounterStatic { Species = 001, Level = 10, Location = 012, Relearn = new[] {580,022,045,033}, }, // Bulbasaur @ Route 2 new EncounterStatic { Species = 607, Level = 09, Location = 038, Relearn = new[] {203,052,083,123}, }, // Litwick @ Hau'oli Cemetery @@ -333,7 +242,6 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 220, Level = 33, Location = 114, Relearn = new[] {333,036,420,196}, }, // Swinub @ Tapu Village new EncounterStatic { Species = 394, Level = 35, Location = 118, Relearn = new[] {681,362,031,117}, }, // Prinplup @ Route 16 new EncounterStatic { Species = 388, Level = 36, Location = 128, Relearn = new[] {484,073,072,044}, }, // Grotle @ Ula'ula Meadow - new EncounterStatic { Species = 388, Level = 36, Location = -01, Relearn = new[] {484,073,072,044}, }, // Grotle @ ??? new EncounterStatic { Species = 018, Level = 29, Location = 106, Relearn = new[] {211,297,239,098}, }, // Pidgeot @ Route 10 new EncounterStatic { Species = 391, Level = 29, Location = 108, Relearn = new[] {612,172,154,259}, }, // Monferno @ Route 11 new EncounterStatic { Species = 610, Level = 30, Location = 136, Relearn = new[] {068,337,206,163}, }, // Axew @ Mount Hokulani @@ -354,7 +262,6 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 023, Level = 10, Location = 012, Ability = 1, }, // Ekans @ Route 2 new EncounterStatic { Species = 103, Level = 40, Location = -01, Ability = 1, Form = 1, }, // Exeggutor @ ??? - new EncounterStatic { Species = 785, Level = 60, Location = -01, Ability = 1, Shiny = false, IV3 = true, }, // Tapu Koko @ ??? new EncounterStatic { Species = 542, Level = 57, Location = -01, Relearn = new[] {580,437,014,494}, }, // Leavanny @ ??? new EncounterStatic { Species = 752, Level = 20, Location = -01, Ability = 1, Shiny = false, IVs = new[] {31,01,31,01,31,01}, Relearn = new[] {141,145,044,062}, Form = 1, Gender = 0, HeldItem = 186, }, // Araquanid @ ??? @@ -443,11 +350,11 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 195, Level = 60, Location = 222, IV3 = true, }, // Quagsire @ Ultra Space Wilds new EncounterStatic { Species = 793, Level = 60, Location = 190, Ability = 1, IV3 = true, Relearn = new[] {408,491,446,243}, }, // Nihilego @ Ultra Deep Sea - new EncounterStatic { Species = 794, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Buzzwole @ ??? - new EncounterStatic { Species = 795, Level = 60, Location = 214, Ability = 1, IV3 = true, }, // Pheromosa @ Ultra Desert + new EncounterStatic { Species = 794, Level = 60, Location = 218, Ability = 1, IV3 = true, Version = GameVersion.US, }, // Buzzwole @ Ultra Jungle + new EncounterStatic { Species = 795, Level = 60, Location = 214, Ability = 1, IV3 = true, Version = GameVersion.UM , }, // Pheromosa @ Ultra Desert new EncounterStatic { Species = 796, Level = 60, Location = 210, Ability = 1, IV3 = true, }, // Xurkitree @ Ultra Plant - new EncounterStatic { Species = 797, Level = 60, Location = 212, Ability = 1, IV3 = true, }, // Celesteela @ Ultra Crater - new EncounterStatic { Species = 798, Level = 60, Location = -01, Ability = 1, IV3 = true, }, // Kartana @ ??? + new EncounterStatic { Species = 797, Level = 60, Location = 212, Ability = 1, IV3 = true, Version = GameVersion.UM , }, // Celesteela @ Ultra Crater + new EncounterStatic { Species = 798, Level = 60, Location = 216, Ability = 1, IV3 = true, Version = GameVersion.US }, // Kartana @ Ultra Forest new EncounterStatic { Species = 799, Level = 60, Location = 220, Ability = 1, IV3 = true, }, // Guzzlord @ Ultra Ruin new EncounterStatic { Species = 735, Level = 60, Location = -01, Shiny = false, IVs = new[] {31,29,31,31,31,31}, Relearn = new[] {158,423,182,242}, Form = 1, Gender = 0, HeldItem = 189, }, // Gumshoos @ ??? new EncounterStatic { Species = 734, Level = 58, Location = -01, Shiny = false, IVs = new[] {31,31,31,00,31,31}, Relearn = new[] {281,189,259,162}, }, // Yungoos @ ??? diff --git a/PKHeX.WinForms/Subforms/SAV_Database.cs b/PKHeX.WinForms/Subforms/SAV_Database.cs index 39bf11e17..02fe6d26a 100644 --- a/PKHeX.WinForms/Subforms/SAV_Database.cs +++ b/PKHeX.WinForms/Subforms/SAV_Database.cs @@ -363,8 +363,11 @@ void addPKM(PKM pk) .Concat(SAV.BoxData.Where(pk => pk.Species != 0)) // Fetch from save file .Where(pk => pk.ChecksumValid && pk.Species != 0 && pk.Sanity == 0) .Distinct()); - - BeginInvoke(new MethodInvoker(() => SetResults(RawDB))); + try + { + BeginInvoke(new MethodInvoker(() => SetResults(RawDB))); + } + catch { /* Window Closed? */ } } // IO Usage From d8acdf2aa1224b00caa26610d83f106f0751de19 Mon Sep 17 00:00:00 2001 From: Kurt Date: Fri, 10 Nov 2017 19:53:11 -0800 Subject: [PATCH 56/81] Fix partner pikachu sprite fix form+1 overflow (cap7 pikachu in sm accesses gumshoos1! bad!) --- PKHeX.Core/PersonalInfo/PersonalInfo.cs | 2 +- PKHeX.WinForms/Properties/Resources.Designer.cs | 4 ++-- PKHeX.WinForms/Properties/Resources.resx | 4 ++-- .../img/Pokemon Sprites/{25-7.png => 25-7c.png} | Bin 4 files changed, 5 insertions(+), 5 deletions(-) rename PKHeX.WinForms/Resources/img/Pokemon Sprites/{25-7.png => 25-7c.png} (100%) diff --git a/PKHeX.Core/PersonalInfo/PersonalInfo.cs b/PKHeX.Core/PersonalInfo/PersonalInfo.cs index 3d075e969..c8cd09e6e 100644 --- a/PKHeX.Core/PersonalInfo/PersonalInfo.cs +++ b/PKHeX.Core/PersonalInfo/PersonalInfo.cs @@ -93,7 +93,7 @@ public int FormeIndex(int species, int forme) return species; if (FormStatsIndex <= 0) // no formes present return species; - if (forme > FormeCount) // beyond range of species' formes + if (forme >= FormeCount) // beyond range of species' formes return species; return FormStatsIndex + forme - 1; diff --git a/PKHeX.WinForms/Properties/Resources.Designer.cs b/PKHeX.WinForms/Properties/Resources.Designer.cs index 8783c677c..4fc6ba3e3 100644 --- a/PKHeX.WinForms/Properties/Resources.Designer.cs +++ b/PKHeX.WinForms/Properties/Resources.Designer.cs @@ -2333,9 +2333,9 @@ internal class Resources { /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// - internal static System.Drawing.Bitmap _25_7 { + internal static System.Drawing.Bitmap _25_7c { get { - object obj = ResourceManager.GetObject("_25_7", resourceCulture); + object obj = ResourceManager.GetObject("_25_7c", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } diff --git a/PKHeX.WinForms/Properties/Resources.resx b/PKHeX.WinForms/Properties/Resources.resx index 563cc474e..f2c36c395 100644 --- a/PKHeX.WinForms/Properties/Resources.resx +++ b/PKHeX.WinForms/Properties/Resources.resx @@ -5956,8 +5956,8 @@ ..\Resources\img\Pokemon Sprites\490-e.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\img\Pokemon Sprites\25-7.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\img\Pokemon Sprites\25-7c.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\img\Pokemon Sprites\744-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a diff --git a/PKHeX.WinForms/Resources/img/Pokemon Sprites/25-7.png b/PKHeX.WinForms/Resources/img/Pokemon Sprites/25-7c.png similarity index 100% rename from PKHeX.WinForms/Resources/img/Pokemon Sprites/25-7.png rename to PKHeX.WinForms/Resources/img/Pokemon Sprites/25-7c.png From 5d90e9dc533ceb648eea0c29f845390a72cc83eb Mon Sep 17 00:00:00 2001 From: Kurt Date: Sat, 11 Nov 2017 09:35:07 -0800 Subject: [PATCH 57/81] Refactoring check alolan forms for forme matching, break up large method to something a little more understandable. --- .../Legality/Encounters/EncounterGenerator.cs | 131 ++++++++++-------- 1 file changed, 77 insertions(+), 54 deletions(-) diff --git a/PKHeX.Core/Legality/Encounters/EncounterGenerator.cs b/PKHeX.Core/Legality/Encounters/EncounterGenerator.cs index 891661058..12e545e24 100644 --- a/PKHeX.Core/Legality/Encounters/EncounterGenerator.cs +++ b/PKHeX.Core/Legality/Encounters/EncounterGenerator.cs @@ -572,69 +572,90 @@ private static IEnumerable GetValidEncounterSlots(PKM pkm, Encoun if (lvl < 0) lvl = GetMinLevelEncounter(pkm); if (lvl <= 0) - yield break; - - int gen = pkm.GenNumber; - int fluteBoost = gen < 3 ? 0 : 4; - const int dexnavBoost = 30; - - int df = DexNav ? fluteBoost : 0; - int dn = DexNav ? fluteBoost + dexnavBoost : 0; + return Enumerable.Empty(); var maxspeciesorigin = -1; if (gameSource == GameVersion.RBY) maxspeciesorigin = MaxSpeciesID_1; else if (GameVersion.GSC.Contains(gameSource)) maxspeciesorigin = MaxSpeciesID_2; // Get Valid levels - IEnumerable vs = GetValidPreEvolutions(pkm, maxspeciesorigin: maxspeciesorigin, lvl: ignoreLevel ? 100 : -1, skipChecks: ignoreLevel); + var vs = GetValidPreEvolutions(pkm, maxspeciesorigin: maxspeciesorigin, lvl: ignoreLevel ? 100 : -1, skipChecks: ignoreLevel); if (!FilterGBSlotsCatchRate(pkm, ref vs, out GameVersion Gen1Version, out bool RBDragonair)) - yield break; + return Enumerable.Empty(); + + int gen = pkm.GenNumber; + int fluteBoost = gen < 3 ? 0 : 4; + const int dexnavBoost = 30; + int df = DexNav ? fluteBoost : 0; + int dn = DexNav ? fluteBoost + dexnavBoost : 0; // Get slots where pokemon can exist with respect to the evolution chain - IEnumerable slots = loc.Slots.Where(slot => vs.Any(evo => evo.Species == slot.Species && (ignoreLevel || evo.Level >= slot.LevelMin - df))); - - List encounterSlots; - if (ignoreLevel) - encounterSlots = slots.ToList(); - else if (pkm.HasOriginalMetLocation) - encounterSlots = slots.Where(slot => slot.LevelMin - df <= lvl && lvl <= slot.LevelMax + (slot.Permissions.AllowDexNav ? dn : df)).ToList(); - else // check for any less than current level - encounterSlots = slots.Where(slot => slot.LevelMin <= lvl).ToList(); + var slots = loc.Slots.Where(slot => vs.Any(evo => evo.Species == slot.Species && (ignoreLevel || evo.Level >= slot.LevelMin - df))); + // Get slots where pokemon can exist with respect to level constraints + var encounterSlots = GetSlotsFilterByLevel(pkm, lvl, ignoreLevel, slots, df, dn); + // Return enumerable of slots pkm might have originated from if (gen <= 2) - { - var gbslots = FilterGBSlots(pkm, gen, Gen1Version, encounterSlots, RBDragonair); - foreach (var s in gbslots.OrderBy(slot => slot.LevelMin)) - yield return s; - yield break; - } + return GetFilteredSlots12(pkm, gen, Gen1Version, encounterSlots, RBDragonair).OrderBy(slot => slot.LevelMin); // prefer lowest levels + if (gen <= 5) + return GetFilteredSlotsByForm(pkm, encounterSlots); + if (DexNav && gen == 6) + return GetFilteredSlots6DexNav(pkm, lvl, encounterSlots, fluteBoost); + return GetFilteredSlots67(pkm, encounterSlots); + } + private static List GetSlotsFilterByLevel(PKM pkm, int lvl, bool ignoreLevel, IEnumerable slots, int df, int dn) + { + if (ignoreLevel) + return slots.ToList(); + if (pkm.HasOriginalMetLocation) + return slots.Where(slot => slot.LevelMin - df <= lvl && lvl <= slot.LevelMax + (slot.Permissions.AllowDexNav ? dn : df)).ToList(); + // check for any less than current level + return slots.Where(slot => slot.LevelMin <= lvl).ToList(); + } + private static IEnumerable GetFilteredSlotsByForm(PKM pkm, IEnumerable encounterSlots) + { + return WildForms.Contains(pkm.Species) + ? encounterSlots.Where(slot => slot.Form == pkm.AltForm) + : encounterSlots; + } + private static IEnumerable GetFilteredSlots67(PKM pkm, IReadOnlyCollection encounterSlots) + { + IEnumerable slotdata; + int species = pkm.Species; + int form = pkm.AltForm; + if (AlolanVariantEvolutions12.Contains(species)) // match form if same species, else form 0. + slotdata = encounterSlots.Where(slot => species == slot.Species ? slot.Form == form : slot.Form == 0); + else if (WildForms.Contains(species) || AlolanOriginForms.Contains(species)) // match slot form + slotdata = encounterSlots.Where(slot => slot.Form == form); + else + slotdata = encounterSlots; // no form checking + + foreach (var z in slotdata) + yield return z; + + // Filter for Form Specific // Pressure Slot EncounterSlot slotMax = encounterSlots.OrderByDescending(slot => slot.LevelMax).FirstOrDefault(); + if (slotMax == null) + yield break; // yield break; - if (gen >= 6 && !DexNav) + if (AlolanVariantEvolutions12.Contains(species)) // match form if same species, else form 0. { - var slotdata = WildForms.Contains(pkm.Species) - ? encounterSlots.Where(slot => slot.Form == pkm.AltForm) - : encounterSlots; - - foreach (var z in slotdata) - yield return z; - - // Filter for Form Specific - if (slotMax != null) - yield return getPressureSlot(slotMax); - yield break; + if (species == slotMax.Species ? slotMax.Form == form : slotMax.Form == 0) + yield return GetPressureSlot(slotMax, pkm); } - - IEnumerable formMatchSlots = encounterSlots.Where(slot => !WildForms.Contains(pkm.Species) || slot.Form == pkm.AltForm); - if (gen <= 5) + else if (WildForms.Contains(species) || AlolanOriginForms.Contains(species)) // match slot form { - foreach (var z in formMatchSlots) - yield return z; - yield break; + if (slotMax.Form == form) + yield return GetPressureSlot(slotMax, pkm); } - + else + yield return GetPressureSlot(slotMax, pkm); + } + private static IEnumerable GetFilteredSlots6DexNav(PKM pkm, int lvl, IReadOnlyCollection encounterSlots, int fluteBoost) + { + var formMatchSlots = GetFilteredSlotsByForm(pkm, encounterSlots); foreach (EncounterSlot s in formMatchSlots) { bool nav = s.Permissions.AllowDexNav && (pkm.RelearnMove1 != 0 || pkm.AbilityNumber == 4); @@ -649,17 +670,19 @@ private static IEnumerable GetValidEncounterSlots(PKM pkm, Encoun slot.Permissions.DexNav = true; yield return slot; } + // Pressure Slot + EncounterSlot slotMax = encounterSlots.OrderByDescending(slot => slot.LevelMax).FirstOrDefault(); if (slotMax != null) - yield return getPressureSlot(slotMax); - - EncounterSlot getPressureSlot(EncounterSlot s) - { - var max = s.Clone(); - max.Permissions.Pressure = true; - max.Form = pkm.AltForm; - return max; - } + yield return GetPressureSlot(slotMax, pkm); } + private static EncounterSlot GetPressureSlot(EncounterSlot s, PKM pkm) + { + var max = s.Clone(); + max.Permissions.Pressure = true; + max.Form = pkm.AltForm; + return max; + } + private static bool FilterGBSlotsCatchRate(PKM pkm, ref IEnumerable vs, out GameVersion Gen1Version, out bool RBDragonair) { RBDragonair = false; @@ -710,7 +733,7 @@ private static bool FilterGBSlotsCatchRate(PKM pkm, ref IEnumerable vs return true; } } - private static IEnumerable FilterGBSlots(PKM pkm, int gen, GameVersion Gen1Version, IEnumerable slots, bool RBDragonair) + private static IEnumerable GetFilteredSlots12(PKM pkm, int gen, GameVersion Gen1Version, IEnumerable slots, bool RBDragonair) { switch (gen) { From e6c68a8fc998ffb32604be491d7149e28381402d Mon Sep 17 00:00:00 2001 From: Kurt Date: Sat, 11 Nov 2017 16:26:22 -0800 Subject: [PATCH 58/81] Add heavy ball permissions for USUM heavy ball now works in USUM --- PKHeX.Core/Legality/Checks.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PKHeX.Core/Legality/Checks.cs b/PKHeX.Core/Legality/Checks.cs index acc61b1ce..e654bbaf1 100644 --- a/PKHeX.Core/Legality/Checks.cs +++ b/PKHeX.Core/Legality/Checks.cs @@ -1170,7 +1170,7 @@ private void VerifyBall() return; } - if (pkm.Ball == 0x14 && pkm.Gen7) // Heavy Ball + if (pkm.Ball == 0x14 && !Info.EncounterMatch.EggEncounter && pkm.SM) // Heavy Ball { var lineage = Legal.GetLineage(pkm); if (lineage.Any(e => Legal.AlolanCaptureNoHeavyBall.Contains(e))) From 8b1c76ea06d735d64d6a22511ec0a7a8ffa9a429 Mon Sep 17 00:00:00 2001 From: pokecal Date: Sun, 12 Nov 2017 09:40:38 +0900 Subject: [PATCH 59/81] add USUM TotemSticker resource NPC said there are 100 stickers, so I missed 5, still finding. --- .../Save Editors/Gen7/SAV_ZygardeCell.cs | 103 ++++++++++++++++++ 1 file changed, 103 insertions(+) diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.cs index dce172271..0b2ff32e2 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.cs @@ -190,6 +190,109 @@ private void B_GiveAll_Click(object sender, EventArgs e) "Aether Foundation 1F - Entrance (Night)", "Aether Foundation 1F - Main Building", }; + private readonly string[] locationsUSUM = + { + "Hau'oli City(Shopping) Salon Outside", + "Hau'oli City(Shopping) MalasadaShop Outside", + "Hau'oli City(Shopping) Ilima's House 2F", + "Malie City Library 1F", + "Hau'oli City(Marina) Outside", + "Route 2 SouthEast House", + "Hau'oli City(Shopping) Ilima's House Outside", + "Hau'oli City(Shopping) CityHall", + "Heahea City Hotel 3F", + "Route 2 BerryField House", + "Route 2 BerryField House Outside", + "Royal Avenue NorthEast", + "Hau'oli City(Shopping) PokemonCenter Outside", + "Royal Avenue South", + "Hokulani Observatory Room", + "Hokulani Observatory InfoDesk", + "Hau'oli City(Shopping) CityHall Outside", + "Konikoni City Olivia's JewelryShop 2F", + "Heahea City Surfboard Outside", + "Po Town SouthWest", + "*** researching No.21 ***", + "Hau'oli City(Shopping) NorthWest of PoliceStation", + "Hau'oli City(Marina) FerryTerminal Outside", + "Route 2 SouthEast House Outside", + "Route 2 PokemonCenter Outside", + "Heahea City West", + "Heahea City Hotel Outside(West)", + "Heahea City Hotel Outside(East)", + "Heahea City ResearchLab Outside(East)", + "Heahea City ResearchLab Outside(South)", + "Heahea City GameFreak", + "Hokulani Observatory DeadEnd", + "Heahea City GameFreak Building 3F", + "Heahea City ResearchLab", + "Heahea City Hotel 1F", + "Royal Dome 2F", + "Paniola Town West", + "Paniola Town Kiawe's House 1F", + "Paniola Town Kiawe's House 2F", + "Paniola Ranch NorthWest", + "Paniola Ranch SouthEast", + "Hano Beach", + "Hano Resort South", + "Hano Resort Lobby", + "Konikoni City Lighthouse(Diglett's Tunnel)", + "Royal Dome 1F", + "Route 8 AetherBase Outside", + "Route 8 FossilRestorationCenter Outside", + "Konikoni City West", + "Konikoni City Restaurant 1F", + "Iki Town SouthWest", + "Hau'oli City(Shopping) Ilima's House SwimPool", + "*** researching No.53", + "Route 5 South of PokemonCenter", + "*** researching No.55", + "Malie City(Outer) RecyclePlant Outside", + "Malie City FerryTerminal Outside", + "Malie City ApparelShop Outside", + "Malie City Salon Outside", + "Route 16 AetherBase Outside", + "Mt.Blush PowerPlant Outside", + "Malie City Library 2F", + "Malie Garden NorthEast", + "Malie City CommunityCenter", + "Hokulani Observatory Outside", + "Mt.Hokulani", + "Mt.Blush PowerPlant", + "Route 13", + "Route 14 Front of Megamart(Abandoned)", + "Route 14 North", + "Route 15 islet Surfboard Outside", + "Route 17 PoliceStation Outside", + "Route 17 PoliceStation", + "Po Town PokemonCenter Outside", + "*** researching No.75", + "Po Town ShadyHouse Outside(East)", + "Po Town PokemonCenter", + "Po Town ShadyHouse 1F", + "Route 13 Motel Outside", + "Po Town ShadyHouse 2F Outside", + "Route 17 South of PoTown", + "Ula'ula Meadow", + "Po Town ShadyHouse Outside(West)x3", + "Po Town ShadyHouse Outside(West)x3", + "Po Town ShadyHouse Outside(West)x3", + "Seafolk Village SouthEast Wiscash(Mina's Ship) Outside", + "Seafolk Village SouthWest Huntail", + "Seafolk Village SouthWest Huntail Outside", + "Seafolk Village SouthEast Wiscash(Mina's Ship)", + "Seafolk Village West Wailord(Restaurant)", + "Seafolk Village East Gyarados", + "Poni Wilds SouthEast", + "Ancient Poni Path Hapu's House(Kitchen)", + "Seafolk Village NorthEast", + "Ancient Poni Path Hapu's House(Bedroom)", + "Ancient Poni Path SouthWest", + "Ancient Poni Path Hapu's House Courtyard", + "Ancient Poni Path Hapu's House Outside behind Well", + "Ancient Poni Path NorthEast", + "*** researching No.100", + }; #endregion } From d674ea4f39644a4b26e4e5a2da13161527d9f2cd Mon Sep 17 00:00:00 2001 From: Kurt Date: Sat, 11 Nov 2017 17:16:31 -0800 Subject: [PATCH 60/81] Add surf pikachu details Closes #1589 Thanks @PolarPeridot ! --- PKHeX.Core/Legality/Encounters/Data/Encounters7.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs index 1029dfb9a..a5181c65d 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs @@ -189,7 +189,7 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Gift = true, Species = 801, Level = 50, Location = -01, IV3 = true, Shiny = false, Ability = 2, HeldItem = 795, }, // Magearna @ ??? new EncounterStatic { Gift = true, Species = 789, Level = 05, Location = -01, IV3 = true, Shiny = false, Ability = 2, }, // Cosmog @ ??? new EncounterStatic { Gift = true, Species = 142, Level = 40, Location = 172, }, // Aerodactyl @ Seafolk Village - new EncounterStatic { Gift = true, Species = 025, Level = 40, Location = -01, IV3 = true, HeldItem = 796, }, // Pikachu @ ??? + new EncounterStatic { Gift = true, Species = 025, Level = 40, Location = 070, IV3 = true, HeldItem = 796, Relearn = new[] {57,0,0,0} }, // Pikachu @ Heahea City new EncounterStatic { Gift = true, Species = 803, Level = 40, Location = 208, IV3 = true,}, // Poipole @ Megalo Tower // Totem-Sized Gifts @ Heahea Beach From dea70bf243bfe98efe2136ca138e355776c9f541 Mon Sep 17 00:00:00 2001 From: Kurt Date: Sat, 11 Nov 2017 17:24:49 -0800 Subject: [PATCH 61/81] Add cosmog & zygarde gift locations thanks @architdate ! (thanks @bui for the pikachu!) porygon remains --- PKHeX.Core/Legality/Encounters/Data/Encounters7.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs index a5181c65d..46b861e5b 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs @@ -187,7 +187,8 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Gift = true, Species = 772, Level = 60, Location = 188, IV3 = true, }, // Type: Null @ Aether Paradise new EncounterStatic { Gift = true, Species = 772, Level = 60, Location = 160, IV3 = true, }, // Type: Null @ Ancient Poni Path new EncounterStatic { Gift = true, Species = 801, Level = 50, Location = -01, IV3 = true, Shiny = false, Ability = 2, HeldItem = 795, }, // Magearna @ ??? - new EncounterStatic { Gift = true, Species = 789, Level = 05, Location = -01, IV3 = true, Shiny = false, Ability = 2, }, // Cosmog @ ??? + new EncounterStatic { Gift = true, Species = 789, Level = 05, Location = 142, IV3 = true, Shiny = false, Ability = 2, Version = GameVersion.US, }, // Cosmog @ ??? + new EncounterStatic { Gift = true, Species = 789, Level = 05, Location = 144, IV3 = true, Shiny = false, Ability = 2, Version = GameVersion.UM, }, // Cosmog @ ??? new EncounterStatic { Gift = true, Species = 142, Level = 40, Location = 172, }, // Aerodactyl @ Seafolk Village new EncounterStatic { Gift = true, Species = 025, Level = 40, Location = 070, IV3 = true, HeldItem = 796, Relearn = new[] {57,0,0,0} }, // Pikachu @ Heahea City new EncounterStatic { Gift = true, Species = 803, Level = 40, Location = 208, IV3 = true,}, // Poipole @ Megalo Tower @@ -205,7 +206,7 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Gift = true, Species = 743, Level = 50, Ability = 4, Location = 202, Form = 1, Shiny = false, IV3 = true, Version = GameVersion.US }, // Ribombee new EncounterStatic { Gift = true, Species = 784, Level = 50, Ability = 4, Location = 202, Form = 1, Shiny = false, IV3 = true, Version = GameVersion.UM }, // Kommo-o - new EncounterStatic { Gift = true, Species = 718, Level = 63, Ability = 1, Location = -01, Form = 1, Shiny = false, IV3 = true, }, // Zygarde @ ??? + new EncounterStatic { Gift = true, Species = 718, Level = 63, Ability = 1, Location = 118, Form = 1, Shiny = false, IV3 = true, }, // Zygarde @ ??? new EncounterStatic // Pikachu (Pikashunium Z), should probably be a fake mystery gift as it has OT details { From fbab1cfbe67c4c8ef998b77056a3d4197abd2e95 Mon Sep 17 00:00:00 2001 From: Kurt Date: Sat, 11 Nov 2017 18:58:57 -0800 Subject: [PATCH 62/81] Update usum eventflag max now these event flags are making sense --- PKHeX.Core/Saves/SAV7.cs | 2 +- PKHeX.WinForms/Subforms/Save Editors/SAV_EventFlags.cs | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/PKHeX.Core/Saves/SAV7.cs b/PKHeX.Core/Saves/SAV7.cs index 415445300..82f1381b8 100644 --- a/PKHeX.Core/Saves/SAV7.cs +++ b/PKHeX.Core/Saves/SAV7.cs @@ -61,7 +61,7 @@ public SAV7(byte[] data = null) public override int Generation => 7; protected override int GiftCountMax => 48; protected override int GiftFlagMax => 0x100 * 8; - protected override int EventFlagMax => 3968; + protected override int EventFlagMax => USUM ? 4928 : 3968; protected override int EventConstMax => (EventFlag - EventConst) / 2; public override int OTLength => 12; public override int NickLength => 12; diff --git a/PKHeX.WinForms/Subforms/Save Editors/SAV_EventFlags.cs b/PKHeX.WinForms/Subforms/Save Editors/SAV_EventFlags.cs index fa7cdb3b3..c8ac2632d 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/SAV_EventFlags.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/SAV_EventFlags.cs @@ -438,6 +438,8 @@ private void DiffSaves() SaveFile s1 = SaveUtil.GetVariantSAV(File.ReadAllBytes(TB_OldSAV.Text)); SaveFile s2 = SaveUtil.GetVariantSAV(File.ReadAllBytes(TB_NewSAV.Text)); + if (s1 == null) { WinFormsUtil.Alert("Save 1 file invalid."); return; } + if (s2 == null) { WinFormsUtil.Alert("Save 2 file invalid."); return; } if (s1.GetType() != s2.GetType()) { WinFormsUtil.Alert("Save types are different.", $"S1: {s1.GetType().Name}", $"S2: {s2.GetType().Name}"); return; } if (s1.Version != s2.Version) { WinFormsUtil.Alert("Save versions are different.", $"S1: {s1.Version}", $"S2: {s2.Version}"); return; } @@ -455,9 +457,9 @@ private void DiffSaves() { if (oldBits[i] == newBits[i]) continue; if (newBits[i]) - tbIsSet += i.ToString("0000") + ","; + tbIsSet += $"{i:0000},"; else - tbUnSet += i.ToString("0000") + ","; + tbUnSet += $"{i:0000},"; } } catch (Exception e) From b0c228174f81d8f1ff8a7fe520a9c1632caec8c9 Mon Sep 17 00:00:00 2001 From: sora10pls Date: Sun, 12 Nov 2017 01:08:49 -0500 Subject: [PATCH 63/81] Add USUM Legendary re-battle flags --- PKHeX.Core/PKHeX.Core.csproj | 2 + .../Resources/text/script/flags_usum_en.txt | 37 +++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 PKHeX.Core/Resources/text/script/flags_usum_en.txt diff --git a/PKHeX.Core/PKHeX.Core.csproj b/PKHeX.Core/PKHeX.Core.csproj index 861bfa4db..0f089d11a 100644 --- a/PKHeX.Core/PKHeX.Core.csproj +++ b/PKHeX.Core/PKHeX.Core.csproj @@ -605,6 +605,7 @@ + @@ -1246,6 +1247,7 @@ + diff --git a/PKHeX.Core/Resources/text/script/flags_usum_en.txt b/PKHeX.Core/Resources/text/script/flags_usum_en.txt new file mode 100644 index 000000000..d7c2bbf02 --- /dev/null +++ b/PKHeX.Core/Resources/text/script/flags_usum_en.txt @@ -0,0 +1,37 @@ +4420 Articuno Captured +4421 Zapdos Captured +4422 Moltres Captured +4423 Mewtwo Captured +4260 (US) Raikou Captured +4261 (UM) Entei Captured +4262 Suicune Captured +4263 (UM) Lugia Captured +4264 (US) Ho-Oh Captured +4285 Regirock Captured +4286 Regice Captured +4287 Registeel Captured +4283 (UM) Latias Captured +4284 (US) Latios Captured +4289 (UM) Kyogre Captured +4288 (US) Groudon Captured +4290 Rayquaza Captured +4265 Uxie Captured +4266 Mesprit Captured +4267 Azelf Captured +4268 (US) Dialga Captured +4269 (UM) Palkia Captured +4270 (US) Heatran Captured +4271 (UM) Regigigas Captured +4272 Giratina Captured +4273 Cresselia Captured +4274 Cobalion Captured +4275 Terrakion Captured +4276 Virizion Captured +4277 (US) Tornadus Captured +4278 (UM) Thundurus Captured +4279 (US) Reshiram Captured +4280 (UM) Zekrom Captured +4281 Landorus Captured +4282 Kyurem Captured +4424 (US) Xerneas Captured +4425 (UM) Yveltal Captured \ No newline at end of file From e1abe0be5e6c5740f5c8bf1218177ee323ce4e2c Mon Sep 17 00:00:00 2001 From: sora10pls Date: Sun, 12 Nov 2017 01:10:16 -0500 Subject: [PATCH 64/81] Fix indenting --- PKHeX.Core/PKHeX.Core.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PKHeX.Core/PKHeX.Core.csproj b/PKHeX.Core/PKHeX.Core.csproj index 0f089d11a..dc2807c82 100644 --- a/PKHeX.Core/PKHeX.Core.csproj +++ b/PKHeX.Core/PKHeX.Core.csproj @@ -605,7 +605,7 @@ - + @@ -1247,7 +1247,7 @@ - + From 6a73b9e6e4fcbdc7a70fa2fbd4cbc929a6dbfbbc Mon Sep 17 00:00:00 2001 From: Kurt Date: Sat, 11 Nov 2017 22:48:22 -0800 Subject: [PATCH 65/81] Update zygarde cells use const numbers, dynamic count for cells possible --- .../Controls/SAV Editor/SAVEditor.Designer.cs | 46 ++++++++-------- .../Controls/SAV Editor/SAVEditor.cs | 4 +- .../Controls/SAV Editor/SAVEditor.resx | 2 +- .../Gen7/SAV_ZygardeCell.Designer.cs | 2 +- .../Save Editors/Gen7/SAV_ZygardeCell.cs | 55 ++++++++++--------- 5 files changed, 56 insertions(+), 53 deletions(-) diff --git a/PKHeX.WinForms/Controls/SAV Editor/SAVEditor.Designer.cs b/PKHeX.WinForms/Controls/SAV Editor/SAVEditor.Designer.cs index ec6efc306..918005357 100644 --- a/PKHeX.WinForms/Controls/SAV Editor/SAVEditor.Designer.cs +++ b/PKHeX.WinForms/Controls/SAV Editor/SAVEditor.Designer.cs @@ -31,6 +31,7 @@ private void InitializeComponent() System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SAVEditor)); this.tabBoxMulti = new System.Windows.Forms.TabControl(); this.Tab_Box = new System.Windows.Forms.TabPage(); + this.Box = new PKHeX.WinForms.Controls.BoxEditor(); this.Tab_PartyBattle = new System.Windows.Forms.TabPage(); this.PAN_BattleBox = new System.Windows.Forms.Panel(); this.PB_Locked = new System.Windows.Forms.PictureBox(); @@ -103,14 +104,13 @@ private void InitializeComponent() this.B_OUTPasserby = new System.Windows.Forms.Button(); this.B_CGearSkin = new System.Windows.Forms.Button(); this.B_OpenPokeBeans = new System.Windows.Forms.Button(); - this.B_OpenZygardeCells = new System.Windows.Forms.Button(); + this.B_CellsStickers = new System.Windows.Forms.Button(); this.B_OpenMiscEditor = new System.Windows.Forms.Button(); this.B_OpenHoneyTreeEditor = new System.Windows.Forms.Button(); this.B_OpenFriendSafari = new System.Windows.Forms.Button(); this.B_OpenRTCEditor = new System.Windows.Forms.Button(); this.B_OpenUGSEditor = new System.Windows.Forms.Button(); this.B_Roamer = new System.Windows.Forms.Button(); - this.Box = new PKHeX.WinForms.Controls.BoxEditor(); this.tabBoxMulti.SuspendLayout(); this.Tab_Box.SuspendLayout(); this.Tab_PartyBattle.SuspendLayout(); @@ -175,6 +175,17 @@ private void InitializeComponent() this.Tab_Box.Text = "Box"; this.Tab_Box.UseVisualStyleBackColor = true; // + // Box + // + this.Box.AllowDrop = true; + this.Box.CurrentBox = -1; + this.Box.FlagIllegal = false; + this.Box.Location = new System.Drawing.Point(26, 7); + this.Box.M = null; + this.Box.Name = "Box"; + this.Box.Size = new System.Drawing.Size(251, 185); + this.Box.TabIndex = 1; + // // Tab_PartyBattle // this.Tab_PartyBattle.Controls.Add(this.PAN_BattleBox); @@ -766,7 +777,7 @@ private void InitializeComponent() this.FLP_SAVtools.Controls.Add(this.B_OUTPasserby); this.FLP_SAVtools.Controls.Add(this.B_CGearSkin); this.FLP_SAVtools.Controls.Add(this.B_OpenPokeBeans); - this.FLP_SAVtools.Controls.Add(this.B_OpenZygardeCells); + this.FLP_SAVtools.Controls.Add(this.B_CellsStickers); this.FLP_SAVtools.Controls.Add(this.B_OpenMiscEditor); this.FLP_SAVtools.Controls.Add(this.B_OpenHoneyTreeEditor); this.FLP_SAVtools.Controls.Add(this.B_OpenFriendSafari); @@ -951,15 +962,15 @@ private void InitializeComponent() this.B_OpenPokeBeans.UseVisualStyleBackColor = true; this.B_OpenPokeBeans.Click += new System.EventHandler(this.B_OpenPokeBeans_Click); // - // B_OpenZygardeCells + // B_CellsStickers // - this.B_OpenZygardeCells.Location = new System.Drawing.Point(189, 148); - this.B_OpenZygardeCells.Name = "B_OpenZygardeCells"; - this.B_OpenZygardeCells.Size = new System.Drawing.Size(87, 23); - this.B_OpenZygardeCells.TabIndex = 26; - this.B_OpenZygardeCells.Text = "Zygarde Cells"; - this.B_OpenZygardeCells.UseVisualStyleBackColor = true; - this.B_OpenZygardeCells.Click += new System.EventHandler(this.B_OpenZygardeCells_Click); + this.B_CellsStickers.Location = new System.Drawing.Point(189, 148); + this.B_CellsStickers.Name = "B_CellsStickers"; + this.B_CellsStickers.Size = new System.Drawing.Size(87, 23); + this.B_CellsStickers.TabIndex = 26; + this.B_CellsStickers.Text = "Cells/Stickers"; + this.B_CellsStickers.UseVisualStyleBackColor = true; + this.B_CellsStickers.Click += new System.EventHandler(this.B_CellsStickers_Click); // // B_OpenMiscEditor // @@ -1021,17 +1032,6 @@ private void InitializeComponent() this.B_Roamer.UseVisualStyleBackColor = true; this.B_Roamer.Click += new System.EventHandler(this.B_Roamer_Click); // - // Box - // - this.Box.AllowDrop = true; - this.Box.CurrentBox = -1; - this.Box.FlagIllegal = false; - this.Box.Location = new System.Drawing.Point(26, 7); - this.Box.M = null; - this.Box.Name = "Box"; - this.Box.Size = new System.Drawing.Size(251, 185); - this.Box.TabIndex = 1; - // // SAVEditor // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit; @@ -1160,7 +1160,7 @@ private void InitializeComponent() private System.Windows.Forms.Button B_OUTPasserby; private System.Windows.Forms.Button B_CGearSkin; private System.Windows.Forms.Button B_OpenPokeBeans; - private System.Windows.Forms.Button B_OpenZygardeCells; + private System.Windows.Forms.Button B_CellsStickers; private System.Windows.Forms.Button B_OpenMiscEditor; private System.Windows.Forms.Button B_OpenHoneyTreeEditor; private System.Windows.Forms.Button B_OpenFriendSafari; diff --git a/PKHeX.WinForms/Controls/SAV Editor/SAVEditor.cs b/PKHeX.WinForms/Controls/SAV Editor/SAVEditor.cs index e770a1064..0892ea7aa 100644 --- a/PKHeX.WinForms/Controls/SAV Editor/SAVEditor.cs +++ b/PKHeX.WinForms/Controls/SAV Editor/SAVEditor.cs @@ -515,7 +515,7 @@ private void B_SaveBoxBin_Click(object sender, EventArgs e) private void B_OpenPokeblocks_Click(object sender, EventArgs e) => new SAV_PokeBlockORAS(SAV).ShowDialog(); private void B_OpenSuperTraining_Click(object sender, EventArgs e) => new SAV_SuperTrain(SAV).ShowDialog(); private void B_OpenSecretBase_Click(object sender, EventArgs e) => new SAV_SecretBase(SAV).ShowDialog(); - private void B_OpenZygardeCells_Click(object sender, EventArgs e) => new SAV_ZygardeCell(SAV).ShowDialog(); + private void B_CellsStickers_Click(object sender, EventArgs e) => new SAV_ZygardeCell(SAV).ShowDialog(); private void B_LinkInfo_Click(object sender, EventArgs e) => new SAV_Link6(SAV).ShowDialog(); private void B_Roamer_Click(object sender, EventArgs e) => new SAV_Roamer3(SAV).ShowDialog(); private void B_OpenEventFlags_Click(object sender, EventArgs e) @@ -986,7 +986,7 @@ private void ToggleViewSubEditors(SaveFile sav) B_OpenSecretBase.Enabled = sav.HasSecretBase; B_OpenPokepuffs.Enabled = sav.HasPuff; B_OpenPokeBeans.Enabled = sav.Generation == 7; - B_OpenZygardeCells.Enabled = sav.Generation == 7; + B_CellsStickers.Enabled = sav.Generation == 7; B_OUTPasserby.Enabled = sav.HasPSS; B_OpenBoxLayout.Enabled = sav.HasBoxWallpapers; B_OpenWondercards.Enabled = sav.HasWondercards; diff --git a/PKHeX.WinForms/Controls/SAV Editor/SAVEditor.resx b/PKHeX.WinForms/Controls/SAV Editor/SAVEditor.resx index 9784e19d8..7e8350711 100644 --- a/PKHeX.WinForms/Controls/SAV Editor/SAVEditor.resx +++ b/PKHeX.WinForms/Controls/SAV Editor/SAVEditor.resx @@ -469,7 +469,7 @@ True - + True diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.Designer.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.Designer.cs index 36f087325..569545491 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.Designer.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.Designer.cs @@ -188,7 +188,7 @@ private void InitializeComponent() this.MinimumSize = new System.Drawing.Size(440, 380); this.Name = "SAV_ZygardeCell"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = "Zygarde Cells"; + this.Text = "Cells/Sticker Editor"; ((System.ComponentModel.ISupportInitialize)(this.dgv)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.NUD_Cells)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.NUD_Collected)).EndInit(); diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.cs index 0b2ff32e2..2b3b5d059 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.cs @@ -32,6 +32,7 @@ public SAV_ZygardeCell(SaveFile sav) // Populate Grid dgv.Rows.Add(cellcount); + var locations = SAV.SM ? locationsSM : locationsUSUM; for (int i = 0; i < cellcount; i++) { if (cells[i] > 2) @@ -41,12 +42,14 @@ public SAV_ZygardeCell(SaveFile sav) dgv.Rows[i].Cells[1].Value = locations[i]; dgv.Rows[i].Cells[2].Value = states[cells[i]]; } + if (SAV.USUM) + L_Cells.Visible = NUD_Cells.Visible = false; } - private const int cellstotal = 0x142/2; - private const int cellscollected = 0x152/2; - private const int celloffset = 198; - private const int cellcount = 95; + private const int cellstotal = 161; + private const int cellscollected = 169; + private const int celloffset = 0xC6; + private int cellcount => SAV.USUM ? 100 : 95; private readonly string[] states = {"None", "Available", "Received"}; private void B_Save_Click(object sender, EventArgs e) @@ -92,7 +95,7 @@ private void B_GiveAll_Click(object sender, EventArgs e) #region locations -- lazy - private readonly string[] locations = + private readonly string[] locationsSM = { "Verdant Cave - Trial Site", "Ruins of Conflict - Outside", @@ -192,36 +195,36 @@ private void B_GiveAll_Click(object sender, EventArgs e) }; private readonly string[] locationsUSUM = { - "Hau'oli City(Shopping) Salon Outside", - "Hau'oli City(Shopping) MalasadaShop Outside", - "Hau'oli City(Shopping) Ilima's House 2F", + "Hau'oli City (Shopping) Salon Outside", + "Hau'oli City (Shopping) MalasadaShop Outside", + "Hau'oli City (Shopping) Ilima's House 2F", "Malie City Library 1F", - "Hau'oli City(Marina) Outside", + "Hau'oli City (Marina) Outside", "Route 2 SouthEast House", - "Hau'oli City(Shopping) Ilima's House Outside", - "Hau'oli City(Shopping) CityHall", + "Hau'oli City (Shopping) Ilima's House Outside", + "Hau'oli City (Shopping) CityHall", "Heahea City Hotel 3F", "Route 2 BerryField House", "Route 2 BerryField House Outside", "Royal Avenue NorthEast", - "Hau'oli City(Shopping) PokemonCenter Outside", + "Hau'oli City (Shopping) PokemonCenter Outside", "Royal Avenue South", "Hokulani Observatory Room", "Hokulani Observatory InfoDesk", - "Hau'oli City(Shopping) CityHall Outside", + "Hau'oli City (Shopping) CityHall Outside", "Konikoni City Olivia's JewelryShop 2F", "Heahea City Surfboard Outside", "Po Town SouthWest", "*** researching No.21 ***", - "Hau'oli City(Shopping) NorthWest of PoliceStation", - "Hau'oli City(Marina) FerryTerminal Outside", + "Hau'oli City (Shopping) NorthWest of Police Station", + "Hau'oli City (Marina) FerryTerminal Outside", "Route 2 SouthEast House Outside", "Route 2 PokemonCenter Outside", "Heahea City West", "Heahea City Hotel Outside(West)", "Heahea City Hotel Outside(East)", "Heahea City ResearchLab Outside(East)", - "Heahea City ResearchLab Outside(South)", + "Heahea City ResearchLab Outside (South)", "Heahea City GameFreak", "Hokulani Observatory DeadEnd", "Heahea City GameFreak Building 3F", @@ -236,18 +239,18 @@ private void B_GiveAll_Click(object sender, EventArgs e) "Hano Beach", "Hano Resort South", "Hano Resort Lobby", - "Konikoni City Lighthouse(Diglett's Tunnel)", + "Konikoni City Lighthouse (Diglett's Tunnel)", "Royal Dome 1F", "Route 8 AetherBase Outside", "Route 8 FossilRestorationCenter Outside", "Konikoni City West", "Konikoni City Restaurant 1F", "Iki Town SouthWest", - "Hau'oli City(Shopping) Ilima's House SwimPool", + "Hau'oli City (Shopping) Ilima's House SwimPool", "*** researching No.53", "Route 5 South of PokemonCenter", "*** researching No.55", - "Malie City(Outer) RecyclePlant Outside", + "Malie City (Outer) RecyclePlant Outside", "Malie City FerryTerminal Outside", "Malie City ApparelShop Outside", "Malie City Salon Outside", @@ -260,28 +263,28 @@ private void B_GiveAll_Click(object sender, EventArgs e) "Mt.Hokulani", "Mt.Blush PowerPlant", "Route 13", - "Route 14 Front of Megamart(Abandoned)", + "Route 14 Front of Megamart (Abandoned)", "Route 14 North", "Route 15 islet Surfboard Outside", "Route 17 PoliceStation Outside", "Route 17 PoliceStation", "Po Town PokemonCenter Outside", "*** researching No.75", - "Po Town ShadyHouse Outside(East)", + "Po Town ShadyHouse Outside (East)", "Po Town PokemonCenter", "Po Town ShadyHouse 1F", "Route 13 Motel Outside", "Po Town ShadyHouse 2F Outside", "Route 17 South of PoTown", "Ula'ula Meadow", - "Po Town ShadyHouse Outside(West)x3", - "Po Town ShadyHouse Outside(West)x3", - "Po Town ShadyHouse Outside(West)x3", + "Po Town ShadyHouse Outside (West) 1", + "Po Town ShadyHouse Outside (West) 2", + "Po Town ShadyHouse Outside (West) 3", "Seafolk Village SouthEast Wiscash(Mina's Ship) Outside", "Seafolk Village SouthWest Huntail", "Seafolk Village SouthWest Huntail Outside", - "Seafolk Village SouthEast Wiscash(Mina's Ship)", - "Seafolk Village West Wailord(Restaurant)", + "Seafolk Village SouthEast Wiscash (Mina's Ship)", + "Seafolk Village West Wailord (Restaurant)", "Seafolk Village East Gyarados", "Poni Wilds SouthEast", "Ancient Poni Path Hapu's House(Kitchen)", From 596ff57fc384d00e88f507401703c7950f001c1b Mon Sep 17 00:00:00 2001 From: ReignOfComputer Date: Sun, 12 Nov 2017 18:28:39 +0800 Subject: [PATCH 66/81] Add Extra Zygarde Cell Locations Wela Volcano Park (rocks behind sign) Battle Tree Entrance --- PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.cs index 2b3b5d059..9c0e86c47 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.cs @@ -247,7 +247,7 @@ private void B_GiveAll_Click(object sender, EventArgs e) "Konikoni City Restaurant 1F", "Iki Town SouthWest", "Hau'oli City (Shopping) Ilima's House SwimPool", - "*** researching No.53", + "Wela Volcano Park (rocks behind sign)", "Route 5 South of PokemonCenter", "*** researching No.55", "Malie City (Outer) RecyclePlant Outside", @@ -294,7 +294,7 @@ private void B_GiveAll_Click(object sender, EventArgs e) "Ancient Poni Path Hapu's House Courtyard", "Ancient Poni Path Hapu's House Outside behind Well", "Ancient Poni Path NorthEast", - "*** researching No.100", + "Battle Tree Entrance", }; #endregion From f1e7c0f759e10cda3860124e914a74dddc652e02 Mon Sep 17 00:00:00 2001 From: ReignOfComputer Date: Sun, 12 Nov 2017 18:33:06 +0800 Subject: [PATCH 67/81] Hypno Trio Encounter at Hau'oli City PD --- PKHeX.Core/Legality/Encounters/Data/Encounters7.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs index 46b861e5b..5e23506bf 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs @@ -362,9 +362,9 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 020, Level = 60, Location = -01, Shiny = false, IVs = new[] {31,31,31,31,31,31}, Relearn = new[] {158,675,182,104}, Form = 2, Gender = 0, HeldItem = 189, }, // Raticate @ ??? new EncounterStatic { Species = 019, Level = 58, Location = -01, Shiny = false, IVs = new[] {31,31,31,00,31,31}, Relearn = new[] {162,039,259,242}, Form = 1, }, // Rattata @ ??? new EncounterStatic { Species = 760, Level = 28, Location = -01, Shiny = false, }, // Bewear @ ??? - new EncounterStatic { Species = 097, Level = 29, Location = -01, Shiny = false, Relearn = new[] {095,171,139,029}, }, // Hypno @ ??? - new EncounterStatic { Species = 097, Level = 29, Location = -01, Shiny = false, Relearn = new[] {417,060,050,139}, }, // Hypno @ ??? - new EncounterStatic { Species = 097, Level = 29, Location = -01, Shiny = false, Relearn = new[] {093,050,001,096}, }, // Hypno @ ??? + new EncounterStatic { Species = 097, Level = 29, Location = 020, Shiny = false, Relearn = new[] {095,171,139,029}, }, // Hypno @ Hau'oli City Police Station + new EncounterStatic { Species = 097, Level = 29, Location = 020, Shiny = false, Relearn = new[] {417,060,050,139}, }, // Hypno @ Hau'oli City Police Station + new EncounterStatic { Species = 097, Level = 29, Location = 020, Shiny = false, Relearn = new[] {093,050,001,096}, }, // Hypno @ Hau'oli City Police Station new EncounterStatic { Species = 092, Level = 19, Location = -01, Shiny = false, Relearn = new[] {174,109,122,101}, }, // Gastly @ ??? new EncounterStatic { Species = 425, Level = 19, Location = -01, Shiny = false, Relearn = new[] {310,132,016,371}, }, // Drifloon @ ??? new EncounterStatic { Species = 769, Level = 30, Location = 116, Shiny = false, Relearn = new[] {310,523,072,328}, }, // Sandygast @ Route 15 From 0b95f7d4b8ae1ad7f1ae145fa799e5a8ee0bbc7f Mon Sep 17 00:00:00 2001 From: ReignOfComputer Date: Sun, 12 Nov 2017 22:29:21 +0800 Subject: [PATCH 68/81] Porygon/Zygarde/Trainer School Encounters --- PKHeX.Core/Legality/Encounters/Data/Encounters7.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs index 5e23506bf..c4dc9b076 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs @@ -183,7 +183,7 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Gift = true, Species = 696, Level = 15, Location = 58, }, // Tyrunt new EncounterStatic { Gift = true, Species = 698, Level = 15, Location = 58, }, // Amaura new EncounterStatic { Gift = true, Species = 133, Level = 01, EggLocation = 60002, }, // Eevee @ Nursery helpers - new EncounterStatic { Gift = true, Species = 137, Level = 30, Location = -01, }, // Porygon @ ??? + new EncounterStatic { Gift = true, Species = 137, Level = 30, Location = 116, }, // Porygon @ Route 15 new EncounterStatic { Gift = true, Species = 772, Level = 60, Location = 188, IV3 = true, }, // Type: Null @ Aether Paradise new EncounterStatic { Gift = true, Species = 772, Level = 60, Location = 160, IV3 = true, }, // Type: Null @ Ancient Poni Path new EncounterStatic { Gift = true, Species = 801, Level = 50, Location = -01, IV3 = true, Shiny = false, Ability = 2, HeldItem = 795, }, // Magearna @ ??? @@ -206,7 +206,7 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Gift = true, Species = 743, Level = 50, Ability = 4, Location = 202, Form = 1, Shiny = false, IV3 = true, Version = GameVersion.US }, // Ribombee new EncounterStatic { Gift = true, Species = 784, Level = 50, Ability = 4, Location = 202, Form = 1, Shiny = false, IV3 = true, Version = GameVersion.UM }, // Kommo-o - new EncounterStatic { Gift = true, Species = 718, Level = 63, Ability = 1, Location = 118, Form = 1, Shiny = false, IV3 = true, }, // Zygarde @ ??? + new EncounterStatic { Gift = true, Species = 718, Level = 63, Ability = 1, Location = 118, Form = 1, Shiny = false, IV3 = true, }, // Zygarde @ Route 16 new EncounterStatic // Pikachu (Pikashunium Z), should probably be a fake mystery gift as it has OT details { @@ -365,8 +365,8 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 097, Level = 29, Location = 020, Shiny = false, Relearn = new[] {095,171,139,029}, }, // Hypno @ Hau'oli City Police Station new EncounterStatic { Species = 097, Level = 29, Location = 020, Shiny = false, Relearn = new[] {417,060,050,139}, }, // Hypno @ Hau'oli City Police Station new EncounterStatic { Species = 097, Level = 29, Location = 020, Shiny = false, Relearn = new[] {093,050,001,096}, }, // Hypno @ Hau'oli City Police Station - new EncounterStatic { Species = 092, Level = 19, Location = -01, Shiny = false, Relearn = new[] {174,109,122,101}, }, // Gastly @ ??? - new EncounterStatic { Species = 425, Level = 19, Location = -01, Shiny = false, Relearn = new[] {310,132,016,371}, }, // Drifloon @ ??? + new EncounterStatic { Species = 092, Level = 19, Location = 230, Shiny = false, Relearn = new[] {174,109,122,101}, }, // Gastly @ Route 1 (Trainers’ School) + new EncounterStatic { Species = 425, Level = 19, Location = 230, Shiny = false, Relearn = new[] {310,132,016,371}, }, // Drifloon @ Route 1 (Trainers’ School) new EncounterStatic { Species = 769, Level = 30, Location = 116, Shiny = false, Relearn = new[] {310,523,072,328}, }, // Sandygast @ Route 15 new EncounterStatic { Species = 592, Level = 34, Location = 126, Shiny = false, Gender = 1, }, // Frillish @ Route 14 new EncounterStatic { Species = 132, Level = 29, Location = 060, IVs = new[] {-1,-1,31,30,-1,00}, }, // Ditto @ Route 9 From 69bdcacaec62e02d669788e9b94a4d7e2bc373c6 Mon Sep 17 00:00:00 2001 From: ReignOfComputer Date: Sun, 12 Nov 2017 22:29:44 +0800 Subject: [PATCH 69/81] Additional Totem Sticker Locations 1 left. --- PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.cs index 9c0e86c47..c971588e6 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.cs @@ -249,7 +249,7 @@ private void B_GiveAll_Click(object sender, EventArgs e) "Hau'oli City (Shopping) Ilima's House SwimPool", "Wela Volcano Park (rocks behind sign)", "Route 5 South of PokemonCenter", - "*** researching No.55", + "Hano Beach (below Sandygast)", "Malie City (Outer) RecyclePlant Outside", "Malie City FerryTerminal Outside", "Malie City ApparelShop Outside", @@ -269,7 +269,7 @@ private void B_GiveAll_Click(object sender, EventArgs e) "Route 17 PoliceStation Outside", "Route 17 PoliceStation", "Po Town PokemonCenter Outside", - "*** researching No.75", + "Exeggutor Island (under rock)", "Po Town ShadyHouse Outside (East)", "Po Town PokemonCenter", "Po Town ShadyHouse 1F", From 6ecc7f2efb035b1477e093e82f9c2420bb6b27bb Mon Sep 17 00:00:00 2001 From: Matt Date: Sun, 12 Nov 2017 12:08:48 -0500 Subject: [PATCH 70/81] Update USUM static encounter list --- .../Legality/Encounters/Data/Encounters7.cs | 33 ++++--------------- 1 file changed, 6 insertions(+), 27 deletions(-) diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs index c4dc9b076..88f6f746c 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs @@ -187,8 +187,8 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Gift = true, Species = 772, Level = 60, Location = 188, IV3 = true, }, // Type: Null @ Aether Paradise new EncounterStatic { Gift = true, Species = 772, Level = 60, Location = 160, IV3 = true, }, // Type: Null @ Ancient Poni Path new EncounterStatic { Gift = true, Species = 801, Level = 50, Location = -01, IV3 = true, Shiny = false, Ability = 2, HeldItem = 795, }, // Magearna @ ??? - new EncounterStatic { Gift = true, Species = 789, Level = 05, Location = 142, IV3 = true, Shiny = false, Ability = 2, Version = GameVersion.US, }, // Cosmog @ ??? - new EncounterStatic { Gift = true, Species = 789, Level = 05, Location = 144, IV3 = true, Shiny = false, Ability = 2, Version = GameVersion.UM, }, // Cosmog @ ??? + new EncounterStatic { Gift = true, Species = 789, Level = 05, Location = 142, IV3 = true, Shiny = false, Ability = 2, Version = GameVersion.US }, // Cosmog @ Lake of the Sunne + new EncounterStatic { Gift = true, Species = 789, Level = 05, Location = 144, IV3 = true, Shiny = false, Ability = 2, Version = GameVersion.UM }, // Cosmog @ Lake of the Moone new EncounterStatic { Gift = true, Species = 142, Level = 40, Location = 172, }, // Aerodactyl @ Seafolk Village new EncounterStatic { Gift = true, Species = 025, Level = 40, Location = 070, IV3 = true, HeldItem = 796, Relearn = new[] {57,0,0,0} }, // Pikachu @ Heahea City new EncounterStatic { Gift = true, Species = 803, Level = 40, Location = 208, IV3 = true,}, // Poipole @ Megalo Tower @@ -214,8 +214,6 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) Ability = 1, Fateful = true, RibbonWishing = true, Relearn = new[] {85, 98, 87, 231}, }, - new EncounterStatic { Species = 731, Level = 03, Location = -01, Ability = 1, Shiny = false, }, // Pikipek @ ??? - new EncounterStatic { Species = 793, Level = 27, Location = -01, Ability = 1, Shiny = false, IVs = new[] {31,01,31,01,31,31}, }, // Nihilego @ ??? new EncounterStatic { Species = 791, Level = 60, Location = 028, Ability = 1, Shiny = false, IV3 = true, Relearn = new[] {713,322,242,428}, Version = GameVersion.US }, // Solgaleo @ Mahalo Trail (Plank Bridge) new EncounterStatic { Species = 792, Level = 60, Location = 028, Ability = 1, Shiny = false, IV3 = true, Relearn = new[] {714,322,539,585}, Version = GameVersion.UM }, // Lunala @ Mahalo Trail (Plank Bridge) @@ -262,31 +260,14 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 788, Level = 60, Location = 180, Ability = 1, Shiny = false, IV3 = true, }, // Tapu Fini @ Ruins of Hope new EncounterStatic { Species = 023, Level = 10, Location = 012, Ability = 1, }, // Ekans @ Route 2 - new EncounterStatic { Species = 103, Level = 40, Location = -01, Ability = 1, Form = 1, }, // Exeggutor @ ??? new EncounterStatic { Species = 542, Level = 57, Location = -01, Relearn = new[] {580,437,014,494}, }, // Leavanny @ ??? - new EncounterStatic { Species = 752, Level = 20, Location = -01, Ability = 1, Shiny = false, IVs = new[] {31,01,31,01,31,01}, Relearn = new[] {141,145,044,062}, Form = 1, Gender = 0, HeldItem = 186, }, // Araquanid @ ??? - new EncounterStatic { Species = 751, Level = 17, Location = -01, Ability = 1, Shiny = false, }, // Dewpider @ ??? - new EncounterStatic { Species = 751, Level = 18, Location = -01, Ability = 1, Shiny = false, }, // Dewpider @ ??? - new EncounterStatic { Species = 284, Level = 18, Location = -01, Ability = 1, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {184,078,366,450}, }, // Masquerain @ ??? - new EncounterStatic { Species = 751, Level = 18, Location = -01, Ability = 1, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {564,240,450,145}, }, // Dewpider @ ??? - new EncounterStatic { Species = 753, Level = 17, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {075,670,210,074}, }, // Fomantis @ ??? - new EncounterStatic { Species = 764, Level = 21, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {022,577,186,073}, }, // Comfey @ ??? - new EncounterStatic { Species = 753, Level = 21, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {075,210,275,074}, }, // Fomantis @ ??? - new EncounterStatic { Species = 185, Level = 24, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {088,317,452,175}, }, // Sudowoodo @ ??? - new EncounterStatic { Species = 777, Level = 33, Location = -01, Ability = 2, Shiny = false, IVs = new[] {31,15,31,01,31,31}, Relearn = new[] {716,596,442,340}, Form = 1, Gender = 0, HeldItem = 158, }, // Togedemaru @ ??? new EncounterStatic { Species = 227, Level = 32, Location = -01, Ability = 2, Shiny = false, IVs = new[] {15,15,15,15,15,15}, Relearn = new[] {446,211,366,259}, }, // Skarmory @ ??? new EncounterStatic { Species = 702, Level = 31, Location = -01, Ability = 2, Shiny = false, IVs = new[] {31,31,31,31,31,31}, Relearn = new[] {162,598,204,435}, }, // Dedenne @ ??? - new EncounterStatic { Species = 239, Level = 29, Location = -01, Ability = 1, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {098,009,067,043}, }, // Elekid @ ??? - new EncounterStatic { Species = 125, Level = 30, Location = -01, Ability = 1, Shiny = false, IVs = new[] {00,00,00,00,00,00}, Relearn = new[] {486,113,129,086}, }, // Electabuzz @ ??? - new EncounterStatic { Species = 734, Level = 03, Location = -01, Ability = 1, Shiny = false, }, // Yungoos @ ??? - new EncounterStatic { Species = 019, Level = 03, Location = -01, Ability = 1, Shiny = false, Form = 1, }, // Rattata @ ??? - new EncounterStatic { Species = 736, Level = 04, Location = -01, Ability = 1, Shiny = false, }, // Grubbin @ ??? - new EncounterStatic { Species = 021, Level = 04, Location = -01, Ability = 1, Shiny = false, Relearn = new[] {043,228,000,000}, }, // Spearow @ ??? + new EncounterStatic { Species = 736, Level = 04, Location = 008, Ability = 1, Shiny = false, }, // Grubbin @ Route 1 new EncounterStatic { Species = 127, Level = 42, Location = 184, Shiny = false, }, // Pinsir @ Exeggutor Island new EncounterStatic { Species = 127, Level = 43, Location = 184, Shiny = false, }, // Pinsir @ Exeggutor Island new EncounterStatic { Species = 800, Level = 65, Location = 146, Ability = 1, Shiny = false, IV3 = true, Relearn = new[] {722,334,408,400}, HeldItem = 923, }, // Necrozma @ Mount Lanakila - new EncounterStatic { Species = 743, Level = 55, Location = -01, Ability = 2, Shiny = false, IVs = new[] {31,01,31,01,31,31}, Relearn = new[] {405,577,483,605}, Form = 1, Gender = 1, HeldItem = 184, }, // Ribombee @ ??? new EncounterStatic { Species = 279, Level = 52, Location = -01, Ability = 2, Shiny = false, IVs = new[] {15,31,15,15,15,31}, Relearn = new[] {254,503,255,402}, Gender = 1, }, // Pelipper @ ??? new EncounterStatic { Species = 242, Level = 53, Location = -01, Ability = 2, Shiny = false, IVs = new[] {15,00,00,00,00,00}, Relearn = new[] {505,113,270,605}, Gender = 1, }, // Blissey @ ??? @@ -351,10 +332,10 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 195, Level = 60, Location = 222, IV3 = true, }, // Quagsire @ Ultra Space Wilds new EncounterStatic { Species = 793, Level = 60, Location = 190, Ability = 1, IV3 = true, Relearn = new[] {408,491,446,243}, }, // Nihilego @ Ultra Deep Sea - new EncounterStatic { Species = 794, Level = 60, Location = 218, Ability = 1, IV3 = true, Version = GameVersion.US, }, // Buzzwole @ Ultra Jungle - new EncounterStatic { Species = 795, Level = 60, Location = 214, Ability = 1, IV3 = true, Version = GameVersion.UM , }, // Pheromosa @ Ultra Desert + new EncounterStatic { Species = 794, Level = 60, Location = 218, Ability = 1, IV3 = true, Version = GameVersion.US }, // Buzzwole @ Ultra Jungle + new EncounterStatic { Species = 795, Level = 60, Location = 214, Ability = 1, IV3 = true, Version = GameVersion.UM }, // Pheromosa @ Ultra Desert new EncounterStatic { Species = 796, Level = 60, Location = 210, Ability = 1, IV3 = true, }, // Xurkitree @ Ultra Plant - new EncounterStatic { Species = 797, Level = 60, Location = 212, Ability = 1, IV3 = true, Version = GameVersion.UM , }, // Celesteela @ Ultra Crater + new EncounterStatic { Species = 797, Level = 60, Location = 212, Ability = 1, IV3 = true, Version = GameVersion.UM }, // Celesteela @ Ultra Crater new EncounterStatic { Species = 798, Level = 60, Location = 216, Ability = 1, IV3 = true, Version = GameVersion.US }, // Kartana @ Ultra Forest new EncounterStatic { Species = 799, Level = 60, Location = 220, Ability = 1, IV3 = true, }, // Guzzlord @ Ultra Ruin new EncounterStatic { Species = 735, Level = 60, Location = -01, Shiny = false, IVs = new[] {31,29,31,31,31,31}, Relearn = new[] {158,423,182,242}, Form = 1, Gender = 0, HeldItem = 189, }, // Gumshoos @ ??? @@ -377,8 +358,6 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 718, Level = 60, Location = 182, Ability = 1, Shiny = false, IV3 = true, Relearn = new[] {616,137,219,225}, }, // Zygarde @ Resolution Cave new EncounterStatic { Species = 805, Level = 60, Location = 164, Ability = 1, IV3 = true, Version = GameVersion.UM }, // Stakataka @ Poni Grove new EncounterStatic { Species = 806, Level = 60, Location = 164, Ability = 1, IV3 = true, Version = GameVersion.US }, // Blacephalon @ Poni Grove - new EncounterStatic { Species = 105, Level = 22, Location = -01, Ability = 1, Shiny = false, Form = 2, Gender = 0, HeldItem = 258, }, // Marowak @ ??? - new EncounterStatic { Species = 758, Level = 20, Location = -01, Ability = 1, Shiny = false, IVs = new[] {15,01,31,15,31,01}, Relearn = new[] {139,474,481,259}, Gender = 1, }, // Salazzle @ ??? new EncounterStatic { Species = 101, Level = 60, Location = 224, Ability = 1, Shiny = false, }, // Electrode @ Team Rocket's Castle }; internal static readonly EncounterTrade[] TradeGift_USUM = From 064d18c13fb7491bbfa44af3e26053d0ef9ba265 Mon Sep 17 00:00:00 2001 From: Kurt Date: Sun, 12 Nov 2017 09:17:54 -0800 Subject: [PATCH 71/81] Add necrozma special forme moves not present in the levelup movepool like they should be... --- PKHeX.Core/Legality/Core.cs | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/PKHeX.Core/Legality/Core.cs b/PKHeX.Core/Legality/Core.cs index a09d2f15c..6ef757beb 100644 --- a/PKHeX.Core/Legality/Core.cs +++ b/PKHeX.Core/Legality/Core.cs @@ -1692,12 +1692,22 @@ private static IEnumerable GetValidMoves(PKM pkm, GameVersion Version, DexL if (pkm.Format <= 3) return r.Distinct(); if (LVL) - { - if (species == 479 && Generation >= 4) // Rotom - r.Add(RotomMoves[pkm.AltForm]); - - if (species == 718 && Generation == 7) // Zygarde - r.AddRange(ZygardeMoves); + { + switch (species) + { + case 479 when Generation >= 4: // rotom + r.Add(RotomMoves[pkm.AltForm]); + break; + case 718 when Generation == 7: // zygarde + r.AddRange(ZygardeMoves); + break; + case 800 when pkm.AltForm == 1: // Sun Necrozma + r.Add(713); + break; + case 800 when pkm.AltForm == 2: // Moon Necrozma + r.Add(714); + break; + } } if (Tutor) { From 55c31cb598e7eca0db0ba40374d1c48f162afde7 Mon Sep 17 00:00:00 2001 From: Kurt Date: Sun, 12 Nov 2017 10:59:23 -0800 Subject: [PATCH 72/81] Update encounters add ability locks for sm gifts add poipole secondary location add magearna details --- .../Legality/Encounters/Data/Encounters7.cs | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs index 88f6f746c..18b4a7c52 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs @@ -71,8 +71,8 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Gift = true, Species = 133, Level = 1, EggLocation = 60002, }, // Eevee @ Nursery helpers new EncounterStatic { Gift = true, Species = 137, Level = 30, Location = 116, }, // Porygon @ Route 15 new EncounterStatic { Gift = true, Species = 772, Level = 40, Location = 188, IV3 = true, }, // Type: Null - new EncounterStatic { Gift = true, Species = 789, Level = 5, Location = 142, Shiny = false, IV3 = true, Version = GameVersion.SN}, // Cosmog 00 FF - new EncounterStatic { Gift = true, Species = 789, Level = 5, Location = 144, Shiny = false, IV3 = true, Version = GameVersion.MN}, // Cosmog 00 FF + new EncounterStatic { Gift = true, Species = 789, Level = 5, Location = 142, Shiny = false, Ability = 2, IV3 = true, Version = GameVersion.SN }, // Cosmog + new EncounterStatic { Gift = true, Species = 789, Level = 5, Location = 144, Shiny = false, Ability = 2, IV3 = true, Version = GameVersion.MN }, // Cosmog new EncounterStatic { Gift = true, Species = 142, Level = 40, Location = 172, }, // Aerodactyl @ Seafolk Village new EncounterStatic { Gift = true, Species = 718, Form = 0, Level = 30, Shiny = false, Location = 118, IV3 = true, }, // Zygarde @@ -87,7 +87,7 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic // Magearna (Bottle Cap) 00 FF { - Gift = true, Species = 801, Level = 50, Location = 40001, Shiny = false, IV3 = true, + Gift = true, Species = 801, Level = 50, Location = 40001, Shiny = false, IV3 = true, HeldItem = 795, Ability = 2, Fateful = true, RibbonWishing = true, Relearn = new [] {705, 430, 381, 270}, Ball = 0x10, // Cherish }, @@ -186,12 +186,12 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Gift = true, Species = 137, Level = 30, Location = 116, }, // Porygon @ Route 15 new EncounterStatic { Gift = true, Species = 772, Level = 60, Location = 188, IV3 = true, }, // Type: Null @ Aether Paradise new EncounterStatic { Gift = true, Species = 772, Level = 60, Location = 160, IV3 = true, }, // Type: Null @ Ancient Poni Path - new EncounterStatic { Gift = true, Species = 801, Level = 50, Location = -01, IV3 = true, Shiny = false, Ability = 2, HeldItem = 795, }, // Magearna @ ??? new EncounterStatic { Gift = true, Species = 789, Level = 05, Location = 142, IV3 = true, Shiny = false, Ability = 2, Version = GameVersion.US }, // Cosmog @ Lake of the Sunne new EncounterStatic { Gift = true, Species = 789, Level = 05, Location = 144, IV3 = true, Shiny = false, Ability = 2, Version = GameVersion.UM }, // Cosmog @ Lake of the Moone new EncounterStatic { Gift = true, Species = 142, Level = 40, Location = 172, }, // Aerodactyl @ Seafolk Village new EncounterStatic { Gift = true, Species = 025, Level = 40, Location = 070, IV3 = true, HeldItem = 796, Relearn = new[] {57,0,0,0} }, // Pikachu @ Heahea City new EncounterStatic { Gift = true, Species = 803, Level = 40, Location = 208, IV3 = true,}, // Poipole @ Megalo Tower + new EncounterStatic { Gift = true, Species = 803, Level = 40, Location = 206, IV3 = true,}, // Poipole @ Ultra Megalopolis // Totem-Sized Gifts @ Heahea Beach new EncounterStatic { Gift = true, Species = 735, Level = 20, Ability = 4, Location = 202, Form = 1, Shiny = false, IV3 = true, Version = GameVersion.US }, // Gumshoos @@ -208,12 +208,17 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Gift = true, Species = 718, Level = 63, Ability = 1, Location = 118, Form = 1, Shiny = false, IV3 = true, }, // Zygarde @ Route 16 - new EncounterStatic // Pikachu (Pikashunium Z), should probably be a fake mystery gift as it has OT details + new EncounterStatic // Magearna (Bottle Cap) { - Gift = true, Species = 25, Level = 21, Location = 40005, Shiny = false, Form = 7, HeldItem = 571, Nature = Nature.Hardy, - Ability = 1, Fateful = true, RibbonWishing = true, Relearn = new[] {85, 98, 87, 231}, + Gift = true, Species = 801, Level = 50, Location = 40001, Shiny = false, IV3 = true, HeldItem = 795, Ability = 2, + Fateful = true, RibbonWishing = true, Relearn = new [] {705, 430, 381, 270}, Ball = 0x10, // Cherish }, - + new EncounterStatic // Pikachu (Pretty Wing), should probably be a fake mystery gift as it has OT details + { + Gift = true, Species = 25, Level = 21, Location = 40005, Shiny = false, Form = 7, HeldItem = 571, Ability = 1, + Fateful = true, RibbonWishing = true, Relearn = new[] {85, 98, 87, 231}, Nature = Nature.Hardy, + }, + new EncounterStatic { Species = 791, Level = 60, Location = 028, Ability = 1, Shiny = false, IV3 = true, Relearn = new[] {713,322,242,428}, Version = GameVersion.US }, // Solgaleo @ Mahalo Trail (Plank Bridge) new EncounterStatic { Species = 792, Level = 60, Location = 028, Ability = 1, Shiny = false, IV3 = true, Relearn = new[] {714,322,539,585}, Version = GameVersion.UM }, // Lunala @ Mahalo Trail (Plank Bridge) From dd83555953baf9695975b757f3fc53c7313402fb Mon Sep 17 00:00:00 2001 From: pokecal Date: Mon, 13 Nov 2017 04:54:48 +0900 Subject: [PATCH 73/81] complete USUM TotemSticker location easy one have missed. --- PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.cs index c971588e6..7b96bf897 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.cs @@ -215,7 +215,7 @@ private void B_GiveAll_Click(object sender, EventArgs e) "Konikoni City Olivia's JewelryShop 2F", "Heahea City Surfboard Outside", "Po Town SouthWest", - "*** researching No.21 ***", + "Hano Resort Lobby(BottomLeft water)", "Hau'oli City (Shopping) NorthWest of Police Station", "Hau'oli City (Marina) FerryTerminal Outside", "Route 2 SouthEast House Outside", @@ -238,7 +238,7 @@ private void B_GiveAll_Click(object sender, EventArgs e) "Paniola Ranch SouthEast", "Hano Beach", "Hano Resort South", - "Hano Resort Lobby", + "Hano Resort Lobby(Back)", "Konikoni City Lighthouse (Diglett's Tunnel)", "Royal Dome 1F", "Route 8 AetherBase Outside", From 9b61c944028eed66d39f6a8c3def1ffb02e0b050 Mon Sep 17 00:00:00 2001 From: Kurt Date: Sun, 12 Nov 2017 12:15:08 -0800 Subject: [PATCH 74/81] Add ditto5 natures thanks @wwwwwwzx for pointing this out remove others that have encounter details forced (for totem battles) --- .../Legality/Encounters/Data/Encounters7.cs | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs index 18b4a7c52..b799e138d 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs @@ -266,15 +266,10 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 023, Level = 10, Location = 012, Ability = 1, }, // Ekans @ Route 2 - new EncounterStatic { Species = 542, Level = 57, Location = -01, Relearn = new[] {580,437,014,494}, }, // Leavanny @ ??? - new EncounterStatic { Species = 227, Level = 32, Location = -01, Ability = 2, Shiny = false, IVs = new[] {15,15,15,15,15,15}, Relearn = new[] {446,211,366,259}, }, // Skarmory @ ??? - new EncounterStatic { Species = 702, Level = 31, Location = -01, Ability = 2, Shiny = false, IVs = new[] {31,31,31,31,31,31}, Relearn = new[] {162,598,204,435}, }, // Dedenne @ ??? new EncounterStatic { Species = 736, Level = 04, Location = 008, Ability = 1, Shiny = false, }, // Grubbin @ Route 1 new EncounterStatic { Species = 127, Level = 42, Location = 184, Shiny = false, }, // Pinsir @ Exeggutor Island new EncounterStatic { Species = 127, Level = 43, Location = 184, Shiny = false, }, // Pinsir @ Exeggutor Island new EncounterStatic { Species = 800, Level = 65, Location = 146, Ability = 1, Shiny = false, IV3 = true, Relearn = new[] {722,334,408,400}, HeldItem = 923, }, // Necrozma @ Mount Lanakila - new EncounterStatic { Species = 279, Level = 52, Location = -01, Ability = 2, Shiny = false, IVs = new[] {15,31,15,15,15,31}, Relearn = new[] {254,503,255,402}, Gender = 1, }, // Pelipper @ ??? - new EncounterStatic { Species = 242, Level = 53, Location = -01, Ability = 2, Shiny = false, IVs = new[] {15,00,00,00,00,00}, Relearn = new[] {505,113,270,605}, Gender = 1, }, // Blissey @ ??? // Legendaries @ Ultra Space Wilds new EncounterStatic { Species = 144, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {246,573,115,258}, }, // Articuno @@ -343,10 +338,6 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 797, Level = 60, Location = 212, Ability = 1, IV3 = true, Version = GameVersion.UM }, // Celesteela @ Ultra Crater new EncounterStatic { Species = 798, Level = 60, Location = 216, Ability = 1, IV3 = true, Version = GameVersion.US }, // Kartana @ Ultra Forest new EncounterStatic { Species = 799, Level = 60, Location = 220, Ability = 1, IV3 = true, }, // Guzzlord @ Ultra Ruin - new EncounterStatic { Species = 735, Level = 60, Location = -01, Shiny = false, IVs = new[] {31,29,31,31,31,31}, Relearn = new[] {158,423,182,242}, Form = 1, Gender = 0, HeldItem = 189, }, // Gumshoos @ ??? - new EncounterStatic { Species = 734, Level = 58, Location = -01, Shiny = false, IVs = new[] {31,31,31,00,31,31}, Relearn = new[] {281,189,259,162}, }, // Yungoos @ ??? - new EncounterStatic { Species = 020, Level = 60, Location = -01, Shiny = false, IVs = new[] {31,31,31,31,31,31}, Relearn = new[] {158,675,182,104}, Form = 2, Gender = 0, HeldItem = 189, }, // Raticate @ ??? - new EncounterStatic { Species = 019, Level = 58, Location = -01, Shiny = false, IVs = new[] {31,31,31,00,31,31}, Relearn = new[] {162,039,259,242}, Form = 1, }, // Rattata @ ??? new EncounterStatic { Species = 760, Level = 28, Location = -01, Shiny = false, }, // Bewear @ ??? new EncounterStatic { Species = 097, Level = 29, Location = 020, Shiny = false, Relearn = new[] {095,171,139,029}, }, // Hypno @ Hau'oli City Police Station new EncounterStatic { Species = 097, Level = 29, Location = 020, Shiny = false, Relearn = new[] {417,060,050,139}, }, // Hypno @ Hau'oli City Police Station @@ -355,11 +346,11 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) new EncounterStatic { Species = 425, Level = 19, Location = 230, Shiny = false, Relearn = new[] {310,132,016,371}, }, // Drifloon @ Route 1 (Trainers’ School) new EncounterStatic { Species = 769, Level = 30, Location = 116, Shiny = false, Relearn = new[] {310,523,072,328}, }, // Sandygast @ Route 15 new EncounterStatic { Species = 592, Level = 34, Location = 126, Shiny = false, Gender = 1, }, // Frillish @ Route 14 - new EncounterStatic { Species = 132, Level = 29, Location = 060, IVs = new[] {-1,-1,31,30,-1,00}, }, // Ditto @ Route 9 - new EncounterStatic { Species = 132, Level = 29, Location = 072, IVs = new[] {-1,-1,30,30,-1,31}, }, // Ditto @ Konikoni City - new EncounterStatic { Species = 132, Level = 29, Location = 072, IVs = new[] {-1,31,30,-1,-1,30}, }, // Ditto @ Konikoni City - new EncounterStatic { Species = 132, Level = 29, Location = 072, IVs = new[] {-1,00,-1,31,30,-1}, }, // Ditto @ Konikoni City - new EncounterStatic { Species = 132, Level = 29, Location = 072, IVs = new[] {-1,30,-1,-1,30,31}, }, // Ditto @ Konikoni City + new EncounterStatic { Species = 132, Level = 29, Location = 060, IVs = new[] {-1,-1,31,30,-1,00}, Nature = Nature.Bold }, // Ditto @ Route 9 + new EncounterStatic { Species = 132, Level = 29, Location = 072, IVs = new[] {-1,-1,30,30,-1,31}, Nature = Nature.Jolly }, // Ditto @ Konikoni City + new EncounterStatic { Species = 132, Level = 29, Location = 072, IVs = new[] {-1,31,30,-1,-1,30}, Nature = Nature.Adamant }, // Ditto @ Konikoni City + new EncounterStatic { Species = 132, Level = 29, Location = 072, IVs = new[] {-1,00,-1,31,30,-1}, Nature = Nature.Modest }, // Ditto @ Konikoni City + new EncounterStatic { Species = 132, Level = 29, Location = 072, IVs = new[] {-1,30,-1,-1,30,31}, Nature = Nature.Timid }, // Ditto @ Konikoni City new EncounterStatic { Species = 718, Level = 60, Location = 182, Ability = 1, Shiny = false, IV3 = true, Relearn = new[] {616,137,219,225}, }, // Zygarde @ Resolution Cave new EncounterStatic { Species = 805, Level = 60, Location = 164, Ability = 1, IV3 = true, Version = GameVersion.UM }, // Stakataka @ Poni Grove new EncounterStatic { Species = 806, Level = 60, Location = 164, Ability = 1, IV3 = true, Version = GameVersion.US }, // Blacephalon @ Poni Grove From 7bc316d79cf8d3446be1d471bcfb164d9417425b Mon Sep 17 00:00:00 2001 From: Kurt Date: Sun, 12 Nov 2017 16:02:14 -0800 Subject: [PATCH 75/81] Add "AlolaTime not existing yet" handling Savedata::GameTime::IsAlolaOffsetExists --- .../Subforms/Save Editors/Gen7/SAV_Trainer7.cs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_Trainer7.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_Trainer7.cs index ea167b98f..392da72f8 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_Trainer7.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_Trainer7.cs @@ -137,11 +137,13 @@ private void GetTextBoxes() CB_Region.SelectedValue = SAV.SubRegion; CB_3DSReg.SelectedValue = SAV.ConsoleRegion; CB_Language.SelectedValue = SAV.Language; - if (SAV.AlolaTime == 0) - { - SAV.AlolaTime = 24 * 60 * 60; // Patch up any bad times from previous program versions. - } - CB_AlolaTime.SelectedValue = (int)SAV.AlolaTime; + var time = SAV.AlolaTime; + if (time == 0) + time = 24 * 60 * 60; // Patch up any bad times from previous program versions. + if (time == 9_999_999) + CB_AlolaTime.Enabled = false; // alola time doesn't exist yet + else + CB_AlolaTime.SelectedValue = (int)time; NUD_M.Value = SAV.M; // Sanity Check Map Coordinates From dbabcb9ef0a83f001478f137a221d60dc5e4d6a1 Mon Sep 17 00:00:00 2001 From: Kurt Date: Sun, 12 Nov 2017 21:28:34 -0800 Subject: [PATCH 76/81] Misc updates fix hall of fame fixed offset fix ball throw type unlock/learned flags using fixed offset fix current throw type defaulting to -1 when Nihilist (new USUM style) by adding in for USUM add fused slot offset fetching convert event flag combined byte fetch to use Get/SetEventFlag with event flag references. add ZRingUnlocked sav properties & checkbox for toggling set AlolaTime only if the combobox is enabled (only disabled if not yet set by game) Closes #1595 --- PKHeX.Core/Saves/SAV7.cs | 39 +++++++---------- .../Gen7/SAV_Trainer7.Designer.cs | 13 ++++++ .../Save Editors/Gen7/SAV_Trainer7.cs | 42 +++++++++++-------- 3 files changed, 53 insertions(+), 41 deletions(-) diff --git a/PKHeX.Core/Saves/SAV7.cs b/PKHeX.Core/Saves/SAV7.cs index 82f1381b8..65f4093c1 100644 --- a/PKHeX.Core/Saves/SAV7.cs +++ b/PKHeX.Core/Saves/SAV7.cs @@ -62,7 +62,7 @@ public SAV7(byte[] data = null) protected override int GiftCountMax => 48; protected override int GiftFlagMax => 0x100 * 8; protected override int EventFlagMax => USUM ? 4928 : 3968; - protected override int EventConstMax => (EventFlag - EventConst) / 2; + protected override int EventConstMax => 1000; public override int OTLength => 12; public override int NickLength => 12; @@ -248,7 +248,8 @@ private void GetSAVOffsets() /* 35 */ QRSaveData = Blocks[35].Offset; // 0x6B800 // [1C8] QRReaderSaveData /* 36 */ // = Blocks[36].Offset; // 0x6BA00 // [200] TurtleSalmonSave - EventFlag = EventConst + 0x7D0; + EventFlag = EventConst + EventConstMax * 2; // After Event Const (u16)*n + HoF = EventFlag + EventFlagMax / 8; // After Event Flags (1b)*(1u8/8b)*n OFS_PouchHeldItem = Bag + 0; // 430 (Case 0) OFS_PouchKeyItem = Bag + 0x6B8; // 184 (Case 4) @@ -265,7 +266,6 @@ private void GetSAVOffsets() LastViewedBox = PCLayout + 0x5E3; PCFlags = PCLayout + 0x5E0; - HoF = 0x25C0; // Inside EventWork (const/flag) block FashionLength = 0x1A08; @@ -1266,6 +1266,14 @@ private void LoadLockedSlots() Array.Resize(ref TeamSlots, teamCount); } + private int FusedCount => USUM ? 3 : 1; + public int GetFusedSlotOffset(int slot) + { + if (Fused < 0 || slot < 0 || slot >= FusedCount) + return -1; + return Fused + SIZE_PARTY * slot; // 0x104*slot + } + public override int DaycareSeedSize => 32; // 128 bits public override int GetDaycareSlotOffset(int loc, int slot) { @@ -1445,32 +1453,17 @@ public override string MiscSaveInfo() return string.Join(Environment.NewLine, Blocks.Select(b => $"{b.ID:00}: {b.Offset:X5}-{b.Offset + b.Length:X5}, {b.Length:X5}")); } - public byte BallThrowTypeUnlocked - { - get => (byte)(((BitConverter.ToUInt16(Data, 0x23F4) << 4) >> 10) << 2); - set - { - ushort flags = (ushort)(BitConverter.ToUInt16(Data, 0x23F4) & 0xF03F); - flags |= (ushort)((value & 0xFC) << 4); - BitConverter.GetBytes(flags).CopyTo(Data, 0x23F4); - } - } - public byte BallThrowTypeLearned - { - get => (byte)((Data[0x2583] & 0x7F) << 1); - set => Data[0x2583] = (byte)((Data[0x2583] & 0x80) | ((value & 0xFE) >> 1)); - } - public byte BattleTreeSuperUnlocked - { - get => (byte)(Data[0x23F9] >> 5); - set => Data[0x23F9] = (byte)((Data[0x23F9] & 0x1F) | ((value & 0x07) << 5)); - } public bool MegaUnlocked { get => (Data[TrainerCard + 0x78] & 0x01) != 0; set => Data[TrainerCard + 0x78] = (byte)((Data[TrainerCard + 0x78] & 0xFE) | (value ? 1 : 0)); // in battle // Data[0x1F22] = (byte)((Data[0x1F22] & 0xFE) | (value ? 1 : 0)); // event } + public bool ZMoveUnlocked + { + get => (Data[TrainerCard + 0x78] & 2) != 0; + set => Data[TrainerCard + 0x78] = (byte)((Data[TrainerCard + 0x78] & ~2) | (value ? 2 : 0)); // in battle + } public override string GetString(int Offset, int Count) => StringConverter.GetString7(Data, Offset, Count); public override byte[] SetString(string value, int maxLength, int PadToSize = 0, ushort PadWith = 0) diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_Trainer7.Designer.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_Trainer7.Designer.cs index 9577a1f4a..863747c53 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_Trainer7.Designer.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_Trainer7.Designer.cs @@ -192,6 +192,7 @@ private void InitializeComponent() this.NUD_ThumbsTotal = new System.Windows.Forms.NumericUpDown(); this.L_ThumbsTotal = new System.Windows.Forms.Label(); this.B_Fashion = new System.Windows.Forms.Button(); + this.CHK_UnlockZMove = new System.Windows.Forms.CheckBox(); this.TC_Editor.SuspendLayout(); this.Tab_Overview.SuspendLayout(); this.GB_Stats.SuspendLayout(); @@ -1669,6 +1670,7 @@ private void InitializeComponent() // // Tab_Misc // + this.Tab_Misc.Controls.Add(this.CHK_UnlockZMove); this.Tab_Misc.Controls.Add(this.CHK_UnlockMega); this.Tab_Misc.Controls.Add(this.L_BallThrowType); this.Tab_Misc.Controls.Add(this.CB_BallThrowType); @@ -1990,6 +1992,16 @@ private void InitializeComponent() this.B_Fashion.UseVisualStyleBackColor = true; this.B_Fashion.Click += new System.EventHandler(this.B_Fashion_Click); // + // CHK_UnlockZMove + // + this.CHK_UnlockZMove.AutoSize = true; + this.CHK_UnlockZMove.Location = new System.Drawing.Point(6, 273); + this.CHK_UnlockZMove.Name = "CHK_UnlockZMove"; + this.CHK_UnlockZMove.Size = new System.Drawing.Size(105, 17); + this.CHK_UnlockZMove.TabIndex = 73; + this.CHK_UnlockZMove.Text = "Unlock Z Moves"; + this.CHK_UnlockZMove.UseVisualStyleBackColor = true; + // // SAV_Trainer7 // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -2214,5 +2226,6 @@ private void InitializeComponent() private System.Windows.Forms.CheckBox CHK_UnlockSuperDoubles; private System.Windows.Forms.CheckBox CHK_UnlockSuperSingles; private System.Windows.Forms.CheckBox CHK_UnlockMega; + private System.Windows.Forms.CheckBox CHK_UnlockZMove; } } diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_Trainer7.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_Trainer7.cs index 392da72f8..664ca73f4 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_Trainer7.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_Trainer7.cs @@ -107,7 +107,10 @@ private void GetComboBoxes() CB_Vivillon.ValueMember = "Value"; CB_Vivillon.DataSource = PKX.GetFormList(666, GameInfo.Strings.types, GameInfo.Strings.forms, Main.GenderSymbols).ToList(); - foreach (string t in BattleStyles) + var styles = new List(BattleStyles); + if (SAV.USUM) + styles.Add("Nihilist"); + foreach (string t in styles) { CB_BallThrowType.Items.Add(t); LB_BallThrowTypeUnlocked.Items.Add(t); @@ -211,29 +214,26 @@ private void GetTextBoxes() if (SAV.BallThrowType >= 0 && SAV.BallThrowType < CB_BallThrowType.Items.Count) CB_BallThrowType.SelectedIndex = SAV.BallThrowType; - byte bttu = SAV.BallThrowTypeUnlocked; LB_BallThrowTypeUnlocked.SetSelected(0, true); LB_BallThrowTypeUnlocked.SetSelected(1, true); for (int i = 2; i < LB_BallThrowTypeUnlocked.Items.Count; i++) - LB_BallThrowTypeUnlocked.SetSelected(i, (bttu & (1 << i)) != 0); + LB_BallThrowTypeUnlocked.SetSelected(i, SAV.GetEventFlag(292 + i)); - byte bttl = SAV.BallThrowTypeLearned; LB_BallThrowTypeLearned.SetSelected(0, true); for (int i = 1; i < LB_BallThrowTypeLearned.Items.Count; i++) - LB_BallThrowTypeLearned.SetSelected(i, (bttl & (1 << i)) != 0); - + LB_BallThrowTypeLearned.SetSelected(i, SAV.GetEventFlag(3479 + i)); CB_BallThrowTypeListMode.SelectedIndex = 0; uint stampBits = SAV.Stamps; for (int i = 0; i < LB_Stamps.Items.Count; i++) LB_Stamps.SetSelected(i, (stampBits & (1 << i)) != 0); - byte btsu = SAV.BattleTreeSuperUnlocked; - CHK_UnlockSuperSingles.Checked = (btsu & 1) != 0; - CHK_UnlockSuperDoubles.Checked = (btsu & (1 << 1)) != 0; - CHK_UnlockSuperMulti.Checked = (btsu & (1 << 2)) != 0; + CHK_UnlockSuperSingles.Checked = SAV.GetEventFlag(333); + CHK_UnlockSuperDoubles.Checked = SAV.GetEventFlag(334); + CHK_UnlockSuperMulti.Checked = SAV.GetEventFlag(335); CHK_UnlockMega.Checked = SAV.MegaUnlocked; + CHK_UnlockZMove.Checked = SAV.ZMoveUnlocked; } private void Save() { @@ -247,6 +247,7 @@ private void Save() SAV.Country = WinFormsUtil.GetIndex(CB_Country); SAV.ConsoleRegion = WinFormsUtil.GetIndex(CB_3DSReg); SAV.Language = WinFormsUtil.GetIndex(CB_Language); + if (CB_AlolaTime.Enabled) SAV.AlolaTime = (ulong)WinFormsUtil.GetIndex(CB_AlolaTime); SAV.OT = TB_OTName.Text; @@ -321,18 +322,23 @@ private void Save() if (CB_Vivillon.SelectedIndex >= 0) SAV.Vivillon = CB_Vivillon.SelectedIndex; SAV.DaysFromRefreshed = (byte)NUD_DaysFromRefreshed.Value; - SAV.BallThrowType = CB_BallThrowType.SelectedIndex; - SAV.BallThrowTypeUnlocked = (byte)GetBits(LB_BallThrowTypeUnlocked); - SAV.BallThrowTypeLearned = (byte)GetBits(LB_BallThrowTypeLearned); + if (CB_BallThrowType.SelectedIndex >= 0) + SAV.BallThrowType = CB_BallThrowType.SelectedIndex; + + for (int i = 2; i < LB_BallThrowTypeUnlocked.Items.Count; i++) + SAV.SetEventFlag(292 + i, LB_BallThrowTypeUnlocked.GetSelected(i)); + + for (int i = 1; i < LB_BallThrowTypeLearned.Items.Count; i++) + SAV.SetEventFlag(3479 + i, LB_BallThrowTypeLearned.GetSelected(i)); + SAV.Stamps = GetBits(LB_Stamps); - byte btsu = 0; - if (CHK_UnlockSuperSingles.Checked) btsu |= 1; - if (CHK_UnlockSuperDoubles.Checked) btsu |= 1 << 1; - if (CHK_UnlockSuperMulti.Checked) btsu |= 1 << 2; - SAV.BattleTreeSuperUnlocked = btsu; + SAV.SetEventFlag(333, CHK_UnlockSuperSingles.Checked); + SAV.SetEventFlag(334, CHK_UnlockSuperDoubles.Checked); + SAV.SetEventFlag(335, CHK_UnlockSuperMulti.Checked); SAV.MegaUnlocked = CHK_UnlockMega.Checked; + SAV.ZMoveUnlocked = CHK_UnlockZMove.Checked; } private static uint GetBits(ListBox listbox) { From 4341dc17759cbc25c67695732f7167fd9668579e Mon Sep 17 00:00:00 2001 From: Kurt Date: Sun, 12 Nov 2017 21:56:08 -0800 Subject: [PATCH 77/81] Add Galactic Key to usum key items permitted add zygarde cube reconstructs gifts, thanks @sora10pls ! --- PKHeX.Core/Legality/Encounters/Data/Encounters7.cs | 5 +++++ PKHeX.Core/Legality/Tables7.cs | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs index b799e138d..4a5c815fd 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs @@ -219,6 +219,11 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) Fateful = true, RibbonWishing = true, Relearn = new[] {85, 98, 87, 231}, Nature = Nature.Hardy, }, + new EncounterStatic { Gift = true, Species = 718, Form = 0, Level = 50, Shiny = false, Location = 118, IV3 = true, }, // Zygarde + new EncounterStatic { Gift = true, Species = 718, Form = 1, Level = 50, Shiny = false, Location = 118, IV3 = true, }, // Zygarde + new EncounterStatic { Gift = true, Species = 718, Form = 2, Level = 50, Shiny = false, Location = 118, IV3 = true, }, // Zygarde + new EncounterStatic { Gift = true, Species = 718, Form = 3, Level = 50, Shiny = false, Location = 118, IV3 = true, }, // Zygarde + new EncounterStatic { Species = 791, Level = 60, Location = 028, Ability = 1, Shiny = false, IV3 = true, Relearn = new[] {713,322,242,428}, Version = GameVersion.US }, // Solgaleo @ Mahalo Trail (Plank Bridge) new EncounterStatic { Species = 792, Level = 60, Location = 028, Ability = 1, Shiny = false, IV3 = true, Relearn = new[] {714,322,539,585}, Version = GameVersion.UM }, // Lunala @ Mahalo Trail (Plank Bridge) diff --git a/PKHeX.Core/Legality/Tables7.cs b/PKHeX.Core/Legality/Tables7.cs index 41cd402dd..85d257d51 100644 --- a/PKHeX.Core/Legality/Tables7.cs +++ b/PKHeX.Core/Legality/Tables7.cs @@ -97,7 +97,8 @@ public static partial class Legal 841, 842, 843, 845, 847, 850, 857, 858, 860, }; internal static readonly ushort[] Pouch_Key_USUM = Pouch_Key_SM.Concat(new ushort[] { - 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948 + 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, + 440, }).ToArray(); public static readonly ushort[] Pouch_Roto_USUM = { 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959 From 8fe32ec00781d7a3223e72686ce09d030c39055b Mon Sep 17 00:00:00 2001 From: sora10pls Date: Mon, 13 Nov 2017 01:33:30 -0500 Subject: [PATCH 78/81] Update Gen 7 event flags/constants --- PKHeX.Core/Resources/text/script/const_sm_en.txt | 2 +- PKHeX.Core/Resources/text/script/const_usum_en.txt | 2 +- PKHeX.Core/Resources/text/script/flags_sm_en.txt | 8 +++++--- PKHeX.Core/Resources/text/script/flags_usum_en.txt | 2 ++ 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/PKHeX.Core/Resources/text/script/const_sm_en.txt b/PKHeX.Core/Resources/text/script/const_sm_en.txt index d874eb22e..a2223fdaf 100644 --- a/PKHeX.Core/Resources/text/script/const_sm_en.txt +++ b/PKHeX.Core/Resources/text/script/const_sm_en.txt @@ -1,4 +1,4 @@ -148 Starter 00:Rowlet,01:Litten,02:Popplio +148 Starter 00:Rowlet,01:Litten,02:Popplio 432 Tapu Koko 03:Battleable,04:Defeated,05:Captured 433 Tapu Lele 01:Battleable,02:Defeated,03:Captured 434 Tapu Bulu 01:Battleable,02:Defeated,03:Captured diff --git a/PKHeX.Core/Resources/text/script/const_usum_en.txt b/PKHeX.Core/Resources/text/script/const_usum_en.txt index 62c311d72..5fa2b71e9 100644 --- a/PKHeX.Core/Resources/text/script/const_usum_en.txt +++ b/PKHeX.Core/Resources/text/script/const_usum_en.txt @@ -1,4 +1,4 @@ -148 Starter 00:Rowlet,01:Litten,02:Popplio +148 Starter 00:Rowlet,01:Litten,02:Popplio 432 Tapu Koko 03:Battleable,04:Defeated,05:Captured 433 Tapu Lele 01:Battleable,02:Defeated,03:Captured 434 Tapu Bulu 01:Battleable,02:Defeated,03:Captured diff --git a/PKHeX.Core/Resources/text/script/flags_sm_en.txt b/PKHeX.Core/Resources/text/script/flags_sm_en.txt index 8941b22e4..f4a8291da 100644 --- a/PKHeX.Core/Resources/text/script/flags_sm_en.txt +++ b/PKHeX.Core/Resources/text/script/flags_sm_en.txt @@ -1,5 +1,7 @@ 3100 Is Alolan Champion + Magearna Event Active -3487 Received Magearna Gift +3487 Received Gift Magearna +0493 Received Gift Porygon +0504 Received Gift Aerodactyl 1216 Received Gift Cosmog -0499 Received Gift Type:Null -0160 Moone[0] / Sunne Portal [1] \ No newline at end of file +0499 Received Gift Type: Null +0160 Moone [0] / Sunne Portal [1] \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/script/flags_usum_en.txt b/PKHeX.Core/Resources/text/script/flags_usum_en.txt index d7c2bbf02..7d68031db 100644 --- a/PKHeX.Core/Resources/text/script/flags_usum_en.txt +++ b/PKHeX.Core/Resources/text/script/flags_usum_en.txt @@ -1,3 +1,5 @@ +0493 Received Gift Porygon +0504 Received Gift Aerodactyl 4420 Articuno Captured 4421 Zapdos Captured 4422 Moltres Captured From 7b379ac4282a6d559932423f6f4a559cefff15a2 Mon Sep 17 00:00:00 2001 From: sora10pls Date: Mon, 13 Nov 2017 01:42:11 -0500 Subject: [PATCH 79/81] Fix spaces --- PKHeX.Core/Resources/text/script/const_sm_en.txt | 2 +- PKHeX.Core/Resources/text/script/const_usum_en.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/PKHeX.Core/Resources/text/script/const_sm_en.txt b/PKHeX.Core/Resources/text/script/const_sm_en.txt index a2223fdaf..d874eb22e 100644 --- a/PKHeX.Core/Resources/text/script/const_sm_en.txt +++ b/PKHeX.Core/Resources/text/script/const_sm_en.txt @@ -1,4 +1,4 @@ -148 Starter 00:Rowlet,01:Litten,02:Popplio +148 Starter 00:Rowlet,01:Litten,02:Popplio 432 Tapu Koko 03:Battleable,04:Defeated,05:Captured 433 Tapu Lele 01:Battleable,02:Defeated,03:Captured 434 Tapu Bulu 01:Battleable,02:Defeated,03:Captured diff --git a/PKHeX.Core/Resources/text/script/const_usum_en.txt b/PKHeX.Core/Resources/text/script/const_usum_en.txt index 5fa2b71e9..62c311d72 100644 --- a/PKHeX.Core/Resources/text/script/const_usum_en.txt +++ b/PKHeX.Core/Resources/text/script/const_usum_en.txt @@ -1,4 +1,4 @@ -148 Starter 00:Rowlet,01:Litten,02:Popplio +148 Starter 00:Rowlet,01:Litten,02:Popplio 432 Tapu Koko 03:Battleable,04:Defeated,05:Captured 433 Tapu Lele 01:Battleable,02:Defeated,03:Captured 434 Tapu Bulu 01:Battleable,02:Defeated,03:Captured From 5259b7546e8cf2781e6a1ab76c3de8e7b9125a7e Mon Sep 17 00:00:00 2001 From: ReignOfComputer Date: Mon, 13 Nov 2017 19:39:51 +0800 Subject: [PATCH 80/81] Totem Stickers Formatting & Window Standardized the list of Totem Stickers and expanded the window slightly to better fit text --- .../Gen7/SAV_ZygardeCell.Designer.cs | 10 +- .../Save Editors/Gen7/SAV_ZygardeCell.cs | 194 +++++++++--------- 2 files changed, 102 insertions(+), 102 deletions(-) diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.Designer.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.Designer.cs index 569545491..4c54d47e1 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.Designer.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.Designer.cs @@ -66,7 +66,7 @@ private void InitializeComponent() this.dgv.Name = "dgv"; this.dgv.RowHeadersVisible = false; this.dgv.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.CellSelect; - this.dgv.Size = new System.Drawing.Size(400, 263); + this.dgv.Size = new System.Drawing.Size(480, 263); this.dgv.TabIndex = 0; // // dgv_ref @@ -94,7 +94,7 @@ private void InitializeComponent() // B_Cancel // this.B_Cancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.B_Cancel.Location = new System.Drawing.Point(337, 306); + this.B_Cancel.Location = new System.Drawing.Point(417, 306); this.B_Cancel.Name = "B_Cancel"; this.B_Cancel.Size = new System.Drawing.Size(75, 23); this.B_Cancel.TabIndex = 1; @@ -105,7 +105,7 @@ private void InitializeComponent() // B_Save // this.B_Save.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.B_Save.Location = new System.Drawing.Point(337, 281); + this.B_Save.Location = new System.Drawing.Point(417, 281); this.B_Save.Name = "B_Save"; this.B_Save.Size = new System.Drawing.Size(75, 23); this.B_Save.TabIndex = 2; @@ -174,7 +174,7 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(424, 341); + this.ClientSize = new System.Drawing.Size(504, 341); this.Controls.Add(this.L_Collected); this.Controls.Add(this.NUD_Collected); this.Controls.Add(this.B_GiveAll); @@ -185,7 +185,7 @@ private void InitializeComponent() this.Controls.Add(this.dgv); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.MaximizeBox = false; - this.MinimumSize = new System.Drawing.Size(440, 380); + this.MinimumSize = new System.Drawing.Size(520, 380); this.Name = "SAV_ZygardeCell"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; this.Text = "Cells/Sticker Editor"; diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.cs index 7b96bf897..a46261aa6 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.cs @@ -195,106 +195,106 @@ private void B_GiveAll_Click(object sender, EventArgs e) }; private readonly string[] locationsUSUM = { - "Hau'oli City (Shopping) Salon Outside", - "Hau'oli City (Shopping) MalasadaShop Outside", - "Hau'oli City (Shopping) Ilima's House 2F", - "Malie City Library 1F", - "Hau'oli City (Marina) Outside", - "Route 2 SouthEast House", - "Hau'oli City (Shopping) Ilima's House Outside", - "Hau'oli City (Shopping) CityHall", - "Heahea City Hotel 3F", - "Route 2 BerryField House", - "Route 2 BerryField House Outside", - "Royal Avenue NorthEast", - "Hau'oli City (Shopping) PokemonCenter Outside", - "Royal Avenue South", - "Hokulani Observatory Room", - "Hokulani Observatory InfoDesk", - "Hau'oli City (Shopping) CityHall Outside", - "Konikoni City Olivia's JewelryShop 2F", - "Heahea City Surfboard Outside", - "Po Town SouthWest", - "Hano Resort Lobby(BottomLeft water)", - "Hau'oli City (Shopping) NorthWest of Police Station", - "Hau'oli City (Marina) FerryTerminal Outside", - "Route 2 SouthEast House Outside", - "Route 2 PokemonCenter Outside", - "Heahea City West", - "Heahea City Hotel Outside(West)", - "Heahea City Hotel Outside(East)", - "Heahea City ResearchLab Outside(East)", - "Heahea City ResearchLab Outside (South)", - "Heahea City GameFreak", - "Hokulani Observatory DeadEnd", - "Heahea City GameFreak Building 3F", - "Heahea City ResearchLab", - "Heahea City Hotel 1F", - "Royal Dome 2F", - "Paniola Town West", - "Paniola Town Kiawe's House 1F", - "Paniola Town Kiawe's House 2F", - "Paniola Ranch NorthWest", - "Paniola Ranch SouthEast", + "Hau'oli City (Shopping) - Salon (Outside)", + "Hau'oli City (Shopping) - Malasada Shop (Outside)", + "Hau'oli City (Shopping) - Ilima's House (2F)", + "Malie City - Library (1F)", + "Hau'oli City (Marina) - Pier", + "Route 2 - Southeast House", + "Hau'oli City (Shopping) - Ilima's House (Outside)", + "Hau'oli City (Shopping) - City Hall", + "Heahea City - Hotel (3F)", + "Route 2 - Berry Fields House", + "Route 2 - Berry Fields House (Outside)", + "Royal Avenue - Northeast", + "Hau'oli City (Shopping) - Pokemon Center (Outside)", + "Royal Avenue - South", + "Hokulani Observatory - Room", + "Hokulani Observatory - Reception", + "Hau'oli City (Shopping) - City Hall (Outside)", + "Konikoni City - Olivia's Jewelry Shop (2F)", + "Heahea City - Surfboard (Outside)", + "Po Town - Southwest", + "Hano Resort Lobby - Southwest Water", + "Hau'oli City (Shopping) - Northwest of Police Station", + "Hau'oli City (Marina) - Ferry Terminal (Outside)", + "Route 2 - Southeast House (Outside)", + "Route 2 - Pokemon Center (Outside)", + "Heahea City - West", + "Heahea City - Hotel West (Outside)", + "Heahea City - Hotel East (Outside)", + "Heahea City - Research Lab East (Outside)", + "Heahea City - Research Lab South (Outside)", + "Heahea City - Game Freak", + "Hokulani Observatory - Dead End", + "Heahea City - Game Freak Building (3F)", + "Heahea City - Research Lab", + "Heahea City - Hotel (1F)", + "Battle Royal Dome - 2F", + "Paniola Town - West", + "Paniola Town - Kiawe's House (1F)", + "Paniola Town - Kiawe's House (2F)", + "Paniola Ranch - Northwest", + "Paniola Ranch - Southeast", "Hano Beach", - "Hano Resort South", - "Hano Resort Lobby(Back)", - "Konikoni City Lighthouse (Diglett's Tunnel)", - "Royal Dome 1F", - "Route 8 AetherBase Outside", - "Route 8 FossilRestorationCenter Outside", - "Konikoni City West", - "Konikoni City Restaurant 1F", - "Iki Town SouthWest", - "Hau'oli City (Shopping) Ilima's House SwimPool", - "Wela Volcano Park (rocks behind sign)", - "Route 5 South of PokemonCenter", - "Hano Beach (below Sandygast)", - "Malie City (Outer) RecyclePlant Outside", - "Malie City FerryTerminal Outside", - "Malie City ApparelShop Outside", - "Malie City Salon Outside", - "Route 16 AetherBase Outside", - "Mt.Blush PowerPlant Outside", - "Malie City Library 2F", - "Malie Garden NorthEast", - "Malie City CommunityCenter", - "Hokulani Observatory Outside", - "Mt.Hokulani", - "Mt.Blush PowerPlant", + "Hano Resort - South", + "Hano Resort - North", + "Konikoni City Lighthouse (Through Diglett's Tunnel)", + "Battle Royal Dome - 1F", + "Route 8 - Aether Base (Outside)", + "Route 8 - Fossil Restoration Center (Outside)", + "Konikoni City - West", + "Konikoni City - Restaurant (1F)", + "Iki Town - Southwest", + "Hau'oli City (Shopping) - Ilima's House Pool", + "Wela Volcano Park - Rocks Behind Sign", + "Route 5 - South of Pokemon Center", + "Hano Beach - Below Sandygast", + "Malie City (Outer Cape) - Recycling Plant (Outside)", + "Malie City - Ferry Terminal (Outside)", + "Malie City - Apparel Shop (Outside)", + "Malie City - Salon (Outside)", + "Route 16 - Aether Base (Outside)", + "Blush Mountain - Power Plant (Outside)", + "Malie City - Library (2F)", + "Malie Garden - Northeast", + "Malie City - CommunityCenter", + "Hokulani Observatory - Outside", + "Mount Hokulani", + "Blush Mountain - Power Plant", "Route 13", - "Route 14 Front of Megamart (Abandoned)", - "Route 14 North", - "Route 15 islet Surfboard Outside", - "Route 17 PoliceStation Outside", - "Route 17 PoliceStation", - "Po Town PokemonCenter Outside", - "Exeggutor Island (under rock)", - "Po Town ShadyHouse Outside (East)", - "Po Town PokemonCenter", - "Po Town ShadyHouse 1F", - "Route 13 Motel Outside", - "Po Town ShadyHouse 2F Outside", - "Route 17 South of PoTown", + "Route 14 - Front of Abandoned Megamart", + "Route 14 - North", + "Route 15 - Islet Surfboard (Outside)", + "Route 17 - Police Station (Outside)", + "Route 17 - Police Station", + "Po Town - Pokemon Center (Outside)", + "Exeggutor Island - Under Rock", + "Po Town - Shady House East (Outside)", + "Po Town - Pokemon Center", + "Po Town - Shady House (1F)", + "Route 13 - Motel (Outside)", + "Po Town - Shady House 2F (Outside)", + "Route 17 - South of Po Town", "Ula'ula Meadow", - "Po Town ShadyHouse Outside (West) 1", - "Po Town ShadyHouse Outside (West) 2", - "Po Town ShadyHouse Outside (West) 3", - "Seafolk Village SouthEast Wiscash(Mina's Ship) Outside", - "Seafolk Village SouthWest Huntail", - "Seafolk Village SouthWest Huntail Outside", - "Seafolk Village SouthEast Wiscash (Mina's Ship)", - "Seafolk Village West Wailord (Restaurant)", - "Seafolk Village East Gyarados", - "Poni Wilds SouthEast", - "Ancient Poni Path Hapu's House(Kitchen)", - "Seafolk Village NorthEast", - "Ancient Poni Path Hapu's House(Bedroom)", - "Ancient Poni Path SouthWest", - "Ancient Poni Path Hapu's House Courtyard", - "Ancient Poni Path Hapu's House Outside behind Well", - "Ancient Poni Path NorthEast", - "Battle Tree Entrance", + "Po Town - Shady House West Rocks (Outside) 1", + "Po Town - Shady House West Rocks (Outside) 2", + "Po Town - Shady House West Rocks (Outside) 3", + "Seafolk Village - Southeast Whiscash (Mina's Ship) (Outside)", + "Seafolk Village - Southwest Huntail", + "Seafolk Village - Southwest Huntail (Outside)", + "Seafolk Village - Southeast Whiscash (Mina's Ship)", + "Seafolk Village - West Wailord (Restaurant)", + "Seafolk Village - East Gyarados", + "Poni Wilds - Southeast", + "Ancient Poni Path - Hapu's House (Kitchen)", + "Seafolk Village - Northeast", + "Ancient Poni Path - Hapu's House (Bedroom)", + "Ancient Poni Path - Southwest", + "Ancient Poni Path - Hapu's House (Courtyard)", + "Ancient Poni Path - Hapu's House (Outside Behind Well)", + "Ancient Poni Path - Northeast", + "Battle Tree - Entrance", }; #endregion From 97a159c71016cb2334e76066a35ff9f3ece03712 Mon Sep 17 00:00:00 2001 From: Kurt Date: Mon, 13 Nov 2017 09:16:29 -0800 Subject: [PATCH 81/81] Add ultra sun wild encounter details using pk3DS's dump pkl binaries method --- PKHeX.Core/Resources/byte/encounter_us.pkl | Bin 3804 -> 4372 bytes .../Resources/byte/encounter_us_sos.pkl | Bin 3756 -> 5704 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/PKHeX.Core/Resources/byte/encounter_us.pkl b/PKHeX.Core/Resources/byte/encounter_us.pkl index f168531857d865d8e0d8d5b7440aa4d1b8cc35d9..76fa962b622c6a414e43dd2ffef9d567410efae7 100644 GIT binary patch literal 4372 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