示例#1
0
 private IEnumerable <string> GetStringMoves()
 {
     foreach (int move in Moves.Where(move => move != 0 && move < moves.Length))
     {
         var str = $"- {moves[move]}";
         if (move == 237) // Hidden Power
         {
             str += $" [{hptypes[HiddenPower.GetType(IVs)]}]";
         }
         yield return(str);
     }
 }
示例#2
0
 private IEnumerable <string> GetStringMoves()
 {
     foreach (int move in Moves.Where(move => move != 0 && move < Strings.Move.Count))
     {
         var str = $"- {Strings.Move[move]}";
         if (move == 237) // Hidden Power
         {
             str += $" [{Strings.Types[1+HiddenPower.GetType(IVs, Format)]}]";
         }
         yield return(str);
     }
 }
示例#3
0
        /// <summary>
        /// Converts the <see cref="PKM"/> data into an importable set format for Pokémon Showdown.
        /// </summary>
        /// <param name="pkm">PKM to convert to string</param>
        /// <returns>New ShowdownSet object representing the input <see cref="pkm"/></returns>
        public ShowdownSet(PKM pkm)
        {
            if (pkm.Species <= 0)
            {
                return;
            }

            Format = pkm.Format;

            Nickname   = pkm.Nickname;
            Species    = pkm.Species;
            HeldItem   = pkm.HeldItem;
            Ability    = pkm.Ability;
            EVs        = pkm.EVs;
            IVs        = pkm.IVs;
            Moves      = pkm.Moves;
            Nature     = pkm.StatNature;
            Gender     = genders[pkm.Gender < 2 ? pkm.Gender : 2];
            Friendship = pkm.CurrentFriendship;
            Level      = Experience.GetLevel(pkm.EXP, pkm.PersonalInfo.EXPGrowth);
            Shiny      = pkm.IsShiny;
            Ball       = pkm.Ball;

            if (pkm is IGigantamax g)
            {
                CanGigantamax = g.CanGigantamax;
            }

            HiddenPowerType = HiddenPower.GetType(IVs, Format);
            if (pkm is IHyperTrain h)
            {
                for (int i = 0; i < 6; i++)
                {
                    if (h.GetHT(i))
                    {
                        IVs[i] = pkm.MaxIV;
                    }
                }
            }

            SetFormString(pkm.AltForm);
        }