- id = Column(Integer, primary_key=True, nullable=False)
- name = Column(Unicode(20), nullable=False)
- forme_name = Column(Unicode(16))
- forme_base_pokemon_id = Column(Integer, ForeignKey('pokemon.id'))
- generation_id = Column(Integer, ForeignKey('generations.id'))
- evolution_chain_id = Column(Integer, ForeignKey('evolution_chains.id'))
- height = Column(Integer, nullable=False)
- weight = Column(Integer, nullable=False)
- species = Column(Unicode(16), nullable=False)
- color_id = Column(Integer, ForeignKey('pokemon_colors.id'), nullable=False)
- pokemon_shape_id = Column(Integer, ForeignKey('pokemon_shapes.id'), nullable=True)
- habitat_id = Column(Integer, ForeignKey('pokemon_habitats.id'), nullable=True)
- gender_rate = Column(Integer, nullable=False)
- capture_rate = Column(Integer, nullable=False)
- base_experience = Column(Integer, nullable=False)
- base_happiness = Column(Integer, nullable=False)
- is_baby = Column(Boolean, nullable=False)
- hatch_counter = Column(Integer, nullable=False)
- has_gen4_fem_sprite = Column(Boolean, nullable=False)
- has_gen4_fem_back_sprite = Column(Boolean, nullable=False)
+ id = Column(Integer, primary_key=True, nullable=False,
+ info=dict(description=u"A numeric ID"))
+ name = Column(Unicode(20), nullable=False,
+ info=dict(description=u"The English name of the Pokémon", official=True, format='plaintext'))
+ generation_id = Column(Integer, ForeignKey('generations.id'),
+ info=dict(description=u"ID of the generation this species first appeared in"))
+ evolution_chain_id = Column(Integer, ForeignKey('evolution_chains.id'),
+ info=dict(description=u"ID of the species' evolution chain (a.k.a. family)"))
+ height = Column(Integer, nullable=False,
+ info=dict(description=u"The height of the pokémon, in decimeters (tenths of a meter)"))
+ weight = Column(Integer, nullable=False,
+ info=dict(description=u"The weight of the pokémon, in tenths of a kilogram (decigrams)"))
+ species = Column(Unicode(16), nullable=False,
+ info=dict(description=u'The short English flavor text, such as "Seed" or "Lizard"; usually affixed with the word "Pokémon"',
+ official=True, format='plaintext'))
+ color_id = Column(Integer, ForeignKey('pokemon_colors.id'), nullable=False,
+ info=dict(description=u"ID of this pokémon's pokédex color, as used for a gimmick search function in the games."))
+ pokemon_shape_id = Column(Integer, ForeignKey('pokemon_shapes.id'), nullable=True,
+ info=dict(description=u"ID of this pokémon's body shape, as used for a gimmick search function in the games."))
+ habitat_id = Column(Integer, ForeignKey('pokemon_habitats.id'), nullable=True,
+ info=dict(description=u"ID of this pokémon's habitat, as used for a gimmick search function in the games."))
+ gender_rate = Column(Integer, nullable=False,
+ info=dict(description=u"The chance of this pokémon being female, in eighths; or -1 for genderless"))
+ capture_rate = Column(Integer, nullable=False,
+ info=dict(description=u"The base capture rate; up to 255"))
+ base_experience = Column(Integer, nullable=False,
+ info=dict(description=u"The base EXP gained when defeating this pokémon")) # XXX: Is this correct?
+ base_happiness = Column(Integer, nullable=False,
+ info=dict(description=u"The tameness when caught by a normal ball"))
+ is_baby = Column(Boolean, nullable=False,
+ info=dict(description=u"True iff the pokémon is a baby")) # XXX: What exactly makes it a baby?
+ hatch_counter = Column(Integer, nullable=False,
+ info=dict(description=u"Initial hatch counter: one must walk 255 × (hatch_counter + 1) steps before this pokémon's egg hatches, unless utilizing bonuses like Flame Body's"))
+ has_gen4_fem_sprite = Column(Boolean, nullable=False,
+ info=dict(description=u"Set iff the species' female front sprite is different from the male's in generation IV"))
+ has_gen4_fem_back_sprite = Column(Boolean, nullable=False,
+ info=dict(description=u"Set iff the species' female back sprite is different from the male's in generation IV"))