PokemonGo-Bot
PokemonGo-Bot copied to clipboard
TODO: New evolutions - changes required and help needed
Together with 0.57 we have new Pokemons released. This includes movesets and new evolutions. Now it is possible, that some pokemons can evolve to another (previously not available) Pokemons. Some of these evolution, requires a new item(s) : stones.
With 0.57 these new items has been added to the game:
- 1101: Sun Stone
- 1102: Kings Rock
- 1103: Metal Coat
- 1104: Dragon Scale
- 1105: Upgrade
Currently bot knows about these new items, but it not aware, about evolution with them. So we have a challenges:
- Decide (by config? ) which evolution to take, if candies/stones requirements are met : evolve to Pokemon which doesn't require stone or to this one, which requires stone/rock ?
- Check if requirements are met. This can be done by hardcoding stones/rock in evolution logic, or by changing pokemon.json file (by moving NextEvolutionRequirements to Next Evolotuions/Pokemon )
- Changing pokemon.json will have a bigger impact on code change
We are open to suggestions and PRs around that. :-)
Actually, there's a 4th easier option for us coders....
Can be used as a temporary measure until a preferred method has been chosen.
At login. If bot detected any of the evolution stones, just check if user has any of the Pokemons that can use it and throw a message: "you have (stone name), your (Pokemon name) can evolve to (new evolved name). Please login to game if you want to do so."
Just a suggestion before a more effective way is implemented
Can also register it as new events, so users who use telegram can also receive the message.
might be. In this week I'll prepare the new pokemon.json, with new requirements within next evolution. So we could start looking at code.
Adding json file with evolution requirements inside. Let's assume that structure of this JSON will be the one used going forward - when new evolutions will be done in bot pokemon.json.txt
(generated from GameMaster by https://github.com/pogarek/PokemonDataImporter/tree/evolution_change )
@davidakachaos : thanks for your PR about evolutions. I think that file as above would be more readable and more flexible for future changes in this area. Can you try to change evolution according to the structure ?
@pogarek Looking at your new changes, using Onix as an example, there is no information on "Next evolution(s)", game master doesn't have it? since Onix will evolve to Steelix, where will that information be?
Hmm.... Slowpoke has that new Gen 2 Slowking Evolution Requirements...
GAME-Master.json.txt above is GameMaster decoded and serialized as json. Onix evolution is not there. Check also PoliWhirl - the one is already in GameMaster and jsons
@pogarek have.... "EvolutionBranch": [ { "Evolution": 208, "EvolutionItemRequirement": 1103, "CandyCost": 50 } ]
208 = STEELIX
oh , you are right, I've missed when I was checkin, lol. I don't know why :) maybe it was added in yesterday's GameMaster update. checking now
ok, I know why. for onix : "EvolutionIds": [], is empty - I use that field somewhere else. I'll fix tool in 7-8 hours . maybe earlier.
Lol. fixed. easier than I thought: pokemon.json.txt
Another tricky question: What are we going to do with eevee if user want Espeon / Umbreon.
Aren't they random like Vaporeon/Jolteon/Flareon are (except the trick with renaming :-) ) ?
@davidakachaos waiting for you to join this discussion :) Maybe let us know your time zone? :)
@pogarek I wish it's random.
http://pokemon24x7.com/pokemon-go-heres-another-espeon-umbreon-evolution-trick-gen-2-guide/
LOL! wow :)
Actually, I shall answer my own question: if user want, ask them catch themselves. Lol
I'm in the Netherlands, so currently GMT+1. About the eevee evolutions, naming works or there is a trick of walking 10km with them AFAIK. But imo there should be at least a bit of work for the users to get the new evolutions of Eevee haha.
This way seems much better then what was in my PR. That got merged in de so quick, I don't know if you have seen it?
Do you mean the json ? :) Yes , I have seen the commit. And that time my json generator wasn't ready to current format, so I could not change to the new format :)
Yes I added only a bit for Onix, and a bit in the optimizer to see if we had the evolution items needed. It doesn't seem to work as expected for now.... More work needed. But let's take things one step at the time here :smile:
I agree. I'm a lot more C# guy than python.. I can fix minor things in python, but I', not able write something from scratch. :-) New json is the 1st step for someone, to do the rest. :-) I can test or help with changing json format, if needed :)
I hear you, I'm more of a Ruby developer myself, but as I'm doing more programming in this bot I learn more and more python haha.
I'm not much better. This PokemonGoF bot is the first time I did programming. The last time I did was about 15 years back. Was programming in C, C++ , Java, PHP, ASP.....
15 years ago.... Haha
Leaving a link here as a form of documentation...
One more tricky evolution.... http://www.coco01.net/post/326368
@davidakachaos Are you working on this? Else I'll start looking into it since I just fixed the berries
Not currently looking at this no. Go for it 😁
Op 16 mrt. 2017 04:52 schreef "MerlionRock" [email protected]:
@davidakachaos https://github.com/davidakachaos Are you working on this? Else I'll start looking into it since I just fixed the berries
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/PokemonGoF/PokemonGo-Bot/issues/5922#issuecomment-286950729, or mute the thread https://github.com/notifications/unsubscribe-auth/AAD5Y9YOJxkGzdgYRWkXuxxOL2vKRVizks5rmLHsgaJpZM4MFamA .
@MerlionRock my changes work if the right data is added to pokemons.json (see my fork) Maybe not nice looking, but it works 😉
what do you mean by changes in pokemons.json ?
check sample in https://github.com/PokemonGoF/PokemonGo-Bot/issues/5922#issuecomment-281498994
json's are generated right now from game master. no manual addition should be done...
For example:
"Next Evolution Requirements": {
"Amount": 100,
"Family": 116,
"Name": "Horsea candies"
},
would become
"Next Evolution Requirements": {
"Amount": 100,
"Family": 116,
"Name": "Horsea candies",
"EvoItem": 1104,
"EvoItemNeeded": 1
},
I know it's ugly, but I made it work on my fork... But yeah, no solution yet with the multiple evolution options that some mons have....
I am using's pogarek's file.
"Next evolution(s)": [
{
"Evolution Requirements": {
"ItemsNeeded": [
{
"Amount": 100,
"Name": "Oddish candies"
}
]
},
"Number": "045",
"Name": "Vileplume"
},
{
"Evolution Requirements": {
"ItemsNeeded": [
{
"Amount": 100,
"Name": "Oddish candies"
},
{
"Amount": 1,
"Name": "Sun Stone"
}
]
},
"Number": "182",
"Name": "Bellossom"
},
]
This configuration is giving me alot of headaches.... haha... We see which one our dear friend @pogarek prefers... I am still working on it, no ETA, exploring if multi-array/list/dictionary can help with multiple evolution. I'm taking my time. No worries, if pogarekis okay with your config, you go ahead and implenemt it.