Commit graph

861 commits

Author SHA1 Message Date
KidsDontPlay 7de90c054d Add is_legendary and is_mythical (#304)
Legendary and Mythical are official terms which, while generally not
present in the game data, are more or less consistently applied in
promotional material. They're also useful categorizations to fans,
so it seems reasonable to include them here.

The legendary Pokémon are:
  Articuno, Zapdos, Moltres, Mewtwo,
  Raikou, Entei, Suicune, Lugia, Ho-Oh,
  Regirock, Regice, Registeel,
  Latias, Latios, Kyogre, Groudon, Rayquaza,
  Uxie, Mesprit, Azelf, Dialga, Palkia, Giratina,
  Heatran, Regigigas, Cresselia,
  Cobalion, Terrakion, Virizion,
  Tornadus, Thundurus, Landorus,
  Reshiram, Zekrom, Kyurem,
  Xerneas, Yveltal, Zygarde,
  Tapu Koko, Tapu Lele, Tapu Bulu, Tapu Fini,
  Cosmog, Cosmoem, Solgaleo, Lunala, Necrozma.

The mythical Pokémon are: Mew, Celebi, Jirachi, Deoxys, Phione, Manaphy,
  Darkrai, Shaymin, Arceus, Victini, Keldeo, Meloetta, Genesect,
  Diancie, Hoopa, Volcanion, Magearna, Marshadow, Zeraora.
2020-06-27 12:56:28 -07:00
Andrew Ekstedt bbda228262 Fix み,nbsp mixup in OR/AS dex entries
A bug in the text dumper caused み to be replaced with a narrow
non-breaking space and the actual nbsp character in the unicode private
use area to go untranslated.

Only affected OR/AS.

Fix with a simple text replace on the affected entries.

    import csv
    in_ = open("../pokedex/data/csv/pokemon_species_flavor_text.csv", "r")
    out = open("fixed.csv", "w")
    r = csv.reader(in_, lineterminator='\n')
    w = csv.writer(out, lineterminator='\n')
    for row in r:
        text = row[3]
        if row[1] in {'25', '26'}:
            text = text.replace("\u202f", "\u307f") # nbsp => mi
            text = text.replace("\ue07f", "\u202f") # e07f => nbsp
        w.writerow((row[0], row[1], row[2], text))
    out.close()

Fixes #308
2020-06-23 17:09:11 -07:00
Andrew Ekstedt 0015bcb15c Add Ultra Moon dex entries
Note: there are dex entries for forms too, but this only adds the text
for the default form because the db schema assumes dex entries are
per-species.
2020-06-23 16:17:32 -07:00
Andrew Ekstedt 5fe8fdcc95 Add Sun dex entries
Note: there are dex entries for forms too, but this only adds the text
for the default form because the db schema assumes dex entries are
per-species.
2020-06-23 16:10:40 -07:00
Andrew Ekstedt b05ff3a5b1 Add wild held items for Sun and Ultra Moon
The initial import of data from S/M and US/UM only included held items for Moon
and Ultra Sun. (Presumably those were the only games eevee had access to?)
I now have all four games and I've verified that the data file which
contains held items is completely identical between Sun and Moon, and between
Ultra Sun and Ultra Moon.

So we can just copy the held items from the other two games.

pokedex=> insert into pokemon_items (select pokemon_id, 27, item_id, rarity from pokemon_items where version_id=28);
INSERT 0 356
Time: 220.560 ms
pokedex=> insert into pokemon_items (select pokemon_id, 30, item_id, rarity from pokemon_items where version_id=29);
INSERT 0 362
Time: 102.063 ms
2020-06-22 20:52:01 -07:00
Andrew Ekstedt c2cde0078d Fix typo in Fancy Vivillon's French name
Prismillion Fantaisie => Prismillon Fantaisie (without the extra 'i')

Fixes #307
2020-06-17 15:16:21 -07:00
Andrew Ekstedt a166502b45 Load/dump dance
Fixes the order of encounter_condition_value_map.csv after PR #289.
2020-03-04 16:19:29 -08:00
Andrew Ekstedt a0b47add63
Update Spanish translations (#271) 2020-03-04 15:24:28 -08:00
Andrew Ekstedt 722a4664dd
Generation 2 (GSC) encounters (#289)
Source: https://www.pokebip.com/page/jeuxvideo/dossier_shasse/encounter_slot

This covers the following encounter methods: Walking, Fishing (3 rods), Surf and Rock Smash
2020-03-04 14:52:07 -08:00
Andrew Ekstedt 9c1d1828c9 Re-rip Gen III contest effects
Gen III contest effects were part of the initial data import from brown
veekun and so have probably never gotten a proper rip.

This commit re-rips contest effect stats, types, combos, and the mapping
between contest effects and moves.

None of the stats changed (jam & appeal); a few moves got assigned
different contest effects (specifically: smokescreen, flash, spite, and
shadow ball); and several combos changed.

For example, Hail was listed as comboing into the following moves
(this is also what Bulbapedia says):

    Ice Beam, Blizzard, Aurora Beam, Haze, Powder Snow, Icy Wind,
    Ice Ball, Weather Ball, Sheer Cold, Icicle Spear

However, the actual list is much shorter:

    Blizzard, Powder Snow, Weather Ball

I verified on my Ruby cart that Hail->Ice Beam and Hail->Icy Wind are
not real combos, and that Hail->Blizzard is.

n.b. There are a bunch of unused contest effects in the game: out of 48
effects, 15 are not used by any move. The pokedex doesn't currently
include these. I elected not to add them, partly because i didn't want
to have to rip flavor text for them, but mostly because if i were going
to go that route i would probably reassign contest_effects.id to match
their internal ids, which would have made for uglier diffs.

Fixes #280
2020-03-01 23:25:49 -08:00
KidsDontPlay cc2ad50752
Fix typo in German name for Physical damage class (#283) 2020-03-01 22:53:02 -08:00
Andrew Ekstedt 0232456433 Load/dump dance
Fixes some out-of-order rows in pokemon_dex_numbers.csv that were
introduced by PR #269 (f8e7637e9).
2020-02-29 20:02:08 -08:00
Andrew Ekstedt 7d5fbaec87 Fix some more issues in German ability effect text
- link to nonexistant `[]{move:shield}` in Color Change (changed to protect)
- invalid syntax `[move:sandstorm]` in Primordial Sea
- invalid syntax `[move:sandstorm]` in Desolate Land
- invalid syntax `[move:sandstorm]` in Delta Stream

Found by test_markdown_values, which is not run by default because it is
slow. It can be run manually with

    py.test pokedex/tests/test_strings.py --all
2020-01-23 12:47:01 -08:00
Andrew Ekstedt e78f7cbe84 Fix markdown syntax in Flower Veil's German effect text 2020-01-23 12:05:36 -08:00
Alessandro Pezzè 049fa1437b Fix markdown syntax in Cheek Pouch's German effect text (#290) 2020-01-22 19:12:40 -08:00
Andrew Ekstedt 8dfbd58688 Regenerate order columns
Updates #282
2019-11-15 22:13:33 -08:00
Andrew Ekstedt 852a4ad06a Fix form_order for arceus-unknown and pikachu-*-cap
Pikachu's Cap forms and Cosplay forms had overlapping orders because i
forgot about Cosplay Pikachu when i set the form_order for the cap
forms.

??? Arceus had form_order=3 so it would go after all the other forms,
which had form_order=2. These were assigned distinct form_orders 2
through 17 at some point during a recent dump, but ??? Arceus was
missed.

Fixes #282
2019-11-15 22:01:12 -08:00
Zroxos 3c550f1425 Add evolution method to Crabrawler (#276)
Added missing `location_id` for Crabrawler. It now references the "Mount Lanakila" row in the `locations` table.

Updates #248
2019-07-21 22:42:19 -07:00
h82258652 087237c9ef Fix US/UM chinese pokemon names (#275)
The Chinese names for some of the pokemon added in US/UM (805-807) seem to have gotten corrupted somehow.
2019-07-21 22:41:02 -07:00
naooooooo99999 310d104533 Fixed the spelling of japanese Generation I. (#267) 2019-07-16 23:26:54 -07:00
ymin1103 ce783fba03 Add Korean translations and missing version names (#266)
This commit adds Korean translations for egg groups, generations, languages, regions, stats, and version names. Also the ??? and shadow types. 

It also fills in some missing foreign version names for S/M and US/UM (from Bulbapedia).
2019-07-16 23:18:02 -07:00
kampfmoehre 10f024a80c Add german ability translations (#181)
Adds german translations for ability description prose and ability
changelog prose. I tried to stay in the same style for all translations.
2019-07-16 22:39:18 -07:00
Andrew Ekstedt ad429ab128 Fix Roserade's Central Kalos dex number and add tests
Roserade and Roselia were mistakenly sharing dex number 72. Presumably
an error from the original X/Y spreadsheet. I guess we never reripped
these after 3DS rom dumping became possible.

Regardless of how it happened, add a test and some database constraints
to ensure that it doesn't happen again.

- Add a test for gaps in pokedex numbers

- Add uniqueness constraints to pokemon_dex_numbers.  A species can
  only appear once per pokedex, and a number cannot be used more than
  once per pokedex.
2019-07-16 18:12:58 -07:00
Tim Goudriaan f8e7637e9e Add S/M and US/UM pokedex numbers (#269)
Adds pokedex numbers for the Alola dex and all four island dexes, both original and updated.

Data courtesy of Bulbapedia.

Fixes #217.
2019-07-16 17:52:01 -07:00
Andrew Ekstedt db824220d0
Merge pull request #238 from jrubinator/record-gift-pokemon
Record gift pokemon
2019-07-12 19:40:29 -07:00
Andrew Ekstedt b6dfbbcd58 gift-pokemon: rerun script
This removes a few location areas that are no longer needed now that
we've dropped fossil pokemon.
2019-07-12 19:14:59 -07:00
Andrew Ekstedt 8161bd84e4 gift-pokemon: fix Cosplay Pikachu and Sinnoh starter gift locations
Cosplay Pikachu was listed as being encountered in contest-hall, but
that's a Sinnoh location. In OR/AS, the contest halls are not a
first-class location but rather just treated as part of the town or city
they are in. Cosplay Pikachu is given to the player after they
participate in their first contest, so its location can be any of the
four cities with a contest hall.

The Sinnoh starter that the player obtains in OR/AS is on Hoenn Route
101, not Sinnoh Route 201 (probably a copy/paste error).

Add a test to make sure that encounter regions always match the
region(s) that their game takes place in.
2019-07-12 18:48:07 -07:00
Luccas Robert ef6c588fc6 Add pt-BR to the languages table (#273, #274) 2019-07-01 21:30:33 -07:00
Andrew Ekstedt 53e0fc0085 gift-encounters: fix Yellow gift pokemon
They were being interpreted as being in Y instead.
2018-11-03 17:19:19 -07:00
Seth Taron 18925edcd3 Add Japanese generation names, and fix Gen VII
Add Japanese translations of the generation names, thanks to @SethETaron. I think this marks our first unofficial Japanese translation. 🎉

Also, fix some issues with Gen VII:

* generation names were missing for every language
* the identifier was incorrect — it was sun-moon instead of generation-vii

Fixes #250, #251, and #252.
2018-10-27 21:29:23 -07:00
Andrew Ekstedt 14bcc8f2bf Rerun gift encounters script 2018-10-27 15:19:59 -07:00
Andrew Ekstedt ada0e9c545 Set rarity for gift encounter slots 2018-10-27 15:19:59 -07:00
Jonathan Rubin 4155bc4459 gift pokemon CSV updates - 3rd time is the charm
use `pokedex dump` to apply CSV changes
2018-10-06 14:38:06 -04:00
Andrew Ekstedt 9a8918135f Region-prefix some locations identifiers, and add a test
Unova Routes 19-23 were added in B/W 2 and i forgot to prefix them when
we added the locations. Kalos Victory Road used to have a prefix but it
got dropped when i re-ripped X/Y locations. Kalos Pokemon League gets a
prefix too, since both Sinnoh and Alola also have Pokemon Leagues.

Add a test to ensure that we don't forget again in the future.
2018-09-29 11:35:13 -07:00
Jonathan Rubin 10db4d9d23 gift-pokemon: Rerun with changes
Using the following steps:
* Unroll the previous commit with bulk CSV changes (b7500e92f0)
* remove and re-initialize the database
* follow the steps in that commit
* Only select location_area_prose in English
    (there's a bunch of czech translations tracked separately in pokedex/data/csv/translations/cs.csv)
2018-09-22 21:45:34 -04:00
Jonathan Rubin 305d4f5d0e gift-pokemon: Quoting on location_area_prose
This change implies no functionality, but it was easiest to just
make it - sqlite insists on quoting spaces, though it's not needed.

Not rolling it back, since theoretically someone could run into the
same thing again in the future.
2018-09-22 21:38:39 -04:00
Jonathan Rubin 203b903999 gift-pokemon: Add encounter_method_prose 2018-09-22 13:27:39 -04:00
Jonathan Rubin 618aa0064b gift-pokemon: separate gift-egg method
This allows us to indicate eggs by the method,
rather than by the level
(which will now merely reflect the hatch level in that generation)
2018-09-19 13:58:25 -04:00
Jonathan Rubin b7500e92f0 gift-pokemon: CSV file updates
From sqlite:
.headers on
.mode csv
.output $filename
select * from $table
Then remove all the dumb carriage returns in vim
2018-09-19 13:58:25 -04:00
Jonathan Rubin 731cd771d4 gift-pokemon: Add gift encounter method 2018-09-19 13:58:07 -04:00
Andrew Ekstedt 083e43bb93 Add S/M locations
This commit adds Sun & Moon location names from the text dump, for all
official languages: the usual ja, en, fr, it, de, es, ko, and now
zh-Hans (simplified Chinese) and zh-Hant (traditional Chinese).

Fixes #230
Updates #198
2018-09-15 20:01:08 -07:00
Andrew Ekstedt 6d4d129c84 Add subtitle field to Location
Starting in Gen VI, locations have been able to have an optional
subtitle. In-game, the subtitle is displayed on a second line under the
main name.

In X/Y this is used to give some locations an alternate,
flavorful name; for example, Kalos Route 2 is also known as Avance
Trail. In S/M this is mainly used to divide some large locations like
Hau'oli City into separate sections: e.g., the Beachfront, the Shopping
District, and the Marina.

This commit just adds the column; there are no data changes.

I suppose we'll need to go back and re-rip X/Y location names now.
2018-09-15 20:01:08 -07:00
Andrew Ekstedt f2d03da177 Add OR/AS locations
This commit adds OR/AS location names from the text dump, for all
official languages (ja, en, fr, it, de, ko).

It also updates the names of any pre-existing locations from R/S/E to
use the names from OR/AS. Mostly this only affects the French
translations, which i think were added manually.

"Inside of Truck" was renamed to "???" in all languages, which is dumb,
but whatever.

"Team Magma Hideout" is in fact a different location from the
already-existing "Magma Hideout" - Magma Hideout was from Emerald and
resided in Jagged Pass, while Team Aqua Hideout and Team Magma Hideout
are located outside Lilycove City.

Kalos locations are untouched. I assume they didn't change, but didn't
verify this.

Updates #141
2018-09-15 14:56:53 -07:00
Dan Keenan 57915f656b Fix TMs 93-100 refer to the wrong item in OR/AS
Fixes #206
2018-04-24 23:02:17 -07:00
Eevee (Lexy Munroe) a6b7b426c2 Remove some extraneous form names that broke lookup 2017-11-27 09:58:23 -08:00
Eevee (Lexy Munroe) 74e22520db Update Pokémon order 2017-11-25 14:11:46 -08:00
Eevee (Lexy Munroe) 1c982d748f Fix crash when looking up Salazzle 2017-11-25 14:07:25 -08:00
Eevee (Lexy Munroe) 591be9ab8b Populate pokemon_form_generations for USUM 2017-11-25 13:28:36 -08:00
Eevee (Lexy Munroe) 82679b70ea Add Pokémon form names and a couple minor tidbits 2017-11-25 12:07:12 -08:00
Eevee (Lexy Munroe) 45f43231e3 Add Ultra Sun/Ultra Moon data, more or less 2017-11-25 11:30:23 -08:00