jabbink / PokemonGoBot

DEFUNCT - Bot that plays Pokemon Go
https://www.pogobot.club/
GNU General Public License v3.0
559 stars 232 forks source link

Pokemon listed in "evolve_before_transfer" does not evolve #1204

Open casper-gh opened 8 years ago

casper-gh commented 8 years ago

Description: Pokemon listed in "evolve_before_transfer" does not evolve, instead it keeps all those pokemon causing POKEMON_INVENTORY_FULL

Steps to reproduce:

  1. Add pokemon to evolve_before_transfer
  2. Run the bot
  3. All pokemon listed in evolve_before_transfer are kept causing POKEMON_INVENTORY_FULL

Expected behavior: Pokemon should be evolved and then transferred

Actual behavior: Pokemon does not evolve

Version: 0.6.0

Operating System: Ubuntu

Java version: Latest

Leave this sentence in your issue as proof that you have read and used this template.

My config: http://pastebin.com/GC8Ggh7u

FrancYescO commented 8 years ago

It willl wait for evolve_stack_limit=10 before start evolving

casper-gh commented 8 years ago

@FrancYescO I don't really understand what it means, but I have like 30+ Pidgeys and bot still doesn't evolve

FrancYescO commented 8 years ago

Sometime it will log "Pokémon ready for stack evolve xx" probably you need more candys?

casper-gh commented 8 years ago

I got Pokémon ready for stack evolve 0, but I have 5K + of Pidgey candies

FrancYescO commented 8 years ago

Pidgy is also here..

obligatory_transfer=DODUO,RATTATA,CATERPIE,PIDGEY

casper-gh commented 8 years ago

but doesn't evolve_before_transfer will evolve the pokemon first? So what you're saying is I cannot define the same pokemon in both obligatory_transfer and evolve_before_transfer ?

FrancYescO commented 8 years ago

How can a Pokémon be evolved if you "obligatory" throw away?

casper-gh commented 8 years ago

The thing is, the bot neither throws those pokemon away nor evolve it, all those pokemon are retained making my pokemon inventory full

FrancYescO commented 8 years ago

Post your Pokémon list

casper-gh commented 8 years ago

Sorry I manually evolved them all, will try to get the list when pokemon are full again

casper-gh commented 8 years ago

Ok I got the pokemon list here http://pastebin.com/87Y8RrcJ

You can see there's a lot of Pidgeys...

FrancYescO commented 8 years ago

and still Pokémon ready for stack evolve 0 ???? if you don't see this incrementing and reaching 10 (as you config require) you will never get an evolve.

casper-gh commented 8 years ago

that's why it's a bug?

FrancYescO commented 8 years ago

yeah but to me is working good, so wee need to find what's wrong with your config.

casper-gh commented 8 years ago

can you share your config?

FrancYescO commented 8 years ago

"obligatoryTransfer" : [ ], "evolveBeforeTransfer" : [ "CATERPIE", "RATTATA", "WEEDLE", "PIDGEY", "ZUBAT" ], "evolveStackLimit" : 70, "useLuckyEgg" : 1,

butw probably somehow related to https://github.com/jabbink/PokemonGoBot/issues/1088

casper-gh commented 8 years ago

So don't put anything in obligatory transfer?

FrancYescO commented 8 years ago

no, i don't want to obligatory transfer.

FrancYescO commented 8 years ago

also make sure to edit the json file if present and not proprieties one.

casper-gh commented 8 years ago

can you share the entire json template?

FrancYescO commented 8 years ago

i'm using develop with some pr merged so some config will be in conflict.

what can affect this issue is already up

MacDogg commented 8 years ago

Having the same issue. Config info related to this: obligatorytransfer=CATERPIE,RATTATA,WEEDLE,PIDGEY **(this seems to be ignored because none of these are transferred, they are all still in my inventory)_** evolve_before_transfer=CATERPIE,RATTATA,WEEDLE,PIDGEY evolve_stack_limit=30 use_lucky_egg=1 I currently have 14 Weedle, 15 Rattata, 23 Pidgey and 9 Caterpie. When I start the bot with the above settings nothing happens, they aren't transferred, they aren't evolved. I have 582 Weedle candy so I can evolve 48. I have 942 Rattata candy so I can evolve 37. I have 1256 Pidgey candy so I can evolve 104. I have 297 Catepie candy so I can evolve 24. I have 5 lucky eggs. I even cleared the obligatory_transfer line and still nothing happens.

casper-gh commented 8 years ago

in my case, the config on obligatory_transfer works fine, just evolve_before_transfer isn't working

FrancYescO commented 8 years ago

the crucial thing is

"evolveStackLimit" : 70,

no evolve are done until we have enought pokemon to evolve defined by this value

obligatory_transfer pokemon are kept if also in the evolve_before_transfer (still a nosense to have in both list)

casper-gh commented 8 years ago

My new config looks like this:

obligatory_transfer=DODUO evolve_before_transfer=CATERPIE,RATTATA,WEEDLE,PIDGEY,DROWZEE

But after 8 hrs botting, still getting full pokemon inventory because all the above pokemon are kept.

FrancYescO commented 8 years ago

if in your log you see

Stack of pokemon ready to evolve: 0

this is the issue but this can also mean you have not enought candy.. probably i need a full session log to understand something, also waiting for the next version might have solved this issue due to some changes done in the evolve func.

th3n3rd commented 8 years ago

I had the same issue with Drowzee, like 1k+ candies and fill up the inventory. I've also tried to put it in the obligatory transfer and also in the list of "evolve before transfer" but I got into another issue where I got an arithmetic exception (division by zero). I believe there is some problem with the candies evaluation. I am using 0.6 by the way.

casper-gh commented 8 years ago

Yes, that's what I have

th3n3rd commented 8 years ago

One thing that helps, just tried, is to use the max_pokemon_amount parameter. If you set the latter to 1 the bot will discard all the duplicate leaving only one pokemon per type but for the ones listed within evolve_before_transfer list! (unless you need candies of course).

Sieberkev commented 8 years ago

Can you get the most recent develop version (and not 0.6.0 release) and test it again? Several pieces of code for the evolving got improved.

casper-gh commented 8 years ago

I'm waiting for the release build, anyway I think the issue mostly happens if the bot is scheduled to restart periodically.

kiaph commented 8 years ago

Question:

details.

Player want only 3 of each pokemon max. Players wants to evolve at stack 30 Player obtains 4 pidgey, does bot throw away pidgey, or keep it knowing it is already doomed to be transfered after it evolves.

Realistically the player keeps it as it is a "evolve&&transfer pokemon", so hoping the bot is able to see this as well.

Sorry for hijacking this thread, I didn't see someone complaining for either side in the issue threads so I chose the closes one on topic to ask, however I am going to use these settings and see what happens.

FrancYescO commented 8 years ago

Will keep it.