diff --git a/PKHeX/Legality/Core.cs b/PKHeX/Legality/Core.cs index 3ba8ea20c..92512f2bc 100644 --- a/PKHeX/Legality/Core.cs +++ b/PKHeX/Legality/Core.cs @@ -11,8 +11,8 @@ public static partial class Legal public static MysteryGift[] MGDB_G6, MGDB_G7 = new MysteryGift[0]; // Gen 1 - private static readonly Learnset[] LevelUpRB = Learnset1.getArray(Resources.lvlmove_rby); - private static readonly Learnset[] LevelUpY = Learnset1.getArray(Resources.lvlmove_rby); + private static readonly Learnset[] LevelUpRB = Learnset1.getArray(Resources.lvlmove_rb); + private static readonly Learnset[] LevelUpY = Learnset1.getArray(Resources.lvlmove_y); private static readonly EvolutionTree Evolves1; private static readonly EncounterArea[] SlotsRBY; private static readonly EncounterStatic[] StaticRBY; @@ -138,7 +138,7 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) { // Gen 1 { - Evolves1 = new EvolutionTree(new[] { Resources.evos_rby }, GameVersion.RBY, PersonalTable.RBY, MaxSpeciesID_1); + Evolves1 = new EvolutionTree(new[] { Resources.evos_rby }, GameVersion.RBY, PersonalTable.Y, MaxSpeciesID_1); var red = EncounterArea.getArray1_GW(Resources.encounter_red); var blu = EncounterArea.getArray1_GW(Resources.encounter_blue); var ylw = EncounterArea.getArray1_GW(Resources.encounter_yellow); @@ -806,7 +806,9 @@ private static IEnumerable getLVLMoves(PKM pkm, int species, int lvl, int f List moves = new List(); if (pkm.InhabitedGeneration(1)) { - moves.AddRange(((PersonalInfoG1)PersonalTable.RBY[species]).Moves); + moves.AddRange(((PersonalInfoG1)PersonalTable.RB[species]).Moves); + moves.AddRange(((PersonalInfoG1)PersonalTable.Y[species]).Moves); + moves.AddRange(LevelUpRB[species].getMoves(lvl)); moves.AddRange(LevelUpY[species].getMoves(lvl)); } if (pkm.InhabitedGeneration(6)) @@ -1042,13 +1044,20 @@ private static IEnumerable getMoves(PKM pkm, int species, int lvl, int form { case 1: { - PersonalInfo pi = PersonalTable.RBY[species]; + var pi_rb = (PersonalInfoG1)PersonalTable.RB[species]; + var pi_y = (PersonalInfoG1)PersonalTable.Y[species]; if (LVL) { - r.AddRange(((PersonalInfoG1)pi).Moves); + r.AddRange(pi_rb.Moves); + r.AddRange(pi_y.Moves); r.AddRange(LevelUpRB[species].getMoves(lvl)); + r.AddRange(LevelUpY[species].getMoves(lvl)); + } + if (Machine) + { + r.AddRange(TMHM_RBY.Where((t, m) => pi_rb.TMHM[m])); + r.AddRange(TMHM_RBY.Where((t, m) => pi_y.TMHM[m])); } - if (Machine) r.AddRange(TMHM_RBY.Where((t, m) => pi.TMHM[m])); break; } case 6: diff --git a/PKHeX/PKHeX.Core.csproj b/PKHeX/PKHeX.Core.csproj index 2dd8b260c..132316f70 100644 --- a/PKHeX/PKHeX.Core.csproj +++ b/PKHeX/PKHeX.Core.csproj @@ -276,9 +276,13 @@ + + + + diff --git a/PKHeX/PKM/PK1.cs b/PKHeX/PKM/PK1.cs index f0babd96f..8c1ad0683 100644 --- a/PKHeX/PKM/PK1.cs +++ b/PKHeX/PKM/PK1.cs @@ -8,7 +8,7 @@ public class PK1 : PKM // Internal use only protected internal byte[] otname; protected internal byte[] nick; - public override PersonalInfo PersonalInfo => PersonalTable.RBY[Species]; + public override PersonalInfo PersonalInfo => PersonalTable.Y[Species]; public byte[] OT_Name_Raw => (byte[])otname.Clone(); public byte[] Nickname_Raw => (byte[])nick.Clone(); diff --git a/PKHeX/PersonalInfo/PersonalTable.cs b/PKHeX/PersonalInfo/PersonalTable.cs index 7e6e54571..dcf2c28b5 100644 --- a/PKHeX/PersonalInfo/PersonalTable.cs +++ b/PKHeX/PersonalInfo/PersonalTable.cs @@ -18,7 +18,8 @@ public class PersonalTable public static readonly PersonalTable RS = new PersonalTable(Properties.Resources.personal_rs, GameVersion.RS); public static readonly PersonalTable C = new PersonalTable(Properties.Resources.personal_c, GameVersion.C); public static readonly PersonalTable GS = new PersonalTable(Properties.Resources.personal_c, GameVersion.GS); - public static readonly PersonalTable RBY = new PersonalTable(Properties.Resources.personal_rby, GameVersion.RBY); + public static readonly PersonalTable RB = new PersonalTable(Properties.Resources.personal_rb, GameVersion.RBY); + public static readonly PersonalTable Y = new PersonalTable(Properties.Resources.personal_y, GameVersion.RBY); private static byte[][] splitBytes(byte[] data, int size) { diff --git a/PKHeX/Properties/Resources.Designer.cs b/PKHeX/Properties/Resources.Designer.cs index ba75d688c..a534e828a 100644 --- a/PKHeX/Properties/Resources.Designer.cs +++ b/PKHeX/Properties/Resources.Designer.cs @@ -17826,9 +17826,9 @@ public class Resources { /// /// Looks up a localized resource of type System.Byte[]. /// - public static byte[] lvlmove_rby { + public static byte[] lvlmove_rb { get { - object obj = ResourceManager.GetObject("lvlmove_rby", resourceCulture); + object obj = ResourceManager.GetObject("lvlmove_rb", resourceCulture); return ((byte[])(obj)); } } @@ -17853,6 +17853,16 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Byte[]. + /// + public static byte[] lvlmove_y { + get { + object obj = ResourceManager.GetObject("lvlmove_y", resourceCulture); + return ((byte[])(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -18016,9 +18026,9 @@ public class Resources { /// /// Looks up a localized resource of type System.Byte[]. /// - public static byte[] personal_rby { + public static byte[] personal_rb { get { - object obj = ResourceManager.GetObject("personal_rby", resourceCulture); + object obj = ResourceManager.GetObject("personal_rb", resourceCulture); return ((byte[])(obj)); } } @@ -18053,6 +18063,16 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Byte[]. + /// + public static byte[] personal_y { + get { + object obj = ResourceManager.GetObject("personal_y", resourceCulture); + return ((byte[])(obj)); + } + } + /// /// Looks up a localized resource of type System.Byte[]. /// @@ -26755,8 +26775,8 @@ public class Resources { /// ///Go ///Rote + ///Blaue[INT]/Grüne[JP] ///Blaue - ///Grüne ///Gelbe. /// public static string text_games_de { @@ -26802,8 +26822,8 @@ public class Resources { /// ///Go ///Red - ///Blue - ///Green + ///Blue[INT]/Green[JP] + ///Blue[JP] ///Yellow. /// public static string text_games_en { @@ -26849,8 +26869,8 @@ public class Resources { /// ///Go ///Roja - ///Azul - ///Verde + ///Azul[INT]/Verde[JP] + ///Azul[JP] ///Amarilla. /// public static string text_games_es { @@ -26896,8 +26916,8 @@ public class Resources { /// ///Go ///Rouge - ///Bleue - ///Vert + ///Bleue[INT]/Vert[JP] + ///Bleue[JP] ///Jaune. /// public static string text_games_fr { @@ -26943,8 +26963,8 @@ public class Resources { /// ///Go ///Rossa - ///Blu - ///Verde + ///Blu[INT]/Verde[JP] + ///Blu[JP] ///Gialla. /// public static string text_games_it { @@ -26990,8 +27010,8 @@ public class Resources { /// ///Go ///赤 - ///青 - ///緑 + ///青[INT]/緑[JP] + ///青[JP] ///黄. /// public static string text_games_ja { @@ -27037,8 +27057,8 @@ public class Resources { /// ///고 ///레드 - ///블루 - ///그린 + ///블루[INT]/그린[JP] + ///블루[JP] ///옐로. /// public static string text_games_ko { @@ -27084,8 +27104,8 @@ public class Resources { /// ///Go ///紅 - ///藍色 - ///綠色 + ///藍色[INT]/綠色[JP] + ///藍色[JP] ///黃色. /// public static string text_games_zh { diff --git a/PKHeX/Properties/Resources.resx b/PKHeX/Properties/Resources.resx index 8f83d57d0..e289d474b 100644 --- a/PKHeX/Properties/Resources.resx +++ b/PKHeX/Properties/Resources.resx @@ -6388,9 +6388,6 @@ ..\Resources\text\version.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 - - ..\Resources\byte\personal_rby;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - ..\Resources\text\gen3\text_gsc_00000_en.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-16 @@ -7387,9 +7384,6 @@ ..\Resources\byte\evos_rby.pkl;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - ..\Resources\byte\lvlmove_rby.pkl;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - ..\Resources\byte\encounter_blue.pkl;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @@ -7405,4 +7399,16 @@ ..\Resources\byte\encounter_yellow_f.pkl;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + ..\Resources\byte\lvlmove_rb.pkl;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\byte\lvlmove_y.pkl;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\byte\personal_rb;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\byte\personal_y;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + \ No newline at end of file diff --git a/PKHeX/Resources/byte/lvlmove_rb.pkl b/PKHeX/Resources/byte/lvlmove_rb.pkl new file mode 100644 index 000000000..21bc88abd Binary files /dev/null and b/PKHeX/Resources/byte/lvlmove_rb.pkl differ diff --git a/PKHeX/Resources/byte/lvlmove_rby.pkl b/PKHeX/Resources/byte/lvlmove_y.pkl similarity index 100% rename from PKHeX/Resources/byte/lvlmove_rby.pkl rename to PKHeX/Resources/byte/lvlmove_y.pkl diff --git a/PKHeX/Resources/byte/personal_rby b/PKHeX/Resources/byte/personal_rb similarity index 100% rename from PKHeX/Resources/byte/personal_rby rename to PKHeX/Resources/byte/personal_rb diff --git a/PKHeX/Resources/byte/personal_y b/PKHeX/Resources/byte/personal_y new file mode 100644 index 000000000..7c5704b4c Binary files /dev/null and b/PKHeX/Resources/byte/personal_y differ diff --git a/PKHeX/Saves/SAV1.cs b/PKHeX/Saves/SAV1.cs index 431bdab30..f175cb22e 100644 --- a/PKHeX/Saves/SAV1.cs +++ b/PKHeX/Saves/SAV1.cs @@ -33,7 +33,7 @@ public SAV1(byte[] data = null, GameVersion versionOverride = GameVersion.Any) Party = getPartyOffset(0); Japanese = SaveUtil.getIsG1SAVJ(Data); - Personal = PersonalTable.RBY; + Personal = PersonalTable.Y; // Stash boxes after the save file's end. byte[] TempBox = new byte[SIZE_STOREDBOX];