Commit graph

1189 commits

Author SHA1 Message Date
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
Andrew Ekstedt
59fd27c574 Require location identifiers to be unique.
Also require location area identifiers to be unique to their location.

I almost added a duplicate pokemon-league location when adding S/M
locations. This should help.
2018-09-29 10:53:18 -07:00
Andrew Ekstedt
e6b64b8c5a Relax test for nullability of translation columns
The previous commit added a nullable subtitle field to location_names.
This caused a test in test_schema.py to fail because the name field
wasn't also nullable.

A comment above the test says, "If there's more than one text column in a
translation table they have to be nullable, to support missing
translations", but i don't think that logic holds in this case.

The idea is that we might have a translation for the subtitle, but not
the name, or vice versa, so both need to be nullable in case one or the
other is missing. But in this particular case that doesn't make sense:
if you don't have a name, you don't have a location; it may or may not
have a subtitle, but a location will always have a name.

Therefore, add an exception to the test.
2018-09-29 10:12:10 -07: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
thechief389
f413bf82f0 Fix error when no arguments are specified (#240)
Also, introduce a metavar for the command subparser, since it's currently a bit verbose.
2018-08-22 23:34:27 -07:00
skylar
d17a772b4f Resolve some Python 3 encoding issues on Windows (#244)
When you open a file in Python 3, it defaults to using the system charset to encode the file, which is typically UTF-8 on linux systems (good) but Windows-1251 on Windows (bad).

We need to add explicit encoding=utf-8 arguments to open() calls when we open CSV files for reading or writing. To complicate matters, the csv module works only with byte strings in Python 2, and only with unicode strings in Python 3, so we can't just blindly use `io.open` everywhere.
2018-08-22 23:01:58 -07:00
Andrew Ekstedt
ffb0638ef5 Unbreak SaveFilePokemon slightly
The schema has changed a little in the past, uh, seven years.

Works well enough to parse and display one of my pokemon in the gts
plugin.

Updates veekun/spline-pokedex#72
2018-06-26 23:53:59 -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
Andrew Ekstedt
0c61702213 pass an explicit bind to table.create()
This isn't really necessary, since pokedex.db.connect sets
metadata.bind, but it's better to be explicit.
2018-03-30 15:07:10 -07:00
Andrew Ekstedt
417bd1afa2 fix pypy build
PyPy (>= 3.6) was consistently erroring out during `pokedex load`,
with the error

    OperationalError: (_sqlite3.OperationalError) cannot commit transaction - SQL statements in progress (Background on this error at: http://sqlalche.me/e/e3q8)

It turns out PyPy was not garbage collecting something, causing a
database cursor to be left open. See the giant comment block for
details.
2018-03-30 15:06:34 -07:00
Andrew Ekstedt
56cf0fd29d Squash a bunch of "non-unicode bind param" warnings 2018-03-30 12:14:55 -07:00
Andrew Ekstedt
e1bbe78b72 fix test suite under SQLAlchemy 1.2.x
* SQLAlchemy 1.0 introduced "baked queries" - a way to construct Query
 objects so that they can be cached and reused.

 * SQLAlchemy 1.2 changed lazyloaded columns to use baked queries under the
 hood.

 * Our MultilangQuery class attempts to set _default_language_id right
 before the query is executed by overriding the __iter__ method.

 * Baked queries bypass the __iter__ method and call a lower-level
 method, _execute_and_instances, directly.

 * This caused problems where _default_language_id wouldn't get set
 correctly on lazyloaded columns.

 * To fix, make MultilangQuery override the _execute_and_instances
 method instead of __iter__.

 * This is really just a stopgap: the root cause is that query params
 are not preserved across lazyloads.

Tested with SQLAlchemy 0.9.7, 1.1.18, and 1.2.5.

Updates #236.
2018-03-30 12:01:21 -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
Eevee (Lexy Munroe)
73f388ed69 Fix tests, since Farfetch’d got a name change 2017-09-04 10:04:23 -07:00
Eevee (Lexy Munroe)
bf6b2bc646 Populate pokemon_form_generations 2017-09-04 09:04:56 -07:00
Eevee (Lexy Munroe)
a273273823 Updated order columns, identifier Battle Bond Greninja, populated is_battle_only 2017-09-04 03:54:02 -07:00
Eevee (Lexy Munroe)
c3e4f61894 Added SUMO ability effects. 2017-09-02 02:07:16 -07:00
Eevee (Lexy Munroe)
1ef14370f1 Fill in some missing bits and add item effects. 2017-08-29 19:33:20 -07:00
Eevee (Lexy Munroe)
0b81ea0c79 Add SUMO items and Pokémon 2017-08-22 16:23:49 -07:00
Eevee (Lexy Munroe)
7b9aa7de46 Fill in effects for new SUMO moves and a few old XY moves 2017-07-13 21:38:26 -07:00
Eevee (Lexy Munroe)
15c2cb486b Add SUMO moves 2017-07-11 17:27:54 -07:00
Eevee (Lexy Munroe)
3b49944b06 Add a new SUMO ailment; fix gen 6 effect ids to match the games 2017-06-26 21:05:58 -07:00
Eevee (Lexy Munroe)
2af13f4f15 Fix references to "ja" (which is now ja-Hrkt) 2017-06-18 00:15:05 -07:00
Eevee (Lexy Munroe)
329dc81a11 Add SUMO abilities 2017-06-17 23:18:03 -07:00
Eevee (Lexy Munroe)
a33678d8c7 Add Sun/Moon 2017-06-17 23:18:03 -07:00
Eevee (Lexy Munroe)
c3d1b323ac Use script suffixes in lang identifiers; add simplified Chinese 2017-06-17 23:18:03 -07:00
John T. Wodder II
c3f566b2c9 Addressed all of pyflakes3's complaints 2016-11-24 21:29:58 +00:00
Andrew Ekstedt
82335886e1 Merge pull request #196 from GreatWizard/patch-1
Update item_pocket_names with french
2016-11-20 10:57:15 -08:00
Andrew Ekstedt
5e2d073297 Merge pull request #195 from AlexanderZon/patch-2
Update pokemon_move_method_prose.csv Spanish
2016-11-20 10:56:47 -08:00
Andrew Ekstedt
704566cdaa Merge pull request #194 from AlexanderZon/patch-1
Update move_damage_class_prose.csv Spanish
2016-11-20 10:56:15 -08:00
Andrew Ekstedt
dfd13b8f95 Merge pull request #193 from phmatray/master
Add identifiers to item_fling_effects.csv
2016-11-20 10:55:41 -08:00
Develrox
362a9f4e79 corrected a typo 2016-11-20 10:53:25 -08:00
Guillaume Gérard
251f9194fd Update item_pocket_names with french 2016-11-18 23:52:04 +01:00
Alexis Montenegro
05ff52c009 Update pokemon_move_method_prose.csv Spanish
Spanish Translations
2016-11-10 17:28:27 -04:00
Alexis Montenegro
059a225096 Update move_damage_class_prose.csv Spanish
Spanish Translations
2016-11-10 17:26:03 -04:00
Philippe Matray
7612277ee4 Add identifiers to item_fling_effects.csv 2016-10-23 18:56:43 +02:00
Andrew Ekstedt
a967b787b7 Add move changelogs for Gen V→VI
Made by running a script to compare an old version of moves.csv[1] with
the current version.

[1]: cb5276773b

Hidden power changed from variable power to 100.
We can't represent NULLs in the changelog,
so set the power to 1 instead.

A few effect chances changed from NULL to 100.
We can't represent this either, but i don't think it matters.

    leer: effect_chance changed from NULL to 100
    hidden-power: power changed from 1 to 60
    chatter: effect_chance changed from NULL to 100
    v-create: effect_chance changed from NULL to 100

Here's the complete list of changes:

    swords-dance: pp changed from 30 to 20
    whirlwind: accuracy changed from 100 to NULL
    vine-whip: power changed from 35 to 45
    vine-whip: pp changed from 15 to 25
    pin-missile: power changed from 14 to 25
    pin-missile: accuracy changed from 85 to 95
    roar: accuracy changed from 100 to NULL
    flamethrower: power changed from 95 to 90
    hydro-pump: power changed from 120 to 110
    surf: power changed from 95 to 90
    ice-beam: power changed from 95 to 90
    blizzard: power changed from 120 to 110
    submission: pp changed from 25 to 20
    growth: pp changed from 40 to 20
    thunderbolt: power changed from 95 to 90
    thunder: power changed from 120 to 110
    minimize: pp changed from 20 to 10
    barrier: pp changed from 30 to 20
    lick: power changed from 20 to 30
    smog: power changed from 20 to 30
    fire-blast: power changed from 120 to 110
    skull-bash: power changed from 100 to 130
    skull-bash: pp changed from 15 to 10
    glare: accuracy changed from 90 to 100
    poison-gas: accuracy changed from 80 to 90
    bubble: power changed from 20 to 40
    psywave: accuracy changed from 80 to 100
    acid-armor: pp changed from 40 to 20
    crabhammer: power changed from 90 to 100
    struggle: target_id changed from 10 to 8
    thief: power changed from 40 to 60
    thief: pp changed from 10 to 25
    snore: power changed from 40 to 50
    cotton-spore: target_id changed from 10 to 11
    sweet-kiss: type_id changed from 1 to 18
    perish-song: target_id changed from 12 to 14
    charm: type_id changed from 1 to 18
    fury-cutter: power changed from 20 to 40
    heal-bell: target_id changed from 4 to 13
    moonlight: type_id changed from 1 to 18
    hidden-power: power changed from 1 to 60
    future-sight: power changed from 100 to 120
    heat-wave: power changed from 100 to 95
    will-o-wisp: accuracy changed from 75 to 85
    smellingsalt: power changed from 60 to 70
    follow-me: priority changed from 3 to 2
    nature-power: target_id changed from 1 to 10
    knock-off: power changed from 20 to 65
    poison-fang: effect_chance changed from 30 to 50
    meteor-mash: power changed from 100 to 90
    meteor-mash: accuracy changed from 85 to 90
    aromatherapy: target_id changed from 4 to 13
    air-cutter: power changed from 55 to 60
    overheat: power changed from 140 to 130
    rock-tomb: power changed from 50 to 60
    rock-tomb: pp changed from 10 to 15
    rock-tomb: accuracy changed from 80 to 95
    extrasensory: pp changed from 30 to 20
    muddy-water: power changed from 95 to 90
    covet: pp changed from 40 to 25
    wake-up-slap: power changed from 60 to 70
    tailwind: pp changed from 30 to 15
    assurance: power changed from 50 to 60
    psycho-shift: accuracy changed from 90 to 100
    aura-sphere: power changed from 90 to 80
    air-slash: pp changed from 20 to 15
    dragon-pulse: power changed from 90 to 85
    power-gem: power changed from 70 to 80
    energy-ball: power changed from 80 to 90
    draco-meteor: power changed from 140 to 130
    leaf-storm: power changed from 140 to 130
    gunk-shot: accuracy changed from 70 to 80
    chatter: power changed from 60 to 65
    magma-storm: power changed from 120 to 100
    wonder-room: priority changed from -7 to 0
    rage-powder: priority changed from 3 to 2
    magic-room: priority changed from -7 to 0
    storm-throw: power changed from 40 to 60
    synchronoise: power changed from 70 to 120
    synchronoise: pp changed from 15 to 10
    low-sweep: power changed from 60 to 65
    hex: power changed from 50 to 65
    incinerate: power changed from 30 to 60
    water-pledge: power changed from 50 to 80
    fire-pledge: power changed from 50 to 80
    grass-pledge: power changed from 50 to 80
    struggle-bug: power changed from 30 to 50
    frost-breath: power changed from 40 to 60
    sacred-sword: pp changed from 20 to 15
    hurricane: power changed from 120 to 110
    techno-blast: power changed from 85 to 120

Fixes #127
Fixes #136
2016-09-25 13:18:58 -07:00
Andrew Ekstedt
ad73c9d43b Add priority and target columns to the move changelog
In preparation for adding Gen V→VI changelog entries.

No data changes.
2016-09-25 13:18:58 -07:00
Andrew Ekstedt
5d6ac22974 Load/dump dance 2016-09-25 10:59:05 -07:00
Ruben
d2dfc911c3 Add Cosplay Pikachu special moves
Merge pull request #162 from rubendal/master

The Cosplay Pikachu form change mechanic is similar to Rotom:
when it changes form it learns a special move, possibly forgetting
its old special move if it had already changed form.

Renamed the "Rotom Form" pokemon move method to "Form Change"
and updated the description accordingly.
2016-09-25 10:34:41 -07:00
Jerry
10ab743bc2 Fix Cosplay Pikachu heights (#179)
Not sure why they weren't fixed when the height of megas were fixed
2016-09-24 15:38:46 -07:00
Lorenzo Rapetti
625be26239 Fix ORAS HM items (PR #170)
The HMs in OR/AS were pointing at the completely wrong moves.

Fixes #161
2016-09-24 14:36:31 -07:00
jota
d48f1d3617 Fix forms_switchable flag for Primal Pokemon in ORAS (#187)
It was fixed for Megas in #177 but not for Primal Pokemon.
2016-09-24 14:32:14 -07:00