From 241b367c0b6908e88cb571269be76e93a3cd6b78 Mon Sep 17 00:00:00 2001 From: Michael Scire Date: Sun, 9 Oct 2016 16:39:31 -0700 Subject: [PATCH] Fix Gen1/Gen2 Level loading (closes #312) --- PKHeX/MainWindow/Main.cs | 4 ++-- PKHeX/MainWindow/MainPK1.cs | 6 ++++-- PKHeX/MainWindow/MainPK2.cs | 6 ++++-- 3 files changed, 10 insertions(+), 6 deletions(-) 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;