New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Connect forms with evolution #966
Comments
Can you post the first few lines of the CSV file you want to add? |
You would have to implement the logic for exposing the new data |
pokemon_id,specie_id,form_id,evolution_id,is_alternative_evolution |
Yes, I would have done it, but I still don't have the skills to implement the new feature. So I'm forced to ask someone in the repo. |
@AndryCola here is a script i wrote for obtaining evolution chain including regional forms, and other branching evolutions as well https://github.com/FallenDeity/PokeLance/blob/master/examples/evolutions.py and here is the output result of the script in the script i have noted down all such tricky evolution lines if you feel i have missed any please let me know So far i havent really needed any drastic changes to implement this except for a few keyword filters since as you have mentioned the evolution chain is slightly hard to parse in a few cases 😅 especially with the forms added |
Thank you so much for sharing this! It's really cool to see that there's a way to do this. |
I guess I'm late to the party. I had the same problem so I solved it for myself last November. The only thing that is not included here are the regional forms that evolve depending on the current region (like alola-pikachu). |
It is only a patchwork fix for the larger issue the current datamodel provides, that was based upon the thought that was valid before sun and moon that individual forms cannot be its own species. |
The problem actually exists since Diamond and Perl. The 3 different forms of Burmy evolve into 3 different forms of Wormadam. The current model isn't reflecting what form of Burmy evolves into what form of Wormadam. It can be matched by the form identifiers but that's not a clean solution. My approach simply connects the form ids for the evolution. Except for the regional forms that have the same evolution method, the data should be clean and complete and doesn't require any other changes anything in the model. |
It doesnt, cause its still Burmy evolves into Wormadam. Anyways the approach doesnt work with my attempt in #1037 to establish its supposed fuse pokemon_species and pokemon fields, cause that solves most form-based problems that arose since at least 2016. |
Why not? They are actually unrelated because if you fuse pokemon and pokemon_species it leaves pokemon_forms untouched and my approach moves the relation in pokemon_evolution from pokemon_species to pokemon_forms. |
I'll just quote myself directly from the issue
So, you could just separate pokemon_species into the different forms, or just straight up fuse all the data into the pokemon entry, cause at the point of separation of pokemon_species into the different forms, it would display the same entity but by two different things, which i dont think is good Object oriented Design |
Okay, so you want to merge the pokemon_forms with this as well. I still don't see the problem. If you merge all three into one you will end up having 1450 entries (plus latest DLC data). |
I wanted to write a long paragraph, but yes, i want a singular model that shows all 1473 existing forms facing the public, and this is basically best achieved when gotten rid of pokemon_species and pokemon_forms and meld that data into the pokemon model. i was frankly not aware of the actual pokemon_forms.csv existing, cause most of the problems come from pokemon_species having a base assumption that is just simply wrong now. Ultimately it doesnt matter to me how its solved in the backend, if i just have a singular Pokemon endpoint, and dont need to ask for additional forms and species endpoints, and the easiest solution is fusing these CSVs with the amount of entries taken from the bigger table. |
Hi guys, if you like we can start working on a V3beta version! If you are volunteering we can start writing some code. On my side, I can only help you with the deployment part, since I don't really have time to implement such complicated things now. We can start anew and use or drop Django, same goes for CSVs, we could switch to other formats. Reply if we can on you! I'll copy this comment over at #1037. |
I've noticed that it's impossible to determine how a Pokémon form evolves.
Sure, you can search for this information by species, but that doesn't allow you to link a specific form to its evolution condition.
So, I've created a new CSV file that I'd like to add, but I can't do it on my own.
The CSV structure looks like this:
file: pokemon_form_evolutions.csv
fields: pokemon_id, species_id, form_id, evolution_id, is_alternative_evolution
I've already created this file and added the data with the most recent updates.
The text was updated successfully, but these errors were encountered: