diff --git a/PokemonGo.RocketAPI.Console/App.config b/PokemonGo.RocketAPI.Console/App.config index e73221971..22dc30612 100644 --- a/PokemonGo.RocketAPI.Console/App.config +++ b/PokemonGo.RocketAPI.Console/App.config @@ -61,6 +61,12 @@ 1 + + False + + + 90 + diff --git a/PokemonGo.RocketAPI.Console/Settings.cs b/PokemonGo.RocketAPI.Console/Settings.cs index 2d96b80b7..3c2bf8d35 100644 --- a/PokemonGo.RocketAPI.Console/Settings.cs +++ b/PokemonGo.RocketAPI.Console/Settings.cs @@ -30,6 +30,8 @@ public class Settings : ISettings public int DelayBetweenPokemonCatch => UserSettings.Default.DelayBetweenPokemonCatch; public bool UsePokemonToNotCatchFilter => UserSettings.Default.UsePokemonToNotCatchFilter; public int KeepMinDuplicatePokemon => UserSettings.Default.KeepMinDuplicatePokemon; + public bool EvolveAllPokemonAboveIV => UserSettings.Default.EvolveAllPokemonAboveIV; + public float EvolveAboveIVValue => UserSettings.Default.EvolveAboveIVValue; public bool PrioritizeIVOverCP => UserSettings.Default.PrioritizeIVOverCP; //Type and amount to keep diff --git a/PokemonGo.RocketAPI.Console/UserSettings.Designer.cs b/PokemonGo.RocketAPI.Console/UserSettings.Designer.cs index b10f3b0d0..18939c56c 100644 --- a/PokemonGo.RocketAPI.Console/UserSettings.Designer.cs +++ b/PokemonGo.RocketAPI.Console/UserSettings.Designer.cs @@ -194,6 +194,26 @@ public int KeepMinDuplicatePokemon { [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Configuration.DefaultSettingValueAttribute("False")] + + public bool EvolveAllPokemonAboveIV { + get { + return ((bool)(this["EvolveAllPokemonAboveIV"])); + } + set { + this["EvolveAllPokemonAboveIV"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("90")] + public float EvolveAboveIVValue { + get { + return ((float)(this["EvolveAboveIVValue"])); + } + set { + this["EvolveAboveIVValue"] = value; + public bool PrioritizeIVOverCP { get { return ((bool)(this["PrioritizeIVOverCP"])); diff --git a/PokemonGo.RocketAPI.Console/UserSettings.settings b/PokemonGo.RocketAPI.Console/UserSettings.settings index 011e6ae6f..44e6d5a87 100644 --- a/PokemonGo.RocketAPI.Console/UserSettings.settings +++ b/PokemonGo.RocketAPI.Console/UserSettings.settings @@ -44,6 +44,12 @@ 1 + + False + + + 90 + False diff --git a/PokemonGo.RocketAPI.Logic/Inventory.cs b/PokemonGo.RocketAPI.Logic/Inventory.cs index 9130b3988..c50fa43bf 100644 --- a/PokemonGo.RocketAPI.Logic/Inventory.cs +++ b/PokemonGo.RocketAPI.Logic/Inventory.cs @@ -216,8 +216,19 @@ public async Task> GetPokemonToEvolve(IEnumerable pokemonSettings.Single(x => x.PokemonId == p.PokemonId).FamilyId == settings.FamilyId) * settings.CandyToEvolve; - if (familyCandy.Candy - pokemonCandyNeededAlready > settings.CandyToEvolve) - pokemonToEvolve.Add(pokemon); + + if (_client.Settings.EvolveAllPokemonAboveIV) + if (PokemonInfo.CalculatePokemonPerfection(pokemon) >= _client.Settings.EvolveAboveIVValue && familyCandy.Candy - pokemonCandyNeededAlready > settings.CandyToEvolve) + { + pokemonToEvolve.Add(pokemon); + } else { continue; } + else + { + if (familyCandy.Candy - pokemonCandyNeededAlready > settings.CandyToEvolve) + { + pokemonToEvolve.Add(pokemon); + } else { continue; } + } } return pokemonToEvolve; diff --git a/PokemonGo.RocketAPI.Logic/Logic.cs b/PokemonGo.RocketAPI.Logic/Logic.cs index fc829d6a6..ceea5523c 100644 --- a/PokemonGo.RocketAPI.Logic/Logic.cs +++ b/PokemonGo.RocketAPI.Logic/Logic.cs @@ -367,7 +367,7 @@ public async Task PostLoginExecute() { _playerProfile = await _client.GetProfile(); _stats.SetUsername(_playerProfile); - if (_clientSettings.EvolveAllPokemonWithEnoughCandy) + if (_clientSettings.EvolveAllPokemonWithEnoughCandy || _clientSettings.EvolveAllPokemonAboveIV) await EvolveAllPokemonWithEnoughCandy(_clientSettings.PokemonsToEvolve); if (_clientSettings.TransferDuplicatePokemon) await TransferDuplicatePokemon(); await DisplayHighests(); diff --git a/PokemonGo.RocketAPI/ISettings.cs b/PokemonGo.RocketAPI/ISettings.cs index de6b0ef3a..203454b31 100644 --- a/PokemonGo.RocketAPI/ISettings.cs +++ b/PokemonGo.RocketAPI/ISettings.cs @@ -24,7 +24,12 @@ public interface ISettings int DelayBetweenPokemonCatch { get; } bool UsePokemonToNotCatchFilter { get; } int KeepMinDuplicatePokemon { get; } +<<<<<<< HEAD + bool EvolveAllPokemonAboveIV { get; } + float EvolveAboveIVValue { get; } +======= bool PrioritizeIVOverCP {get; } +>>>>>>> master ICollection> ItemRecycleFilter { get; } ICollection PokemonsToEvolve { get; }