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; }