Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 2
0
 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;
 }
Ejemplo n.º 3
0
        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}";
        }