-
Notifications
You must be signed in to change notification settings - Fork 228
Auto Evolve #347
Auto Evolve #347
Conversation
| val catch = CatchOneNearbyPokemon() | ||
| val release = ReleasePokemon() | ||
| val hatchEggs = HatchEggs() | ||
| val evolve = EvolvePoekmon() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Poekmon 👍
|
|
||
| task(process) | ||
| task(hatchEggs) | ||
| task(evolve) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How do you check for a null string if auto_evolve in config is empty, so as to not run it?
Via != null or .length? Strings can't be null in kotlin right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Strings can't be null. But you most likely have a String?, which is nullable
|
Auto-evolve in release would be amazing. Also, I like the minimum auto evolve before popping an egg |
| return | ||
| } | ||
| canEvolve.forEach { | ||
| val sorted = it.value.sortedByDescending { it.cp } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we use the sortByIV setting here like:
https://github.com/jabbink/PokemonGoBot/blob/develop/src/main/kotlin/ink/abb/pogo/scraper/tasks/ReleasePokemon.kt#L30
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yea just change this: val sorted = it.value.sortedByDescending { it.cp } with this:
val sorted = if (settings.sortByIV) {
it.value.sortedByDescending { it.getIv() }
} else {
it.value.sortedByDescending { it.cp }
}
I dont know how to make a pull request so i only can write it here sorry!
|
May I suggest with a future adaptation to this that a few things are taken into account. If the account is missing X from Pokedex, make this a priority in evolution chain. IE: I have 200 Poliwag candy.. but I'm missing a Polywrath from my dex. Currently, I'd be left with 8 Poliwhirl. Where as I need a Polywrath. // Evolve highest IV/CP Pokemon into missing Pokedex entry. pokedex_priority=true/false Now, I'd receive one Poliwrath and two Poliwag (presuming Wrath came from Tier1 evolution). Edit: There's actually a lot of filtering that needs to happen here. If I have a high IV tier 2 - I want to evolve that before evolving 40 tier 1s but thats only if it's a Poke I'm interested in bringing up. I can think of a bunch but I'm at work currently.. will come back. |
|
Afaik the required candies per evolution are now available in the api (PokemonMetaRegistry or sth like that) |
|
Can you make an option in the config to say 'ANY', thus is would evolve any Pokemon that have enough candies. |
| fixedRateTimer("BotLoop", false, 0, 5000, action = { | ||
| thread(block = { | ||
| task(keepalive) | ||
| task(evolve) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like this moved down after task(catch). Otherwise those Pidgeys get released before we can evolve them for the XP.
|
@jabbink is this branch going to be included in the next release? would love to see something i can use all the excess candy for, and evolving via API is way faster than manual! :) |
|
closing in favor of #444 (no csv) |
Bringing #98 back to develop. Please test and modify accordingly.
Additional recommended feature --
IF PokeBank > # (or FULL) && candies > #
USE Lucky Egg
EVOLVE for 30 Mins