Commit graph

323 commits

Author SHA1 Message Date
Zhorken
523552e2d6 Version group Pokédexes don't need their own table. 2010-12-04 22:54:35 -05:00
Eevee
aa00ee83de Implement a move data changelog. Update old moves to their Gen V stats. #78 2010-11-30 22:48:29 -08:00
Zhorken
24631474fa Add Pokémon's Pokéathlon stats to the database. #285 2010-11-30 04:51:54 -05:00
Zhorken
49b7502099 Overhaul the Pokémon form schema. #286 #179 #379 2010-11-29 20:38:04 -05:00
Eevee
ade7d9aa19 Add Dream World abilities. #380 2010-11-25 00:10:12 -08:00
Petr Viktorin
1daff536b8 Finish documenting the tables 2010-11-19 23:29:32 -08:00
Petr Viktorin
febbf16222 Schema documentation, up to Language 2010-11-19 23:29:31 -08:00
Eevee
d56cc97b8c Moved priority out of the move_effects table. 2010-10-16 22:50:22 -07:00
Zhorken
ddca78c34d Order Pokemon.stats by stat id. #366 2010-09-27 02:59:48 -04:00
Zhorken
cf12819bc8 B/W: Add new items to the database.
There's now a hole in the items table: there's no item 667.  There are
two records for the Live Caster in B/W, and I couldn't figure out why,
or see any difference between them, and they were causing problems, so
I deleted the second one.
2010-09-25 04:55:21 -04:00
Eevee
cb3e7bcf96 B&W: New moves. Also changed always-hit moves to NULL; helps #124. 2010-09-19 01:11:03 -07:00
Eevee
c42ce7c1be B&W: Added all new Pokémon! Forms now start at 10001. 2010-09-18 22:53:53 -07:00
Eevee
c05ca1460f Fixed missing indices on the pokemon_moves table. 2010-09-10 23:29:26 -07:00
Eevee
497c3aa0f0 Make baby-trigger items (i.e., incense) a foreign key. #337 2010-09-01 23:24:21 -07:00
Eevee
0fcdb6bcc9 Add a Nature.is_neutral helper property. 2010-09-01 21:52:44 -07:00
Zhorken
3e7d750790 Add foreign type names to the database. 2010-08-06 22:48:30 -04:00
Eevee
1718da9854 Added gen 4 location internal ids and some pseudo-locations. 2010-07-25 22:26:05 -07:00
Eevee
c65c72842f Add identifiers for move flags. 2010-07-25 22:26:05 -07:00
Zhorken
276098b655 Store each Pokémon's initial hatch counter instead of a step count.
The step counts we had weren't even good estimates.  To hatch an egg
uninterrupted takes (counter + 1) * 255 steps in gen IV; what we had
was counter * 256.

Phione and Manaphy have different counters, as do Croagunk and Toxicroak
for some reason, so they're associated with individual Pokémon now,
rather than entire evolution chains.  Double-checked with Pearl,
Platinum, and SoulSilver; there were no differences between the three,
aside from the alternate forms introduced in Platinum.
2010-07-13 23:07:25 -04:00
Zhorken
8ef8c3a915 Add foreign names to the database.
Most names as ripped from HeartGold or SoulSilver.  Gen-III-only names
ripped from Emerald and de-allcapsed; for French, I also judged where
accents belong on newly-lowercase letters.  A couple of them might have
mistakes.
2010-06-14 23:13:42 -04:00
Zhorken
12aaf06359 Added foreign nature names to the database.
Same as abilities.  Japanese as ripped from SoulSilver; French, German,
Italian, and Spanish as ripped from Platinum.
2010-06-07 20:17:50 -04:00
Zhorken
77bec54324 Order Pokémon dex numbers by Pokédex ID. 2010-06-07 16:15:43 -04:00
Zhorken
577a6b44a4 Give Pokémon internal IDs their own table and add all gens' IDs.
- Gen I has them all mixed around.
- Gen II has no surprises, but I figured it's good to be thorough.
- Gen III has the first 251 in order, then a big break, then the
  third-gen Pokémon mixed around, though families are usually together.
- Gen IV has the 493 in order and then alternate forms after Arceus,
  which will be useful to have once Gen V comes and we have to bump
  the alt forms in the pokemon table forward.
