Advertisement
Guest User

Untitled

a guest
Jul 29th, 2016
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.05 KB | None | 0 0
  1. public class RemoveCrappyPokemon
  2.     {
  3.         public static async Task Execute(ISession session)
  4.         {
  5.             var duplicatePokemons =
  6.                 await
  7.                     session.Inventory.GetPokemons();
  8.  
  9.             var pokemonSettings = await session.Inventory.GetPokemonSettings();
  10.             var pokemonFamilies = await session.Inventory.GetPokemonFamilies();
  11.  
  12.             foreach (var duplicatePokemon in duplicatePokemons)
  13.             {
  14.                 if (duplicatePokemon.Cp >= session.Inventory.GetPokemonTransferFilter(duplicatePokemon.PokemonId).KeepMinCp ||
  15.                     PokemonInfo.CalculatePokemonPerfection(duplicatePokemon) >
  16.                     session.Inventory.GetPokemonTransferFilter(duplicatePokemon.PokemonId).KeepMinIvPercentage)
  17.                 {
  18.                     continue;
  19.                 }
  20.  
  21.                 await session.Client.Inventory.TransferPokemon(duplicatePokemon.Id);
  22.                 await session.Inventory.DeletePokemonFromInvById(duplicatePokemon.Id);
  23.  
  24.                 var bestPokemonOfType = (session.LogicSettings.PrioritizeIvOverCp
  25.                     ? await session.Inventory.GetHighestPokemonOfTypeByIv(duplicatePokemon)
  26.                     : await session.Inventory.GetHighestPokemonOfTypeByCp(duplicatePokemon)) ?? duplicatePokemon;
  27.  
  28.                 var setting = pokemonSettings.Single(q => q.PokemonId == duplicatePokemon.PokemonId);
  29.                 var family = pokemonFamilies.First(q => q.FamilyId == setting.FamilyId);
  30.  
  31.                 session.EventDispatcher.Send(new TransferPokemonEvent
  32.                 {
  33.                     Id = duplicatePokemon.PokemonId,
  34.                     Perfection = PokemonInfo.CalculatePokemonPerfection(duplicatePokemon),
  35.                     Cp = duplicatePokemon.Cp,
  36.                     BestCp = bestPokemonOfType.Cp,
  37.                     BestPerfection = PokemonInfo.CalculatePokemonPerfection(bestPokemonOfType)
  38.                 });
  39.  
  40.                 DelayingUtils.Delay(session.LogicSettings.DelayBetweenPlayerActions, 0);
  41.             }
  42.         }
  43.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement