Advertisement
CHANCITY

Untitled

Feb 20th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.19 KB | None | 0 0
  1.         public void Execute()
  2.         {
  3.             foreach (var imanager in _plugin.GetUniqueManagers())
  4.             {
  5.                 if (imanager.State != BotState.Running) continue;
  6.  
  7.  
  8.                 var pokesToFavorite = new List<PokemonData>();
  9.                 var pokesToUpgrade = new List<PokemonData>();
  10.                 var pokesToEvolve = new List<PokemonData>();
  11.                 var pokemonToHandle = GetPokemonToHandle(imanager);
  12.  
  13.  
  14.                 foreach (var pokemonData in pokemonToHandle)
  15.                 {
  16.                     var pokeSetting = Settings.Extra.Pokemons[pokemonData.PokemonId];
  17.                     var pokemonSettings = imanager.GetPokemonSetting(pokemonData.PokemonId).Data;
  18.  
  19.                     var totalCandy =
  20.                         imanager.PokemonCandy.Where(x => x.FamilyId == pokemonSettings.FamilyId)
  21.                             .ElementAt(0)
  22.                             .Candy_;
  23.  
  24.                     var candyToEvolve = pokemonSettings.CandyToEvolve;
  25.  
  26.  
  27.                     if (pokeSetting.AutoEvolve && candyToEvolve > 0 && totalCandy >= candyToEvolve)
  28.                     {
  29.                         pokesToEvolve.Add(pokemonData);
  30.                     }
  31.                     else
  32.                     {
  33.                         if (pokeSetting.AutoFavorite && pokemonData.Favorite == 0)
  34.                             pokesToFavorite.Add(pokemonData);
  35.  
  36.                         if (pokeSetting.AutoUpgrade && totalCandy > 3)
  37.                             pokesToUpgrade.Add(pokemonData);
  38.                     }
  39.                 }
  40.  
  41.                 EvolvePokemon(imanager, pokesToEvolve);
  42.                 UpgradePokemon(imanager, pokesToUpgrade);
  43.                 SetFavorites(imanager, pokesToFavorite);
  44.             }
  45.         }
  46.  
  47.         public List<PokemonData> GetPokemonToHandle(IManager manager)
  48.         {
  49.             var pokemonToHandle = new List<PokemonData>();
  50.  
  51.             foreach (var pokemonManager in Settings.Extra.Pokemons.Values)
  52.             {
  53.                 pokemonToHandle
  54.                     .AddRange(manager.Pokemon
  55.                         .Where(
  56.                             poke =>
  57.                                 manager.CalculateIVPerfection(poke).Data >= pokemonManager.MinimumIv &&
  58.                                 poke.Cp >= pokemonManager.MinimumCp &&
  59.                                 (pokemonManager.AutoEvolve || pokemonManager.AutoFavorite || pokemonManager.AutoUpgrade))
  60.                         .OrderByDescending(poke => manager.CalculateIVPerfection(poke).Data)
  61.                         .ThenBy(poke => poke.Cp)
  62.                         .Take(pokemonManager.Quantity));
  63.             }
  64.  
  65.             return pokemonToHandle;
  66.         }
  67.  
  68.         public async void EvolvePokemon(IManager manager, List<PokemonData> pokesToEvolve)
  69.         {
  70.             if (pokesToEvolve.Count == 0) return;
  71.  
  72.             var results = await manager.EvolvePokemon(pokesToEvolve);
  73.  
  74.             OnLogEvent(this,
  75.                 GetLog(new MethodResult()
  76.                 {
  77.                     Success = results.Success,
  78.                     Message = results.Message,
  79.                     MethodName = "EvolvePokemon",
  80.                 }));
  81.         }
  82.  
  83.         public async void UpgradePokemon(IManager manager, List<PokemonData> pokesToUpgrade)
  84.         {
  85.             if (pokesToUpgrade.Count == 0) return;
  86.             var results = await manager.UpgradePokemon(pokesToUpgrade, 100);
  87.  
  88.             OnLogEvent(this,
  89.                 GetLog(new MethodResult()
  90.                 {
  91.                     Success = results.Success,
  92.                     Message = results.Message,
  93.                     MethodName = "UpgradePokemon",
  94.                 }));
  95.         }
  96.  
  97.         public async void SetFavorites(IManager manager, List<PokemonData> pokesToFavorite)
  98.         {
  99.             if (pokesToFavorite.Count == 0) return;
  100.  
  101.             var results = await manager.FavoritePokemon(pokesToFavorite);
  102.            
  103.             OnLogEvent(this,
  104.                 GetLog(new MethodResult()
  105.                 {
  106.                     Success = results.Success,
  107.                     Message = results.Message,
  108.                     MethodName = "FavoritePokemon",
  109.                 }));
  110.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement