veekun / pokedex

more than you ever wanted to know about Pokémon
MIT License
1.44k stars 637 forks source link

Add Let's Go Pikachu/Eevee and Sword/Shield data #327

Closed Parnassius closed 3 years ago

Parnassius commented 3 years ago

Closes #311 Closes #284 Closes #262 Closes #210 Closes #231

magical commented 3 years ago

Oh, one thing i missed from Let's Go - it looks like the partner forms of Pikachu and Eevee are missing. They probably got lost when you dropped unobtainable pokemon from the rip.

magical commented 3 years ago

BTW, it looks like you mostly chose the same form identifiers as i did for the HOME sprites (https://github.com/veekun/pokedex/commit/b09929dfb636d2b0337edbfe6761496c7d435965).

I think the only differences are:

That's fine, we don't have to resolve those right now. Just thought it was worth noting.

Also, note to self: i'll need to copy a few sprites to accommodate the new zygarde forms.

Parnassius commented 3 years ago

Oh, one thing i missed from Let's Go - it looks like the partner forms of Pikachu and Eevee are missing. They probably got lost when you dropped unobtainable pokemon from the rip.

Whoops, you're right, i dropped them when i removed the unobtainable pokemon, along with megas and alolan forms (those are mainly relevant for pokemon_moves.csv)

Edit: I addressed your comments as separate commits to ease the review, i'll squash them together when this is ready to be merged

Parnassius commented 3 years ago

I just noticed there were 4 more items with duplicate identifiers, i just fixed them.

magical commented 3 years ago

Looking good, thanks.

I tried loading the data into PostgreSQL and ran into a couple problems:

  1. items.category_id is required
  2. pokemon.shape_id can't be 0

Shapes: i'd be fine just marking this nullable for now. I know shapes still exist, at least in HOME, and we'll definitely want to rip them at some point, but there's no reason we have to do it right now.

Looks like was wrong about item categories, oops. It's true that categories are non-official and we don't strictly need them, but we do need to know the item pocket, and pockets are linked to categories. Pockets are semi-official: the current ones are from the D/P/Pt days and correspond roughly to the pockets in the bag from that game, although obviously lots of other games have come out since then that had slightly different pocket schemes. You can make a "sw/sh uncatagorized" category in one of the pockets and throw all the items in there for now. (If you want to try ripping them though, i think the pockets roughly correspond to this field in the item data.)


A couple other things i noticed:

Parnassius commented 3 years ago
* TM25 is listed as Max Guard, but Bulbapedia says it is Protect. Is that right?

Whoops, fixed. I compared the list with both Bulbapedia's and Serebii's, and now everything seems to be ok

* Xerneas has no default form. `xerneas-neutral` should be the default.

I'm dumb, fixed

Shapes: i'd be fine just marking this nullable for now. I know shapes still exist, at least in HOME, and we'll definitely want to rip them at some point, but there's no reason we have to do it right now.

The search filter is indeed missing in Sword and Shield's pokedex, I'm honestly not sure if the data is still available somewhere in the game files. Should I simply set nullable=True in this line, or there's something more involved to do?

Looks like was wrong about item categories, oops. It's true that categories are non-official and we don't strictly need them, but we do need to know the item pocket, and pockets are linked to categories. Pockets are semi-official: the current ones are from the D/P/Pt days and correspond roughly to the pockets in the bag from that game, although obviously lots of other games have come out since then that had slightly different pocket schemes. You can make a "sw/sh uncatagorized" category in one of the pockets and throw all the items in there for now. (If you want to try ripping them though, i think the pockets roughly correspond to this field in the item data.)

I had a couple of problems trying to rip them, since as you said the pockets are from D/P/Pt. These are the main things I'm unsure about:

I also created a couple new categories:

Everything else seemed to be pretty straightforward

(I squashed almost everything together because I can't git apparently, if for any reason you need to check the individual commits they're still available here)

magical commented 3 years ago

Thanks. I'll take another look in case i missed something, but i want to try and get this merged this weekend.

The search filter is indeed missing in Sword and Shield's pokedex, I'm honestly not sure if the data is still available somewhere in the game files. Should I simply set nullable=True in this line, or there's something more involved to do?

np, I'll take care of it.

magical commented 3 years ago

Merged. Thank you!