コード例 #1
0
        private trpoke7 PrepareTP7()
        {
            var pk = pkm.Clone();

            pk.Species = CB_Species.SelectedIndex;
            pk.Form    = CB_Forme.SelectedIndex;
            pk.Level   = (byte)NUD_Level.Value;
            pk.Ability = CB_Ability.SelectedIndex;
            pk.Item    = CB_Item.SelectedIndex;
            pk.Shiny   = CHK_Shiny.Checked;
            pk.Nature  = CB_Nature.SelectedIndex;
            pk.Gender  = CB_Gender.SelectedIndex;

            pk.Move1 = CB_Move1.SelectedIndex;
            pk.Move2 = CB_Move2.SelectedIndex;
            pk.Move3 = CB_Move3.SelectedIndex;
            pk.Move4 = CB_Move4.SelectedIndex;

            pk.IV_HP  = WinFormsUtil.ToInt32(TB_HPIV);
            pk.IV_ATK = WinFormsUtil.ToInt32(TB_ATKIV);
            pk.IV_DEF = WinFormsUtil.ToInt32(TB_DEFIV);
            pk.IV_SPA = WinFormsUtil.ToInt32(TB_SPAIV);
            pk.IV_SPE = WinFormsUtil.ToInt32(TB_SPEIV);
            pk.IV_SPD = WinFormsUtil.ToInt32(TB_SPDIV);

            pk.EV_HP  = WinFormsUtil.ToInt32(TB_HPEV);
            pk.EV_ATK = WinFormsUtil.ToInt32(TB_ATKEV);
            pk.EV_DEF = WinFormsUtil.ToInt32(TB_DEFEV);
            pk.EV_SPA = WinFormsUtil.ToInt32(TB_SPAEV);
            pk.EV_SPE = WinFormsUtil.ToInt32(TB_SPEEV);
            pk.EV_SPD = WinFormsUtil.ToInt32(TB_SPDEV);

            return(pk);
        }
コード例 #2
0
        private void setEntry()
        {
            if (entry < 1)
            {
                return;
            }

            item.Price     = (ushort)(WinFormsUtil.ToInt32(MT_Price) / 10);
            item.UseEffect = (byte)(int)NUD_UseEffect.Value;

            files[entry] = item.Write();
        }
コード例 #3
0
        private void UpdateStats(object sender, EventArgs e)
        {
            if (updatingStats)
            {
                return;
            }
            var tb_iv = new[] { TB_HPIV, TB_ATKIV, TB_DEFIV, TB_SPEIV, TB_SPAIV, TB_SPDIV };
            var tb_ev = new[] { TB_HPEV, TB_ATKEV, TB_DEFEV, TB_SPEEV, TB_SPAEV, TB_SPDEV };

            for (int i = 0; i < 6; i++)
            {
                updatingStats = true;
                if (WinFormsUtil.ToInt32(tb_iv[i]) > 31)
                {
                    tb_iv[i].Text = "31";
                }
                if (WinFormsUtil.ToInt32(tb_ev[i]) > 255)
                {
                    tb_ev[i].Text = "255";
                }
                updatingStats = false;
            }

            int species = CB_Species.SelectedIndex;

            species = Main.SpeciesStat[species].FormeIndex(species, CB_Forme.SelectedIndex);
            var p      = Main.SpeciesStat[species];
            int level  = (int)NUD_Level.Value;
            int Nature = CB_Nature.SelectedIndex;

            ushort[] Stats = new ushort[6];
            Stats[0] = (ushort)(p.HP == 1 ? 1 : ((Util.ToInt32(TB_HPIV.Text) + (2 * p.HP) + (Util.ToInt32(TB_HPEV.Text) / 4) + 100) * level / 100) + 10);
            Stats[1] = (ushort)(((Util.ToInt32(TB_ATKIV.Text) + (2 * p.ATK) + (Util.ToInt32(TB_ATKEV.Text) / 4)) * level / 100) + 5);
            Stats[2] = (ushort)(((Util.ToInt32(TB_DEFIV.Text) + (2 * p.DEF) + (Util.ToInt32(TB_DEFEV.Text) / 4)) * level / 100) + 5);
            Stats[4] = (ushort)(((Util.ToInt32(TB_SPAIV.Text) + (2 * p.SPA) + (Util.ToInt32(TB_SPAEV.Text) / 4)) * level / 100) + 5);
            Stats[5] = (ushort)(((Util.ToInt32(TB_SPDIV.Text) + (2 * p.SPD) + (Util.ToInt32(TB_SPDEV.Text) / 4)) * level / 100) + 5);
            Stats[3] = (ushort)(((Util.ToInt32(TB_SPEIV.Text) + (2 * p.SPE) + (Util.ToInt32(TB_SPEEV.Text) / 4)) * level / 100) + 5);

            // Account for nature
            int incr = (Nature / 5) + 1;
            int decr = (Nature % 5) + 1;

            if (incr != decr)
            {
                Stats[incr] *= 11;
                Stats[incr] /= 10;
                Stats[decr] *= 9;
                Stats[decr] /= 10;
            }

            Stat_HP.Text  = Stats[0].ToString();
            Stat_ATK.Text = Stats[1].ToString();
            Stat_DEF.Text = Stats[2].ToString();
            Stat_SPA.Text = Stats[4].ToString();
            Stat_SPD.Text = Stats[5].ToString();
            Stat_SPE.Text = Stats[3].ToString();

            TB_IVTotal.Text = tb_iv.Select(WinFormsUtil.ToInt32).Sum().ToString();
            TB_EVTotal.Text = tb_ev.Select(WinFormsUtil.ToInt32).Sum().ToString();

            // Recolor the Stat Labels based on boosted stats.
            {
                incr--;
                decr--;
                Label[] labarray = { Label_ATK, Label_DEF, Label_SPE, Label_SPA, Label_SPD };
                // Reset Label Colors
                foreach (Label label in labarray)
                {
                    label.ResetForeColor();
                }

                // Set Colored StatLabels only if Nature isn't Neutral
                if (incr != decr)
                {
                    labarray[incr].ForeColor = Color.Red;
                    labarray[decr].ForeColor = Color.Blue;
                }
            }
            var ivs = tb_iv.Select(tb => WinFormsUtil.ToInt32(tb) & 1).ToArray();

            updatingStats           = true;
            CB_HPType.SelectedIndex = 15 * (ivs[0] + (2 * ivs[1]) + (4 * ivs[2]) + (8 * ivs[3]) + (16 * ivs[4]) + (32 * ivs[5])) / 63;
            updatingStats           = false;
        }