예제 #1
0
        public void SavePersonal()
        {
            var pkm = cPersonal;

            pkm.HP  = Util.ToInt32(TB_BaseHP.Text);
            pkm.ATK = Util.ToInt32(TB_BaseATK.Text);
            pkm.DEF = Util.ToInt32(TB_BaseDEF.Text);
            pkm.SPE = Util.ToInt32(TB_BaseSPE.Text);
            pkm.SPA = Util.ToInt32(TB_BaseSPA.Text);
            pkm.SPD = Util.ToInt32(TB_BaseSPD.Text);

            pkm.EV_HP  = Util.ToInt32(TB_HPEVs.Text);
            pkm.EV_ATK = Util.ToInt32(TB_ATKEVs.Text);
            pkm.EV_DEF = Util.ToInt32(TB_DEFEVs.Text);
            pkm.EV_SPE = Util.ToInt32(TB_SPEEVs.Text);
            pkm.EV_SPA = Util.ToInt32(TB_SPAEVs.Text);
            pkm.EV_SPD = Util.ToInt32(TB_SPDEVs.Text);

            pkm.CatchRate = Util.ToInt32(TB_CatchRate.Text);
            pkm.EvoStage  = Util.ToInt32(TB_Stage.Text);

            pkm.Types = new[] { CB_Type1.SelectedIndex, CB_Type2.SelectedIndex };
            pkm.Items = new[] { CB_HeldItem1.SelectedIndex, CB_HeldItem2.SelectedIndex, CB_HeldItem3.SelectedIndex };

            pkm.Gender         = Util.ToInt32(TB_Gender.Text);
            pkm.HatchCycles    = Util.ToInt32(TB_HatchCycles.Text);
            pkm.BaseFriendship = Util.ToInt32(TB_Friendship.Text);
            pkm.EXPGrowth      = (byte)CB_EXPGroup.SelectedIndex;
            pkm.EggGroups      = new[] { CB_EggGroup1.SelectedIndex, CB_EggGroup2.SelectedIndex };
            pkm.Abilities      = new[] { CB_Ability1.SelectedIndex, CB_Ability2.SelectedIndex, CB_Ability3.SelectedIndex };

            pkm.FormeSprite = Convert.ToUInt16(TB_FormeSprite.Text);
            pkm.FormeCount  = Util.ToInt32(TB_FormeCount.Text);
            pkm.Color       = (byte)(CB_Color.SelectedIndex) | (Util.ToInt32(TB_RawColor.Text) & 0xF0);
            pkm.BaseEXP     = Convert.ToUInt16(TB_BaseExp.Text);

            if (decimal.TryParse(TB_Height.Text, out decimal h))
            {
                pkm.Height = (int)(h * 100);
            }

            if (decimal.TryParse(TB_Weight.Text, out decimal w))
            {
                pkm.Weight = (int)(w * 10);
            }

            if (pkm is PersonalInfoSM sm)
            {
                pkm.EscapeRate       = Util.ToInt32(TB_CallRate.Text);
                sm.SpecialZ_Item     = CB_ZItem.SelectedIndex;
                sm.SpecialZ_BaseMove = CB_ZBaseMove.SelectedIndex;
                sm.SpecialZ_ZMove    = CB_ZMove.SelectedIndex;
                sm.LocalVariant      = CHK_Variant.Checked;
            }
            if (pkm is PersonalInfoGG gg)
            {
                gg.GoSpecies = Convert.ToUInt16(MT_GoID.Text);
            }
            if (pkm is PersonalInfoSWSH swsh)
            {
                swsh.PokeDexIndex    = Convert.ToUInt16(TB_RegionalDex.Text);
                swsh.ArmorDexIndex   = Convert.ToUInt16(TB_ArmorDex.Text);
                swsh.CrownDexIndex   = Convert.ToUInt16(TB_CrownDex.Text);
                swsh.IsPresentInGame = CHK_IsPresentInGame.Checked;
                swsh.IsRegionalForm  = CHK_Variant.Checked;
                swsh.CanNotDynamax   = CHK_CanNotDynamax.Checked;
            }

            for (int i = 0; i < CLB_TM.Items.Count; i++)
            {
                pkm.TMHM[i] = CLB_TM.GetItemChecked(i);
            }
            for (int i = 0; i < CLB_TypeTutor.Items.Count; i++)
            {
                pkm.TypeTutors[i] = CLB_TypeTutor.GetItemChecked(i);
            }
            for (int i = 0; i < CLB_SpecialTutor.Items.Count; i++)
            {
                pkm.SpecialTutors[0][i] = CLB_SpecialTutor.GetItemChecked(i);
            }
        }
