public void StartBattle() { List <PlayerPokedex> playerPokedexList = null; PlayerPokedex entry; playerPokedexList = DatabaseOperations.GetPlayerPokedexEntries(PlayerInformation.PlayerId); entry = new PlayerPokedex { PokedexId = enemyPokemon.PokedexId, PlayerId = PlayerInformation.PlayerId, Caught = false, Encountered = true }; if (!playerPokedexList.Contains(entry)) { DatabaseOperations.AddCaughtPlayerPokedex(entry); } btnEnemyTurn.Visibility = Visibility.Visible; txtInformation.Text = "A new battle has started!" + Environment.NewLine; if (enemyPokemon.CalculatedSpeed > playerPokemon.Pokemon.CalculatedSpeed) { txtInformation.Text += $"the enemy {enemyPokemon.Pokedex.Name} is faster and attacks first{Environment.NewLine}"; btnEnemyTurn.IsEnabled = true; btnBag.IsEnabled = false; btnRun.IsEnabled = false; btnFight.IsEnabled = false; btnPokemon.IsEnabled = false; txtInformation.Text += Environment.NewLine + "It is the enemy pokemon's turn!" + Environment.NewLine; } else { btnEnemyTurn.IsEnabled = false; btnBag.IsEnabled = true; btnRun.IsEnabled = true; btnFight.IsEnabled = true; btnPokemon.IsEnabled = true; txtInformation.Text += $"Your {playerPokemon.Name} is faster and attacks first{Environment.NewLine}"; } }
private void BtnConfirm_Click(object sender, RoutedEventArgs e) { Player player = new Player(); PlayerPokemon playerPokemon = new PlayerPokemon(); player.Name = txtPlayerName.Text; playerPokemon.Name = txtRenamePokemon.Text; if (player.IsGeldig() && playerPokemon.IsGeldig() && PokemonSelected() != false) { TimeSpan startTime = new TimeSpan(0, 0, 0); player.Pokedollar = 10000; player.PlayedTime = startTime; int ok = DatabaseOperations.AddPlayer(player); Random r = new Random(); PlayerPokedex playerPokedex = new PlayerPokedex(); int id = 0; playerPokedex.PlayerId = player.Id; if (tbBulbasaur.IsChecked == true) { playerPokemon.Height = 0.7m; playerPokemon.Weight = 6.9m; id = 1; playerPokedex.Caught = true; playerPokedex.Encountered = true; playerPokedex.PokedexId = id; } else if (tbCharmander.IsChecked == true) { playerPokemon.Height = 0.6m; playerPokemon.Weight = 8.5m; id = 4; playerPokedex.Caught = true; playerPokedex.Encountered = true; playerPokedex.PokedexId = id; } else if (tbSquirtle.IsChecked == true) { playerPokemon.Height = 0.5m; playerPokemon.Weight = 9; id = 7; playerPokedex.Caught = true; playerPokedex.Encountered = true; playerPokedex.PokedexId = id; } DatabaseOperations.AddNewPokemonPlayerPokedex(playerPokedex); pokemon = new Pokemon { Level = 7, Hp = r.Next(0, 32), CurrentHp = 0, Defense = r.Next(0, 32), Attack = r.Next(0, 32), SpecialAttack = r.Next(0, 32), SpecialDefense = r.Next(0, 32), Speed = r.Next(0, 32), PokedexId = id, }; playerPokemon.PokemonId = DatabaseOperations.AddPokemon(pokemon); pokemon.Pokedex = DatabaseOperations.GetPokedexEntry(id); pokemon.SetMaxHp(); pokemon.CurrentHp = pokemon.CalculatedMaxHP; DatabaseOperations.UpdatePokemonCurrentHp(pokemon); playerPokemon.InParty = true; playerPokemon.PlayerId = player.Id; playerPokemon.Xp = Convert.ToInt32(Math.Pow(pokemon.Level - 1, 3)); DatabaseOperations.AddPlayerPokemon(playerPokemon); List <PokemonAttack> pokemonAttacks = DatabaseOperations.GetAvailableAttacks(pokemon.PokedexId, pokemon.Level); foreach (var item in pokemonAttacks) { if (pokemon.Level >= item.RequiredLevel) { OwnedPokemonAttack ownedPokemonAttack = new OwnedPokemonAttack { AttackId = item.AttackId, CurrentPp = item.Attack.Pp, PokemonId = playerPokemon.PokemonId, KnownAttack = true }; DatabaseOperations.AddCaughtPokemonAttacks(ownedPokemonAttack); } } PlayerInformation.PlayerId = ok; MainMenuWindow mainMenuWindow = new MainMenuWindow(); mainMenuWindow.Show(); this.Close(); } else if (!player.IsGeldig()) { MessageBox.Show(player.Error); } else if (!playerPokemon.IsGeldig()) { MessageBox.Show(playerPokemon.Error); } else { MessageBox.Show("You need to select a pokemon first."); } }
private bool PokemonEvolve() { if (playerPokemon.Pokemon.Pokedex.EvolveLevel != null) { if (playerPokemon.Pokemon.Level >= playerPokemon.Pokemon.Pokedex.EvolveLevel) { txtInformation.Text += $"{Environment.NewLine}It seems like your {playerPokemon.Pokemon.Pokedex.Name} has evolved into a "; PlayerPokemonStatics.PlayerPokemon = playerPokemon; Pokemon name = playerPokemon.Pokemon; Pokemon evolvedPokemon = new Pokemon() { Id = PlayerPokemonStatics.PlayerPokemon.Pokemon.Id, Level = playerPokemon.Pokemon.Level, Hp = playerPokemon.Pokemon.Hp, CurrentHp = playerPokemon.Pokemon.CurrentHp, Attack = playerPokemon.Pokemon.Attack, Defense = playerPokemon.Pokemon.Defense, SpecialAttack = playerPokemon.Pokemon.SpecialAttack, SpecialDefense = playerPokemon.Pokemon.SpecialDefense, Speed = playerPokemon.Pokemon.Speed, PokedexId = playerPokemon.Pokemon.PokedexId + 1, }; playerPokemon.Pokemon = evolvedPokemon; DatabaseOperations.UpdatePokemonCurrentHp(playerPokemon.Pokemon); evolvedPokemon.Pokedex = DatabaseOperations.GetPokedexEntry(evolvedPokemon.PokedexId); if (playerPokemon.Name == name.Pokedex.Name) { playerPokemon.Name = evolvedPokemon.Pokedex.Name; } playerPokedexList = DatabaseOperations.GetPlayerPokedexEntries(PlayerInformation.PlayerId); PlayerPokedex playerPokedexEntry = new PlayerPokedex { PlayerId = PlayerInformation.PlayerId, PokedexId = evolvedPokemon.PokedexId, Caught = true, Encountered = true }; if (!playerPokedexList.Contains(playerPokedexEntry)) { DatabaseOperations.AddCaughtPlayerPokedex(playerPokedexEntry); } else if (playerPokedexList.Contains(playerPokedexEntry)) { foreach (var item in playerPokedexList) { if (item.PokedexId == playerPokedexEntry.PokedexId && item.PlayerId == playerPokedexEntry.PlayerId) { playerPokedexEntry.Id = item.Id; } } DatabaseOperations.UpdatePlayerPokedex(playerPokedexEntry); } txtInformation.Text += playerPokemon.Pokemon.Pokedex.Name + Environment.NewLine; return(true); } return(false); } return(false); }
private void BtnBag_Click(object sender, RoutedEventArgs e) { DatabaseOperations.UpdatePlayerPokemon(playerPokemon); InventoryWindow inventory = new InventoryWindow(playerPokemon); //enemyPokemon, knownAttackList, inventory.ShowDialog(); PlayerPokemonStatics.PlayerPokemon = DatabaseOperations.GetPlayerPokemon(playerPokemon.Id);//LoadPlayerPokemon(playerPokemon.Id); PlayerPokedex entry; if (InventoryWindow.catchRateMultiplier > 0) { caught = Catch((InventoryWindow.catchRateMultiplier), enemyPokemon, knownAttackList); playerPokedexList = DatabaseOperations.GetPlayerPokedexEntries(PlayerInformation.PlayerId); } else if (inventory.cancel == false) { txtInformation.Text = $"You healed {playerPokemon.Name}"; } if (caught == true) { entry = new PlayerPokedex { PokedexId = pokemon.PokedexId, PlayerId = PlayerInformation.PlayerId, Caught = true, Encountered = true }; if (!playerPokedexList.Contains(entry)) { DatabaseOperations.AddCaughtPlayerPokedex(entry); } else { foreach (var item in playerPokedexList) { if (item.PokedexId == entry.PokedexId && item.PlayerId == entry.PlayerId) { entry.Id = item.Id; break; } } DatabaseOperations.UpdatePlayerPokedex(entry); } EndBattle(); } else { if (inventory.cancel == false) { EndPlayerTurn(false); } } PlayerPokemonUi(); }