Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void Execute()
- {
- foreach (var imanager in _plugin.GetUniqueManagers())
- {
- if (imanager.State != BotState.Running) continue;
- var pokesToFavorite = new List<PokemonData>();
- var pokesToUpgrade = new List<PokemonData>();
- var pokesToEvolve = new List<PokemonData>();
- var pokemonToHandle = GetPokemonToHandle(imanager);
- foreach (var pokemonData in pokemonToHandle)
- {
- var pokeSetting = Settings.Extra.Pokemons[pokemonData.PokemonId];
- var pokemonSettings = imanager.GetPokemonSetting(pokemonData.PokemonId).Data;
- var totalCandy =
- imanager.PokemonCandy.Where(x => x.FamilyId == pokemonSettings.FamilyId)
- .ElementAt(0)
- .Candy_;
- var candyToEvolve = pokemonSettings.CandyToEvolve;
- if (pokeSetting.AutoEvolve && candyToEvolve > 0 && totalCandy >= candyToEvolve)
- {
- pokesToEvolve.Add(pokemonData);
- }
- else
- {
- if (pokeSetting.AutoFavorite && pokemonData.Favorite == 0)
- pokesToFavorite.Add(pokemonData);
- if (pokeSetting.AutoUpgrade && totalCandy > 3)
- pokesToUpgrade.Add(pokemonData);
- }
- }
- EvolvePokemon(imanager, pokesToEvolve);
- UpgradePokemon(imanager, pokesToUpgrade);
- SetFavorites(imanager, pokesToFavorite);
- }
- }
- public List<PokemonData> GetPokemonToHandle(IManager manager)
- {
- var pokemonToHandle = new List<PokemonData>();
- foreach (var pokemonManager in Settings.Extra.Pokemons.Values)
- {
- pokemonToHandle
- .AddRange(manager.Pokemon
- .Where(
- poke =>
- manager.CalculateIVPerfection(poke).Data >= pokemonManager.MinimumIv &&
- poke.Cp >= pokemonManager.MinimumCp &&
- (pokemonManager.AutoEvolve || pokemonManager.AutoFavorite || pokemonManager.AutoUpgrade))
- .OrderByDescending(poke => manager.CalculateIVPerfection(poke).Data)
- .ThenBy(poke => poke.Cp)
- .Take(pokemonManager.Quantity));
- }
- return pokemonToHandle;
- }
- public async void EvolvePokemon(IManager manager, List<PokemonData> pokesToEvolve)
- {
- if (pokesToEvolve.Count == 0) return;
- var results = await manager.EvolvePokemon(pokesToEvolve);
- OnLogEvent(this,
- GetLog(new MethodResult()
- {
- Success = results.Success,
- Message = results.Message,
- MethodName = "EvolvePokemon",
- }));
- }
- public async void UpgradePokemon(IManager manager, List<PokemonData> pokesToUpgrade)
- {
- if (pokesToUpgrade.Count == 0) return;
- var results = await manager.UpgradePokemon(pokesToUpgrade, 100);
- OnLogEvent(this,
- GetLog(new MethodResult()
- {
- Success = results.Success,
- Message = results.Message,
- MethodName = "UpgradePokemon",
- }));
- }
- public async void SetFavorites(IManager manager, List<PokemonData> pokesToFavorite)
- {
- if (pokesToFavorite.Count == 0) return;
- var results = await manager.FavoritePokemon(pokesToFavorite);
- OnLogEvent(this,
- GetLog(new MethodResult()
- {
- Success = results.Success,
- Message = results.Message,
- MethodName = "FavoritePokemon",
- }));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement