Commit graph

1146 commits

Author SHA1 Message Date
Eevee (Lexy Munroe)
54ea67a804 Fix pokedex dump under Python 2 AND 3, at the same time even 2015-11-04 20:10:27 -08:00
Eevee (Lexy Munroe)
b581c5205a Remove some bogus ORAS egg moves 2015-11-04 20:03:17 -08:00
Eevee (Lexy Munroe)
e0f4d3be7a Fix pokedex dump under Python 2 2015-11-04 20:03:08 -08:00
Nicholas Corgan
c19c818694 locations: Pewter City, Lavender Town, Indigo Plateau, and Saffron City are in Kanto, not Johto 2015-10-29 15:01:27 -07:00
Eevee (Alex Munroe)
0ff24b4dc8 Fix the CLI in py3 2015-10-05 16:29:21 -07:00
Eevee (Alex Munroe)
b76b74e7a6 Compat with Python 3.3+ 2015-10-05 08:12:23 -07:00
Eevee (Alex Munroe)
d0e8f503b8 Eerie Impulse lowers Special Attack, not Attack 2015-10-05 05:27:22 -07:00
Eevee (Alex Munroe)
74c779efe6 Add a missing period to Flower Shield's short effect 2015-10-05 05:09:37 -07:00
Eevee (Alex Munroe)
8fc636a3e6 Shadow Blast is physical
According to Bulbapedia and an email I got, anyway.
2015-10-05 05:04:17 -07:00
Richard Gottschalk
e798d18c4e fixed id for german encounter method prose 2015-09-24 22:08:23 +02:00
Richard Gottschalk
adfbf7514b added german translation for "Walking on rough terrain" 2015-09-24 22:05:24 +02:00
Richard Gottschalk
6ef2e0182e added german translations for encounter method proses 2015-09-24 19:52:56 +02:00
Richard Gottschalk
c5201b12d8 fixed german translation of "Alpha Sapphire" version name 2015-09-24 03:30:15 +02:00
Richard Gottschalk
a626e9aa27 added german translation for shadow type 2015-09-24 03:29:32 +02:00
Richard Gottschalk
54e8cf949a added italian region names 2015-09-23 18:20:07 +02:00
Richard Gottschalk
b0f6cc0bd3 added japanese region names 2015-09-23 18:19:33 +02:00
Richard Gottschalk
a8b4b34c70 added french version names for OR/AS 2015-09-23 18:18:52 +02:00
Richard Gottschalk
e57eedbf18 added italian version names 2015-09-23 18:18:19 +02:00
Konrad Borowski
d467a45354 Add ORAS move methods
This allows comparing Pokemon using ORAS version as reference.
2015-08-23 18:29:17 +02:00
Eevee (Alex Munroe)
a9503c2436 Merge branch 'oras' 2015-08-20 14:36:13 -07:00
Eevee (Alex Munroe)
fdd6995721 ORAS move and ability flavor text. 2015-08-13 00:05:01 -07:00
Eevee (Alex Munroe)
2292b62792 ORAS Pokémon flavor text. 2015-08-13 00:00:59 -07:00
Eevee (Alex Munroe)
b111104869 ORAS move names/stats and the Rayquaza tutor. 2015-08-08 18:22:31 -07:00
Eevee (Alex Munroe)
ccb252932c Oops, remove ORAS tutored moves that aren't actually teachable. 2015-08-08 02:27:00 -07:00
Eevee (Alex Munroe)
1411a7422d ORAS machines. 2015-08-08 00:10:26 -07:00
Eevee (Alex Munroe)
330e294371 ORAS learnsets. 2015-08-07 23:58:38 -07:00
Andrew Ekstedt
a05a298e3f Regenerate pokemon.order and pokemon_forms.order. 2015-06-19 01:05:50 -07:00
Andrew Ekstedt
811eada23b Set form_order for new forms. 2015-06-19 00:59:47 -07:00
Andrew Ekstedt
776210ce0d Add new Pokémon forms from OR/AS.
This is all the Pokémon data except moves and held items, which need to be
ripped separately for all Pokémon.

