diff --git a/PKHeX/MainWindow/Main.cs b/PKHeX/MainWindow/Main.cs index 431b1b1fa..29008ade5 100644 --- a/PKHeX/MainWindow/Main.cs +++ b/PKHeX/MainWindow/Main.cs @@ -1885,7 +1885,7 @@ private void clickMoves(object sender, EventArgs e) private bool changingFields; private void updateEXPLevel(object sender, EventArgs e) { - if (changingFields) return; + if (changingFields || !fieldsInitialized) return; changingFields = true; if (sender == TB_EXP) @@ -1917,7 +1917,7 @@ private void updateEXPLevel(object sender, EventArgs e) { pkm.EXP = Util.ToUInt32(TB_EXP.Text); if (SAV.Generation < 3) - pkm.Stat_Level = Util.ToInt32(TB_Level.Text); + pkm.Stat_Level = Util.ToInt32((MT_Level.Focused ? MT_Level : TB_Level).Text); } updateStats(); updateLegality(); diff --git a/PKHeX/MainWindow/MainPK1.cs b/PKHeX/MainWindow/MainPK1.cs index 0b4eef469..77f5e72ce 100644 --- a/PKHeX/MainWindow/MainPK1.cs +++ b/PKHeX/MainWindow/MainPK1.cs @@ -11,11 +11,13 @@ private void populateFieldsPK1() return; // Do first - pk1.Stat_Level = PKX.getLevel(pk1.Species, pk1.EXP); - if (pk1.Stat_Level == 100) + pk1.Stat_Level = HaX ? pk1.Stat_Level : PKX.getLevel(pk1.Species, pk1.EXP); + if (!HaX && pk1.Stat_Level == 100) pk1.EXP = PKX.getEXP(pk1.Stat_Level, pk1.Species); CB_Species.SelectedValue = pk1.Species; + if (HaX) + MT_Level.Text = pk1.Stat_Level.ToString(); TB_Level.Text = pk1.Stat_Level.ToString(); TB_EXP.Text = pk1.EXP.ToString(); diff --git a/PKHeX/MainWindow/MainPK2.cs b/PKHeX/MainWindow/MainPK2.cs index 903abcd06..0df93f0dc 100644 --- a/PKHeX/MainWindow/MainPK2.cs +++ b/PKHeX/MainWindow/MainPK2.cs @@ -12,11 +12,13 @@ private void populateFieldsPK2() return; // Do first - pk2.Stat_Level = PKX.getLevel(pk2.Species, pk2.EXP); - if (pk2.Stat_Level == 100) + pk2.Stat_Level = HaX ? pk2.Stat_Level : PKX.getLevel(pk2.Species, pk2.EXP); + if (!HaX && pk2.Stat_Level == 100) pk2.EXP = PKX.getEXP(pk2.Stat_Level, pk2.Species); CB_Species.SelectedValue = pk2.Species; + if (HaX) + MT_Level.Text = pk2.Stat_Level.ToString(); TB_Level.Text = pk2.Stat_Level.ToString(); TB_EXP.Text = pk2.EXP.ToString(); CB_HeldItem.SelectedValue = pk2.G2Item;