diff --git a/pkNX.WinForms/Subforms/BTTE.cs b/pkNX.WinForms/Subforms/BTTE.cs index 0e1eb9ed..6d45433c 100644 --- a/pkNX.WinForms/Subforms/BTTE.cs +++ b/pkNX.WinForms/Subforms/BTTE.cs @@ -175,8 +175,10 @@ private void RefreshFormAbility(object sender, EventArgs e) { if (entry < 0) return; - pkm.Form = CB_Forme.SelectedIndex; RefreshPKMSlotAbility(); + if (loadingPKM) + return; + pkm.Form = CB_Forme.SelectedIndex; if (!Stats.UpdatingFields) Stats.UpdateStats(); @@ -186,8 +188,10 @@ private void RefreshSpeciesAbility(object sender, EventArgs e) { if (entry < 0) return; - pkm.Species = (ushort)CB_Species.SelectedIndex; FormUtil.SetForms(CB_Species.SelectedIndex, CB_Forme, AltForms); + if (loadingPKM) + return; + pkm.Species = (ushort)CB_Species.SelectedIndex; RefreshPKMSlotAbility(); if (!Stats.UpdatingFields) @@ -305,11 +309,13 @@ private void UpdateTrainerName(object sender, EventArgs e) private TrainerPoke pkm; + private bool loadingPKM; + private void PopulateFields(TrainerPoke pk) { pkm = pk.Clone(); - Stats.UpdatingFields = true; + Stats.UpdatingFields = loadingPKM = true; CB_Species.SelectedIndex = pkm.Species; CB_Forme.SelectedIndex = pkm.Form; @@ -339,6 +345,7 @@ private void PopulateFields(TrainerPoke pk) } Stats.LoadStats(pk); + loadingPKM = false; } private TrainerPoke PreparePKM()