Note that Cosplay Pikachu and friends are technically in the Undiscovered egg
group, but egg groups are a property of PokemonSpecies so i can't represent
that here.

English names only for now. Still need to add names for old default forms,
e.g., Hoopa Confined.

Still need to regenerate the order columns.

Looks like pokemon_form_generations and pokemon_game_indices haven't been kept
up to date, so i guess i'll have to update those too.

Updates #141.
2015-06-19 00:43:34 -07:00
Andrew Ekstedt
7d1b8cc4f8 Improve table docs w.r.t. ids and game indices.
Went though the table docs and noted which tables have ids that correspond
to game ids, and explained why we sometimes have ids in the 10000s.

Since docs attached to id columns aren't displayed in the web documentation,
these edits all go in the class docstring, and i took the liberty of deleting
the id column docs from every table i touched.

Also: added some words about how to get to the species from pokemon and
pokemon_form.

Also: note that item flags are not official (they are a holdover from
brownkun) and item pockets are sort of kind of official (they originated from
D/P i believe, but i'm not sure how we've been assigning them for newer items).

Pertains to #99.
2015-06-17 16:38:16 -07:00
megadrifter-pt
56e212f09e Add some French translations 2015-06-17 12:06:00 -07:00
Andrew Ekstedt
c3e0c17409 Add new abilities from OR/AS.
Updates #141.
2015-06-13 13:49:07 -07:00
Andrew Ekstedt
b8fc3d83f5 Add OR/AS pokedex numbers.
I probably butchered the German translations, but whatever.
If anyone cares, someone will fix it.

Updates #141.
2015-05-31 13:34:40 -07:00
Andrew Ekstedt
c4f1741a79 Add versions for OR/AS.
Updates #141.
2015-05-31 13:34:29 -07:00
Andrew Ekstedt
93988d966c load: Use COPY FROM STDIN on PostgreSQL.
COPY FROM FILE requires database superuser permissions,
because of the obvious security implications.

COPY FROM STDIN has no such restriction.

Also do some cleanup while we're here.
2015-05-30 22:48:20 -07:00
Andrew Ekstedt
33fab44d0d Add X/Y wild encounters.
The following locations have multiple areas, which have been assigned
placeholder names (Unknown Area ###).

- Frost Cavern
- Glittering Cave
- Reflection Cave
- Terminus Cave
- Victory Road

No horde encounters because i'm not sure how we want to represent them.

No swarm encounters because they aren't in the normal encounter data.

Fixes #146.
2015-05-30 15:00:54 -07:00
Andrew Ekstedt
87ee90c41b Add encounter methods and slots for X/Y.
Updates #146.
2015-05-30 14:41:32 -07:00
Andrew Ekstedt
28b717ce13 Rip X/Y locations and names.
Zhorken added some of these by hand when X/Y first came out, but we never went
back and ripped them once we had the ROM.

Updates #146.
2015-05-30 10:44:44 -07:00
Andrew Ekstedt
9a4683c0c1 Fix the util.order_by_name test, for real this time. 2015-05-28 19:47:24 -07:00
Andrew Ekstedt
68b83c0ec1 Add Japanese version names. 2015-05-25 01:35:24 -07:00
Andrew Ekstedt
76ad6391fc Document Type.target_efficacies and Type.damage_efficacies.
I can't keep them straight.
2015-05-24 23:12:21 -07:00
Andrew Ekstedt
02b1968bc5 "Fix" MultilangQuery.
SQLAlchemy 1.0 sets bindpararms to their default values when loading
lazy-loaded columns. This is in contrast to the 0.9 behaviour of
ignoring our incongruous bindparam alltogether.

So MultilangQuery is still broken, but now it breaks in the same way as before.

While we're here, set the correct param in one of the multilang tests. Not that
it matters.
2015-05-23 18:26:09 -07:00
Andrew Ekstedt
2cfc78edac Fix util.order_by_name test.
Électrik sorts last because it has an accent now.
2015-05-23 18:26:09 -07:00
Andrew Ekstedt
ca0cbc1205 Remove use of Query.yield_per.
SQLAlchemy 1.0 disallows yield_per with eagerloading[1].

Fixes #143.

[1]: http://docs.sqlalchemy.org/en/rel_1_0/changelog/migration_10.html#joined-subquery-eager-loading-explicitly-disallowed-with-yield-per
2015-05-23 18:26:09 -07:00
Bradley Jarvis
1c6106e446 Update Mirror Move Effect ignored moves description to reflect data 2015-04-11 09:23:25 +09:30
Josephvb10
339181032f Added spanish stat names 2014-12-29 16:01:48 +01:00
Andrew Ekstedt
3db5826869 Item effects: Convert lingering reST to markdown.
Birth Island, Navel Rock, and Faraway Island are unlinked because
apparently we don't have those locations.

Fixes #134.
2014-08-26 19:37:51 -07:00
Lynn "Zhorken" Vaughan
58e0783580 Add form difference prose for Kalos Pokémon.
To do:

- Add form prose for Mega Evolutions
- Update old Pokémon's form prose
- Nail down the style a little:
    * Do I want to capitalize the form moniker?  e.g. "Vivillon's
      Pattern depends..." or "Trading [...] does not affect the Pattern
      it will have..."
    * What about when I'm actually writing a form name?  e.g. "The Fancy
      and Poké Ball Patterns..."  (This is what I do at the moment.)
    * Change all remaining instances of "Forms only affect appearance"
      to "Forms only differ in appearance".  It sounds better and fits
      with the other opening sentences better.
2014-08-05 23:01:37 -04:00
Lynn "Zhorken" Vaughan
7ddecd527d Call characteristics "characteristics". #132 2014-07-28 19:01:33 -04:00
Lynn "Zhorken" Vaughan
c4d55a8bc8 Update characteristics to match X/Y. #131
We still need to deal with the actual change, but having the newer text
for now seems more useful.

I ripped these from the text, just to be sure.
2014-07-26 22:57:49 -04:00
Lynn "Zhorken" Vaughan
dc2565648e Add form names (without pokemon_name) for missing languages.
Notes:

- Unown, Arceus, and Genesect are just given names like "One form" in
  X/Y.  I consulted Pokédex 3D Pro for Unown and Arceus, and named
  Genesect's forms after their drives (since they don't have official
  names).

- Names for Spiky-eared Pichu are missing, since it's missing from X/Y
  and Pokédex 3D Pro.

- Korean names for Arceus are missing; we have type names, but I don't
  know how to say "____ type", or whether it would be better to just
  use the type name like the French and German localizers for Pokédex
  3D Pro did.

- Eternal Floette is just "Éternelle" in the French text file, rather
  than "Fleur Éternelle", but I think that's silly so I ignored it.

  It does raise the question of whether I should really have typed
  "Floette Éternel" though — the official convention seems to be
  "Pokémon species names are masculine, even for all-female species",
  but... they seem not to be going with that here, possibly because
  this is a specific Floette?  Or, more likely, because they just
  didn't think about it that hard.
2014-07-14 23:21:47 -04:00
Petr Viktorin
df945eb601 Fix drain/recoil name in MoveMeta
The column was named recoil, but positive values meant
drain.
Rename the column, and introduce a hybrid property for
recoil.
2014-07-09 10:47:36 -07:00
Andrew Ekstedt
0094e9584c Modernize our use of py.test
This commit updates the tests to take advantage of some of py.test's
newer features.  Requires py.test 2.3 or newer.  Tested with 2.3.0 and
2.5.2.

Tests which were parametrized now use py.test's built-in
parametrization[1].

The session and lookup objects are now implemented as fixtures[2].
The media root is a fixture as well.  Fixtures are automatically passed
to any function that expects them.

