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; }
public static bool Validate(this IPokemonData pm) { return(true); return (pm.Form != null && ValidateEv(pm.Ev) && ValidateLv(pm.Lv) && ValidateIv(pm.Iv) && ValidateMoves(pm)); }
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); }
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); } } }
private bool CheckPokemon(IPokemonData pokemon) { return(PokemonValidator.Validate(pokemon)); //TODO: more }
public KantoModel(IPokemonData kantoData) { this.kantoData = kantoData; }
public static bool ValidateMoves(IPokemonData pm) { return(pm.Moves.Count() <= 4); }
public static bool Shiney(IPokemonData pm, int random) { return(random % 1366 == 0); }
public DetailModel(IPokemonData pokemonData) { this.pokemonData = pokemonData; }