Ejemplo n.º 1
0
 public Type(Pokedex pokedex, IDataReader reader)
     : this(pokedex,
         Convert.ToInt32(reader["id"]),
         LocalizedStringFromReader(reader, "Name_"),
         (DamageClass)Convert.ToInt32(reader["DamageClass"]))
 {
 }
Ejemplo n.º 2
0
 public Ability(Pokedex pokedex, int value, LocalizedString name)
     : base(pokedex)
 {
     Value = value;
     Name = name;
     // todo: Nice description text
 }
Ejemplo n.º 3
0
 public PokemonBase(Pokedex.Pokedex pokedex, BinaryReader data)
     : base()
 {
     m_pokedex = pokedex;
     Initialize();
     Load(data);
 }
Ejemplo n.º 4
0
 public Type(Pokedex pokedex, int id, LocalizedString name, DamageClass damage_class)
     : base(pokedex)
 {
     ID = id;
     Name = name;
     DamageClass = damage_class;
 }
Ejemplo n.º 5
0
 public Ability(Pokedex pokedex, IDataReader reader)
     : this(
         pokedex,
     Convert.ToInt32(reader["Value"]),
     LocalizedStringFromReader(reader, "Name_")
     )
 {
 }
Ejemplo n.º 6
0
        public MoveSlot(Pokedex.Pokedex pokedex, int moveId, byte ppUps, byte remainingPp)
        {
            m_pokedex = pokedex;
            Initialize();

            MoveID = moveId;
            PPUps = ppUps;
            RemainingPP = remainingPp;
        }
Ejemplo n.º 7
0
 public Item(Pokedex pokedex, IDataReader reader)
     : this(pokedex,
         Convert.ToInt32(reader["id"]),
         reader["Value3"] is DBNull ? null : (int?)Convert.ToInt32(reader["Value3"]),
         reader["Value4"] is DBNull ? null : (int?)Convert.ToInt32(reader["Value4"]),
         reader["Value5"] is DBNull ? null : (int?)Convert.ToInt32(reader["Value5"]),
         reader["Value6"] is DBNull ? null : (int?)Convert.ToInt32(reader["Value6"]),
         Convert.ToInt32(reader["Price"]),
         LocalizedStringFromReader(reader, "Name_"))
 {
 }
Ejemplo n.º 8
0
 public Family(Pokedex pokedex, IDataReader reader)
     : this(pokedex,
         Convert.ToInt32(reader["id"]),
         Convert.ToInt32(reader["BasicMale"]),
         Convert.ToInt32(reader["BasicFemale"]),
         Convert.ToInt32(reader["BabyMale"]),
         Convert.ToInt32(reader["BabyFemale"]),
         Convert.ToInt32(reader["Incense"]),
         Convert.ToByte(reader["GenderRatio"]))
 {
 }
Ejemplo n.º 9
0
 public Form(Pokedex pokedex, IDataReader reader)
     : this(pokedex,
         Convert.ToInt32(reader["id"]),
         Convert.ToInt32(reader["NationalDex"]),
         Convert.ToByte(reader["FormValue"]),
         LocalizedStringFromReader(reader, "Name_"),
         reader["FormSuffix"].ToString(),
         Convert.ToInt32(reader["Height"]),
         Convert.ToInt32(reader["Weight"]),
         Convert.ToInt32(reader["Experience"]))
 {
 }
Ejemplo n.º 10
0
 public Location(Pokedex pokedex, IDataReader reader)
     : this(pokedex, 
     Convert.ToInt32(reader["id"]), 
     Convert.ToInt32(reader["region_id"]), 
     (int ?)DatabaseExtender.Cast<uint ?>(reader["Value3"]),
     (int?)DatabaseExtender.Cast<uint?>(reader["Value_Colo"]),
     (int?)DatabaseExtender.Cast<uint?>(reader["Value_XD"]),
     (int?)DatabaseExtender.Cast<uint?>(reader["Value4"]),
     (int?)DatabaseExtender.Cast<uint?>(reader["Value5"]),
     (int?)DatabaseExtender.Cast<uint?>(reader["Value6"]),
     LocalizedStringFromReader(reader, "Name_"))
 {
 }
Ejemplo n.º 11
0
 public Move(Pokedex pokedex, IDataReader reader)
     : this(pokedex,
     Convert.ToInt32(reader["Value"]),
     Convert.ToInt32(reader["type_id"]),
     LocalizedStringFromReader(reader, "Name_"),
     (DamageClass)Convert.ToInt32(reader["DamageClass"]),
     Convert.ToInt32(reader["Damage"]),
     Convert.ToInt32(reader["PP"]),
     Convert.ToInt32(reader["Accuracy"]),
     Convert.ToInt32(reader["Priority"]),
     (BattleTargets)Convert.ToInt32(reader["Target"]))
 {
 }
Ejemplo n.º 12
0
 public Ribbon(Pokedex pokedex, IDataReader reader)
     : this(pokedex, Convert.ToInt32(reader["id"]),
         LocalizedStringFromReader(reader, "Name_"),
         LocalizedStringFromReader(reader, "Description_"),
         reader["Position3"] is DBNull ? null : (int?)Convert.ToInt32(reader["Position3"]),
         reader["Position4"] is DBNull ? null : (int?)Convert.ToInt32(reader["Position4"]),
         reader["Position5"] is DBNull ? null : (int?)Convert.ToInt32(reader["Position5"]),
         reader["Position6"] is DBNull ? null : (int?)Convert.ToInt32(reader["Position6"]),
         reader["Value3"] is DBNull ? null : (int?)Convert.ToInt32(reader["Value3"]),
         reader["Value4"] is DBNull ? null : (int?)Convert.ToInt32(reader["Value4"]),
         reader["Value5"] is DBNull ? null : (int?)Convert.ToInt32(reader["Value5"]),
         reader["Value6"] is DBNull ? null : (int?)Convert.ToInt32(reader["Value6"]))
 {
 }
Ejemplo n.º 13
0
 public Item(Pokedex pokedex, int id, int ? value3, int ? value4, 
     int ? value5, int ? value6, int price, LocalizedString name)
     : base(pokedex)
 {
     ID = id;
     // todo: Since ID numbers stopped moving around in Gen 4 -> 5, we
     // only need to store value3, value4 and a minGenerationRequired field
     Value3 = value3;
     Value4 = value4;
     Value5 = value5;
     Value6 = value6;
     Price = price;
     Name = name;
 }
Ejemplo n.º 14
0
        public Form(Pokedex pokedex, int id, int species_id, byte value,
            LocalizedString name, String suffix, int height, int weight, int experience)
            : base(pokedex)
        {
            m_species_pair = Species.CreatePair(m_pokedex);
            m_lazy_pairs.Add(m_species_pair);

            ID = id;
            m_species_pair.Key = species_id;
            Value = value;
            Name = name;
            Suffix = suffix;
            Height = height;
            Weight = weight;
            Experience = experience;
        }
Ejemplo n.º 15
0
        public TrainerMemo(Pokedex.Pokedex pokedex, LocationNumbering numbering, 
            DateTime ? time_egg_obtained, DateTime ? time_encountered,
            int location_egg_obtained_id, int location_encountered_id,
            bool is_hatched, byte level_encountered)
        {
            m_pokedex = pokedex;
            m_location_egg_obtained_pair = Location.CreatePairForLocationNumbering(m_pokedex, () => Numbering);
            m_location_encountered_pair = Location.CreatePairForLocationNumbering(m_pokedex, () => Numbering);

            Numbering = numbering;
            TimeEggObtained = time_egg_obtained;
            TimeEncountered = time_encountered;
            m_location_egg_obtained_pair.Key = location_egg_obtained_id;
            m_location_encountered_pair.Key = location_encountered_id;
            IsHatched = is_hatched;
            LevelEncountered = level_encountered;
        }
Ejemplo n.º 16
0
        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;
        }
Ejemplo n.º 17
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;
        }
Ejemplo n.º 18
0
        private void InitializeLevelUpList()
        {
            uint levelCount = 100;

            int xpRequiredFirstLevel = 200;

            int[] levelUpList = new int[levelCount];


            levelUpList[0] = xpRequiredFirstLevel;

            for (uint i = 1; i <= levelCount - 1; i++)
            {
                levelUpList[i] = Convert.ToInt32(levelUpList[i - 1] * 1.2);
            }

            Pokedex.SetLevelUpList(levelUpList);
        }
Ejemplo n.º 19
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;
 }
Ejemplo n.º 20
0
        public DetailPage(Pokemon pokemon)
        {
            InitializeComponent();
            var pokedex = new Pokedex();
            var info    = pokedex.GetPokemonInfo(pokemon);

            imgDetail.Source    = pokemon.ImageUrl;
            lblNamePokemon.Text = pokemon.Name;
            lblWeight.Text      = info.WeightEu;
            lblHeight.Text      = info.HeightEu;
            lblDetail.Text      = info.PokedexEntries.OmegaRuby.En;
            this.Title          = "Info Pokemon";
            //var navigationPage = Application.Current.MainPage as NavigationPage;
            //navigationPage.BarBackgroundColor = Color.White;
            //navigationPage.BarTextColor = Color.Blue;
            //navigationPage.BarTextColor = Color.Blue;
            //navigationPage.bac
        }
Ejemplo n.º 21
0
        public void TransferPokemon(Pokedex pokedexPlayer, Pokedex pokedexFriend, PokedexPokemon pokedexPokemon)
        {
            pokedexPokemon.PokedexID = pokedexFriend.ID;

            pokedexPlayer.Pokemons.Remove(pokedexPokemon);
            pokedexFriend.Pokemons.Add(pokedexPokemon);

            db.PokedexPokemon.Attach(pokedexPokemon);
            db.Entry(pokedexPokemon).State = EntityState.Modified;

            db.Pokedex.Attach(pokedexPlayer);
            db.Entry(pokedexPlayer).State = EntityState.Modified;

            db.Pokedex.Attach(pokedexFriend);
            db.Entry(pokedexFriend).State = EntityState.Modified;

            db.SaveChanges();
        }
Ejemplo n.º 22
0
        static void Main(string[] args)
        {
            Console.WriteLine("Welcome to Assignment 5 - Pokemon Edition");

            PokemonReader reader  = new PokemonReader();
            Pokedex       pokedex = reader.Load("pokemon151.xml");

            // List out all the pokemons loaded
            foreach (Pokemon pokemon in pokedex.Pokemons)
            {
                Console.WriteLine(pokemon.Name);
            }

            // TODO: Add a pokemon bag with 2 bulbsaur, 1 charlizard, 1 mew and 1 dragonite
            // and save it out and load it back and list it out.

            Console.ReadKey();
        }
Ejemplo n.º 23
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
        }
Ejemplo n.º 24
0
        public void Deserialize()
        {
            OpenFileDialog openFileDialog = new OpenFileDialog
            {
                Filter = "xml files |*.xml"
            };

            openFileDialog.ShowDialog();

            if (openFileDialog.FileName != null && openFileDialog.FileName != "")
            {
                using (TextReader reader = new StreamReader(openFileDialog.FileName))
                {
                    XmlSerializer deserializer = new XmlSerializer(typeof(Pokedex));

                    Pokedex obj = (Pokedex)deserializer.Deserialize(reader);
                    Data = obj;
                }
            }
        }
Ejemplo n.º 25
0
        private void DatagridPokedex_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (datagridPokedex.SelectedItem is PokedexEntry pokedexEntry)
            {
                Pokedex      pokedexPokemon    = DatabaseOperations.GetPokedexEntry(pokedexEntry.PokedexNumber);
                List <Found> pokemonFoundAreas = DatabaseOperations.GetPlayerPokedexEntriesAreas(pokedexPokemon.Id);

                string areaIds = string.Empty;

                // Alle unieke area id's van de geselecteerd pokemon ophalen.
                foreach (var item in pokemonFoundAreas)
                {
                    if (!areaIds.Contains(item.AreaId.ToString()))
                    {
                        areaIds += item.Area.Name + ", ";
                    }
                }

                // Laatste komma verwijderen
                if (areaIds != string.Empty)
                {
                    areaIds = areaIds.Substring(0, areaIds.Length - 2);
                }
                else
                {
                    areaIds = "unknown";
                }

                // Summary opvullen als speler de pokemon al gezien heeft.
                if (pokedexEntry.Encountered == true)
                {
                    lblSummary.Content = "Summary:" + Environment.NewLine + Environment.NewLine + "Area: " + areaIds + Environment.NewLine + pokedexPokemon.Description + Environment.NewLine + "Height: " + pokedexPokemon.AvgHeight + "m" + Environment.NewLine + "Weigth: " + pokedexPokemon.AvgWeight + "kg";
                    imgPokemon.Source  = new BitmapImage(new Uri(@"images\sprites\" + pokedexPokemon.ImgReference, UriKind.Relative));
                }
                else
                {
                    lblSummary.Content = string.Empty;
                    imgPokemon.Source  = null;
                }
            }
        }
Ejemplo n.º 26
0
        public MethodResult <AccountExportModel> GetAccountExport()
        {
            if (Stats == null)
            {
                LogCaller(new LoggerEventArgs(String.Format("No stats found for {0}. Please update details", UserSettings.PtcUsername), LoggerTypes.Warning));

                return(new MethodResult <AccountExportModel>());
            }

            if (AllItems == null || AllItems.Count == 0)
            {
                LogCaller(new LoggerEventArgs(String.Format("No items found for {0}. Please update details", UserSettings.PtcUsername), LoggerTypes.Warning));

                return(new MethodResult <AccountExportModel>());
            }

            if (Pokedex == null || Pokedex.Count == 0)
            {
                LogCaller(new LoggerEventArgs(String.Format("No pokedex found for {0}. Please update details", UserSettings.PtcUsername), LoggerTypes.Warning));

                return(new MethodResult <AccountExportModel>());
            }

            AccountExportModel exportModel = new AccountExportModel
            {
                Level    = Stats.Level,
                Type     = UserSettings.AuthType.ToString(),
                Username = UserSettings.PtcUsername,
                Password = UserSettings.PtcPassword,
                Pokedex  = Pokedex.Select(x => new PokedexEntryExportModel(x)).ToList(),
                Pokemon  = Pokemon.Select(x => new PokemonDataExportModel(x, CalculateIVPerfection(x).Data)).ToList(),
                Items    = Items.Select(x => new ItemDataExportModel(x)).ToList(),
                Eggs     = Eggs.Select(x => new EggDataExportModel(x)).ToList()
            };

            return(new MethodResult <AccountExportModel>
            {
                Data = exportModel,
                Success = true
            });
        }
        public int shakes(PocketMonster pokemon, double pokeballBonus)
        {
            int nbShake = 0;

            double a = ((3 * pokemon.HP - 2 * pokemon.CurrentHP) * Pokedex.getInfo(pokemon.PokedexID).CatchRate *pokeballBonus) / (3 * pokemon.HP);

            if (pokemon.Status == (int)Enum.status.Sleep || pokemon.Status == (int)Enum.status.Frozen)
            {
                a *= 2;
            }
            else if (pokemon.Status != 0)
            {
                a *= 1.5;
            }

            double shakeProbability = 1048560 / Math.Sqrt(Math.Sqrt(16711680 / a));


            bool stillGoing = true;

            while (stillGoing)
            {
                int check = Utilities.RandomNumber(0, 65536);
                if (check >= shakeProbability)
                {
                    stillGoing = false;
                }
                else
                {
                    nbShake++;
                }
                if (nbShake == 4)
                {
                    stillGoing = false;
                }
            }

            //If the nb < 3, then the pokemon has been catched !
            return(nbShake);
        }
        private void BtnChange_Click(object sender, RoutedEventArgs e)//entry aanpassen
        {
            int index = datagridPokedexEntries.SelectedIndex;

            pokedexEntry             = datagridPokedexEntries.SelectedItem as Pokedex;
            pokedexEntry.PokemonName = txtNaam.Text;
            pokedexEntry.Types       = null;
            pokedexEntry.Types1      = null;
            pokedexEntry.Type1       = cmbType1.SelectedIndex + 1;
            pokedexEntry.Type2       = cmbType2.SelectedIndex + 1;
            int ok = DatabaseOperations.UpdatePokedexEntry(pokedexEntry);

            if (ok > 0)
            {
                datagridPokedexEntries.ItemsSource = DatabaseOperations.PokedexEntry();
            }
            else
            {
                MessageBox.Show("Pokemon is niet aangepast");//indien error
            }
            datagridPokedexEntries.SelectedIndex = index;
        }
Ejemplo n.º 29
0
        private bool IsValidPokedex(Pokedex poke)
        {
            if ((poke.Id == null) || (poke.Name == null) || (poke.Type1 == null) ||
                (poke.Attack == null) || (poke.Defence == null) || (poke.Stamina == null))
            {
                ViewData["Msg"] = "Please enter all fields";
                return(false);
            }

            if (poke.Type1.Equals(poke.Type2))
            {
                ViewData["Msg"] = "Type2 cannot be the same as Type1";
                return(false);
            }

            if ((poke.Id <= 0) || (poke.Attack <= 0) || (poke.Defence <= 0) || (poke.Stamina <= 0))
            {
                ViewData["Msg"] = "Invalid stats";
                return(false);
            }

            return(true);
        }
Ejemplo n.º 30
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;
        }
Ejemplo n.º 31
0
        private void btn_loadXML_Click(object sender, EventArgs e)
        {
            System.IO.StreamReader sr;


            using (FolderBrowserDialog fbd = new FolderBrowserDialog())
            {
                if (fbd.ShowDialog() == DialogResult.OK)
                {
                    folder = fbd.SelectedPath;
                }
            }
            try
            {
                sr = new System.IO.StreamReader(folder + "\\pokemon.xml");

                pokedex     = Pokedex.ObtenirDadesPokedex(sr, "pokedex", "pokemon");
                pokedexKeys = Pokedex.GetPokedexNameNum(pokedex);

                /*foreach (KeyValuePair<string, int> reg in pokedexKeys)
                 * {
                 *  comboBox1.Items.Add(reg.Key);
                 * }*/


                if (!loaded)
                {
                    dgv_pkmnStats.BorderStyle = System.Windows.Forms.BorderStyle.None;
                    dgv_pkmnStats.Columns.Add("stat", "stat");
                    dgv_pkmnStats.Columns.Add("value", "value");
                    dgv_evos.Columns.Add("pokemon", "id");

                    loaded = true;
                }
            }
            catch (System.IO.FileNotFoundException excpt) { }
        }
Ejemplo n.º 32
0
        public void AllCacheIsCleared()
        {
            // assemble
            ResourceCacheManager sut = new ResourceCacheManager();
            Berry berry = new Berry {
                Name = "cheri", Id = 1
            };
            Pokedex pokedex = new Pokedex {
                Name = "dex", Id = 1
            };

            sut.Store(berry);
            sut.Store(pokedex);

            // act
            sut.ClearAll();

            // assert
            Berry   retrievedBerry   = sut.Get <Berry>(1);
            Pokedex retrievedPokedex = sut.Get <Pokedex>(1);

            Assert.Null(retrievedBerry);
            Assert.Null(retrievedPokedex);
        }
        public void CacheIsClearedForSpecificType()
        {
            // assemble
            ResourceCacheManager sut = new ResourceCacheManager();
            Berry berry = new Berry {
                Name = "cheri", Id = 1
            };
            Pokedex pokedex = new Pokedex {
                Name = "cheri", Id = 1
            };

            sut.Store(berry);
            sut.Store(pokedex);

            // act
            sut.Clear <Berry>();

            // assert
            Berry   retrievedBerry   = sut.Get <Berry>(berry.Id);
            Pokedex retrievedPokedex = sut.Get <Pokedex>(pokedex.Id);

            Assert.Null(retrievedBerry);
            Assert.NotNull(retrievedPokedex);
        }
Ejemplo n.º 34
0
 public FormStats(Pokedex pokedex, IDataReader reader)
     : this(pokedex,
     Convert.ToInt32(reader["form_id"]),
     (Generations)Convert.ToInt32(reader["MinGeneration"]),
     Convert.ToInt32(reader["Type1"]),
     Convert.ToInt32(reader["Type2"]),
     new IntStatValues(
         Convert.ToInt32(reader["BaseHP"]),
         Convert.ToInt32(reader["BaseAttack"]),
         Convert.ToInt32(reader["BaseDefense"]),
         Convert.ToInt32(reader["BaseSpeed"]),
         Convert.ToInt32(reader["BaseSpAttack"]),
         Convert.ToInt32(reader["BaseSpDefense"])
         ),
     new ByteStatValues(
         Convert.ToByte(reader["RewardHP"]),
         Convert.ToByte(reader["RewardAttack"]),
         Convert.ToByte(reader["RewardDefense"]),
         Convert.ToByte(reader["RewardSpeed"]),
         Convert.ToByte(reader["RewardSpAttack"]),
         Convert.ToByte(reader["RewardSpDefense"])
         ))
 {
 }
Ejemplo n.º 35
0
 public abstract List<Ribbon> PokedexGetAllRibbons(Pokedex.Pokedex pokedex);
Ejemplo n.º 36
0
 public MainPage()
 {
     InitializeComponent();
     _pokedex = new Pokedex();
 }
Ejemplo n.º 37
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);
 }
Ejemplo n.º 38
0
 public abstract List<Pokedex.Type> PokedexGetAllTypes(Pokedex.Pokedex pokedex);
Ejemplo n.º 39
0
 public abstract List<Region> PokedexGetAllRegions(Pokedex.Pokedex pokedex);
Ejemplo n.º 40
0
        public void UpdateInventory()
        {
            LogCaller(new LoggerEventArgs("Updating inventory.", LoggerTypes.Debug));

            try
            {
                var inventoryItems = _client?.ClientSession?.Player?.Inventory?.InventoryItems;
                if (inventoryItems == null)
                {
                    return;
                }
                Items.Clear();
                Pokemon.Clear();
                Pokedex.Clear();
                PokemonCandy.Clear();
                Incubators.Clear();
                Eggs.Clear();
                foreach (var inventoryItem in inventoryItems)
                {
                    if (inventoryItem.InventoryItemData?.PlayerStats != null)
                    {
                        Stats = inventoryItem.InventoryItemData.PlayerStats;
                    }
                    if (inventoryItem.InventoryItemData?.Item != null)
                    {
                        Items.Add(inventoryItem.InventoryItemData.Item);
                    }
                    if (inventoryItem.InventoryItemData?.PokedexEntry != null)
                    {
                        Pokedex.Add(inventoryItem.InventoryItemData.PokedexEntry);
                    }
                    if (inventoryItem.InventoryItemData?.Candy != null)
                    {
                        PokemonCandy.Add(inventoryItem.InventoryItemData.Candy);
                    }
                    if (inventoryItem.InventoryItemData?.EggIncubators != null)
                    {
                        foreach (var eggIncubator in inventoryItem.InventoryItemData.EggIncubators.EggIncubator)
                        {
                            if (eggIncubator != null)
                            {
                                Incubators.Add(eggIncubator);
                            }
                        }
                    }
                    if (inventoryItem.InventoryItemData?.PokemonData != null)
                    {
                        if (inventoryItem.InventoryItemData.PokemonData.IsEgg)
                        {
                            Eggs.Add(inventoryItem.InventoryItemData.PokemonData);
                        }
                        else
                        {
                            Pokemon.Add(inventoryItem.InventoryItemData.PokemonData);
                        }
                    }
                }
            }
            catch (Exception ex1)
            {
                AccountState = Enums.AccountState.TemporalBan;
                LogCaller(new LoggerEventArgs(String.Format("Failed updating inventory."), LoggerTypes.Debug, ex1));
                Stop();
            }
        }
Ejemplo n.º 41
0
        private static async Task <Embed> QueryPokedex(int id)
        {
            var pokemon = await Pokedex.GetPokemonById(id);

            var form = await Pokedex.GetPokemonForm(id);

            string name   = pokemon.Name.Capitalize();
            double height = (double)pokemon.Height / 10;
            double weight = (double)pokemon.Weight / 10;

            IList <string> abilities = new List <string>();

            foreach (var ability in pokemon.Abilities.OrderBy(a => a.Slot))
            {
                string appendix = ability.Hidden ? " (Hidden)" : "";
                abilities.Add($"#{ability.Slot}: {ability.Actual.Name.Capitalize()}{appendix}");
            }

            IList <string> items = pokemon.Items.Select(item => item.Name).ToList();

            IList <string> types = pokemon.Types.OrderBy(t => t.Slot)
                                   .Select(type => $"#{type.Slot}: {type.ToEmoji()} {type.Name}").ToList();

            string joinAbilities = string.Join("\n", abilities);

            joinAbilities = string.IsNullOrWhiteSpace(joinAbilities) ? "/" : joinAbilities;

            string joinItems = string.Join("\n", items);

            joinItems = string.IsNullOrWhiteSpace(joinItems) ? "/" : joinItems;

            string joinTypes = string.Join("\n", types);

            joinTypes = string.IsNullOrWhiteSpace(joinTypes) ? "/" : joinTypes;

            var builder = new EmbedBuilder
            {
                Author = new EmbedAuthorBuilder
                {
                    Name    = "National Pokédex",
                    IconUrl = Information.PokedexUrl
                },
                Footer = new EmbedFooterBuilder
                {
                    Text    = "Powered by pokeapi.co",
                    IconUrl = "http://pokeapi.co"
                },
                Color        = new Color(255, 64, 64),
                ThumbnailUrl = form.Sprites.Front
            };

            builder.AddInlineField("Name", $"[{name}](https://bulbapedia.bulbagarden.net/wiki/{name})");
            builder.AddInlineField("ID", $"#{pokemon.Id}");
            builder.AddInlineField("Height", $"{height} m");
            builder.AddInlineField("Weight", $"{weight} kg");
            builder.AddInlineField("Base Exp.", pokemon.BaseExperience);
            builder.AddInlineField("Abilities", joinAbilities);
            builder.AddInlineField("Default", pokemon.Default ? "Yes" : "No");
            builder.AddInlineField("Order", pokemon.Order);
            builder.AddInlineField("Held Items", joinItems);
            builder.AddInlineField("Type", joinTypes);
            return(builder.Build());
        }
Ejemplo n.º 42
0
    private void OnEnable()
    {
        TextAsset file = Resources.Load("Pokedex") as TextAsset;

        _pokedex = (!string.IsNullOrEmpty(file.text)) ? JsonUtility.FromJson <Pokedex>(file.text) : new Pokedex();
    }
Ejemplo n.º 43
0
        public static Story CreateIntroStory(Client client)
        {
            Story story = new Story();

            StoryBuilderSegment segment = new StoryBuilderSegment();

            Pokemon eevee  = Pokedex.FindByName("Eevee");
            string  map1ID = Main.Crossroads;

            StoryBuilder.AppendMapVisibilityAction(segment, false);
            StoryBuilder.AppendPlayerPadlockAction(segment, "Lock");
            StoryBuilder.AppendWarpAction(segment, map1ID, 25, 25);
            StoryBuilder.AppendPlayMusicAction(segment, "PMD2) Strange Happenings.mp3", true, true);
            StoryBuilder.AppendSaySegment(segment, "You step into the light of the crystal...", -1, 0, 0);
            StoryBuilder.AppendSaySegment(segment, "You feel its energy going through your body...", -1, 0, 0);
            StoryBuilder.AppendSaySegment(segment, "Dizzy... are you moving?", -1, 0, 0);
            StoryBuilder.AppendSaySegment(segment, "You feel a cool breeze... maybe, just maybe...", -1, 0, 0);
            StoryBuilder.AppendSaySegment(segment, "You slowly open your eyes...", -1, 0, 0);
            StoryBuilder.AppendPauseAction(segment, 1000);
            StoryBuilder.AppendPlayMusicAction(segment, "%mapmusic%", true, true);
            StoryBuilder.AppendSaySegment(segment, "Hey! You!", -1, 0, 0);
            StoryBuilder.AppendSaySegment(segment, "Are you okay?", -1, 0, 0);
            StoryBuilder.AppendCreateFNPCAction(segment, "0", map1ID, 25, 23, eevee.ID);
            StoryBuilder.AppendChangeFNPCDirAction(segment, "0", Server.Enums.Direction.Down);
            StoryBuilder.AppendMapVisibilityAction(segment, true);
            StoryBuilder.AppendSaySegment(segment, "Oh, good! You're awake!", eevee.ID, 0, 0);
            StoryBuilder.AppendSaySegment(segment, "You've been laying there for a while now. Are you okay? Are you hurt?", eevee.ID, 0, 0);
            StoryBuilder.AppendSaySegment(segment, "(An eevee is talking to me...)", -1, 0, 0);
            StoryBuilder.AppendSaySegment(segment, "Oh, well. The important thing is that you are awake now!", eevee.ID, 0, 0);
            StoryBuilder.AppendSaySegment(segment, "So, where are you from? I haven't seen you in these parts before.", eevee.ID, 0, 0);
            StoryBuilder.AppendSaySegment(segment, "(Hmm... Where am I from? I don't remember a thing)", -1, 0, 0);
            StoryBuilder.AppendPauseAction(segment, 1000);
            StoryBuilder.AppendSaySegment(segment, "Oh, you don't remember? Strange. Anyway, you're probably wondering who I am...", eevee.ID, 0, 0);
            StoryBuilder.AppendSaySegment(segment, "...I am the great Eevocious! Master of evolutions and battle!", eevee.ID, 0, 0);
            StoryBuilder.AppendSaySegment(segment, "(Eevocious, huh... what an odd name. But, alright. Eevocious it is.)", -1, 0, 0);
            StoryBuilder.AppendPauseAction(segment, 2000);
            StoryBuilder.AppendSaySegment(segment, "...I bet I fooled you, didn't I.", eevee.ID, 0, 0);
            StoryBuilder.AppendSaySegment(segment, "And you actually thought I was Eevocious!", eevee.ID, 0, 0);
            StoryBuilder.AppendSaySegment(segment, "Yeah, I'm sorry. It's just hard to resist. A new Pokemon just appearing out of no where gives me a chance to be whomever I want to be!", eevee.ID, 0, 0);
            StoryBuilder.AppendSaySegment(segment, "(Very funny)", -1, 0, 0);
            StoryBuilder.AppendSaySegment(segment, "Anyway, my real name is Eevee. I'm an explorer. Or, I want to become an explorer. See...", eevee.ID, 0, 0);
            StoryBuilder.AppendSaySegment(segment, "I can't become a true explorer until I prove that I am capable of handling the toughest situations. That's why I'm training to be able to get through Tiny Grotto!", eevee.ID, 0, 0);
            StoryBuilder.AppendSaySegment(segment, "(Tiny Grotto?)", -1, 0, 0);
            StoryBuilder.AppendSaySegment(segment, "You're probably wondering what Tiny Grotto even is! I'll explain.", eevee.ID, 0, 0);
            StoryBuilder.AppendSaySegment(segment, "It's a dungeon. It's not the hardest dungeon, but it's good practice. Yup, so I'm going to Tiny Grotto!", eevee.ID, 0, 0);
            StoryBuilder.AppendSaySegment(segment, "(Oh look, Eevee is leaving me.)", -1, 0, 0);
            StoryBuilder.AppendSaySegment(segment, "Bye~!", eevee.ID, 0, 0);
            StoryBuilder.AppendMoveFNPCAction(segment, "0", 1, 24, Server.Enums.Speed.Walking, true);
            StoryBuilder.AppendDeleteFNPCAction(segment, "0");
            StoryBuilder.AppendSaySegment(segment, "(Now what do I do next? I know I can't go to Tiny Grotto... I don't even know how to battle!)", -1, 0, 0);
            StoryBuilder.AppendSaySegment(segment, "(Maybe I'll find out more if I continue going North (^))", -1, 0, 0);
            StoryBuilder.AppendPlayerPadlockAction(segment, "Unlock");

            if (client.Player.Veteran)
            {
                StoryBuilder.AppendPlayerPadlockAction(segment, "Lock");
                StoryBuilder.AppendPauseAction(segment, 2000);
                StoryBuilder.AppendSaySegment(segment, "PMU Staff: You weren't expecting all this, now were you?", -1, 0, 0);
                StoryBuilder.AppendSaySegment(segment, "PMU Staff: Have fun exploring!", -1, 0, 0);
                StoryBuilder.AppendPlayerPadlockAction(segment, "Unlock");
            }
            #region old
            //StoryBuilder.AppendMapVisibilityAction(segment, false);
            //StoryBuilder.AppendSaySegment(segment, "Hey! You!", -1, 0, 0);
            //StoryBuilder.AppendSaySegment(segment, "Are you okay?", -1, 0, 0);
            //StoryBuilder.AppendCreateFNPCAction(segment, "0", map1ID, 10, 6, eevee.Sprite);
            //StoryBuilder.AppendMapVisibilityAction(segment, true);
            //StoryBuilder.AppendSaySegment(segment, "Oh, good! You're awake!", eevee.Mugshot, 0, 0);
            //StoryBuilder.AppendSaySegment(segment, "You've been laying there for a while now. Are you okay? Are you hurt?", eevee.Mugshot, 0, 0);
            //StoryBuilder.AppendSaySegment(segment, "(An eevee is talking to me...)", -1, 0, 0);
            //StoryBuilder.AppendSaySegment(segment, "You're probably wondering what Tiny Woods even is! I'll explain.", eevee.Mugshot , 0, 0);
            //StoryBuilder.AppendSaySegment(segment, "It's a dungeon. It's not the hardest dungeon, but it's good practice. Yup, so I'm going to Tiny Woods!", eevee.Mugshot, 0, 0);
            //StoryBuilder.AppendSaySegment(segment, "(Oh look, Eevee is leaving me. Fun.", -1, 0, 0);
            //StoryBuilder.AppendSaySegment(segment, "Bye~!", eevee.Mugshot , 0, 0);
            //StoryBuilder.AppendMoveFNPCAction(segment, "0", 0, 7, Server.Enums.Speed.Walking, true);
            //StoryBuilder.AppendDeleteFNPCAction(segment, "0");
            //StoryBuilder.AppendSaySegment(segment, "(Now what do I do next? I know I can't go to Tiny Woods... I don't even know how to battle!", -1, 0, 0);
            //StoryBuilder.AppendSaySegment(segment, "(Maybe I'll find out more if I continue going North (^))", -1, 0, 0);
            //StoryBuilder.AppendPlayerPadlockAction(segment, "Unlock");
            #endregion

            segment.AppendToStory(story);
            return(story);
        }
Ejemplo n.º 44
0
        static void Main(string[] args)
        {
            if (args.Length == 0)
            {
                Console.WriteLine("Usage: towerRestorer4 <path>");
                Console.WriteLine("Attempts to insert files in <path>");
                Console.WriteLine("into the database in app configuration.");
                Console.WriteLine("Only inserts files whose names match the naming pattern:");
                Console.WriteLine("g*_pid*_rank*_room*");
                Console.WriteLine("Rank and room number are taken from the filename.");
                return;
            }

            Database db = Database.Instance;

            String[] filenames            = Directory.GetFiles(args[0]);
            int      successCount         = 0;
            int      failureCount         = 0;
            int      opponentSuccessCount = 0;
            int      opponentFailureCount = 0;
            int      leaderSuccessCount   = 0;
            int      leaderFailureCount   = 0;

            Pokedex pokedex = new Pokedex(db, false);

            foreach (String s in filenames)
            {
                String filename = s;

                int slashIndex = filename.LastIndexOf(Path.DirectorySeparatorChar);
                if (slashIndex >= 0)
                {
                    filename = filename.Substring(slashIndex + 1);
                }

                int dotIndex = filename.LastIndexOf('.');
                if (dotIndex >= 0)
                {
                    filename = filename.Substring(0, dotIndex);
                }

                String[] split = filename.Split('_');

                byte rank, room;

                if (split.Length != 4 ||
                    (split[0] != "g4" && split[0] != "g5") ||
                    split[2].Substring(0, 4) != "rank" ||
                    !Byte.TryParse(split[2].Substring(4), out rank) ||
                    split[3].Substring(0, 4) != "room" ||
                    !Byte.TryParse(split[3].Substring(4), out room)
                    )
                {
                    Console.WriteLine("{0}: Filename pattern does not match, skipped.", filename);
                    failureCount++;
                    continue;
                }

                int gen = Convert.ToInt32(split[0].Substring(1));

                rank--;
                room--;

                switch (gen)
                {
                case 4:
                {
                    FileStream fs = File.OpenRead(s);
                    if (fs.Length != 0xa38)
                    {
                        Console.WriteLine("{0}: file size is wrong, skipped.", filename);
                        failureCount++;
                        continue;
                    }

                    byte[] data = new byte[0xa38];
                    fs.ReadBlock(data, 0, 0xa38);
                    fs.Close();

                    // battletower/download.asp response: 2616 bytes
                    // 00-63b: BattleTowerRecord objects x7
                    // 63c-a37: BattleTowerTrainerProfile objects x30
                    for (int x = 0; x < 7; x++)
                    {
                        try
                        {
                            BattleTowerRecord4 record = new BattleTowerRecord4(pokedex, data, 0xe4 * x);
                            record.PID        = 0;
                            record.Rank       = rank;
                            record.RoomNum    = room;
                            record.BattlesWon = 7;
                            db.BattleTowerUpdateRecord4(record);
                            opponentSuccessCount++;
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(ex.Message);
                            opponentFailureCount++;
                        }
                    }

                    for (int x = 0; x < 30; x++)
                    {
                        try
                        {
                            BattleTowerProfile4 profile = new BattleTowerProfile4(data, 0x63c + 0x22 * x);
                            BattleTowerRecord4  record  = new BattleTowerRecord4(pokedex);
                            record.Profile = profile;
                            record.PID     = 0;
                            record.Rank    = rank;
                            record.RoomNum = room;
                            db.BattleTowerAddLeader4(record);
                            leaderSuccessCount++;
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(ex.Message);
                            leaderFailureCount++;
                        }
                    }
                } break;

                case 5:
                {
                    FileStream fs = File.OpenRead(s);
                    if (fs.Length != 0xab4)
                    {
                        Console.WriteLine("{0}: file size is wrong, skipped.", filename);
                        failureCount++;
                        continue;
                    }

                    byte[] data = new byte[0xab4];
                    fs.ReadBlock(data, 0, 0xab4);
                    fs.Close();

                    //web/battletower/download.asp response: 2700 bytes
                    //00-68f: BattleSubwayRecord objects x7
                    //690-a8b: BattleSubwayTrainerProfile objects x30
                    for (int x = 0; x < 7; x++)
                    {
                        try
                        {
                            BattleSubwayRecord5 record = new BattleSubwayRecord5(pokedex, data, 0xf0 * x);
                            record.PID        = 0;
                            record.Rank       = rank;
                            record.RoomNum    = room;
                            record.BattlesWon = 7;
                            record.Unknown4   = new byte[5];
                            db.BattleSubwayUpdateRecord5(record);
                            opponentSuccessCount++;
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(ex.Message);
                            opponentFailureCount++;
                        }
                    }

                    for (int x = 0; x < 30; x++)
                    {
                        try
                        {
                            BattleSubwayProfile5 profile = new BattleSubwayProfile5(data, 0x690 + 0x22 * x);
                            BattleSubwayRecord5  record  = new BattleSubwayRecord5(pokedex);
                            record.Profile = profile;
                            record.PID     = 0;
                            record.Rank    = rank;
                            record.RoomNum = room;
                            db.BattleSubwayAddLeader5(record);
                            leaderSuccessCount++;
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(ex.Message);
                            leaderFailureCount++;
                        }
                    }
                } break;
                }

                Console.WriteLine("{0} complete", s);
            }

            Console.WriteLine("Added {0} files, {1} opponents, {2} leaders.", successCount, opponentSuccessCount, leaderSuccessCount);
            Console.WriteLine("Failed: {0} files, {1} opponents, {2} leaders.", failureCount, opponentFailureCount, leaderFailureCount);
            Console.ReadKey();
        }
 internal PokedexRecordBase(Pokedex pokedex)
 {
     m_pokedex = pokedex;
     m_lazy_pairs = new List<ILazyKeyValuePair<int, object>>();
 }
Ejemplo n.º 46
0
        static void Main(string[] args)
        {
            Console.WriteLine("Welcome to Assignment 5 - Pokemon Edition");

            PokemonReader reader  = new PokemonReader();
            Pokedex       pokedex = reader.LoadPokedex("pokemon151.xml");

            // List out all the pokemons loaded
            foreach (Pokemon pokemon in pokedex.Pokemons)
            {
                //Console.WriteLine(pokemon.Name);
            }

            // TODO: Add a pokemon bag with 2 bulbsaur, 1 charizard, 1 mew and 1 dragonite
            // and save it out and load it back and list it out.

            PokemonBag pokemonbag = new PokemonBag();

            pokemonbag.Pokemons.Add(1);
            pokemonbag.Pokemons.Add(1);
            pokemonbag.Pokemons.Add(6);
            pokemonbag.Pokemons.Add(151);
            pokemonbag.Pokemons.Add(149);

            Pokedex newPokedex = new Pokedex();

            using (PokemonUtil pokemonUtil = new PokemonUtil("PokemonBag"))
            {
                pokemonUtil.Init();
                pokemonUtil.AddPokemonsToProcess(ref pokemonbag, ref pokedex);
                newPokedex.Pokemons.AddRange(pokemonUtil.PokemonsToProcess);
                pokemonUtil.Write();
                pokemonUtil.Print();
                pokemonUtil.Clear();
            }

            PokemonWriter pokemonWriter = new PokemonWriter();

            pokemonWriter.SavePokemons("PokemonBag.xml", ref newPokedex);

            Pokedex dex = reader.LoadPokedex("PokemonBag.xml");

            // TODO: load the pokemon151 xml
            XElement pokemon151XML = XElement.Load(@"pokemon151.xml");
            // Console.WriteLine(pokemon151XML);

            // TODO: Add item reader and print out all the items
            Item          itemdata   = new Item();
            List <Item>   itemlist   = new List <Item>();
            XmlTextReader readerItem = new XmlTextReader("itemData.xml");

            while (readerItem.Read())
            {
                if (readerItem.NodeType == XmlNodeType.Element && readerItem.Name == "Name")
                {
                    string name = readerItem.ReadElementContentAsString();
                    itemdata.Name = name;
                    // Console.WriteLine("Name: " + itemdata.Name);
                }

                if (readerItem.NodeType == XmlNodeType.Element && readerItem.Name == "UnlockRequirement")
                {
                    string UnlockRequirement = readerItem.ReadElementContentAsString();
                    itemdata.UnlockRequirement = Int32.Parse(UnlockRequirement);
                    // Console.WriteLine("UnlockRequirement: " + itemdata.UnlockRequirement);
                }

                if (readerItem.NodeType == XmlNodeType.Element && readerItem.Name == "Description")
                {
                    string Description = readerItem.ReadElementContentAsString();
                    itemdata.Description = Description;
                    // Console.WriteLine("Description: " + itemdata.Description);
                }

                if (readerItem.NodeType == XmlNodeType.Element && readerItem.Name == "Effect")
                {
                    string Effect = readerItem.ReadElementContentAsString();
                    itemdata.Effect = Effect;
                    //Console.WriteLine("Effect: " + itemdata.Effect);

                    itemlist.Add(itemdata);
                    itemdata = new Item();
                }
            }

            foreach (Item i in itemlist)
            {
                i.Print();
            }

            // TODO: hook up item data to display with the inventory

            Inventory source = new Inventory()
            {
                ItemToQuantity =
                    new Dictionary <object, object> {
                    { "Poke ball", 10 }, { "Potion", 10 }
                }
            };


            // TODO: move this into a inventory with a serialize and deserialize function.

            source.Serialize(source, "inventory.xml");
            source.Deserialize("inventory.xml");



            Console.ReadKey();
        }
Ejemplo n.º 47
0
        static void Main(string[] args)
        {
            string path;
            char   slash = Path.DirectorySeparatorChar;
            ConnectionStringSettings css;

            if (args.Length < 1)
            {
                path = "." + slash + "pkmn-sm";
            }
            else
            {
                path = args[0];
            }

            if (path.Contains('?'))
            {
                Console.WriteLine("h e l p");
                return;
            }

            while (path.Length > 0 && (path[path.Length - 1] == '/' || path[path.Length - 1] == '\\'))
            {
                path = path.Substring(0, path.Length - 1);
            }
            path = path + slash;

            if (args.Length < 3)
            {
                css = ConfigurationManager.ConnectionStrings["pkmnFoundationsConnectionString"];
            }
            else
            {
                css = new ConnectionStringSettings("", args[1], args[2]);
            }

            Database db      = Database.CreateInstance(css);
            Pokedex  pokedex = new Pokedex(db, false);

            foreach (var pair in pokedex.Forms)
            {
                Form          form               = pair.Value;
                Species       species            = form.Species;
                StringBuilder speciesNameBuilder = new StringBuilder(species.Name["EN"].ToLowerInvariant());
                speciesNameBuilder.Replace("\'", "");
                speciesNameBuilder.Replace(".", "");
                speciesNameBuilder.Replace("♀", "-f");
                speciesNameBuilder.Replace("♂", "-m");
                speciesNameBuilder.Replace('é', 'e');
                speciesNameBuilder.Replace(' ', '-');
                string speciesName = speciesNameBuilder.ToString();

                // fixme: This is incorrect for Vivillon, Pumpkaboo, and Gourgeist, because their suffixless form is not form 0.
                string oldFilename = (form.Value == 0)
                    ? String.Format("{0}.png", speciesName)
                    : String.Format("{0}-{1}.png", speciesName, form.Suffix);

                string newFilename = (form.Suffix.Trim().Length == 0)
                    ? String.Format("{0}.png", species.NationalDex)
                    : String.Format("{0}-{1}.png", species.NationalDex, form.Suffix);

                try
                {
                    File.Move(path + oldFilename, path + newFilename);
                    Console.Write("{0} {1}", oldFilename, newFilename);
                }
                catch (Exception ex)
                {
                    Console.Write(ex.Message);
                }

                if (form.Value == 0 && form.Suffix.Trim().Length != 0)
                {
                    try
                    {
                        string speciesFilename = String.Format("{0}.png", species.NationalDex);
                        File.Copy(path + newFilename, path + speciesFilename);
                        Console.Write(" {0}", speciesFilename);
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine();
                        Console.Write(ex.Message);
                    }
                }
                Console.WriteLine();
            }

            Console.ReadKey();
        }
Ejemplo n.º 48
0
 public PokemonExperiment(Pokedex newPD)
 {
     pD = newPD;
 }
        /// <summary>
        /// Ucitavamo save iz zadane putanje
        /// </summary>
        /// <param name="path">Putanja do save filea</param>
        private void LoadSaveFile(string path)
        {
            this.player           = new Player();
            this.playerBag        = new PlayerBag(pokemonVersion);
            this.pokemonStorage   = new PokemonStorage();
            this.pokedex          = new Pokedex();
            this.pokemonSave      = new PokemonSave(path);
            isReady               = false;
            uxNationalDex.Checked = false;

            //File je ucitan i spreman za obradu
            if (pokemonSave.isLoaded)
            {
                using (MemoryStream tempSave = new MemoryStream(pokemonSave.saveBank))
                {
                    using (BinaryReader br = new BinaryReader(tempSave))
                    {
                        // Za svaki slucaj postavit na pocetak
                        br.BaseStream.Seek(0, SeekOrigin.Begin);
                        #region Player
                        //Name
                        player.Name = br.ReadBytes(7);
                        //Gender
                        br.BaseStream.Seek(PokemonConstants.playerGenderOffset, SeekOrigin.Begin);
                        player.Gender = br.ReadByte();
                        //TrainerID
                        br.BaseStream.Seek(PokemonConstants.playerTrainerIDOffset, SeekOrigin.Begin);
                        player.TrainerID = br.ReadUInt32();

                        //EncryptionKey
                        if (pokemonVersion == PokemonVersion.Emerald)
                        {
                            br.BaseStream.Seek(PokemonConstants.playerEncryptionKeyOffset, SeekOrigin.Begin);
                            player.EncryptionKey = br.ReadUInt32();
                        }
                        else if (pokemonVersion == PokemonVersion.FireRedAndLeafGreen)
                        {
                            br.BaseStream.Seek(PokemonConstants.playerEncryptionKeyOffsetFireLeaf, SeekOrigin.Begin);
                            player.EncryptionKey = br.ReadUInt32();
                        }
                        else //Ruby, Sapphire
                        {
                            player.EncryptionKey = 0;
                        }
                        //Money and Coins
                        if (pokemonVersion == PokemonVersion.FireRedAndLeafGreen)
                        {
                            //Money
                            br.BaseStream.Seek(PokemonConstants.playerMoneyOffsetFireLeaf, SeekOrigin.Begin);
                            player.Money = br.ReadUInt32();
                            //Coins
                            br.BaseStream.Seek(PokemonConstants.playerCoinsOffsetFireLeaf, SeekOrigin.Begin);
                            player.Coins = br.ReadUInt16();
                        }
                        else //Emerald , Ruby, Sapphire
                        {
                            //Money
                            br.BaseStream.Seek(PokemonConstants.playerMoneyOffset, SeekOrigin.Begin);
                            player.Money = br.ReadUInt32();
                            //Coins
                            br.BaseStream.Seek(PokemonConstants.playerCoinsOffset, SeekOrigin.Begin);
                            player.Coins = br.ReadUInt16();
                        }

                        #endregion
                        #region Items - Bag
                        //Bag
                        if (pokemonVersion == PokemonVersion.FireRedAndLeafGreen)
                        {
                            br.BaseStream.Seek(PokemonConstants.bagOffsetFireLeaf, SeekOrigin.Begin);
                            playerBag.Load(br.ReadBytes(PokemonConstants.bagSizeinBytes));
                        }
                        else if (pokemonVersion == PokemonVersion.RubyAndSapphire)
                        {
                            br.BaseStream.Seek(PokemonConstants.bagOffset, SeekOrigin.Begin);
                            playerBag.Load(br.ReadBytes(PokemonConstants.bagSizeinBytesRubySapphire));
                        }
                        else//Emerald
                        {
                            br.BaseStream.Seek(PokemonConstants.bagOffset, SeekOrigin.Begin);
                            playerBag.Load(br.ReadBytes(PokemonConstants.bagSizeinBytes));
                        }
                        #endregion
                        //Pokemon Storage
                        br.BaseStream.Seek(PokemonConstants.pokemonStorageOffset, SeekOrigin.Begin);
                        pokemonStorage.Load(br.ReadBytes(PokemonConstants.pokemonStorageSize));

                        #region Pokedex
                        //Own
                        br.BaseStream.Seek(PokemonConstants.pokedexOwnOffset, SeekOrigin.Begin);
                        pokedex.LoadOwn(br.ReadBytes(49));
                        //Seen
                        br.BaseStream.Seek(PokemonConstants.pokedexSeenOffset, SeekOrigin.Begin);
                        pokedex.LoadSeen(br.ReadBytes(49));
                        #endregion
                    }
                }//end memory stream
                //Postavljamo enkripcijski kljuc u Items
                Item.EncryptionKey = player.EncryptionKeySmall;
                isReady            = true;
            }//end if
        }
Ejemplo n.º 50
0
        public override void OnActivateMap(IMap map)
        {
            var minionXs = new int[] {
                11,
                13
            };

            var mapType          = this.typeMappings.Where(x => x.Value == ((InstancedMap)map).MapBase).First().Key;
            var availableMinions = minionNpcs.Where(x => Pokedex.GetPokemon(NpcManager.Npcs[x].Species).Forms[0].Type1 == mapType || Pokedex.GetPokemon(NpcManager.Npcs[x].Species).Forms[0].Type2 == mapType).ToList();

            if (availableMinions.Count == 0)
            {
                availableMinions = minionNpcs;
            }

            var availableBosses = bossNpcs.Where(x => Pokedex.GetPokemon(NpcManager.Npcs[x].Species).Forms[0].Type1 == mapType || Pokedex.GetPokemon(NpcManager.Npcs[x].Species).Forms[0].Type2 == mapType).ToList();

            if (availableBosses.Count == 0)
            {
                availableBosses = bossNpcs;
            }

            for (var i = 0; i < MinionCount; i++)
            {
                var minionSlot = Server.Math.Rand(0, availableMinions.Count);
                var minion     = availableMinions[minionSlot];

                var npc = new MapNpcPreset();
                npc.SpawnX   = minionXs[i];
                npc.SpawnY   = 6;
                npc.NpcNum   = minion;
                npc.MaxLevel = 30;
                npc.MinLevel = 30;

                map.SpawnNpc(npc);
            }

            var bossSlot = Server.Math.Rand(0, availableBosses.Count);
            var boss     = availableMinions[bossSlot];

            var bossNpc = new MapNpcPreset();

            bossNpc.SpawnX   = 12;
            bossNpc.SpawnY   = 6;
            bossNpc.NpcNum   = boss;
            bossNpc.MinLevel = 35;
            bossNpc.MaxLevel = 35;

            map.SpawnNpc(bossNpc);
        }
Ejemplo n.º 51
0
 public static LazyKeyValuePair<int, Move> CreatePair(Pokedex pokedex)
 {
     return new LazyKeyValuePair<int, Move>(
         k => k == 0 ? null : (pokedex == null ? null : pokedex.Moves(k)),
         v => v == null ? 0 : v.ID);
 }
 public PokemonPartyBase(Pokedex.Pokedex pokedex)
     : base(pokedex)
 {
     Initialize();
 }
Ejemplo n.º 53
0
        public async Task <MethodResult> SnipeAllNearyPokemon()
        {
            MethodResult <List <NearbyPokemon> > pokeSniperResult = RequestPokeSniperRares();

            if (!pokeSniperResult.Success)
            {
                return(new MethodResult
                {
                    Message = pokeSniperResult.Message
                });
            }

            if (Tracker.PokemonCaught >= UserSettings.CatchPokemonDayLimit)
            {
                LogCaller(new LoggerEventArgs("Catch pokemon limit actived", LoggerTypes.Info));
                return(new MethodResult
                {
                    Message = "Limit actived"
                });
            }

            List <NearbyPokemon> pokemonToSnipe = pokeSniperResult.Data.Where(x => x.EncounterId != _lastPokeSniperId && UserSettings.CatchSettings.FirstOrDefault(p => p.Id == x.PokemonId).Snipe&& x.DistanceInMeters < UserSettings.MaxTravelDistance && !LastedEncountersIds.Contains(x.EncounterId)).OrderBy(x => x.DistanceInMeters).ToList();

            if (UserSettings.SnipeAllPokemonsNoInPokedex)
            {
                LogCaller(new LoggerEventArgs("Search pokemons no into pokedex ...", LoggerTypes.Info));

                var ids = Pokedex.Select(x => x.PokemonId);
                pokemonToSnipe = pokeSniperResult.Data.Where(x => x.EncounterId != _lastPokeSniperId && !ids.Contains(x.PokemonId) && x.DistanceInMeters < UserSettings.MaxTravelDistance && !LastedEncountersIds.Contains(x.EncounterId)).OrderBy(x => x.DistanceInMeters).ToList();

                if (pokemonToSnipe.Count > 0)
                {
                    LogCaller(new LoggerEventArgs("Found pokemons no into pokedex, go to sniping ...", LoggerTypes.Snipe));
                }
            }

            if (pokemonToSnipe.Count == 0)
            {
                LogCaller(new LoggerEventArgs("No pokemon to snipe within catch settings", LoggerTypes.Info));

                return(new MethodResult
                {
                    Message = "No catchable pokemon found"
                });
            }

            LogCaller(new LoggerEventArgs(String.Format("Sniping {0} pokemon", pokemonToSnipe.Count), LoggerTypes.Snipe));

            await Task.Delay(CalculateDelay(UserSettings.GeneralDelay, UserSettings.GeneralDelayRandom));

            //Long running, so can't let this continue
            while (pokemonToSnipe.Any() && IsRunning && !AlreadySnipped)
            {
                AlreadySnipped = false;

                NearbyPokemon nearbyPokemon = pokemonToSnipe.First();
                pokemonToSnipe.Remove(nearbyPokemon);

                var forts      = _client.ClientSession.Map.Cells.SelectMany(x => x.Forts);
                var fortNearby = forts.Where(x => x.Id == nearbyPokemon.FortId).FirstOrDefault();

                if (fortNearby == null)
                {
                    continue;
                }

                _lastPokeSniperId = nearbyPokemon.EncounterId;

                GeoCoordinate coords = new GeoCoordinate
                {
                    Latitude  = fortNearby.Latitude,
                    Longitude = fortNearby.Longitude
                };

                await CaptureSnipePokemon(coords.Latitude, coords.Longitude, nearbyPokemon.PokemonId);

                await Task.Delay(CalculateDelay(UserSettings.GeneralDelay, UserSettings.GeneralDelayRandom));

                pokemonToSnipe = pokemonToSnipe.Where(x => UserSettings.CatchSettings.FirstOrDefault(p => p.Id == x.PokemonId).Snipe&& fortNearby.CooldownCompleteTimestampMs >= DateTime.Now.AddSeconds(30).ToUnixTime() && !LastedEncountersIds.Contains(x.EncounterId)).OrderBy(x => x.DistanceInMeters).ToList();

                if (UserSettings.SnipeAllPokemonsNoInPokedex)
                {
                    LogCaller(new LoggerEventArgs("Search pokemons no into pokedex ...", LoggerTypes.Info));

                    var ids = Pokedex.Select(x => x.PokemonId);
                    pokemonToSnipe = pokemonToSnipe.Where(x => x.EncounterId != _lastPokeSniperId && !ids.Contains(x.PokemonId)).OrderBy(x => x.DistanceInMeters).ToList();

                    if (pokemonToSnipe.Count > 0)
                    {
                        LogCaller(new LoggerEventArgs("Found pokemons no into pokedex, go to sniping ...", LoggerTypes.Snipe));
                    }
                }
            }

            AlreadySnipped = false;

            return(new MethodResult
            {
                Success = true
            });
        }
Ejemplo n.º 54
0
 public PokemonController(PokemonDatabase database, Pokedex pokedex, SecurityProvider securityProvider)
 {
     this.database         = database;
     this.pokedex          = pokedex;
     this.securityProvider = securityProvider;
 }
Ejemplo n.º 55
0
 public PokemonEvaluator(Pokedex newPD)
 {
     pD = newPD;
 }
Ejemplo n.º 56
0
        /// <summary>
        /// Load Inventory methodes.
        /// </summary>
        public void UpdateInventory(InventoryRefresh type)
        {
            if (!_client.LoggedIn)
            {
                return;
            }

            LogCaller(new LoggerEventArgs($"Updating inventory. Items to load: {type}", LoggerTypes.Debug));

            try
            {
                foreach (var item in _client.ClientSession.Player.Inventory.InventoryItems)
                {
                    AddRemoveOrUpdateItem(item);
                }

                switch (type)
                {
                case InventoryRefresh.All:
                    Items.Clear();
                    Pokemon.Clear();
                    Pokedex.Clear();
                    PokemonCandy.Clear();
                    Incubators.Clear();
                    Eggs.Clear();
                    Stats        = GetPlayerStats();
                    Items        = GetItemsData().ToList();
                    Pokedex      = GetPokedex().ToList();
                    PokemonCandy = GetCandies().ToList();
                    Incubators   = GetIncubators().ToList();
                    Eggs         = GetEggs().ToList();
                    Pokemon      = GetPokemons().ToList();
                    break;

                case InventoryRefresh.Items:
                    Items.Clear();
                    Items = GetItemsData().ToList();
                    break;

                case InventoryRefresh.Pokemon:
                    Pokemon.Clear();
                    Pokemon = GetPokemons().ToList();
                    break;

                case InventoryRefresh.Pokedex:
                    Pokedex.Clear();
                    Pokedex = GetPokedex().ToList();
                    break;

                case InventoryRefresh.PokemonCandy:
                    PokemonCandy.Clear();
                    PokemonCandy = GetCandies().ToList();
                    break;

                case InventoryRefresh.Incubators:
                    Incubators.Clear();
                    Incubators = GetIncubators().ToList();
                    break;

                case InventoryRefresh.Eggs:
                    Eggs.Clear();
                    Eggs = GetEggs().ToList();
                    break;

                case InventoryRefresh.Stats:
                    Stats = GetPlayerStats();
                    break;
                }
            }
            catch (Exception ex1)
            {
                LogCaller(new LoggerEventArgs(String.Format("Failed updating inventory."), LoggerTypes.Exception, ex1));
                ++_failedInventoryReponses;
            }
        }
Ejemplo n.º 57
0
 public NEATNetwork(Pokedex newPD)
 {
     pD = newPD;
 }
Ejemplo n.º 58
0
 public MainModel()
 {
     Data = new Pokedex();
 }
Ejemplo n.º 59
0
 public abstract List<Species> PokedexGetAllSpecies(Pokedex.Pokedex pokedex);
Ejemplo n.º 60
0
 public abstract List<Move> PokedexGetAllMoves(Pokedex.Pokedex pokedex);