Since the session is now created in one place, it is now possible to
provide an engine URI on the command line when running py.test.  Ditto
for the index directory.  (But the environment variables still work of
course.)

Slow tests are now marked as such and not run unless the --all option is
given.

A couple media tests are marked as xfail (expected to fail) because they
are broken.

[1]: http://pytest.org/latest/parametrize.html
[2]: http://pytest.org/latest/fixture.html
2014-07-06 21:45:05 -07:00
Andrew Ekstedt
29824c73f4 Tweak Pokemon width/height docstrings 2014-07-06 12:17:11 -07:00
Andrew Ekstedt
5f54b3057d Fix PokemonForm.form_order docstring 2014-07-06 12:17:11 -07:00
Andrew Ekstedt
e71043ae14 Er, fix tabledoc 2014-07-06 12:17:02 -07:00
Andrew Ekstedt
19d7335399 Remove some lies about encounter slots 2014-07-05 16:50:43 -07:00
Andrew Ekstedt
159eea093a Address some XXX comments 2014-07-05 16:50:24 -07:00
Andrew Ekstedt
cd04629404 PEP 257, yo
Put the closing quote of single-line docstrings on the same line, and
end with a period.

Just tables.py for now.
2014-07-05 16:48:58 -07:00
Andrew Ekstedt
6f5abb9540 Put column descriptions where they belong
The Column class accepts a 'doc' argument. Use it.

And while we're at it, make them all unicode strings.

