Example #1
0
        internal Pokemon(Controller controller, int id, Player owner, IPokemonData custom)
        {
            Controller = controller;
            Id         = id;
            Owner      = owner;
            TeamId     = owner.TeamId;

            Form         = custom.Form;
            Name         = custom.Name;
            Happiness    = custom.Happiness;
            Gender       = custom.Gender;
            Lv           = custom.Lv;
            Nature       = custom.Nature;
            AbilityIndex = custom.AbilityIndex;
            Moves        = new Move[custom.Moves.Count()];
            int i = 0;

            foreach (var m in custom.Moves)
            {
                Moves[i++] = new Move(m.Move, m.PP);
            }
            _item = custom.Item;
            Iv    = new ReadOnly6D(custom.Iv);
            Ev    = new ReadOnly6D(custom.Ev);
            _hp   = MaxHp = GetMaxHp;
        }
Example #2
0
        public static bool Validate(this IPokemonData pm)
        {
            return(true);

            return
                (pm.Form != null &&
                 ValidateEv(pm.Ev) &&
                 ValidateLv(pm.Lv) &&
                 ValidateIv(pm.Iv) &&
                 ValidateMoves(pm));
        }
Example #3
0
 public static bool ValueEquals(this IPokemonData a, IPokemonData b)
 {
     return
         (a.Name == b.Name &&
          a.AbilityIndex == b.AbilityIndex &&
          a.Ev.ValueEquals(b.Ev) &&
          a.Iv.ValueEquals(b.Iv) &&
          a.Form == b.Form &&
          a.Gender == b.Gender &&
          a.Happiness == b.Happiness &&
          a.Item == b.Item &&
          a.Lv == b.Lv &&
          a.Moves.SequenceEqual(b.Moves) &&
          a.Nature == b.Nature);
 }
        internal SimPokemon(int id, SimPlayer owner, IPokemonData custom)
        {
            Id     = id;
            Owner  = owner;
            TeamId = owner.Team;

            Gender       = custom.Gender;
            Lv           = custom.Lv;
            nature       = custom.Nature;
            abilityIndex = custom.AbilityIndex;
            Moves        = custom.Moves.Select((m) => new Move(m.Move, m.PP)).ToArray();
            Item         = custom.Item;
            iv           = new ReadOnly6D(custom.Iv);
            ev           = new ReadOnly6D(custom.Ev);
            _hp          = new PairValue(GameHelper.GetHp(custom.Form.Data.Base.Hp, (byte)iv.Hp, (byte)ev.Hp, (byte)Lv));

            Form       = custom.Form;
            originForm = Form;
            Name       = custom.Name ?? GameString.Current.Pokemon(_form.Species.Number);
        }
Example #5
0
        internal SimPokemon(int id, SimPlayer owner, IPokemonData custom)
        {
            Id     = id;
            Owner  = owner;
            TeamId = owner.Team;

            Gender       = custom.Gender;
            Lv           = custom.Lv;
            nature       = custom.Nature;
            abilityIndex = custom.AbilityIndex;
            Moves        = custom.Moves.Select((m) => new Move(m.Move, m.PP)).ToArray();

            Item      = custom.Item;
            Happiness = custom.Happiness;

            iv  = new ReadOnly6D(custom.Iv);
            ev  = new ReadOnly6D(custom.Ev);
            _hp = new PairValue(GameHelper.GetHp(custom.Form.Data.Base.Hp, (byte)iv.Hp, (byte)ev.Hp, (byte)Lv));

            Form       = custom.Form;
            originForm = Form;
            Name       = custom.Name ?? GameString.Current.Pokemon(_form.Species.Number);

            HiddenPower = GameHelper.HiddenPower(iv);
            for (int i = 0; i < Moves.Length; ++i)
            {
                if (Moves[i].Type.Id == Ms.HIDDEN_POWER)
                {
                    Moves[i] = new Move(new MoveType(Moves[i].Type.Id, HiddenPower, Moves[i].Type.Category, Moves[i].Type.Power, Moves[i].Type.Accuracy, Moves[i].Type.PP, Moves[i].Type.Range), Moves[i].PP.Value);
                }
                if (Moves[i].Type.Id == Ms.NATURAL_GIFT)
                {
                    Moves[i] = new Move(new MoveType(Moves[i].Type.Id, GameHelper.NatureGift(Item), Moves[i].Type.Category, Moves[i].Type.Power, Moves[i].Type.Accuracy, Moves[i].Type.PP, Moves[i].Type.Range), Moves[i].PP.Value);
                }
            }
        }
Example #6
0
 private bool CheckPokemon(IPokemonData pokemon)
 {
     return(PokemonValidator.Validate(pokemon)); //TODO: more
 }
Example #7
0
 public KantoModel(IPokemonData kantoData)
 {
     this.kantoData = kantoData;
 }
Example #8
0
 public static bool ValidateMoves(IPokemonData pm)
 {
     return(pm.Moves.Count() <= 4);
 }
Example #9
0
 public static bool Shiney(IPokemonData pm, int random)
 {
     return(random % 1366 == 0);
 }
Example #10
0
 public DetailModel(IPokemonData pokemonData)
 {
     this.pokemonData = pokemonData;
 }