Skip to content

Commit

Permalink
Merge pull request #2095 from simplyphp/master
Browse files Browse the repository at this point in the history
Made PokemonsTransferFilter accept KeepMinOperator
  • Loading branch information
BornSupercharged authored Aug 2, 2016
2 parents addb03c + 6c109d6 commit 78dab2b
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 25 deletions.
4 changes: 3 additions & 1 deletion PoGo.NecroBot.Logic/ILogicSettings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -46,19 +46,21 @@ public TransferFilter()
{
}

public TransferFilter(int keepMinCp, float keepMinIvPercentage, int keepMinDuplicatePokemon,
public TransferFilter(int keepMinCp, float keepMinIvPercentage, string keepMinOperator, int keepMinDuplicatePokemon,
List<PokemonMove> moves = null)
{
KeepMinCp = keepMinCp;
KeepMinIvPercentage = keepMinIvPercentage;
KeepMinDuplicatePokemon = keepMinDuplicatePokemon;
KeepMinOperator = keepMinOperator;
Moves = moves ?? new List<PokemonMove>();
}

public int KeepMinCp { get; set; }
public float KeepMinIvPercentage { get; set; }
public int KeepMinDuplicatePokemon { get; set; }
public List<PokemonMove> Moves { get; set; }
public string KeepMinOperator { get; set; }
}

public interface ILogicSettings
Expand Down
2 changes: 1 addition & 1 deletion PoGo.NecroBot.Logic/Inventory.cs
Original file line number Diff line number Diff line change
Expand Up @@ -416,7 +416,7 @@ public TransferFilter GetPokemonTransferFilter(PokemonId pokemon)
return _logicSettings.PokemonsTransferFilter[pokemon];
}
return new TransferFilter(_logicSettings.KeepMinCp, _logicSettings.KeepMinIvPercentage,
_logicSettings.KeepMinDuplicatePokemon);
_logicSettings.KeepMinOperator, _logicSettings.KeepMinDuplicatePokemon);
}

public async Task<GetInventoryResponse> RefreshCachedInventory()
Expand Down
50 changes: 27 additions & 23 deletions PoGo.NecroBot.Logic/Settings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -399,29 +399,29 @@ public class GlobalSettings
public Dictionary<PokemonId, TransferFilter> PokemonsTransferFilter = new Dictionary<PokemonId, TransferFilter>
{
//criteria: based on NY Central Park and Tokyo variety + sniping optimization
{PokemonId.Golduck, new TransferFilter(1800, 95, 1)},
{PokemonId.Farfetchd, new TransferFilter(1250, 80, 1)},
{PokemonId.Krabby, new TransferFilter(1250, 95, 1)},
{PokemonId.Kangaskhan, new TransferFilter(1500, 60, 1)},
{PokemonId.Horsea, new TransferFilter(1250, 95, 1)},
{PokemonId.Staryu, new TransferFilter(1250, 95, 1)},
{PokemonId.MrMime, new TransferFilter(1250, 40, 1)},
{PokemonId.Scyther, new TransferFilter(1800, 80, 1)},
{PokemonId.Jynx, new TransferFilter(1250, 95, 1)},
{PokemonId.Electabuzz, new TransferFilter(1250, 80, 1)},
{PokemonId.Magmar, new TransferFilter(1500, 80, 1)},
{PokemonId.Pinsir, new TransferFilter(1800, 95, 1)},
{PokemonId.Tauros, new TransferFilter(1250, 90, 1)},
{PokemonId.Magikarp, new TransferFilter(200, 95, 1)},
{PokemonId.Gyarados, new TransferFilter(1250, 90, 1)},
{PokemonId.Lapras, new TransferFilter(1800, 80, 1)},
{PokemonId.Eevee, new TransferFilter(1250, 95, 1)},
{PokemonId.Vaporeon, new TransferFilter(1500, 90, 1)},
{PokemonId.Jolteon, new TransferFilter(1500, 90, 1)},
{PokemonId.Flareon, new TransferFilter(1500, 90, 1)},
{PokemonId.Porygon, new TransferFilter(1250, 60, 1)},
{PokemonId.Snorlax, new TransferFilter(2600, 90, 1)},
{PokemonId.Dragonite, new TransferFilter(2600, 90, 1)}
{PokemonId.Golduck, new TransferFilter(1800, 95, "or", 1)},
{PokemonId.Farfetchd, new TransferFilter(1250, 80, "or", 1)},
{PokemonId.Krabby, new TransferFilter(1250, 95, "or", 1)},
{PokemonId.Kangaskhan, new TransferFilter(1500, 60, "or", 1)},
{PokemonId.Horsea, new TransferFilter(1250, 95, "or", 1)},
{PokemonId.Staryu, new TransferFilter(1250, 95, "or", 1)},
{PokemonId.MrMime, new TransferFilter(1250, 40, "or", 1)},
{PokemonId.Scyther, new TransferFilter(1800, 80, "or", 1)},
{PokemonId.Jynx, new TransferFilter(1250, 95, "or", 1)},
{PokemonId.Electabuzz, new TransferFilter(1250, 80, "or", 1)},
{PokemonId.Magmar, new TransferFilter(1500, 80, "or", 1)},
{PokemonId.Pinsir, new TransferFilter(1800, 95, "or", 1)},
{PokemonId.Tauros, new TransferFilter(1250, 90, "or", 1)},
{PokemonId.Magikarp, new TransferFilter(200, 95, "or", 1)},
{PokemonId.Gyarados, new TransferFilter(1250, 90, "or", 1)},
{PokemonId.Lapras, new TransferFilter(1800, 80, "or", 1)},
{PokemonId.Eevee, new TransferFilter(1250, 95, "or", 1)},
{PokemonId.Vaporeon, new TransferFilter(1500, 90, "or", 1)},
{PokemonId.Jolteon, new TransferFilter(1500, 90, "or", 1)},
{PokemonId.Flareon, new TransferFilter(1500, 90, "or", 1)},
{PokemonId.Porygon, new TransferFilter(1250, 60, "or", 1)},
{PokemonId.Snorlax, new TransferFilter(2600, 90, "or", 1)},
{PokemonId.Dragonite, new TransferFilter(2600, 90, "or", 1)}
};

public SnipeSettings PokemonToSnipe = new SnipeSettings
Expand Down Expand Up @@ -544,6 +544,10 @@ public static GlobalSettings Load(string path)
settings = JsonConvert.DeserializeObject<GlobalSettings>( input, jsonSettings );

//This makes sure that existing config files dont get null values which lead to an exception
foreach (var filter in settings.PokemonsTransferFilter.Where(x => x.Value.KeepMinOperator == null))
{
filter.Value.KeepMinOperator = "or";
}
foreach (var filter in settings.PokemonsTransferFilter.Where(x => x.Value.Moves == null))
{
filter.Value.Moves = new List<PokemonMove>();
Expand Down

0 comments on commit 78dab2b

Please sign in to comment.