-
-
Save Sanqui/640e36d8f6b5fb6d4357 to your computer and use it in GitHub Desktop.
map | |
"A game-specific physical instance of a location_area" | |
* location_area | |
* version_collection (?) | |
* width | |
* height | |
map_connection | |
"A physical connection between two maps" | |
* map0 | |
* map1 | |
* side = enum(ns, ew, dive) | |
* order | |
map_entity | |
"A sprite, trigger, sign, or warp somewhere on an overworld map" | |
* map | |
* x | |
* y | |
* solid (bool) | |
* activation (enum: walk, action) | |
* sprite (NULL=no sprite) | |
map_entity_item | |
"An item obtainable from a map entity" | |
* map_entity | |
* item | |
* amount | |
* method = enum(found, obtained, ?) | |
map_entity_battle | |
"A battle with a trainer, linked to a map entity" | |
* map_entity | |
* trainer_battle | |
map_entity_pokemon | |
"A Pokémon linked to a map entity, either directly fought, received, or being an in-game trade." | |
* map_entity | |
* individual_pokemon | |
* event_type = enum(battle, receive, trade) | |
* traded_pokemon_species (nullable) | |
map_entity_shop | |
"A shop linked to a map entity. Does not include item trades. Everything in a shop can be bought repeatedly." | |
* map_entity | |
map_entity_shop_slot | |
"A single item/tutored move/Pokémon which can be bought in a shop." | |
* map_entity_shop | |
* item (nullable) | |
* individual_pokemon (nullable) | |
* move (nullable) | |
* cost | |
* slot | |
* currency | |
map_entity_move_tutor | |
"An overworld move tutor" | |
* map_entity | |
* move | |
map_entity_special | |
"A special-purpose map entity, such as the name rater, or the move deleter." | |
* map_entity | |
* purpose = enum(name_rater, move_deleter, move_reminder) | |
trainer_class | |
"An in-game trainer class. This also determines the trainers' battle sprite" | |
* name (multilang) | |
* identifier | |
trainer | |
"A trainer found in the game" | |
* trainer_class | |
* name (multilang) | |
* trainer_id | |
trainer_battle | |
"A particular battle with a trainer" | |
* trainer | |
* battle_style = enum(single, double, triple, rotation, sky, inverse) | |
* payout | |
trainer_battle_item | |
"A trainer's usable item in a particular battle" | |
* trainer_battle | |
* item | |
* amount | |
trainer_battle_pokemon | |
"A trainer's Pokémon in a particular battle" | |
* trainer_battle | |
* individual_pokemon | |
* slot | |
individual_pokemon | |
"An individual Pokémon inside a game, e.g. from a trainer or given to the player" | |
* pokemon_species | |
* level (nullable for e.g. trades) | |
* item | |
* is_egg | |
* ivs | |
* ability | |
* gender (nullable) | |
* enhanced_contest_stat (gen 3 trades) | |
* nickname (multilang) | |
* original_trainer | |
individual_pokemon_move | |
"An individual Pokémon's move. If a Pokémon has no move row, they are | |
supposed to simply know level-up moves at their level" | |
* individual_pokemon | |
* move | |
* slot | |
currency ; e.g. money, coins, ash, berrypowder, bp, pokemiles | |
* name (multilang) | |
* introduced_in? probably pointless |
pokedex_media would gain: | |
- all static maps | |
- gen 4 and 5 maps rendered orthogonally | |
- all front-facing overworld sprites | |
- all trainer class sprites |
Oh, huh. That wasn't obvious.
I can't really think of a better way.. Basically, _tutor, _trainer, _item, _shop etc. for entities are like events which the entity can emit.
If you're looking up route 2 trainers, I don't think it's so outrageous to have to go through the route 2 map.
It's a relational database; there doesn't have to be a strict hierarchy. We should keep the database as modular as possible: if i don't care about the detailed map data i should be able to ignore it.
For one, it's simply redundant. Are there other instances of redundancy like this in pokedex right now? Besides version stuff.
Also, In Red/Blue, there are different trainers on different routes, but pointing to identical parties. That's why you can't simply slap location on a trainer, because it can be pointed to from both route 24 and 25 entities.
It's a relational database; there doesn't have to be a strict hierarchy. We should keep the database as modular as possible: if i don't care about the detailed map data i should be able to ignore it.