Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }