Ejemplo n.º 1
0
        public static bool Battle(PokedexPokemon pokedexPokemon, PokemonEncountered pokemonEncountered)
        {
            Random random = new Random();

            // power set for battle
            double power = 0;

            if (pokemonEncountered.LocalPokemon.Rarity == PokemonRarity.Common)
            {
                power = 0;
            }
            else if (pokemonEncountered.LocalPokemon.Rarity == PokemonRarity.Uncommon)
            {
                power = 2.5;
            }
            else if (pokemonEncountered.LocalPokemon.Rarity == PokemonRarity.Mythical)
            {
                power = 5;
            }
            else if (pokemonEncountered.LocalPokemon.Rarity == PokemonRarity.Legendary)
            {
                power = 10;
            }

            return(pokedexPokemon.Level >= (pokemonEncountered.Level + power));
        }
Ejemplo n.º 2
0
        public static bool TryCatch(PokemonEncountered pokemonEncountered)
        {
            Random random = new Random();
            int    dice   = random.Next(0, 1000);                               // creates a number between 1 and 1000

            if (pokemonEncountered.LocalPokemon.Rarity == PokemonRarity.Common) // 80%: catch rate common pokemon
            {
                return(dice <= 800);
            }
            else if (pokemonEncountered.LocalPokemon.Rarity == PokemonRarity.Uncommon)     // 60%: catch rate uncommon pokemon
            {
                return(dice <= 600);
            }
            else if (pokemonEncountered.LocalPokemon.Rarity == PokemonRarity.Mythical)     // 30%: catch rate mythical pokemon
            {
                return(dice <= 300);
            }
            else if (pokemonEncountered.LocalPokemon.Rarity == PokemonRarity.Legendary)     // 15%: catch rate legendary pokemon
            {
                return(dice <= 150);
            }
            else
            {
                return(false); // can't caught anything!
            }
        }
Ejemplo n.º 3
0
        public IActionResult Encounter(PokemonSearch pokemonSearch)
        {
            Local  local  = Locals.FindOneByID(pokemonSearch.LocalID);
            Player player = Players.FindOneByID(pokemonSearch.PlayerID);

            if (local != null && player != null)
            {
                Encounter encounter = new Encounter();
                encounter.ID       = ++GameState.EncounterID;
                encounter.LocalID  = pokemonSearch.LocalID;
                encounter.PlayerID = pokemonSearch.PlayerID;

                PokemonEncountered pokemonEncountered = PokemonEncounter.FindPokemon(local);
                encounter.PokemonEncountered = pokemonEncountered;

                if (pokemonEncountered != null)
                {
                    encounter.PokemonAlreadyCaught = player.Pokedex.Pokemons.FirstOrDefault(pokedexPokemon => pokedexPokemon.PokemonID == pokemonEncountered.LocalPokemon.PokemonID && pokedexPokemon.Enabled) != null;
                    encounter.CanBattle            = player.CatchedAnyPokemon();
                }

                GameState.Encounters.Add(encounter);
                return(Ok(encounter));
            }

            return(BadRequest());
        }
Ejemplo n.º 4
0
        private void ButtonRow_Click(object sender, RoutedEventArgs e)
        {
            Local local         = ((LocalData)((Button)e.Source).DataContext).Local;
            int   randomTimeout = new Random().Next(5000);

            ToggleLoading();
            Timeout timeout = new Timeout(() => {
                Application.Current.Dispatcher.Invoke((Action) delegate {
                    PokemonEncountered pokemonEncountered = PokemonEncounter.FindPokemon(local);

                    if (pokemonEncountered == null)
                    {
                        MessageBox.Show("No pokémons were found! Please, try again!", "Information", MessageBoxButton.OK, MessageBoxImage.Information);
                        ToggleLoading();
                        return;
                    }

                    Encounter encounter = new Encounter(pokemonEncountered);

                    encounter.Show();
                    Hide();
                });
            }, randomTimeout);
        }
Ejemplo n.º 5
0
 public Encounter(PokemonEncountered pokemonEncountered)
 {
     WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen;
     PokemonEncountered    = pokemonEncountered;
     InitializeComponent();
 }