1
0
Fork 0
mirror of https://github.com/veekun/pokedex.git synced 2024-08-20 18:16:34 +00:00

Add B/W move metadata.

This commit is contained in:
Eevee 2011-03-06 00:00:40 -08:00
parent 2f11f0b81f
commit 74454f8d76
6 changed files with 779 additions and 0 deletions
pokedex/db

View file

@ -628,6 +628,44 @@ class MoveFlavorText(TableBase):
flavor_text = Column(Unicode(255), nullable=False,
info=dict(description="The English flavor text", official=True, format='gametext'))
class MoveMeta(TableBase):
u"""Metadata for move effects, sorta-kinda ripped straight from the game"""
__tablename__ = 'move_meta'
move_id = Column(Integer, ForeignKey('moves.id'), primary_key=True, nullable=False, autoincrement=False)
meta_category_id = Column(Integer, ForeignKey('move_meta_categories.id'), nullable=False)
meta_ailment_id = Column(Integer, ForeignKey('move_meta_ailments.id'), nullable=False)
min_hits = Column(Integer, nullable=True, index=True)
max_hits = Column(Integer, nullable=True, index=True)
min_turns = Column(Integer, nullable=True, index=True)
max_turns = Column(Integer, nullable=True, index=True)
recoil = Column(Integer, nullable=False, index=True)
healing = Column(Integer, nullable=False, index=True)
crit_rate = Column(Integer, nullable=False, index=True)
ailment_chance = Column(Integer, nullable=False, index=True)
flinch_chance = Column(Integer, nullable=False, index=True)
stat_chance = Column(Integer, nullable=False, index=True)
class MoveMetaAilment(TableBase):
u"""Common status ailments moves can inflict on a single Pokémon, including
major ailments like paralysis and minor ailments like trapping.
"""
__tablename__ = 'move_meta_ailments'
id = Column(Integer, primary_key=True, nullable=False)
name = Column(Unicode(24), nullable=False)
class MoveMetaCategory(TableBase):
u"""Very general categories that loosely group move effects."""
__tablename__ = 'move_meta_categories'
id = Column(Integer, primary_key=True, nullable=False)
description = Column(Unicode(64), nullable=False)
class MoveMetaStatChange(TableBase):
u"""Stat changes moves (may) make."""
__tablename__ = 'move_meta_stat_changes'
move_id = Column(Integer, ForeignKey('moves.id'), primary_key=True, nullable=False, autoincrement=False)
stat_id = Column(Integer, ForeignKey('stats.id'), primary_key=True, nullable=False, autoincrement=False)
change = Column(Integer, nullable=False, index=True)
class MoveName(TableBase):
u"""Non-English name of a move
"""
@ -1431,6 +1469,8 @@ Move.flavor_text = relation(MoveFlavorText, order_by=MoveFlavorText.version_grou
Move.foreign_names = relation(MoveName, backref='move')
Move.generation = relation(Generation, backref='moves')
Move.machines = relation(Machine, backref='move')
Move.meta = relation(MoveMeta, uselist=False, backref='move')
Move.meta_stat_changes = relation(MoveMetaStatChange)
Move.move_effect = relation(MoveEffect, backref='moves')
Move.move_flags = relation(MoveFlag, backref='move')
Move.super_contest_effect = relation(SuperContestEffect, backref='moves')
@ -1463,6 +1503,11 @@ MoveFlag.flag = relation(MoveFlagType)
MoveFlavorText.version_group = relation(VersionGroup)
MoveMeta.category = relation(MoveMetaCategory, backref='move_meta')
MoveMeta.ailment = relation(MoveMetaAilment, backref='move_meta')
MoveMetaStatChange.stat = relation(Stat, backref='move_meta_stat_changes')
MoveName.language = relation(Language)
Nature.foreign_names = relation(NatureName, backref='nature')