mirror of
https://github.com/veekun/pokedex.git
synced 2024-08-20 18:16:34 +00:00
Added remaining Pokémon form data. #5
Types, abilities, egg groups, and stats for Shaymin, Giratina, and Rotom forms. Updated height and weight for Shaymin and Giratina forms. Added Giratina's form descriptions and updated Shaymin's to mention link battles and freezing.
This commit is contained in:
parent
f9391b409a
commit
4397dfbb0c
7 changed files with 105 additions and 12 deletions
|
@ -384,7 +384,7 @@ id,name,forme_name,forme_base_pokemon_id,generation_id,evolution_chain_id,evolut
|
|||
383,Groudon,,,3,199,,,,35,9500,Continent,red,6,rough terrain,-1,5,218,0,,0,0,0
|
||||
384,Rayquaza,,,3,200,,,,70,2065,Sky High,green,2,rare,-1,3,220,0,,0,0,0
|
||||
385,Jirachi,,,3,201,,,,3,11,Wish,yellow,12,mountain,-1,3,215,100,,0,0,0
|
||||
386,Deoxys,normal,,3,202,,,,17,608,DNA,red,12,rare,-1,3,215,0,,0,0,0
|
||||
386,Deoxys,,,3,202,,,,17,608,DNA,red,12,rare,-1,3,215,0,,0,0,0
|
||||
387,Turtwig,,,4,203,,,,4,102,Tiny Leaf,green,8,,1,45,64,70,,0,0,0
|
||||
388,Grotle,,,4,203,387,1,18,11,970,Grove,green,8,,1,45,141,70,,0,0,0
|
||||
389,Torterra,,,4,203,388,1,32,22,3100,Continent,green*,8,,1,45,208,70,,0,0,0
|
||||
|
@ -411,7 +411,7 @@ id,name,forme_name,forme_base_pokemon_id,generation_id,evolution_chain_id,evolut
|
|||
410,Shieldon,,,4,212,,,,5,570,Shield,gray,8,,1,45,99,70,,0,0,0
|
||||
411,Bastiodon,,,4,212,410,1,30,13,1495,Shield,gray,8,,1,45,199,70,,0,0,0
|
||||
412,Burmy,,,4,213,,,,2,34,Bagworm,gray,2,,4,120,61,70,,0,0,0
|
||||
413,Wormadam,grass,,4,213,412,3,20,5,65,Bagworm,gray,2,,8,45,159,70,,0,0,0
|
||||
413,Wormadam,plant,,4,213,412,3,20,5,65,Bagworm,gray,2,,8,45,159,70,,0,0,0
|
||||
414,Mothim,,,4,213,412,2,20,9,233,Moth,yellow,13,,0,45,159,70,,0,0,0
|
||||
415,Combee,,,4,214,,,,3,55,Tiny Bee,yellow,11,,1,120,63,70,,0,1,0
|
||||
416,Vespiquen,,,4,214,415,3,21,12,385,Beehive,yellow,9,,8,45,188,70,,0,0,0
|
||||
|
@ -492,15 +492,15 @@ id,name,forme_name,forme_base_pokemon_id,generation_id,evolution_chain_id,evolut
|
|||
491,Darkrai,,,4,252,,,,15,505,Pitch-Black,black,12,,-1,3,210,0,,0,0,0
|
||||
492,Shaymin,land,,4,253,,,,2,21,Gratitude,green,8,,-1,45,64,100,,0,0,0
|
||||
493,Arceus,,,4,254,,,,32,3200,Alpha,gray,8,,-1,3,255,0,,0,0,0
|
||||
494,Pokemon494,,,,,,,,0,0,,,0,,-1,3,255,0,,0,0,0
|
||||
495,Pokemon495,,,,,,,,0,0,,,0,,-1,3,255,0,,0,0,0
|
||||
496,Deoxys,attack,386,,202,,,,17,608,DNA,red,12,rare,-1,3,215,0,,0,0,0
|
||||
497,Deoxys,defense,386,,202,,,,17,608,DNA,red,12,rare,-1,3,215,0,,0,0,0
|
||||
498,Deoxys,speed,386,,202,,,,17,608,DNA,red,12,rare,-1,3,215,0,,0,0,0
|
||||
499,Wormadam,ground,413,,213,412,3,20,5,65,Bagworm,gray,2,,8,45,159,70,,0,0,0
|
||||
500,Wormadam,steel,413,,213,412,3,20,5,65,Bagworm,gray,2,,8,45,159,70,,0,0,0
|
||||
501,Giratina,origin,487,4,248,,,,45,7500,Renegade,black,10,,-1,3,220,0,,0,0,0
|
||||
502,Shaymin,sky,492,4,253,,,,2,21,Gratitude,green,8,,-1,45,64,100,,0,0,0
|
||||
494,Pokemon494,,,4,,,,,0,0,,,0,,-1,3,255,0,,0,0,0
|
||||
495,Pokemon495,,,4,,,,,0,0,,,0,,-1,3,255,0,,0,0,0
|
||||
496,Deoxys,attack,386,4,202,,,,17,608,DNA,red,12,rare,-1,3,215,0,,0,0,0
|
||||
497,Deoxys,defense,386,4,202,,,,17,608,DNA,red,12,rare,-1,3,215,0,,0,0,0
|
||||
498,Deoxys,speed,386,4,202,,,,17,608,DNA,red,12,rare,-1,3,215,0,,0,0,0
|
||||
499,Wormadam,sandy,413,4,213,412,3,20,5,65,Bagworm,gray,2,,8,45,159,70,,0,0,0
|
||||
500,Wormadam,trash,413,4,213,412,3,20,5,65,Bagworm,gray,2,,8,45,159,70,,0,0,0
|
||||
501,Giratina,origin,487,4,248,,,,69,6500,Renegade,black,10,,-1,3,220,0,,0,0,0
|
||||
502,Shaymin,sky,492,4,253,,,,4,52,Gratitude,green,8,,-1,45,64,100,,0,0,0
|
||||
503,Rotom,heat,479,4,240,,,,3,3,Plasma,red,1,,-1,45,132,70,,0,0,0
|
||||
504,Rotom,wash,479,4,240,,,,3,3,Plasma,red,1,,-1,45,132,70,,0,0,0
|
||||
505,Rotom,frost,479,4,240,,,,3,3,Plasma,red,1,,-1,45,132,70,,0,0,0
|
||||
|
|
|
|
@ -203,6 +203,12 @@ pokemon_id,ability_id,slot
|
|||
481,26,1
|
||||
482,26,1
|
||||
488,26,1
|
||||
501,26,1
|
||||
503,26,1
|
||||
504,26,1
|
||||
505,26,1
|
||||
506,26,1
|
||||
507,26,1
|
||||
46,27,1
|
||||
47,27,1
|
||||
285,27,1
|
||||
|
@ -256,6 +262,7 @@ pokemon_id,ability_id,slot
|
|||
385,32,1
|
||||
440,32,2
|
||||
468,32,1
|
||||
502,32,1
|
||||
116,33,1
|
||||
118,33,1
|
||||
119,33,1
|
||||
|
|
|
|
@ -539,6 +539,11 @@ pokemon_id,egg_group_id
|
|||
475,11
|
||||
477,11
|
||||
479,11
|
||||
503,11
|
||||
504,11
|
||||
505,11
|
||||
506,11
|
||||
507,11
|
||||
118,12
|
||||
119,12
|
||||
129,12
|
||||
|
@ -645,3 +650,5 @@ pokemon_id,egg_group_id
|
|||
496,15
|
||||
497,15
|
||||
498,15
|
||||
501,15
|
||||
502,15
|
||||
|
|
|
|
@ -8,5 +8,6 @@ pokemon_id,description
|
|||
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."
|
||||
492,"Forms have different stats and movepools. After using Gracidea, Sky form will be active during daytime; otherwise, only Land form is active. Gracidea only works on an official event Shaymin."
|
||||
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."
|
||||
|
|
|
|
@ -2999,3 +2999,45 @@ pokemon_id,stat_id,base_stat,effort
|
|||
500,4,69,0
|
||||
500,5,95,1
|
||||
500,6,36,0
|
||||
501,1,150,3
|
||||
501,2,120,0
|
||||
501,3,100,0
|
||||
501,4,120,0
|
||||
501,5,100,0
|
||||
501,6,90,0
|
||||
502,1,100,3
|
||||
502,2,103,0
|
||||
502,3,75,0
|
||||
502,4,120,0
|
||||
502,5,75,0
|
||||
502,6,127,0
|
||||
503,1,50,0
|
||||
503,2,65,0
|
||||
503,3,107,0
|
||||
503,4,105,1
|
||||
503,5,107,0
|
||||
503,6,86,1
|
||||
504,1,50,0
|
||||
504,2,65,0
|
||||
504,3,107,0
|
||||
504,4,105,1
|
||||
504,5,107,0
|
||||
504,6,86,1
|
||||
505,1,50,0
|
||||
505,2,65,0
|
||||
505,3,107,0
|
||||
505,4,105,1
|
||||
505,5,107,0
|
||||
505,6,86,1
|
||||
506,1,50,0
|
||||
506,2,65,0
|
||||
506,3,107,0
|
||||
506,4,105,1
|
||||
506,5,107,0
|
||||
506,6,86,1
|
||||
507,1,50,0
|
||||
507,2,65,0
|
||||
507,3,107,0
|
||||
507,4,105,1
|
||||
507,5,107,0
|
||||
507,6,86,1
|
||||
|
|
|
|
@ -170,6 +170,7 @@ pokemon_id,type_id,slot
|
|||
468,3,2
|
||||
469,3,2
|
||||
472,3,2
|
||||
502,3,2
|
||||
1,4,2
|
||||
2,4,2
|
||||
3,4,2
|
||||
|
@ -370,6 +371,12 @@ pokemon_id,type_id,slot
|
|||
478,8,2
|
||||
479,8,2
|
||||
487,8,1
|
||||
501,8,1
|
||||
503,8,2
|
||||
504,8,2
|
||||
505,8,2
|
||||
506,8,2
|
||||
507,8,2
|
||||
81,9,2
|
||||
82,9,2
|
||||
205,9,2
|
||||
|
@ -576,6 +583,7 @@ pokemon_id,type_id,slot
|
|||
465,12,1
|
||||
470,12,1
|
||||
492,12,1
|
||||
502,12,1
|
||||
25,13,1
|
||||
26,13,1
|
||||
81,13,1
|
||||
|
@ -604,6 +612,11 @@ pokemon_id,type_id,slot
|
|||
462,13,1
|
||||
466,13,1
|
||||
479,13,1
|
||||
503,13,1
|
||||
504,13,1
|
||||
505,13,1
|
||||
506,13,1
|
||||
507,13,1
|
||||
63,14,1
|
||||
64,14,1
|
||||
65,14,1
|
||||
|
@ -701,6 +714,7 @@ pokemon_id,type_id,slot
|
|||
483,16,2
|
||||
484,16,2
|
||||
487,16,2
|
||||
501,16,2
|
||||
197,17,1
|
||||
198,17,1
|
||||
215,17,1
|
||||
|
|
|
|
@ -180,6 +180,14 @@ class Move(TableBase):
|
|||
super_contest_effect_id = Column(Integer, nullable=False)
|
||||
|
||||
class Pokemon(TableBase):
|
||||
"""The core to this whole mess.
|
||||
|
||||
Note that I use both 'forme' and 'form' in both code and the database. I
|
||||
only use 'forme' when specifically referring to Pokémon that have multiple
|
||||
distinct species as forms—i.e., different stats or movesets. 'Form' is a
|
||||
more general term referring to any variation within a species, including
|
||||
purely cosmetic forms like Unown.
|
||||
"""
|
||||
__tablename__ = 'pokemon'
|
||||
id = Column(Integer, primary_key=True, nullable=False)
|
||||
name = Column(Unicode(20), nullable=False)
|
||||
|
@ -225,6 +233,17 @@ class Pokemon(TableBase):
|
|||
return "%s %s" % (self.forme_name.capitalize(), self.name)
|
||||
return self.name
|
||||
|
||||
@property
|
||||
def normal_form(self):
|
||||
"""Returns the normal form for this Pokémon; i.e., this will return
|
||||
regular Deoxys when called on any Deoxys form.
|
||||
"""
|
||||
|
||||
if self.forme_base_pokemon:
|
||||
return self.forme_base_pokemon
|
||||
|
||||
return self
|
||||
|
||||
class PokemonAbility(TableBase):
|
||||
__tablename__ = 'pokemon_abilities'
|
||||
pokemon_id = Column(Integer, ForeignKey('pokemon.id'), primary_key=True, nullable=False, autoincrement=False)
|
||||
|
@ -332,6 +351,9 @@ LocationArea.location = relation(Location, backref='areas')
|
|||
Pokemon.abilities = relation(Ability, secondary=PokemonAbility.__table__,
|
||||
order_by=PokemonAbility.slot,
|
||||
backref='pokemon')
|
||||
Pokemon.formes = relation(Pokemon, primaryjoin=Pokemon.id==Pokemon.forme_base_pokemon_id,
|
||||
backref=backref('forme_base_pokemon',
|
||||
remote_side=[Pokemon.id]))
|
||||
Pokemon.dex_numbers = relation(PokemonDexNumber, backref='pokemon')
|
||||
Pokemon.egg_groups = relation(EggGroup, secondary=PokemonEggGroup.__table__,
|
||||
order_by=PokemonEggGroup.egg_group_id,
|
||||
|
|
Loading…
Reference in a new issue