diff --git a/PKHeX/Game/GameInfo.cs b/PKHeX/Game/GameInfo.cs index 6b9de3893..3e4c14df5 100644 --- a/PKHeX/Game/GameInfo.cs +++ b/PKHeX/Game/GameInfo.cs @@ -250,6 +250,7 @@ public string[] getItemStrings(int generation, GameVersion game) // DataSource providing public static List MoveDataSource, ItemDataSource, SpeciesDataSource, BallDataSource, NatureDataSource, AbilityDataSource, VersionDataSource; + public static List HaXMoveDataSource; private static List metGen2, metGen3, metGen3CXD, metGen4, metGen5, metGen6, metGen7; public static void InitializeDataSources(GameStrings s) { @@ -261,7 +262,8 @@ public static void InitializeDataSources(GameStrings s) 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); - MoveDataSource = Util.getCBList(s.movelist, null); + HaXMoveDataSource = Util.getCBList(s.movelist, null); + MoveDataSource = HaXMoveDataSource.Where(m => !Legal.Z_Moves.Contains(m.Value)).ToList(); #region Met Locations // Gen 2 { diff --git a/PKHeX/Legality/Tables.cs b/PKHeX/Legality/Tables.cs index 1c67f97d5..b37e0b2cc 100644 --- a/PKHeX/Legality/Tables.cs +++ b/PKHeX/Legality/Tables.cs @@ -191,6 +191,13 @@ public static partial class Legal }; internal static readonly int[] BattlePrimals = { 382, 383 }; + internal static readonly int[] Z_Moves = + { + 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, + }; + #region Games internal static readonly int[] Games_7sm = { 30, 31 }; diff --git a/PKHeX/MainWindow/Main.cs b/PKHeX/MainWindow/Main.cs index 9735bcf34..4d8e0cdbc 100644 --- a/PKHeX/MainWindow/Main.cs +++ b/PKHeX/MainWindow/Main.cs @@ -1308,7 +1308,7 @@ private void populateFilteredDataSources() CB_GameOrigin.DataSource = new BindingSource(GameInfo.VersionDataSource.Where(g => g.Value <= SAV.MaxGameID || SAV.Generation >= 3 && g.Value == 15).ToList(), null); // Set the Move ComboBoxes too.. - var moves = GameInfo.MoveDataSource.Where(m => m.Value <= SAV.MaxMoveID).ToList(); + var moves = (HaX ? GameInfo.HaXMoveDataSource : GameInfo.MoveDataSource).Where(m => m.Value <= SAV.MaxMoveID).ToList(); // Filter Z-Moves if appropriate foreach (ComboBox cb in new[] { CB_Move1, CB_Move2, CB_Move3, CB_Move4, CB_RelearnMove1, CB_RelearnMove2, CB_RelearnMove3, CB_RelearnMove4 }) { cb.DisplayMember = "Text"; cb.ValueMember = "Value";