Game Master¶
Schema pogo_gm: names and combat data from the Game Master. IDs are
stable integers from the game. Names are citext with collation C.
Identifier tables¶
| Table | Key | Name column | Notes |
|---|---|---|---|
pokemon |
pokemon_id |
pokemon_name |
Species |
forms |
form_id |
form_name, form_suffix |
form_id 0 is the default form |
form_group |
group_id |
group_suffix |
Form group for filters |
costumes |
costume_id |
costume_name, costume_basename |
is_noevolve is true when the name ends with _NOEVOLVE |
families |
family_id |
family_name |
Evolution family |
types |
type_id |
type_name |
Element type |
moves |
move_id |
move_name |
Fast or charge move |
weather |
weather_id |
weather_name |
Weather |
items |
item_id |
item_name |
Inventory item |
quest_types |
quest_type_id |
quest_type_name |
Field research type |
quest_reward_types |
quest_reward_type_id |
quest_reward_type_name |
Reward variant (sub_v2_quest_rewards.type) |
forms.form_suffix is the part after the species, for example ALOLA in
VULPIX_ALOLA. forms.form_group_id points at form_group.
Combat tables¶
Parent row: pokemon_templates (pokemon_id, form_id).
Columns include type_id, type2_id, family_id, base_attack,
base_defense, base_stamina, pokedex_height, pokedex_weight,
height_std_dev, weight_std_dev, and shiny_possible.
pokemon_types¶
One row per type on a template. secondary is false for the first type.
pokemon_moves¶
One row per move slot on a template. move_type is quick or cinematic.
pokemon_gender¶
Male, female, and genderless percents. On a normal template they add to 1.0.
pokemon_forms¶
Flags for a species and form pair. is_costume is true when the form is a
costume form.
type_effective¶
Damage multiplier attack_scalar, keyed by (attack_type_id,
target_type_id).
weather_affinities¶
Weather ID and type ID pairs. A spawn of that type is boosted in that weather.
evolution_branches¶
Directed edges between templates, keyed by from-species, from-form, to-species,
and to-form. gender_requirement can restrict the edge.
pokemon_allowed_costume_evolutions¶
Costumes that can evolve for a given template.
Level tables¶
level_scaling has integer levels and candy or stardust costs for regular,
lucky, shadow, and purified Pokémon.
level_cp_multiplier has level as numeric(3,1) and cp_multiplier. Use
it for CP math; candy cost lives on level_scaling.
Version¶
Singleton: batch_id, proto_semver, client_app_version, modified.
Same batch_id can be republished; modified always changes. Notify:
cuno_wake_pogo_gm.
Listener procedure.
Example: name join¶
SELECT p.pokemon_name, f.form_suffix, t.base_attack
FROM pogo_gm.pokemon_templates AS t
JOIN pogo_gm.pokemon AS p USING (pokemon_id)
JOIN pogo_gm.forms AS f USING (form_id)
WHERE p.pokemon_name = 'VULPIX';