Performed by the following sed script:

   s/info=dict(description=u\?\("[^"]*"\))/doc=u\1/
   s/info=dict(description=u\?\('[^']*'\))/doc=u\1/
   s/\(\s*\)info=dict(description=u\?\("[^"]*"\), /\1doc=u\2,\n\1info=dict(/
   s/\(\s*\)info=dict(description=u\?\('[^']*'\), /\1doc=u\2,\n\1info=dict(/

   /info=dict(description=u\?\('[^']*'\),$/ {
       s//doc=u\1,/
       n
       s/^\s*/&info=dict(/
   }
2014-07-05 16:46:37 -07:00
Andrew Ekstedt
181ae0fe19 Remove an unused regexp 2014-07-04 12:48:19 -07:00
Andrew Ekstedt
195cdd2ea2 Fix typos in table docs
Also, remove a stray detail=True from an info dict.
2014-07-04 12:43:03 -07:00
Andrew Ekstedt
16c1d2c278 Fix natures.game_index 2014-07-03 17:25:26 -07:00
Andrew Ekstedt
341f6bbc83 Add internal IDs for types 2014-07-03 16:55:33 -07:00
Lynn "Zhorken" Vaughan
b2c809e2ae Rerip nature names from X.
In previous gens, Spanish nature names only ever appeared in the
feminine form, so that's what we had.  Now it looks like the isolated
nature names default to masculine — they're still feminine on the status
screen, but in the box you get "Naturaleza:   [adjective]" and I guess
the adjective is considered to be on its own rather than modifying
naturaleza.

Italian doesn't follow suit so I guess it gets to be the one special
snowflake language where we don't have the default dictionary form for
natures.
2014-06-22 13:07:04 -04:00
Lynn "Zhorken" Vaughan
f4b73bcd5a Clarify that natures.game_index is 1-indexed.
Given that nature was determined by pid % 25 for a long time, I think
this is important to note.
2014-06-21 22:50:12 -04:00
Lynn "Zhorken" Vaughan
a71e4a2c13 Add game indices for natures.
I'm assuming (and I'm 99% sure I'm right) that the internal order for
natures has never changed.
2014-06-21 22:27:56 -04:00
Lynn "Zhorken" Vaughan
8cba4ac996 Add flavour text for Hoopa and Volcanion.
I knew I was forgetting something.
2014-06-13 15:41:35 -04:00
Lynn "Zhorken" Vaughan
f525152993 Set order columns to accomodate new Pokémon. 2014-06-13 14:10:26 -04:00
Lynn "Zhorken" Vaughan
ae74f19e0b Add unreleased Pokémon. 2014-06-13 14:09:38 -04:00
Lynn "Zhorken" Vaughan
dcb1aa2d60 Add unreleased moves.
I also changed Celebrate's effect to "unknown", which I meant to commit
separately but it got caught up in this one.  It has a unique effect ID,
and we don't know for sure that it does nothing.  Also, Splash's effect
(which it was sharing) says that the move is disabled by Gravity, which
isn't true of Celebrate.
2014-06-12 23:23:04 -04:00
Lynn "Zhorken" Vaughan
7286ba0254 Delete all the blank rows in pokemon_form_names.
All the tests still pass and everything.  We literally did not need them
after that innerjoin=True got commented out.
2014-06-11 22:22:32 -04:00
Lynn "Zhorken" Vaughan
ba87b16017 Update Natural Furfrou's identifiers. 2014-06-10 23:46:48 -04:00
Lynn "Zhorken" Vaughan
4ae6632b2b Give Furfrou's default form a name.
This is what it is in the text file full of form names (#5).
2014-06-10 23:41:43 -04:00
Lynn "Zhorken" Vaughan
02608b6e38 Load/dump dance. 2014-06-01 19:46:12 -04:00
Lynn "Zhorken" Vaughan
63dac87a40 Dump translations for official languages by default.
I don't really like this but ehhhhhhh, the system for prose
translations seems to be to keep them in csv/translations/, and I can't
figure out how you're supposed to DO that, plus judging by the age of
the single file that's in there, that seems to be where translations go
to die.
2014-06-01 19:44:32 -04:00
Lynn "Zhorken" Vaughan
684f230d66 CSV fixups for those German translations. 2014-06-01 11:04:53 -04:00
RichardGottschalk
1dbad42c26 Some german translations
Translated manually
2014-06-01 10:49:19 -04:00
Andrew Ekstedt
4e56c036c1 Delete erroneous "Vermillion City" location.
Typo from when FRLG encounters were first imported.
The correct spelling is, of course, "vermilion".
2014-05-27 20:22:28 -07:00
Lynn "Zhorken" Vaughan
dbe8495fa8 Rip type names. 2014-05-20 00:52:40 -04:00
Andrew Ekstedt
8d42445ae0 Fix typo in Machine.machine_number docstring. 2014-05-19 21:31:58 -07:00
Lynn "Zhorken" Vaughan
37fb1ad237 Fix private use characters in French flavour text.
Whoops.
2014-05-19 23:51:57 -04:00
Lynn "Zhorken" Vaughan
162479d144 Rip remaining X/Y move/ability/item flavour text.
Same as before, two commits for nicer diffs.

Also I don't think I ever mentioned, but the only missing items are
unused and spoiler items, so I never added them.

Also ALSO I remembered the U+200B ZERO WIDTH SPACE in the flavour
text for Thick Fat and the Adamant/Lustrous Orbs.
2014-05-19 23:47:06 -04:00
Lynn "Zhorken" Vaughan
0dbd24cd15 Rerip existing X/Y move/ability/item flavour. 2014-05-19 23:36:10 -04:00
Lynn "Zhorken" Vaughan
8fc75067a6 Update the "status" damage class's identifier. 2014-05-19 22:40:17 -04:00
Lynn "Zhorken" Vaughan
6efd25d31d Add a better ordering to languages.
This is kind of arbitrary, but here's my reasoning:

- Japanese goes first, because it's the original language.
- ja-kanji and roomaji follow because obviously we don't want to split
  Japanese up.
- Korean and Chinese go next to keep Asian languages together.
- Then English, because it's the main language other than Japanese.
- Then French and German, because they translate their Pokémon names???
  idk it feels intuitive to me.  Plus I guess their IDs are next.
- Then Spanish and Italian, because they're the only official languages
  left.
- Czech goes last because it's unofficial.
2014-05-19 22:11:13 -04:00
Lynn "Zhorken" Vaughan
c13ba0e58a Rerip move stats.
Notes:

- I left all the flags surskitty added alone (powder, bite, pulse,
  ballistics, and mental) because they don't seem to be in with the
  other move flags.  The only new flags are the Sky Battle one that I
  added, and a mystery one, which I didn't add —
  http://pastebin.com/K27Vk95J

- move_meta_* is a mess and I don't like it but X/Y seem to have all the
  same move meta as B/W did so I updated it for the time being

- I didn't update effect_id because I'd have to sort out all the new
  effects that I added manually and that sounds like a bigger endeavour
2014-05-19 22:10:09 -04:00
Lynn "Zhorken" Vaughan
2626cf6304 Use null power instead of 0/1 power.
<Zhorken> I'd like to motion (again) that 0 and 1 power both be stored
    as null
<Zhorken> and — or * be displayed based on damage class
<Zhorken> which is what determines 0 vs 1 anyway, with the arbitrary
    who-fucking-cares exception of Me First
<eevee> the ayes have it
<Zhorken> awesome
<eevee> that's a good idea i don't remember its being motioned the
    first time
<Zhorken> I definitely remember arguing it when B/W released
2014-05-19 21:37:48 -04:00
Lynn "Zhorken" Vaughan
82b66c1842 Add internal item IDs for X/Y. 2014-05-19 14:33:15 -04:00
Lynn "Zhorken" Vaughan
35ca74ea1d Update the identifiers of abilities and items whose names changed. #117 2014-05-19 14:33:15 -04:00
Lynn "Zhorken" Vaughan
4d83e8e183 Add missing genuses and move/ability/item names.
I'm following magical's lead and making this a separate commit because
it's nice to have separate diffs for actual changes and brand-new rows.
2014-05-19 14:32:14 -04:00
Lynn "Zhorken" Vaughan
c222dc807c Rerip existing genuses and move/ability/item names. #117 2014-05-19 14:10:09 -04:00
Andrew Ekstedt
0d171accad Replace non-breaking space with narrow non-breaking space.
More correct.
2014-05-18 18:03:34 -07:00
Andrew Ekstedt
0c9617be16 Rip missing Pokédex flavor text from Y. 2014-05-18 14:51:48 -07:00
Andrew Ekstedt
1a107105aa Rip Pokédex flavor text from Y. 2014-05-18 14:45:11 -07:00
Andrew Ekstedt
b58f4afcf0 Rip missing Pokédex flavor text from X. 2014-05-18 14:40:36 -07:00
Andrew Ekstedt
91588bd7bf Rip Pokédex flavor text from X. 2014-05-18 14:32:27 -07:00
Lynn "Zhorken" Vaughan
2a8f7fa28d Rerip Korean Pokémon names.
I reripped all the other languages, but Korean was the only one with any
mistakes or missing names.

I'll add all the other text later if nobody else does.
2014-05-18 11:47:18 -04:00
Andrew Ekstedt
99184a6fde Knock Unicode(256) down to Unicode(79)
MySQL again. Indexed keys have a maximum length of 767 bytes and unicode
is stored as 3 bytes per character. Since 256*3 = 768, that pushes us
just past the limit. Could lower the length to 255 characters, but let's
go further - currently only names and identifers have a length limit,
and if a name or identifier doesn't fit in a terminal then i don't want
to see it.

Fixes issue #123.
2014-05-13 23:26:07 -07:00
Andrew Ekstedt
12368ddca8 Whoosh 2.5 performance quickfix
In Whoosh 2.5, fields that can be sorted on need to specify
sortable=True or else take a large performance hit because whoosh
completely dumped its old method of speeding up sorting (automatic
caching) in favor of this brand new one.

These probably don't *all* need to be sortable, but hey.

Note that we now require Whoosh>=2.5 because the sortable keyword arg
didn't exist in exist in earlier versions.
2014-05-13 23:06:19 -07:00