private PokemonSprite GeneratePokemon(User u, int level) { var list = PokemonMain.Instance.pokemonClasses.Where(x => x.evolveLevel != -1).ToList(); var speciesIndex = rng.Next(0, list.Count() - 1); var species = list[speciesIndex]; PokemonSprite sprite = new PokemonSprite { SpeciesId = species.number, HP = species.baseStats["hp"], Level = 1, NickName = species.name, OwnerId = (long)u.Id, XP = 0, Attack = species.baseStats["attack"], Defense = species.baseStats["defense"], SpecialAttack = species.baseStats["special-attack"], SpecialDefense = species.baseStats["special-defense"], Speed = species.baseStats["speed"], MaxHP = species.baseStats["hp"] }; while (sprite.Level < level - 1) { sprite.LevelUp(); } sprite.XP = sprite.XPRequired(); sprite.LevelUp(); return(sprite); }
public static int Reward(this PokemonSprite pkm, PokemonSprite defeated) { var reward = CalcXPReward(pkm, defeated); pkm.XP += reward; if (pkm.XP > pkm.XPRequired()) { pkm.LevelUp(); } return(reward); }
public static string PokemonString(this PokemonSprite pkm) { var species = pkm.GetSpecies(); var str = $"**Name**: {pkm.NickName}\n" + $"**Spezies**: {species.name}\n{species.imageLink}\n" + $"**HP**: {pkm.HP}\n" + $"**Level**: {pkm.Level}\n" + $"**XP**: {pkm.XP}/{pkm.XPRequired ()}\n" + $"**Stats**\n" + $"**Angriff:** {pkm.Attack}\n" + $"**Verteidigung:** {pkm.Defense}\n" + $"**Initiative:** {pkm.Speed}\n" + "**Angriffe**:\n"; foreach (var move in species.moves) { str += $"**{move.Key}** *{move.Value}*\n"; } return(str); }