示例#1
0
        public Species(Pokedex pokedex, int national_dex, int family_id, LocalizedString name,
                       GrowthRates growth_rate, byte gender_ratio, EggGroups egg_group_1,
                       EggGroups egg_group_2, int egg_steps, bool gender_variations)
            : base(pokedex)
        {
            m_family_pair = Family.CreatePair(m_pokedex);
            m_lazy_pairs.Add(m_family_pair);

            NationalDex       = national_dex;
            m_family_pair.Key = family_id;
            Name             = name;
            GrowthRate       = growth_rate;
            GenderRatio      = gender_ratio;
            EggGroup1        = egg_group_1;
            EggGroup2        = egg_group_2;
            EggSteps         = egg_steps;
            GenderVariations = gender_variations;
        }
        public FormStats(Pokedex pokedex, int form_id, Generations min_generation,
                         int type1, int type2, IntStatValues base_stats, ByteStatValues reward_evs)
            : base(pokedex)
        {
            m_form_pair  = Form.CreatePair(m_pokedex);
            m_type1_pair = Type.CreatePair(m_pokedex);
            m_type2_pair = Type.CreatePair(m_pokedex);
            m_lazy_pairs.Add(m_form_pair);
            m_lazy_pairs.Add(m_type1_pair);
            m_lazy_pairs.Add(m_type2_pair);

            m_form_pair.Key  = form_id;
            MinGeneration    = min_generation;
            m_type1_pair.Key = type1;
            m_type2_pair.Key = type2;
            BaseStats        = base_stats;
            RewardEvs        = reward_evs;
        }
示例#3
0
 public Ribbon(Pokedex pokedex, int id, LocalizedString name,
               LocalizedString description,
               int?position3, int?position4, int?position5, int?position6,
               int?value3, int?value4, int?value5, int?value6)
     : base(pokedex)
 {
     ID          = id;
     Name        = name;
     Description = description;
     Position3   = position3;
     Position4   = position4;
     Position5   = position5;
     Position6   = position6;
     Value3      = value3;
     Value4      = value4;
     Value5      = value5;
     Value6      = value6;
 }
示例#4
0
        public Location(Pokedex pokedex, int id, int region_id, int?value3,
                        int?value_colo, int?value_xd, int?value4, int?value5,
                        int?value6, LocalizedString name)
            : base(pokedex)
        {
            m_region_pair = Region.CreatePair(m_pokedex);
            m_lazy_pairs.Add(m_region_pair);

            ID = id;
            m_region_pair.Key = region_id;
            Value3            = value3;
            ValueColo         = value_colo;
            ValueXd           = value_xd;
            Value4            = value4;
            Value5            = value5;
            Value6            = value6;
            Name = name;
        }
示例#5
0
        public Move(Pokedex pokedex, int id, int type_id, LocalizedString name,
                    DamageClass damage_class, int damage, int pp, int accuracy, int priority,
                    BattleTargets target)
            : base(pokedex)
        {
            m_type_pair = Type.CreatePair(m_pokedex);
            m_lazy_pairs.Add(m_type_pair);

            ID = id;
            m_type_pair.Key = type_id;
            Name            = name;
            DamageClass     = damage_class;
            Damage          = damage;
            PP       = pp;
            Accuracy = accuracy;
            Priority = priority;
            Target   = target;
            // todo: Nice description text
        }
示例#6
0
        public Family(Pokedex pokedex, int id, int basic_male_id, int basic_female_id,
                      int baby_male_id, int baby_female_id, int incense_id, byte gender_ratio)
            : base(pokedex)
        {
            m_basic_male_pair   = Species.CreatePair(m_pokedex);
            m_basic_female_pair = Species.CreatePair(m_pokedex);
            m_baby_male_pair    = Species.CreatePair(m_pokedex);
            m_baby_female_pair  = Species.CreatePair(m_pokedex);
            m_incense_pair      = Item.CreatePair(m_pokedex);
            m_lazy_pairs.Add(m_basic_male_pair);
            m_lazy_pairs.Add(m_basic_female_pair);
            m_lazy_pairs.Add(m_baby_male_pair);
            m_lazy_pairs.Add(m_baby_female_pair);
            m_lazy_pairs.Add(m_incense_pair);

            ID = id;
            m_basic_male_pair.Key   = basic_male_id;
            m_basic_female_pair.Key = basic_female_id;
            m_baby_male_pair.Key    = baby_male_id;
            m_baby_female_pair.Key  = baby_female_id;
            m_incense_pair.Key      = incense_id;
            GenderRatio             = gender_ratio;
        }
示例#7
0
 public static LazyKeyValuePair <int, Ability> CreatePair(Pokedex pokedex)
 {
     return(new LazyKeyValuePair <int, Ability>(
                k => k == 0 ? null : (pokedex == null ? null : pokedex.Abilities(k)),
                v => v == null ? 0 : v.Value));
 }
示例#8
0
 public static LazyKeyValuePair <int, Form> CreatePair(Pokedex pokedex)
 {
     return(new LazyKeyValuePair <int, Form>(
                k => k == 0 ? null : (pokedex == null ? null : pokedex.Forms[k]),
                v => v == null ? 0 : v.ID));
 }
示例#9
0
 public static LazyKeyValuePair <int, Item> CreatePairPokeball(Pokedex pokedex)
 {
     return(new LazyKeyValuePair <int, Item>(
                k => k == 0 ? null : (pokedex == null ? null : pokedex.Pokeballs[k]),
                v => v == null ? 0 : v.ID));
 }
示例#10
0
 public static LazyKeyValuePair <int, Item> CreatePairForGeneration(Pokedex pokedex, Func <Generations> generationGetter)
 {
     return(new LazyKeyValuePair <int, Item>(
                k => k == 0 ? null : (pokedex == null ? null : pokedex.ItemsByGeneration(generationGetter())[k]),
                v => v == null ? 0 : (v.Value(generationGetter()) ?? -1)));
 }
示例#11
0
 public Ability(Pokedex pokedex, int value, LocalizedString name)
 {
     m_pokedex = pokedex;
     Value     = value;
     Name      = name;
 }
示例#12
0
 public Region(Pokedex pokedex, IDataReader reader)
     : this(pokedex, Convert.ToInt32(reader["id"]), LocalizedStringFromReader(reader, "Name_"))
 {
 }
示例#13
0
 public static LazyKeyValuePair <int, Location> CreatePairForLocationNumbering(Pokedex pokedex, Func <LocationNumbering> generationGetter)
 {
     return(new LazyKeyValuePair <int, Location>(
                k =>
     {
         if (k == 0)
         {
             return null;
         }
         if (pokedex == null)
         {
             return null;
         }
         var locations = pokedex.LocationsByGeneration(generationGetter());
         if (locations == null)
         {
             return null;
         }
         if (!locations.ContainsKey(k))
         {
             return null;
         }
         return locations[k];
     },
                v => v == null ? 0 : (v.Value(generationGetter()) ?? -1)));
 }
示例#14
0
 public static LazyKeyValuePair <int, Location> CreatePairForLocationNumbering(Pokedex pokedex, Func <LocationNumbering> generationGetter)
 {
     return(new LazyKeyValuePair <int, Location>(
                k => k == 0 ? null : (pokedex == null ? null : pokedex.Locations(generationGetter())[k]),
                v => v == null ? 0 : (v.Value(generationGetter()) ?? -1)));
 }
示例#15
0
 public Region(Pokedex pokedex, int id, LocalizedString name) : base(pokedex)
 {
     ID   = id;
     Name = name;
 }
示例#16
0
 public static LazyKeyValuePair <int, Type> CreatePair(Pokedex pokedex)
 {
     return(new LazyKeyValuePair <int, Type>(
                k => k == 0 ? null : (pokedex == null ? null : pokedex.Types(k)),
                v => v == null ? 0 : v.ID));
 }
 internal PokedexRecordBase(Pokedex pokedex)
 {
     m_pokedex    = pokedex;
     m_lazy_pairs = new List <ILazyKeyValuePair <int, object> >();
 }