Commit graph

1291 commits

Author SHA1 Message Date
Parnassius
6742885283 Dump gen8 pokemon shapes from HOME 2021-07-21 22:00:31 +02:00
Parnassius
cc483e1877
Giratina-origin did exist in gen7 (#348) 2021-06-21 22:06:09 -07:00
Andrew Ekstedt
280823971b
Merge pull request #347 from Parnassius/misc-foreign-names
Rip some foreign names and text (characteristics/types/colors/natures), taken from the switch version of Pokemon HOME.

Helps with #159 and #256
2021-06-21 22:05:18 -07:00
Parnassius
6cbf164797
Remove empty sword/shield pokedex flavor text (#346) 2021-06-21 21:30:04 -07:00
Andrew Ekstedt
7c28f2c118 Add Zygarde Cube moves to version_group_pokemon_move_methods
Caught by the previous commit.

Updates #314
2021-06-21 21:27:28 -07:00
Andrew Ekstedt
74abc66612 Regen VersionGroupPokemonMoveMethods when loading the database
Instead of relying on people to remember to run a script to regenerate
it, just do it automatically at load time. Only takes a couple seconds.
And hey, this gives us a free test too! (CI will complain if load+dump
isn't clean.)

Fixes #334
Fixes #74
2021-06-21 21:27:28 -07:00
Parnassius
91a5899c46 Rip type names 2021-06-14 10:56:13 +02:00
Parnassius
6b73ec1783 Rip characteristic names 2021-06-14 10:26:21 +02:00
Parnassius
7b02b27deb Rip nature names 2021-06-14 10:13:47 +02:00
Parnassius
5988f0c27c Rip color names 2021-06-13 15:13:29 +02:00
Parnassius
b53390fde5
Fix ordering for Ninetales's level 1 moves (#341)
Ninetales learns Incinerate both in its second and fourth level-1 slots,
but the move reminder only shows the former.
2021-03-29 22:30:02 -07:00
Parnassius
704564ac75
Fix zacian-crowned japanese name (#340)
The old one was actually zamazenta's
2021-03-29 22:29:19 -07:00
Andrew Ekstedt
6fe50101e8 Add Alolan Raticate evolution method
Added by hand. This is the last missing evolution reported in #248.

Closes #248
2021-03-28 23:52:07 -07:00
Andrew Ekstedt
484bd086f3 Fix GrowthRate backref
It was moved from EvolutionChain to PokemonSpecies ages ago.
2021-03-28 23:51:53 -07:00
Parnassius
6710cfd388 Fix a few evolutions
- Add `pokemon_species.evolves_from_species_id` (and a corresponding
entry in `pokemon_evolution`) to new species which evolve from galarian
forms (Obstagoon, Perrserker, Cursola, Sirfetch'd, Mr. Rime, Runerigus),
which were incorrectly listed as base pokemon.
- Add missing evolution methods for a few more non-default forms (Alolan
Sandshrew, Alolan Vulpix, Alolan Meowth, Galarian Slowpoke, Galarian
Darumaka, Dusk Lycanroc)

This also adds two new evolution triggers for Sirfetch'd and Runerigus
2021-03-27 10:29:04 +01:00
Andrew Ekstedt
ffd472491b Add "dusk" as a valid time of day in PokemonEvolution
For Lycanroc's Dusk Form
2021-03-26 20:05:46 -07:00
Andrew Ekstedt
3dd8c61a7d Rewrite Zygarde Cube prose.
The old description was copied verbatim from Bulbapedia.
2021-03-26 19:58:16 -07:00
edcrfv
aaff919755 Add Zygarde cube moves 2021-03-26 19:48:57 -07:00
Andrew Ekstedt
844a31d41a
Merge pull request #335 from Parnassius/oras-egg-moves
Dump missing ORAS learnsets

In generation 6 there weren't different egg movesets for non-default forms, so I simply copied the base form's one. The FIXME comment referenced in #219 is talking about Sun/Moon I think, since in ORAS there are exactly 722 entries (721 pokemon + a dummy one with id 0).

Since I did a complete dump (like with #331) this also removes unneeded values from the order column.

I also added secret sword to keldeo and relic song to meloetta as move tutors.

Closes #219
2021-03-26 19:09:39 -07:00
Andrew Ekstedt
6668211b98
Merge pull request #338 from veekun/form-names
Add combined form names for Sw/Sh and fix some others
2021-03-26 18:52:41 -07:00
Andrew Ekstedt
a15df35f29 Fix Violet Meteor Minior's name
Reported by Hollace
2021-03-26 18:28:09 -07:00
Andrew Ekstedt
605ebf61de Update Alolan form names
Sword/Shield changed the english form name of all Alolan pokemon from
"Alola Form" to "Alolan Form" (other languages unchanged). This commit
makes the same change for pokemon which are not in Sword or Shield.
2021-03-26 13:29:29 -07:00
Andrew Ekstedt
54c6c7faa8 Name Totem Alolan Marowak 2021-03-26 00:05:23 -07:00
Andrew Ekstedt
9557034bad Add form names for Eternamax Eternatus
Copied manually from a text dump.
2021-03-26 00:04:40 -07:00
Andrew Ekstedt
b8ff7b4cb5 Add form names for Crowned Zacian
Copied manually from a text dump. Not sure why these were missing.
2021-03-26 00:04:40 -07:00
Andrew Ekstedt
0bc0953578 Add combined form names for new Gen 8 pokemon 2021-03-26 00:04:40 -07:00
Andrew Ekstedt
3163bab947 Drop empty rows from pokemon_form_names
A missing name means the same thing as a blank name, so there's no point
keeping them around.

Totem Marowak has a Korean form name for some reason, and Kyogre and
Groudon have (autoeponymous) form names in every language _except_
Italian. But other than that there's nothing interesting.
2021-03-26 00:01:11 -07:00
Parnassius
38242362da ORAS: add egg moves to non-default forms 2021-03-25 13:57:04 +01:00
Parnassius
8c5a781547 ORAS: add relic song to meloetta and secret sword to keldeo 2021-03-25 13:57:04 +01:00
Parnassius
8cb1ecee50 ORAS: remove unneeded order field in level-up learnsets 2021-03-25 13:56:24 +01:00
Andrei Gec
79ace90d87
Meltan and Melmetal are mythical (#333) 2021-03-25 00:54:16 -07:00
Andrew Ekstedt
9d125771b3 Update version_group_pokemon_move_methods for Let's Go and Sw/Sh 2021-03-25 00:32:11 -07:00
Andrew Ekstedt
ba0409362a
Merge pull request #332 from Parnassius/fix-zygarde
zygarde-10 was added to the database along with the Let's Go rip, but the form was actually introduced in sun/moon. We need to backdate it.
2021-03-24 20:22:57 -07:00
Parnassius
03f32883f2 zygarde-10 was introduced in sun/moon 2021-03-24 21:40:07 +01:00
Parnassius
ea6d516333 Dump UsUm tutors 2021-03-24 17:33:25 +01:00
Parnassius
a83e44f732 Dump SM tutors 2021-03-24 17:31:23 +01:00
Parnassius
80bc35a764 Remove HMs from Sun/Moon and Ultra Sun/Ultra Moon (PR #326)
Those games don't have HMs, and for example
https://veekun.com/dex/moves/fly shows fly is HM02, while it should be
TM76. Note that HMs which were converted into TMs in gen7 seems to be
already present in machines.csv with their new TM number as well.
2021-03-21 17:06:12 -07:00
Andrew Ekstedt
47618d0d46
Merge pull request #329 from SnorlaxMonster/area-rename
Rename Mt. Coronet areas

From the PR:
> Mt. Coronet's floors were misnumbered: a small room on 4F was labelled as 5F, causing the subsequent floors to all be off-by-one. This pull request corrects that numbering, aligning the floor numbering with the official guidebook.
> 
> Additionally, a number of the areas within Mt. Coronet had vague or otherwise unclear names (especially "cave"). This pull request renames those areas for clarity. It also ensures that all areas on 1F include "1F" in their name, for consistency.
2021-03-21 16:59:23 -07:00
Andrew Ekstedt
6d81374fb1 Fix machines<->items mapping for Sw/Sh
They were cyclically off by one, so e.g. machine 0 mapped to tm01,
machine 99 wrapped around to tm00, machine 100 mapped to tr01, and
machine 199 mapped to tr00.

The moves seem to be right though.

update machines m set item_id = (select item_id from machines m2 where m2.machine_number = (m.machine_number+99) % 100 + case when m.machine_number >= 100 then 100 else 0 end and version_group_id = 20) where version_group_id = 20;
2021-03-21 16:49:00 -07:00
Andrew Ekstedt
2faa3ed6af Avoid a warning about regex flags in Python 3.6
Python 3.6 deprecated using regex flag syntax (?x) to set flags in the
middle of a pattern. Now you can only use it at the start of a pattern.
Fortunately that same release added a new scoped-flag syntax, (?x:).

(Wait, you say, it looks like our code *does* set flags at the start of
the pattern? That's true, but the markdown module includes our regex in the
middle of a larger one, so it's not actually at the start.)

Fixes this warning (and a couple similar ones):

DeprecationWarning: Flags not at the start of the expression '^(.?)(?x) \[ ([^]]' (truncated)
    self.compiled_re = re.compile(r"^(.?)%s(.)$" % pattern
2021-03-21 15:39:02 -07:00
Andrew Ekstedt
348742fe2a Close csv files after dumping
PyPy doesn't collect garbage as quickly as CPython, so it was possible
for the process to exit before all the files had been flushed.
2021-03-21 15:39:02 -07:00
Andrew Ekstedt
68ee98ffdd Fix some Markdown warnings
Fixes the following warnings when run with Markdown 2.6.11:

DeprecationWarning: "safe_mode" is deprecated in Python-Markdown. Use an HTML sanitizer (like Bleach https://bleach.readthedocs.io/) if you are parsing untrusted markdown text. See the 2.6 release notes for more info
DeprecationWarning: Using short names for Markdown's builtin extensions is deprecated. Use the full path to the extension with Python's dot notation (eg: "markdown.extensions.extra" instead of "extra"). The current behavior will raise an error in version 2.7. See the Release Notes for Python-Markdown version 2.6 for more info.

Also get rid of some compatability code for Markdown 2.0, which we no longer support.

Updates #257
2021-03-21 15:39:02 -07:00
Andrew Ekstedt
0a233ec795 Set shape_id for new pokemon to NULL instead of 0
Fixes postgres import.
2021-03-21 15:31:33 -07:00
Andrew Ekstedt
63ac3a8d80
Merge pull request #327 from Parnassius/letsgo-swsh-2
Add Let's Go Pikachu/Eevee and Sword/Shield data

Here is a summary of the extracted data:
- Moves (names, flavor text, changelogs, flags, effects)
- Abilities (names, flavor text)
- Items (names, game indices, machines)
- Pokemon (names, species, formes, learnsets, egg groups, dex numbers, dex entries, evolutions, categories (genus))

Locations and encounters are not included.

The Let's Go data excludes unobtainable pokemon; i.e., everything except
the first 151 and their forms, plus Meltan and Melmetal. While the game
has data for the rest of the pokemon, they are explicitly unobtainable
even by trading, and the data is mostly (or entirely?) copied from Sun &
Moon.

TMs and TRs are numbered from 00 to 99 in Sword/Shield. We use machine
numbers 0-99 for the TMs, and 100-199 for the TRs. For example TM05 is ID
5, and TR99 is ID 199. Note that TRs overlap with HMs in previous games.

Friendship-based evolutions now trigger at 160 friendship instead of 220.

Pokemon shapes are left blank (it's unclear if they are in Sw/Sh at all).
We can grab them from HOME later. Other blank columns: pokemon_name (in
pokemon_form_names), is_battle_only, has_gender_differences, and form_switchable.

Parnassius's python scripts for extracting the game data are available
here: <https://github.com/Parnassius/i-pokemoni>.
They are heavily based on the pknx project:
<https://github.com/kwsch/pkNX>.

Closes #311
Closes #284
Closes #262
Closes #210
Closes #231
2021-03-21 15:22:48 -07:00
Andrew Ekstedt
e9bc81707e Make Pokemon.shape_id nullable 2021-03-14 18:12:58 -07:00
Andrew Ekstedt
de27f2c282 Fix test for missing default forms 2021-03-14 18:12:58 -07:00
Parnassius
1cc1611da3 item categories 2021-03-10 14:27:54 +01:00
Parnassius
67d9e8a9f9 Add Sword/Shield data 2021-03-10 14:25:32 +01:00
Parnassius
ebf2fb0cdd item categories 2021-03-10 14:22:00 +01:00
Parnassius
0ae34dbce0 Add Let's Go data 2021-03-10 14:21:05 +01:00