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); } }
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); } }
/// <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); }