Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class RemoveCrappyPokemon
- {
- public static async Task Execute(ISession session)
- {
- var duplicatePokemons =
- await
- session.Inventory.GetPokemons();
- var pokemonSettings = await session.Inventory.GetPokemonSettings();
- var pokemonFamilies = await session.Inventory.GetPokemonFamilies();
- foreach (var duplicatePokemon in duplicatePokemons)
- {
- if (duplicatePokemon.Cp >= session.Inventory.GetPokemonTransferFilter(duplicatePokemon.PokemonId).KeepMinCp ||
- PokemonInfo.CalculatePokemonPerfection(duplicatePokemon) >
- session.Inventory.GetPokemonTransferFilter(duplicatePokemon.PokemonId).KeepMinIvPercentage)
- {
- continue;
- }
- await session.Client.Inventory.TransferPokemon(duplicatePokemon.Id);
- await session.Inventory.DeletePokemonFromInvById(duplicatePokemon.Id);
- var bestPokemonOfType = (session.LogicSettings.PrioritizeIvOverCp
- ? await session.Inventory.GetHighestPokemonOfTypeByIv(duplicatePokemon)
- : await session.Inventory.GetHighestPokemonOfTypeByCp(duplicatePokemon)) ?? duplicatePokemon;
- var setting = pokemonSettings.Single(q => q.PokemonId == duplicatePokemon.PokemonId);
- var family = pokemonFamilies.First(q => q.FamilyId == setting.FamilyId);
- session.EventDispatcher.Send(new TransferPokemonEvent
- {
- Id = duplicatePokemon.PokemonId,
- Perfection = PokemonInfo.CalculatePokemonPerfection(duplicatePokemon),
- Cp = duplicatePokemon.Cp,
- BestCp = bestPokemonOfType.Cp,
- BestPerfection = PokemonInfo.CalculatePokemonPerfection(bestPokemonOfType)
- });
- DelayingUtils.Delay(session.LogicSettings.DelayBetweenPlayerActions, 0);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement