+ id = Column(Integer, primary_key=True, nullable=False,
+ info=dict(description="A numeric ID"))
+ name = Column(Unicode(24), nullable=False,
+ info=dict(description="The official English name of this ability", official=True, format='plaintext'))
+ generation_id = Column(Integer, ForeignKey('generations.id'), nullable=False,
+ info=dict(description="ID of the generation this ability was introduced in", detail=True))
+ effect = Column(markdown.MarkdownColumn(5120), nullable=False,
+ info=dict(description="Detailed description of this ability's effect", format='markdown'))
+ short_effect = Column(markdown.MarkdownColumn(255), nullable=False,
+ info=dict(description="Short summary of this ability's effect", format='markdown'))
+
+class AbilityFlavorText(TableBase):
+ """In-game flavor text of an ability
+ """
+ __tablename__ = 'ability_flavor_text'
+ ability_id = Column(Integer, ForeignKey('abilities.id'), primary_key=True, nullable=False, autoincrement=False,
+ info=dict(description="A numeric ID"))
+ version_group_id = Column(Integer, ForeignKey('version_groups.id'), primary_key=True, nullable=False, autoincrement=False,
+ info=dict(description="The versions this flavor text is shown in"))
+ flavor_text = Column(Unicode(64), nullable=False,
+ info=dict(description="The actual flavor text", official=True, format='gametext'))
+
+class AbilityName(TableBase):
+ """Non-English official name of an ability
+ """
+ __tablename__ = 'ability_names'
+ ability_id = Column(Integer, ForeignKey('abilities.id'), primary_key=True, nullable=False, autoincrement=False,
+ info=dict(description="ID of the ability"))
+ language_id = Column(Integer, ForeignKey('languages.id'), primary_key=True, nullable=False, autoincrement=False,
+ info=dict(description="ID of the language"))
+ name = Column(Unicode(16), nullable=False,
+ info=dict(description="ID of the language", official=True, foreign=True, format='plaintext'))