예제 #2
0
        public void LoadPersonal(PersonalInfo pkm)
        {
            cPersonal       = pkm;
            TB_BaseHP.Text  = pkm.HP.ToString("000");
            TB_BaseATK.Text = pkm.ATK.ToString("000");
            TB_BaseDEF.Text = pkm.DEF.ToString("000");
            TB_BaseSPE.Text = pkm.SPE.ToString("000");
            TB_BaseSPA.Text = pkm.SPA.ToString("000");
            TB_BaseSPD.Text = pkm.SPD.ToString("000");
            TB_HPEVs.Text   = pkm.EV_HP.ToString("0");
            TB_ATKEVs.Text  = pkm.EV_ATK.ToString("0");
            TB_DEFEVs.Text  = pkm.EV_DEF.ToString("0");
            TB_SPEEVs.Text  = pkm.EV_SPE.ToString("0");
            TB_SPAEVs.Text  = pkm.EV_SPA.ToString("0");
            TB_SPDEVs.Text  = pkm.EV_SPD.ToString("0");

            CB_Type1.SelectedIndex = pkm.Types[0];
            CB_Type2.SelectedIndex = pkm.Types[1];

            TB_CatchRate.Text = pkm.CatchRate.ToString("000");
            TB_Stage.Text     = pkm.EvoStage.ToString("0");

            CB_HeldItem1.SelectedIndex = pkm.Items[0];
            CB_HeldItem2.SelectedIndex = pkm.Items[1];
            CB_HeldItem3.SelectedIndex = pkm.Items[2];

            TB_Gender.Text      = pkm.Gender.ToString("000");
            TB_HatchCycles.Text = pkm.HatchCycles.ToString("000");
            TB_Friendship.Text  = pkm.BaseFriendship.ToString("000");

            CB_EXPGroup.SelectedIndex = pkm.EXPGrowth;

            CB_EggGroup1.SelectedIndex = pkm.EggGroups[0];
            CB_EggGroup2.SelectedIndex = pkm.EggGroups[1];

            CB_Ability1.SelectedIndex = pkm.Abilities[0];
            CB_Ability2.SelectedIndex = pkm.Abilities[1];
            CB_Ability3.SelectedIndex = pkm.Abilities[2];

            TB_FormeCount.Text  = pkm.FormeCount.ToString("000");
            TB_FormeSprite.Text = pkm.FormeSprite.ToString("000");

            TB_RawColor.Text       = pkm.Color.ToString("000");
            CB_Color.SelectedIndex = pkm.Color & 0xF;

            TB_BaseExp.Text = pkm.BaseEXP.ToString("000");
            TB_BST.Text     = pkm.BST.ToString("000");

            TB_Height.Text = ((decimal)pkm.Height / 100).ToString("00.00");
            TB_Weight.Text = ((decimal)pkm.Weight / 10).ToString("000.0");

            if (pkm is PersonalInfoSM sm)
            {
                TB_CallRate.Text            = sm.EscapeRate.ToString("000");
                CB_ZItem.SelectedIndex      = sm.SpecialZ_Item;
                CB_ZBaseMove.SelectedIndex  = sm.SpecialZ_BaseMove;
                CB_ZMove.SelectedIndex      = sm.SpecialZ_ZMove;
                CHK_Variant.Checked         = sm.LocalVariant;
                CHK_IsPresentInGame.Visible = CHK_CanNotDynamax.Visible =
                    L_RegionalDex.Visible   = L_ArmorDex.Visible = L_CrownDex.Visible = TB_RegionalDex.Visible = TB_ArmorDex.Visible = TB_CrownDex.Visible = false;
            }
            if (pkm is PersonalInfoGG gg)
            {
                MT_GoID.Text              = gg.GoSpecies.ToString("000");
                CHK_Variant.Checked       = gg.LocalVariant;
                GB_ZMove.Visible          = CHK_IsPresentInGame.Visible = CHK_CanNotDynamax.Visible = L_TypeTutors.Visible = CLB_TypeTutor.Visible = CLB_SpecialTutor.Visible =
                    L_RegionalDex.Visible = L_ArmorDex.Visible = L_CrownDex.Visible = TB_RegionalDex.Visible = TB_ArmorDex.Visible = TB_CrownDex.Visible = false;
            }
            if (pkm is PersonalInfoSWSH swsh)
            {
                L_TM.Text                   = "TMs/TRs:";
                MT_GoID.Text                = swsh.SpriteIndex.ToString("000");
                TB_RegionalDex.Text         = swsh.PokeDexIndex.ToString("000");
                TB_ArmorDex.Text            = swsh.ArmorDexIndex.ToString("000");
                TB_CrownDex.Text            = swsh.CrownDexIndex.ToString("000");
                CHK_IsPresentInGame.Checked = swsh.IsPresentInGame;
                CHK_Variant.Checked         = swsh.IsRegionalForm;
                CHK_CanNotDynamax.Checked   = swsh.CanNotDynamax;
                L_CallRate.Visible          = TB_CallRate.Visible = GB_ZMove.Visible = false;
            }

            for (int i = 0; i < CLB_TM.Items.Count; i++)
            {
                CLB_TM.SetItemChecked(i, pkm.TMHM[i]); // Bitflags for TM
            }
            for (int i = 0; i < CLB_TypeTutor.Items.Count; i++)
            {
                CLB_TypeTutor.SetItemChecked(i, pkm.TypeTutors[i]);
            }
            for (int i = 0; i < CLB_SpecialTutor.Items.Count; i++)
            {
                CLB_SpecialTutor.SetItemChecked(i, pkm.SpecialTutors[0][i]);
            }
        }