using System.Collections.Generic;
using PkmnLibSharp.Battling;
using PkmnLibSharp.Library;
using PkmnLibSharp.Library.Items;

namespace PkmnLibSharpTests.Battling
{
    public class PokemonBuilder : BasePokemonBuilder<Pokemon>
    {
        public PokemonBuilder(BattleLibrary library, string species, byte level) : base(library, species, level)
        {
        }


        protected override Pokemon Finalize(Species species, Forme forme, Item? heldItem, IReadOnlyCollection<LearnedMove> moves, Nature nature)
        {
            var pkmn = new Pokemon(Library, species, forme!, Level, Experience, Uid, Gender, Coloring,
                heldItem, Nickname, HiddenAbility, (byte) AbilityIndex, moves, IVs, EVs, nature);
            return pkmn;
        }
    }
}