2010-06-07 16:15:23 -04:00
Eevee
47631116fb Form groups, rst => markdown 2010-06-02 00:26:57 -07:00
Eevee
17037f53d3 Use absolute_import in markdown.py, to fix import problem. 2010-06-02 00:17:27 -07:00
Eevee
1fbba5476c Scrap docutils for markdown. #275 2010-06-02 00:17:27 -07:00
Eevee
409b16e8ee Link stats to damage classes. 2010-06-02 00:17:27 -07:00
Eevee
b1691804c1 Blindly throw some more indexes on pokemon_moves. 2010-06-02 00:17:26 -07:00
Zhorken
106e156d22 Update the form group description column. #210
I meant to include this in the last commit.  Whoops.

Rotom's description is *really long*, so I needed to bump the length up
to fit it.  Also changed it to an RstTextColumn.
2010-05-26 14:46:01 -04:00
Zhorken
386e215ae3 Add foreign ability names to the database.
This adds Japanese, French, German, Spanish, and Italian names, as
ripped from SoulSilver (Japanese) or Platinum (everything else).

This also fixes a couple of backrefs.
2010-05-26 14:30:32 -04:00
a_magical_me
febfb239fb Python 2.5 compatibility 2010-05-25 14:41:15 -07:00
Eevee
b91c813966 Pokemon.evolution_* => Pokemon.*_pokemon 2010-05-25 00:12:53 -07:00
Eevee
672caf7aa9 Fix a many-to-many join bug with evolutions. 2010-05-25 00:12:53 -07:00
Eevee
cd24ebe9ca Removed evolution_methods table. #42 2010-05-25 00:12:53 -07:00
Eevee
78b6a68cd5 Overhauled evolution. #42 2010-05-25 00:12:53 -07:00
Zhorken
6f63bec90c Link move flavour text to version groups. #169 2010-05-20 01:08:26 -04:00
a_magical_me
ffc30bff8f Factor out logic for finding the default db/index. #180
Note: `if not x:` has changed to `if x is not None:`, changing the
semantics slightly.  Shouldn't be a big issue.
2010-05-13 21:45:51 -07:00
Eevee
5e52bef91a Make plumbing respect the same env vars as the CLI. #180 2010-05-12 23:23:05 -07:00
Eevee
cb2bfa3032 Added some missing item icons and fixed TMs/Data Cards. #248 2010-05-11 20:20:33 -07:00
Eevee
2333670d09 Pokemon.types should order by slot. #220 2010-05-09 21:47:07 -07:00
Zhorken
93108a6a84 Added ability flavour text. #62
We had D/P flavour text in the abilities table already, but I didn't
entirely trust it, so I reripped it along with the rest when I moved
flavour text into its own table.  And we didn't actually use the D/P
text anywhere, so I'm just going to pretend that it is entirely new.
2010-05-04 03:31:54 -04:00
Zhorken
641df3649d Added ability effects. Rewrote short effects. #39 2010-05-04 03:31:40 -04:00
Zhorken
3007297ede Added abilities' generations to the database. 2010-05-04 02:39:51 -04:00
Eevee
b8481d551a Added GrowthRate.max_experience. 2010-05-03 01:00:38 -07:00
Eevee
f8145b87e4 Restored Item.appears_underground and added location support to rst. 2010-05-03 01:00:38 -07:00
Eevee
d98632aa50 Broke existing item flags out into their own table. 2010-05-03 01:00:38 -07:00
Eevee
853a6eb921 Added item HG/SS flavor text and internal ids. #168? 2010-05-03 01:00:37 -07:00
a_magical_me
941bce52d7 Add experience tables. 2010-04-27 14:53:47 -07:00
Eevee
58dccb1803 Jammed in a bunch of nature stuff. 2010-04-26 23:26:37 -07:00
Eevee
affb8a02fb Turned Move.contest_type into a foreign key. 2010-04-26 21:48:44 -07:00
Eevee
b5fd88bba4 Item tidying; fixed missing és, added ItemPocket.identifier. 2010-04-26 21:13:28 -07:00
Eevee
fa3d205e51 At last, imported item and berry data. #10 2010-04-25 23:23:52 -07:00
Eevee
25c81541ae Use fnmatch for filenameish glob parsing. 2010-04-24 15:37:55 -07:00
Eevee
c9f32a8145 Loading big tables now shows a progress indicator. #180 2010-04-24 14:06:56 -07:00
Eevee
2204b95585 Overhauled CLI. #180
- Everything now accepts -i, -e, -q, and -v.

- Plumbing commands now announce what database/index they're using and
  where they got them from.

- New command status, which does nothing but still does the announcing.

- New command reindex, which recreates only the whoosh index.
2010-04-24 14:06:56 -07:00
a_magical_me
b80d2d2963 Fix location_area_encounter_rates
- encounter_type_id -> encounter_terrain_id

- Added a version_id column. Previous rates were from Diamond and
  HeartGold; these have been copied to Pearl & Platinum and SoulSilver,
  respectively, which i assume is accurate. RBY rates need to be added.
2010-04-21 10:57:23 -07:00
Eevee
55dd46fae7 Support natures in lookup. 2010-04-18 22:43:33 -07:00
Eevee
4ae8bb5f21 Added Pokemon.stat() accessor. 2010-04-16 23:09:32 -07:00
Eevee
e73eca020c Added canonical_pokedex, Pokedex.region, and some Pokédex descriptions. 2010-04-16 23:09:32 -07:00
a_magical_me
ef798afdcb Add slot index to encounter_slots 2010-04-12 23:06:15 -07:00
Eevee
b54501ef94 Why am I importing sqlalchemy.databases.mysql...? 2010-03-28 22:18:26 -07:00
Eevee
b367e70b49 Added natures table. 2010-03-28 22:18:24 -07:00
Eevee
a89a616203 Allow passing engine arguments to connect(). 2010-03-17 00:44:33 -07:00
Zhorken
419f65c90c Added language codes alongside the country codes.
Language codes are ISO 639-1; country codes are ISO 3166-1 alpha-2.

The country codes are important to keep for flags and stuff, I guess,
but reporting the language code as a short form for the language is
more correct.

Gonna see if I can do that, I guess.  I added the language codes mostly
just because I was adding languages.
2010-03-15 23:24:29 -04:00
Eevee
47f5953457 Implemented rst as_text, for showing short move effects outside the Web. 2010-03-15 00:10:08 -07:00
Eevee
e0aeb771b2 Make rst as_html handle errors a little more nicely. 2010-03-15 00:10:08 -07:00
Eevee
6e611d7a54 Fixed the hell out of all remaining form problems.
Every flavor page should work with no missing sprites.  Save perhaps for
Unown, because I honestly don't have them.

Every sprite exists as ###-form.png.  There is also still a ###.png,
containing a reasonable default form, so people who don't give a crap
about this mess can just use the numbered sprites.  Beta forms should
now all be ###-beta.png.

Form groups now have a notion of "in-battle", which is used to hide
overworld sprites when appropriate.

Form sprites have a first-class sense of being a default or not, too.

Deoxys is...  well, let's not talk about Deoxys.  Deoxys is fixed.
2010-03-10 00:19:05 -08:00
Eevee
8280652dd2 Factored habitats into a separate table. 2010-03-03 00:53:00 -08:00
Eevee
5b100b1651 Factored Pokémon colors out into their own table. 2010-03-02 21:11:17 -08:00
Zhorken
f24fb43c1b Corrected a docstring in rst.py. 2010-02-22 00:13:28 -05:00
Zhorken
a2b0218035 Moved Gen-I internal Pokémon IDs to their own Pokédex. 2010-02-17 02:19:48 -05:00
Zhorken
3b88a83fff Added Pokédexes to replace dex numbers' generations.
This deals with Gen IV having two Sinnoh dexes and a Johto dex.
2010-02-17 02:16:59 -05:00
Eevee
81eaf4a9ef Made regions first-class objects. 2010-01-28 01:21:35 -08:00
Eevee
e163c13038 Re-re-ripped HG/SS encounters.
Turns out "fishing swarm 2" is time of day; it represents some water
Pokémon that only appear at night.
2010-01-28 01:21:34 -08:00
Eevee
49be86a9d3 Redumped encounters for all five gen4 games. 2010-01-28 01:21:34 -08:00
Zhorken
4384d56c2c Added types' generations and pre-gen-IV damage classes. 2009-12-19 23:09:27 -08:00
Eevee
c1c0225eb8 Optimized the fuck out of pokedex load.
Major change was to skip the ORM entirely.  Sped it up 500%.
2009-12-09 18:15:51 -08:00
Eevee
e6635b4897 Refactored encounters schema so HG/SS can work.
Conditions are now condition values; condition groups are conditions.
Types are now terrain.  Slots are first-class things.

