private async Task TransferDuplicatePokemon(bool keepPokemonsThatCanEvolve = false) { if (_clientSettings.TransferDoublePokemons) { var duplicatePokemons = await _inventory.GetDuplicatePokemonToTransfer(keepPokemonsThatCanEvolve); foreach (var duplicatePokemon in duplicatePokemons) { if (!_clientSettings.pokemonsToHold.Contains(duplicatePokemon.PokemonId)) { if (duplicatePokemon.Cp > _clientSettings.DontTransferWithCPOver) { continue; } var bestPokemonOfType = await _inventory.GetHighestCPofType(duplicatePokemon); var transfer = await _client.TransferPokemon(duplicatePokemon.Id); if (_clientSettings.transferCP) { Logger.ColoredConsoleWrite(ConsoleColor.Yellow, $"Transfer {StringUtils.getPokemonNameByLanguage(_clientSettings, duplicatePokemon.PokemonId)} with {duplicatePokemon.Cp} CP ({PokemonInfo.CalculatePokemonPerfection(duplicatePokemon)} % perfect) (Best: {bestPokemonOfType} CP)", LogLevel.Info); } else { var bestIV = (int)await _inventory.GetHighestIVofType(duplicatePokemon); Logger.ColoredConsoleWrite(ConsoleColor.Yellow, $"Transfer {StringUtils.getPokemonNameByLanguage(_clientSettings, duplicatePokemon.PokemonId)} with {duplicatePokemon.Cp} CP ({PokemonInfo.CalculatePokemonPerfection(duplicatePokemon)} % perfect) (Best: {bestPokemonOfType} CP, {bestIV}% Perfection)", LogLevel.Info); } await RandomHelper.RandomDelay(500, 700); } } } }
private async Task TransferDuplicatePokemon(bool keepPokemonsThatCanEvolve = false) { if (_clientSettings.TransferDoublePokemons) { var duplicatePokemons = await _inventory.GetDuplicatePokemonToTransfer(keepPokemonsThatCanEvolve); foreach (var duplicatePokemon in duplicatePokemons) { if (!_clientSettings.pokemonsToHold.Contains(duplicatePokemon.PokemonId)) { if (duplicatePokemon.Cp > _clientSettings.DontTransferWithCPOver) { continue; } var bestPokemonOfType = await _inventory.GetHighestCPofType(duplicatePokemon); var bestPokemonsCPOfType = await _inventory.GetHighestCPofType2(duplicatePokemon); var bestPokemonsIVOfType = await _inventory.GetHighestIVofType(duplicatePokemon); var transfer = await _client.TransferPokemon(duplicatePokemon.Id); Logger.ColoredConsoleWrite(ConsoleColor.Yellow, $"Transfer {StringUtils.getPokemonNameByLanguage(_clientSettings, duplicatePokemon.PokemonId)} CP {duplicatePokemon.Cp} IV {Math.Round(duplicatePokemon.CalculateIV())}% (Best: {bestPokemonsCPOfType.First().Cp} CP, IV {Math.Round(bestPokemonsIVOfType.First().CalculateIV())}%)", LogLevel.Info); TelegramUtil.getInstance().sendInformationText(TelegramUtil.TelegramUtilInformationTopics.Transfer, StringUtils.getPokemonNameByLanguage(_clientSettings, duplicatePokemon.PokemonId), duplicatePokemon.Cp, Math.Round(duplicatePokemon.CalculateIV()), bestPokemonOfType); await RandomHelper.RandomDelay(500, 700); } } } }