Random Delay for Pokestop: 8000-9000
Random Delay for Pokestop: 8000-9000
Random Delay for Pokestop: 1750-2250
Transfer Pokemon now always output the CP of the best one.
diff --git a/PokemonGo.RocketAPI.Logic/Inventory.cs b/PokemonGo.RocketAPI.Logic/Inventory.cs
index 93cf8b9..b4129e3 100644
--- a/PokemonGo.RocketAPI.Logic/Inventory.cs
+++ b/PokemonGo.RocketAPI.Logic/Inventory.cs
@@ -39,6 +39,16 @@ namespace PokemonGo.RocketAPI.Logic
.Where(p => p != null && p?.FamilyId != PokemonFamilyId.FamilyUnset);
}
+ public async Task<int> GetHighestCPofType(PokemonData pokemon)
+ {
+ var myPokemon = await GetPokemons();
+ var pokemons = myPokemon.ToList();
+ return pokemons.Where(x => x.PokemonId == pokemon.PokemonId)
+ .OrderByDescending(x => x.Cp)
+ .First().Cp;
+
+ }
+
public async Task<IEnumerable<PokemonData>> GetDuplicatePokemonToTransfer(bool keepPokemonsThatCanEvolve = false)
{
var myPokemon = await GetPokemons();
diff --git a/PokemonGo.RocketAPI.Logic/Logic.cs b/PokemonGo.RocketAPI.Logic/Logic.cs
index 50dc64e..72b75b9 100644
--- a/PokemonGo.RocketAPI.Logic/Logic.cs
+++ b/PokemonGo.RocketAPI.Logic/Logic.cs
@@ -160,17 +160,14 @@ namespace PokemonGo.RocketAPI.Logic
foreach (var pokemon in pokemons)
{
var distance = Navigation.DistanceBetween2Coordinates(_client.CurrentLat, _client.CurrentLng, pokemon.Latitude, pokemon.Longitude);
- if (distance > 100)
- await Task.Delay(15000);
- else
- await Task.Delay(500);
+ await Task.Delay(distance > 100 ? 15000 : 500);
await _client.UpdatePlayerLocation(pokemon.Latitude, pokemon.Longitude, _clientSettings.DefaultAltitude);
var encounter = await _client.EncounterPokemon(pokemon.EncounterId, pokemon.SpawnpointId);
await CatchEncounter(encounter, pokemon);
}
- await Task.Delay(15000);
+ await RandomHelper.RandomDelay(8000, 9000);
}
private async Task CatchEncounter(EncounterResponse encounter, MapPokemon pokemon)
@@ -205,9 +202,12 @@ namespace PokemonGo.RocketAPI.Logic
_stats.getStardust(profile.Profile.Currency.ToArray()[1].Amount);
}
_stats.updateConsoleTitle(_client);
- Logger.Normal(ConsoleColor.Yellow, caughtPokemonResponse.Status == CatchPokemonResponse.Types.CatchStatus.CatchSuccess ? $"We caught a {pokemon.PokemonId} with CP {encounter?.WildPokemon?.PokemonData?.Cp} and CaptureProbability: {encounter?.CaptureProbability.CaptureProbability_.First()}, used {pokeball} in {Math.Round(distance)}m distance and received XP {caughtPokemonResponse.Scores.Xp.Sum()}" : $"{pokemon.PokemonId} with CP {encounter?.WildPokemon?.PokemonData?.Cp} CaptureProbability: {encounter?.CaptureProbability.CaptureProbability_.First()} in {Math.Round(distance)}m distance {caughtPokemonResponse.Status} while using a {pokeball}..");
-
- await Task.Delay(2000);
+ Logger.Normal(ConsoleColor.Yellow,
+ caughtPokemonResponse.Status == CatchPokemonResponse.Types.CatchStatus.CatchSuccess
+ ? $"We caught a {pokemon.PokemonId} with CP {encounter?.WildPokemon?.PokemonData?.Cp} and CaptureProbability: {encounter?.CaptureProbability.CaptureProbability_.First()}, used {pokeball} in {Math.Round(distance)}m distance and received XP {caughtPokemonResponse.Scores.Xp.Sum()}"
+ : $"{pokemon.PokemonId} with CP {encounter?.WildPokemon?.PokemonData?.Cp} CaptureProbability: {encounter?.CaptureProbability.CaptureProbability_.First()} in {Math.Round(distance)}m distance {caughtPokemonResponse.Status} while using a {pokeball}.."
+ );
+ await RandomHelper.RandomDelay(1750, 2250);
}
while (caughtPokemonResponse.Status == CatchPokemonResponse.Types.CatchStatus.CatchMissed || caughtPokemonResponse.Status == CatchPokemonResponse.Types.CatchStatus.CatchEscape);
}
@@ -224,6 +224,11 @@ namespace PokemonGo.RocketAPI.Logic
else
Logger.Normal($"Failed to evolve {pokemon.PokemonId}. EvolvePokemonOutProto.Result was {evolvePokemonOutProto.Result}, stopping evolving {pokemon.PokemonId}");
+ Logger.Normal(
+ evolvePokemonOutProto.Result == EvolvePokemonOut.Types.EvolvePokemonStatus.PokemonEvolvedSuccess
+ ? $"Evolved {pokemon.PokemonId} successfully for {evolvePokemonOutProto.ExpAwarded} xp"
+ : $"Failed to evolve {pokemon.PokemonId}. EvolvePokemonOutProto.Result was {evolvePokemonOutProto.Result}, stopping evolving {pokemon.PokemonId}",
+ );
await Task.Delay(3000);
}
@@ -237,8 +242,9 @@ namespace PokemonGo.RocketAPI.Logic
foreach (var duplicatePokemon in duplicatePokemons)
{
+ var bestPokemonOfType = await _inventory.GetHighestCPofType(duplicatePokemon);
var transfer = await _client.TransferPokemon(duplicatePokemon.Id);
- Logger.Normal(ConsoleColor.DarkYellow, $"Transfer {duplicatePokemon.PokemonId} with {duplicatePokemon.Cp} CP");
+ Logger.Normal(ConsoleColor.DarkYellow, $"Transfer {duplicatePokemon.PokemonId} with {duplicatePokemon.Cp} CP (Best: {bestPokemonOfType})");
await Task.Delay(500);
}
}
You may download the files in Public Git.