Encounters' condition values and slots' conditions have been broken off
into their own tables, as HG/SS has several slots affected by multiple
conditions.
2009-12-09 14:35:29 -08:00
Eevee
2e49f953c3 Added PokemonMove.machine relation. 2009-11-28 02:20:02 -08:00
Eevee
0a706d44a3 Added ISO-3166 country codes to languages table and lookup. 2009-11-23 21:50:45 -08:00
Eevee
11c0bb01fd Added move categories. #41 2009-11-08 17:00:45 -08:00
Eevee
c2f2e077ce Added HG/SS machines. 2009-09-18 21:45:37 -07:00
Eevee
7aa391c96f Added contest combos. 2009-09-15 20:04:22 -07:00
Eevee
6eb581d76e Marked sprite forms with what version group introduced them. 2009-09-15 00:46:11 -07:00
Eevee
9ec97e2bc3 Added move flavor text. 2009-09-14 22:18:01 -07:00
Eevee
33d0e1e280 Added super contest effects. 2009-09-14 22:07:08 -07:00
Eevee
beb9be4084 Added preliminary HG/SS encounter data. 2009-09-14 21:18:47 -07:00
Eevee
97d2b09d75 Balls. Last commit was only data. Here's move flag code. 2009-09-14 08:29:05 -07:00
Eevee
990469bcd5 Added foreign move names. Japanese only so far.
Also fixed roomaji conversion to not die spectacularly when given
hiragana.  For some reason I let it know about hiragana soukuon and
youon, but nothing else, so it gets totally confused.
2009-09-13 21:06:15 -07:00
Eevee
149b34b888 When loading Pokédex data, commit every 1000 rows.
Mostly done to fix RAM usage issues, but seems to have increased speed slightly.
2009-09-13 20:10:20 -07:00
Eevee
774b69f5bd Made short_effect also an rST column, so effect chance works.
Added support for types in move effects.
2009-09-10 10:20:48 -07:00
Eevee
fc18219158 Added __singlename__ property to tables that have corresponding dex pages. 2009-09-10 10:17:59 -07:00
Eevee
585cb31c0a Added semi-magical reST parsing for move effects. 2009-08-31 21:37:29 -07:00
Eevee
c545fbf764 Moved damage classes to a separate table. #76 2009-08-26 22:30:07 -07:00
Eevee
0946db6b8b Fixed some weirdness using version_group as a one-to-many. 2009-08-18 23:50:36 -07:00
Eevee
fd5e863eed Added --quiet switch to dump/load. 2009-08-18 18:36:45 -07:00
Eevee
1a7d046fbc Vastly improved the pokedex import/export UI.
csvimport is now load; csvexport is now dump.

Both take an optional -e switch to specify an engine, but will happily
use a default SQLite database in the pokedex package directory.

Additionally, the CSV directory is now controlled by the optional -d
switch, and defaults to Doing The Right Thing.

So `pokedex load` now does exactly what you'd expect: loads the data
from the right files into a consistently-located database.
2009-08-18 18:02:53 -07:00
Eevee
545cbc8928 Added generation_id to moves. 2009-08-12 17:24:35 -07:00
Eevee
a253df0280 Added machines table. 2009-08-09 23:07:23 -07:00
Eevee
ce23a82e50 Added Move.effect and VersionGroup.generation relations. 2009-08-03 22:59:39 -04:00
Eevee
7566351ce1 Added growth rate formulas in LaTeX format. 2009-07-28 22:45:55 -07:00
Eevee
6a8569b722 pokemon_moves table no longer tries to have an autoinc column. 2009-07-28 11:22:57 -07:00
Eevee
7347da558a Added Move.type relation. 2009-07-27 19:09:11 -07:00
Eevee
bf5ce11242 Added Pokémon movesets. #14
Has an 'order' column stubbed out for ordering moves learned at the same time.
2009-07-26 23:03:10 -07:00
Eevee
7c7e0484c2 Very simple items table and wild held item data. #10 2009-07-17 23:33:36 -07:00
Eevee
634ef3ed1e Fixed a slew of foriegn key import problems. #29
Curse's type_id was 0, which is bogus; this has been fixed by creating a
real ????? type.
Fourth-gen moves all had zero as a contest effect id, which was also
bogus.
Pokémon 494 and 495 were junk and have been scrapped entirely.
pokemon_form_groups's description column was too short.

