private void SaveMisc8(PA8 pk8) { pk8.StatNature = WinFormsUtil.GetIndex(CB_StatNature); pk8.DynamaxLevel = (byte)Math.Max(0, Stats.CB_DynamaxLevel.SelectedIndex); pk8.CanGigantamax = Stats.CHK_Gigantamax.Checked; pk8.HT_Language = (byte)WinFormsUtil.GetIndex(CB_HTLanguage); pk8.BattleVersion = (byte)WinFormsUtil.GetIndex(CB_BattleVersion); pk8.IsAlpha = Stats.CHK_IsAlpha.Checked; pk8.IsNoble = Stats.CHK_IsNoble.Checked; pk8.AlphaMove = (ushort)WinFormsUtil.GetIndex(CB_AlphaMastered); }
private void LoadMisc8(PA8 pk8) { CB_StatNature.SelectedValue = pk8.StatNature; LoadClamp(Stats.CB_DynamaxLevel, pk8.DynamaxLevel); Stats.CHK_Gigantamax.Checked = pk8.CanGigantamax; CB_HTLanguage.SelectedValue = (int)pk8.HT_Language; TB_HomeTracker.Text = pk8.Tracker.ToString("X16"); CB_BattleVersion.SelectedValue = (int)pk8.BattleVersion; Stats.CHK_IsAlpha.Checked = pk8.IsAlpha; Stats.CHK_IsNoble.Checked = pk8.IsNoble; CB_AlphaMastered.SelectedValue = (int)pk8.AlphaMove; }
private void GetEntry(int index, int formIndex) { var species = DexToSpecies[index + 1]; var form = DisplayedForms[formIndex].Value; // Flags var seenWild = Dex.GetPokeSeenInWildFlags(species, form); var obtain = Dex.GetPokeObtainFlags(species, form); var caughtWild = Dex.GetPokeCaughtInWildFlags(species, form); for (var i = 0; i < CHK_SeenWild.Length; ++i) { CHK_SeenWild[i].Checked = (seenWild & (1 << i)) != 0; CHK_Obtained[i].Checked = (obtain & (1 << i)) != 0; CHK_CaughtWild[i].Checked = (caughtWild & (1 << i)) != 0; } // Display if (CB_DisplayForm.Enabled) { var selectedForm = Dex.GetSelectedForm(species); CB_DisplayForm.SelectedIndex = 0; for (var i = 0; i < CB_DisplayForm.Items.Count; ++i) { if (((ComboItem)CB_DisplayForm.Items[i]).Value != selectedForm) { continue; } CB_DisplayForm.SelectedIndex = i; break; } } CHK_A.Checked = Dex.GetSelectedAlpha(species); CHK_S.Checked = Dex.GetSelectedShiny(species); CHK_G.Enabled = PokedexSave8a.HasMultipleGenders(species); CHK_G.Checked = Dex.GetSelectedGender1(species); // Research var reportedRate = Dex.GetPokeResearchRate(species); var unreportedRate = reportedRate; for (var i = 0; i < PokedexConstants8a.ResearchTasks[index].Length; i++) { var unreportedLevels = Dex.GetResearchTaskLevel(species, i, out _, out var taskValue, out _); TaskControls[i].CurrentValue = taskValue; unreportedRate += unreportedLevels * TaskControls[i].PointsPerLevel; } MTB_UpdateIndex.Text = Dex.GetUpdateIndex(species).ToString(); MTB_ResearchLevelReported.Text = reportedRate.ToString(); MTB_ResearchLevelUnreported.Text = unreportedRate.ToString(); CHK_Seen.Checked = Dex.HasPokeEverBeenUpdated(species); CHK_Complete.Checked = Dex.IsComplete(species); CHK_Perfect.Checked = Dex.IsPerfect(species); // Statistics Dex.GetSizeStatistics(species, form, out var hasMax, out var minHeight, out var maxHeight, out var minWeight, out var maxWeight); CHK_MinAndMax.Checked = hasMax; TB_MinHeight.Text = minHeight.ToString(CultureInfo.InvariantCulture); TB_MaxHeight.Text = maxHeight.ToString(CultureInfo.InvariantCulture); TB_MinWeight.Text = minWeight.ToString(CultureInfo.InvariantCulture); TB_MaxWeight.Text = maxWeight.ToString(CultureInfo.InvariantCulture); var pt = SAV.Personal; var pi = pt.GetFormEntry(species, form); var minTheoryHeight = PA8.GetHeightAbsolute(pi, 0x00).ToString(CultureInfo.InvariantCulture); var maxTheoryHeight = PA8.GetHeightAbsolute(pi, 0xFF).ToString(CultureInfo.InvariantCulture); var minTheoryWeight = PA8.GetWeightAbsolute(pi, 0x00, 0x00).ToString(CultureInfo.InvariantCulture); var maxTheoryWeight = PA8.GetWeightAbsolute(pi, 0xFF, 0xFF).ToString(CultureInfo.InvariantCulture); L_TheoryHeight.Text = $"Min: {minTheoryHeight}, Max: {maxTheoryHeight}"; L_TheoryWeight.Text = $"Min: {minTheoryWeight}, Max: {maxTheoryWeight}"; }