383,Groudon,,,3,199,,,,35,9500,Continent,8,6,6,-1,5,218,0,0,0,0
384,Rayquaza,,,3,200,,,,70,2065,Sky High,5,2,5,-1,3,220,0,0,0,0
385,Jirachi,,,3,201,,,,3,11,Wish,10,12,4,-1,3,215,100,0,0,0
-386,Deoxys,,,3,202,,,,17,608,DNA,8,12,5,-1,3,215,0,0,0,0
+386,Deoxys,normal,,3,202,,,,17,608,DNA,8,12,5,-1,3,215,0,0,0,0
387,Turtwig,,,4,203,,,,4,102,Tiny Leaf,5,8,,1,45,64,70,0,0,0
388,Grotle,,,4,203,387,1,18,11,970,Grove,5,8,,1,45,141,70,0,0,0
389,Torterra,,,4,203,388,1,32,22,3100,Continent,5,8,,1,45,208,70,0,0,0
476,Probopass,,,4,147,299,4,Mt. Coronet,14,3400,Compass,4,11,,4,60,198,70,0,0,0
477,Dusknoir,,,4,182,356,5,Reaper Cloth,22,1066,Gripper,1,4,,4,45,210,35,0,0,0
478,Froslass,,,4,186,361,8,Dawn Stone,13,266,Snow Land,9,4,,8,75,187,70,0,0,0
-479,Rotom,,,4,240,,,,3,3,Plasma,8,1,,-1,45,132,70,0,0,0
+479,Rotom,normal,,4,240,,,,3,3,Plasma,8,1,,-1,45,132,70,0,0,0
480,Uxie,,,4,241,,,,3,3,Knowledge,10,6,,-1,3,210,140,0,0,0
481,Mesprit,,,4,242,,,,3,3,Emotion,6,6,,-1,3,210,140,0,0,0
482,Azelf,,,4,243,,,,3,3,Willpower,2,6,,-1,3,210,140,0,0,0
-pokemon_id,description
-172,Forms only affect appearance. All wild Pichu are normal Pichu and cannot be converted into spiky-eared Pichu. Spiky-eared Pichu can only be encountered by taking the shiny Pichu from an official promotion to Celebi's shrine in Ilex Forest. Spiky-eared Pichu cannot evolve or be taken into Pokémon Center trade area.
-201,Forms only affect appearance. A form is selected at random before a wild encounter and cannot be changed.
-351,Form changes to match the current weather.
-386,"Forms have different stats and movepools. Form changes depending on the game: normal form in Ruby/Sapphire, Attack form in Fire Red, Defense form in Leaf Green, and Speed form in Emerald. Every form exists in Diamond/Pearl/Platinum, and form is preserved when transferring from an older game. Meteorites in the south end of Veilstone City can be used to switch between forms."
-412,"Cloaks only affect appearance, although they become permanent upon evolution. Cloak changes to match the current terrain after a battle (or when an egg hatches), if possible: Plant Cloak for grassy areas, Sandy Cloak for beaches and caves, or Trash Cloak for buildings."
-413,"Forms have different stats and movepools. During evolution, the current cloak becomes the new form, and can no longer be changed."
-421,"Sunshine form is active only during Sunny Day, due to Flower Gift."
-422,Forms only affect appearance. A form is selected before a wild encounter based on whether the battle is in Western or Eastern Sinnoh and cannot be changed.
-423,Forms only affect appearance. A form is selected before a wild encounter based on whether the battle is in Western or Eastern Sinnoh and cannot be changed.
-479,"Forms have different signature moves. When switching forms, the old signature move is removed and the new one, if any, is learned immediately. In a secret room in the Galactic Eterna Building, accessible only with a Secret Key, there are appliances that can be used to switch between forms."
-487,"Forms have different stats. Giratina becomes Origin form in Distortion World or while holding a Griseous Orb. Otherwise, or during a link battle, Giratina will be in Altered form."
-492,"Forms have different stats and movepools. After using a Gracidea, Shaymin will transform into Sky form during the daytime. If a Gracidea is not used, it is currently nighttime, during a link battle, or Sky form is Frozen, Shaymin will be in Land form. Gracidea only works on an official event Shaymin."
-493,"Form always reflects type, which may be changed by attaching a Plate and activating Multitype."
+pokemon_id,is_battle_only,description
+172,0,Forms only affect appearance. All wild Pichu are normal Pichu and cannot be converted into spiky-eared Pichu. Spiky-eared Pichu can only be encountered by taking the shiny Pichu from an official promotion to Celebi's shrine in Ilex Forest. Spiky-eared Pichu cannot evolve or be taken into Pokémon Center trade area.
+201,0,Forms only affect appearance. A form is selected at random before a wild encounter and cannot be changed.
+351,1,Form changes to match the current weather.
+386,0,"Forms have different stats and movepools. Form changes depending on the game: normal form in Ruby/Sapphire, Attack form in Fire Red, Defense form in Leaf Green, and Speed form in Emerald. Every form exists in Diamond/Pearl/Platinum, and form is preserved when transferring from an older game. Meteorites in the south end of Veilstone City can be used to switch between forms."
+412,0,"Cloaks only affect appearance, although they become permanent upon evolution. Cloak changes to match the current terrain after a battle (or when an egg hatches), if possible: Plant Cloak for grassy areas, Sandy Cloak for beaches and caves, or Trash Cloak for buildings."
+413,0,"Forms have different stats and movepools. During evolution, the current cloak becomes the new form, and can no longer be changed."
+421,1,"Sunshine form is active only during Sunny Day, due to Flower Gift."
+422,0,Forms only affect appearance. A form is selected before a wild encounter based on whether the battle is in Western or Eastern Sinnoh and cannot be changed.
+423,0,Forms only affect appearance. A form is selected before a wild encounter based on whether the battle is in Western or Eastern Sinnoh and cannot be changed.
+479,0,"Forms have different signature moves. When switching forms, the old signature move is removed and the new one, if any, is learned immediately. In a secret room in the Galactic Eterna Building, accessible only with a Secret Key, there are appliances that can be used to switch between forms."
+487,0,"Forms have different stats. Giratina becomes Origin form in Distortion World or while holding a Griseous Orb. Otherwise, or during a link battle, Giratina will be in Altered form."
+492,0,"Forms have different stats and movepools. After using a Gracidea, Shaymin will transform into Sky form during the daytime. If a Gracidea is not used, it is currently nighttime, during a link battle, or Sky form is Frozen, Shaymin will be in Land form. Gracidea only works on an official event Shaymin."
+493,0,"Form always reflects type, which may be changed by attaching a Plate and activating Multitype."
"""Returns the name of this Pokémon, including its Forme, if any."""
if self.forme_name:
- return "%s %s" % (self.forme_name.capitalize(), self.name)
+ return "%s %s" % (self.forme_name.title(), self.name)
return self.name
@property
class PokemonFormGroup(TableBase):
__tablename__ = 'pokemon_form_groups'
pokemon_id = Column(Integer, ForeignKey('pokemon.id'), primary_key=True, nullable=False, autoincrement=False)
+ is_battle_only = Column(Boolean, nullable=False)
description = Column(Unicode(512), nullable=False)
class PokemonFormSprite(TableBase):
pokemon_id = Column(Integer, ForeignKey('pokemon.id'), primary_key=True, nullable=False, autoincrement=False)
introduced_in_version_group_id = Column(Integer, ForeignKey('version_groups.id'), primary_key=True, nullable=False, autoincrement=False)
name = Column(Unicode(16), nullable=True)
+ is_default = Column(Boolean, nullable=True)
class PokemonHabitat(TableBase):
__tablename__ = 'pokemon_habitats'
Pokemon.pokemon_color = relation(PokemonColor, backref='pokemon')
Pokemon.color = association_proxy('pokemon_color', 'name')
Pokemon.dex_numbers = relation(PokemonDexNumber, backref='pokemon')
+Pokemon.default_form_sprite = relation(PokemonFormSprite,
+ primaryjoin=and_(
+ Pokemon.id==PokemonFormSprite.pokemon_id,
+ PokemonFormSprite.is_default==True,
+ ),
+ uselist=False)
Pokemon.egg_groups = relation(EggGroup, secondary=PokemonEggGroup.__table__,
order_by=PokemonEggGroup.egg_group_id,
backref='pokemon')