pokedex's connect() now takes kwargs passed to sessionmaker().

A more major change: some tables, like pokemon, are self-referential and
contain rows that refer to rows later in the table (for example, Pikachu
evolves from Pichu, which has a higher id).  At the moment such a row is
loaded, the foreign key is thus bogus.  I solved this by turning on
autocommit and wrapping add() in a try block, then attempting to readd
every failed row again after the rest of the table is finished.  Slows
the import down a bit, but makes it work perfectly with foreign key
checks on.
2009-07-03 23:12:13 -04:00
Eevee
4397dfbb0c Added remaining Pokémon form data. #5
Types, abilities, egg groups, and stats for Shaymin, Giratina, and Rotom forms.
Updated height and weight for Shaymin and Giratina forms.
Added Giratina's form descriptions and updated Shaymin's to mention link
battles and freezing.
2009-06-20 22:32:37 -07:00
Eevee
f9391b409a Added some Pokémon methods to hide form weirdness. #5 2009-06-15 20:48:27 -07:00
Eevee
61f973ab27 Added Platinum forms. #5 2009-06-15 20:48:02 -07:00
Eevee
0af6b1c8ab Oops! Added encoding line to tables.py. #6 2009-05-17 03:01:17 -07:00
Eevee
204fe28c7a Documented crazy encounter schema. #7 2009-05-17 00:18:10 -07:00
Eevee
9f6f210fa5 Added encounter data for Diamond, Pearl, and Platinum.
Finally!  Location order is the same as from the old dex, which was
something like the game but ultimately arbitrary, so it's not any better
now.

This takes a very different approach to storage, rather than copying the
game exactly and trying to fix everything in code.  Comments coming
shortly so other people can actually make use of this.
2009-05-01 06:20:18 -07:00
Eevee
67af605e8d Added a couple extra female back sprite flags, new in Platinum.
Renamed the female-sprite columns as for 'gen4' rather than 'dp'.
2009-03-25 20:48:36 -04:00
Eevee
c4883a95f4 Added relations for evolution.
Alternate Formes also now have NULL evolution chain ids.
2009-03-20 19:28:41 -04:00
Eevee
20c9c23f51 Fixed some MySQL import problems.
Tables weren't being defined as UTF-8 if that wasn't the server default.

A lot of tables were trying to create erroneous auto_increment columns.

Foreign key checks were pretty much fucking everything up.
2009-03-07 18:54:01 -08:00
Eevee
774690026c Added habitat sprites. Renamed flavor to flavor_text.
pokemon_flavor_text.flavor -> pokemon_flavor_text.flavor_text
2009-03-06 19:14:42 -08:00
Eevee
e212038be0 Added Pokemon body shapes. 2009-03-04 19:29:43 -08:00
Eevee
8fa671403b Few more relations, for egg groups and evo chains. 2009-03-03 17:58:27 -08:00
Eevee
7315189b10 Added region names to the generations table. 2009-03-03 17:58:10 -08:00
Eevee
94c70f00d3 Added a generation_id column to the pokemon table. 2009-03-02 01:06:31 -08:00
Eevee
35ac91dc48 Added more table relations, for spline-pokedex Pokemon page. 2009-03-01 19:40:02 -08:00
Eevee
e6f5da6dab Added a whole bunch of foreign keys. 2009-02-23 23:31:35 -08:00
Eevee
bad044d1d8 Initial commit, with much of the data imported.
Includes a wrapper script 'pokedex' that can, so far, read data from a
db and spit out CSVs or deploy CSVs to a db.
2009-02-05 00:05:42 -08:00