Catching order
Short Description
Currently it seems that the bot catches visible pokemons in no particular order. If there are Pidgey, Spearow, Rattata and Snorlax at the starting location, then most likely the bot will not try catching Snorlax first, even though it is VIP and will disappear in 30 seconds. This actually happened to me several times.
Possible solution
It would be very helpful to have an option to catch the available pokemons in some particular order. Possible orders:
- by time to expire (expiring soon first),
- by rarity (lower spawn rate first),
- by a user metric (each pokemon type is assigned a user priority, e.g. I want to catch Growlithe before Drowzee, so Growlithe should have higher priority),
- by CP/NCP/IV (strongest first).
It may be reasonable to apply the next ordering if the previous ordering resulted in the same ranking. E.g. if both visible pokemons expire in 30-60 sec, then treat their time rank equal and check the rarity rank to decide which one to catch first.
How it would help others
This feature would allow the bot to catch better pokemons more often at the starting location and when teleporting/sniping. It would also be more human-like behavior (except for the time ranking), since humans catch better pokemons first.
I like this feature, but if we want to do this more human-like behaviour, we can't use all the catching order, I mean:
by time to expire (expiring soon first),
or
by CP/NCP/IV (strongest first).
You can't get that information using the information provided by Pokemon Go app, so maybe
by rarity (lower spawn rate first),
or
by a user metric (each pokemon type is assigned a user priority, e.g. I want to catch Growlithe before Drowzee, so Growlithe should have higher priority),
These two catching order are more human-like behaviour and with the information provided using Pokemon Go app
Could use the same order provided by MoveToMapPokemon, eg. pokemon with a higher threshold should be caught first.
Might need to separate thresholds from MoveToMapPokemon to achieve.
Suggest move "catch" out of MoveToMapPokemon task, and add new "priority" global config item to replace it. That way it could be shared by different tasks.
Alternatively, could just prioritize "vips" then let the rest sort themselves out.