mirror of
https://github.com/veekun/pokedex.git
synced 2024-08-20 18:16:34 +00:00
Add episodes and warrior transformation info.
This commit is contained in:
parent
108c4243da
commit
765be26405
7 changed files with 371 additions and 0 deletions
39
pokedex/data/csv/conquest_episode_names.csv
Normal file
39
pokedex/data/csv/conquest_episode_names.csv
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
episode_id,local_language_id,name
|
||||||
|
1,9,The Legend of Ransei
|
||||||
|
2,9,The Road to Conquest
|
||||||
|
3,9,Happily Ever After
|
||||||
|
4,9,The Burden of Peace
|
||||||
|
5,9,The Way of the Warrior
|
||||||
|
6,9,The Joy of Battle
|
||||||
|
7,9,Pride and Precociousness
|
||||||
|
8,9,Tragic Determination
|
||||||
|
9,9,A Shroud of Darkness
|
||||||
|
10,9,Not Worth Fighting Over... 1
|
||||||
|
11,9,Teaching Them a Lesson
|
||||||
|
12,9,The Reluctant Genius
|
||||||
|
13,9,The Unparalleled Warrior
|
||||||
|
14,9,A Ninja amongst Ninjas
|
||||||
|
15,9,Archenemies
|
||||||
|
16,9,Time for Battle!
|
||||||
|
17,9,Land of Love and Righteousness
|
||||||
|
18,9,Love is a Battlefield
|
||||||
|
19,9,The Final Gamble
|
||||||
|
20,9,Blowing in the Wind
|
||||||
|
21,9,Ransei's Legendary Beauty
|
||||||
|
22,9,All Grown Up
|
||||||
|
23,9,The Rebel
|
||||||
|
24,9,That Which He Holds Dear
|
||||||
|
25,9,Not Worth Fighting Over... 2
|
||||||
|
26,9,The Rose of Ransei
|
||||||
|
27,9,The Visionary's Quest
|
||||||
|
28,9,Grace and Beauty
|
||||||
|
29,9,Pokémari and Me
|
||||||
|
30,9,The Dragon's Dream
|
||||||
|
31,9,Putting the Books Down
|
||||||
|
32,9,A Date with Destiny
|
||||||
|
33,9,This One Goes Out to My Fans
|
||||||
|
34,9,Simply the Best
|
||||||
|
35,9,Not Worth Fighting Over... 3
|
||||||
|
36,9,A Fate Born of Beauty
|
||||||
|
37,9,The Free Spirit's Path
|
||||||
|
38,9,Two Heroes of Ransei
|
|
41
pokedex/data/csv/conquest_episode_warriors.csv
Normal file
41
pokedex/data/csv/conquest_episode_warriors.csv
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
episode_id,warrior_id
|
||||||
|
1,1
|
||||||
|
1,2
|
||||||
|
2,3
|
||||||
|
3,5
|
||||||
|
4,19
|
||||||
|
5,26
|
||||||
|
6,14
|
||||||
|
7,7
|
||||||
|
8,9
|
||||||
|
9,18
|
||||||
|
10,36
|
||||||
|
11,11
|
||||||
|
12,20
|
||||||
|
13,33
|
||||||
|
14,24
|
||||||
|
15,12
|
||||||
|
16,25
|
||||||
|
17,28
|
||||||
|
18,29
|
||||||
|
19,10
|
||||||
|
20,22
|
||||||
|
21,17
|
||||||
|
22,23
|
||||||
|
23,6
|
||||||
|
24,16
|
||||||
|
25,37
|
||||||
|
26,4
|
||||||
|
27,21
|
||||||
|
28,34
|
||||||
|
29,15
|
||||||
|
30,13
|
||||||
|
31,8
|
||||||
|
32,31
|
||||||
|
33,27
|
||||||
|
34,30
|
||||||
|
35,38
|
||||||
|
36,32
|
||||||
|
37,35
|
||||||
|
38,1
|
||||||
|
38,2
|
|
39
pokedex/data/csv/conquest_episodes.csv
Normal file
39
pokedex/data/csv/conquest_episodes.csv
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
id,identifier
|
||||||
|
1,the-legend-of-ransei
|
||||||
|
2,the-road-to-conquest
|
||||||
|
3,happily-ever-after
|
||||||
|
4,the-burden-of-peace
|
||||||
|
5,the-way-of-the-warrior
|
||||||
|
6,the-joy-of-battle
|
||||||
|
7,pride-and-precociousness
|
||||||
|
8,tragic-determination
|
||||||
|
9,a-shroud-of-darkness
|
||||||
|
10,not-worth-fighting-over-1
|
||||||
|
11,teaching-them-a-lesson
|
||||||
|
12,the-reluctant-genius
|
||||||
|
13,the-unparalleled-warrior
|
||||||
|
14,a-ninja-amongst-ninjas
|
||||||
|
15,archenemies
|
||||||
|
16,time-for-battle
|
||||||
|
17,land-of-love-and-righteousness
|
||||||
|
18,love-is-a-battlefield
|
||||||
|
19,the-final-gamble
|
||||||
|
20,blowing-in-the-wind
|
||||||
|
21,ranseis-legendary-beauty
|
||||||
|
22,all-grown-up
|
||||||
|
23,the-rebel
|
||||||
|
24,that-which-he-holds-dear
|
||||||
|
25,not-worth-fighting-over-2
|
||||||
|
26,the-rose-of-ransei
|
||||||
|
27,the-visionarys-quest
|
||||||
|
28,grace-and-beauty
|
||||||
|
29,pokemari-and-me
|
||||||
|
30,the-dragons-dream
|
||||||
|
31,putting-the-books-down
|
||||||
|
32,a-date-with-destiny
|
||||||
|
33,this-one-goes-out-to-my-fans
|
||||||
|
34,simply-the-best
|
||||||
|
35,not-worth-fighting-over-3
|
||||||
|
36,a-fate-born-of-beauty
|
||||||
|
37,the-free-spirits-path
|
||||||
|
38,two-heroes-of-ransei
|
|
90
pokedex/data/csv/conquest_transformation_pokemon.csv
Normal file
90
pokedex/data/csv/conquest_transformation_pokemon.csv
Normal file
|
@ -0,0 +1,90 @@
|
||||||
|
transformation_id,pokemon_species_id
|
||||||
|
3,133
|
||||||
|
3,134
|
||||||
|
3,135
|
||||||
|
3,136
|
||||||
|
3,196
|
||||||
|
3,197
|
||||||
|
3,470
|
||||||
|
3,471
|
||||||
|
6,133
|
||||||
|
6,134
|
||||||
|
6,135
|
||||||
|
6,136
|
||||||
|
6,196
|
||||||
|
6,197
|
||||||
|
6,470
|
||||||
|
6,471
|
||||||
|
8,635
|
||||||
|
8,644
|
||||||
|
10,39
|
||||||
|
10,40
|
||||||
|
12,391
|
||||||
|
12,392
|
||||||
|
13,643
|
||||||
|
15,502
|
||||||
|
15,503
|
||||||
|
17,404
|
||||||
|
17,405
|
||||||
|
19,496
|
||||||
|
19,497
|
||||||
|
21,131
|
||||||
|
21,144
|
||||||
|
23,533
|
||||||
|
23,534
|
||||||
|
25,42
|
||||||
|
25,169
|
||||||
|
27,383
|
||||||
|
27,464
|
||||||
|
29,627
|
||||||
|
29,628
|
||||||
|
31,150
|
||||||
|
31,475
|
||||||
|
33,204
|
||||||
|
33,205
|
||||||
|
35,525
|
||||||
|
35,526
|
||||||
|
37,200
|
||||||
|
37,429
|
||||||
|
39,570
|
||||||
|
39,571
|
||||||
|
41,306
|
||||||
|
41,379
|
||||||
|
43,25
|
||||||
|
43,26
|
||||||
|
45,608
|
||||||
|
45,609
|
||||||
|
47,397
|
||||||
|
47,398
|
||||||
|
49,575
|
||||||
|
49,576
|
||||||
|
51,93
|
||||||
|
51,94
|
||||||
|
53,215
|
||||||
|
53,461
|
||||||
|
55,5
|
||||||
|
55,6
|
||||||
|
57,253
|
||||||
|
57,254
|
||||||
|
59,64
|
||||||
|
59,65
|
||||||
|
61,361
|
||||||
|
61,478
|
||||||
|
63,554
|
||||||
|
63,555
|
||||||
|
65,636
|
||||||
|
65,637
|
||||||
|
67,447
|
||||||
|
67,448
|
||||||
|
69,376
|
||||||
|
69,483
|
||||||
|
71,394
|
||||||
|
71,395
|
||||||
|
73,411
|
||||||
|
73,639
|
||||||
|
75,624
|
||||||
|
75,625
|
||||||
|
77,611
|
||||||
|
77,612
|
||||||
|
79,552
|
||||||
|
79,553
|
|
8
pokedex/data/csv/conquest_transformation_warriors.csv
Normal file
8
pokedex/data/csv/conquest_transformation_warriors.csv
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
transformation_id,present_warrior_id
|
||||||
|
43,21
|
||||||
|
45,20
|
||||||
|
55,12
|
||||||
|
59,14
|
||||||
|
67,3
|
||||||
|
69,19
|
||||||
|
69,34
|
|
42
pokedex/data/csv/conquest_warrior_transformation.csv
Normal file
42
pokedex/data/csv/conquest_warrior_transformation.csv
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
transformed_warrior_rank_id,is_automatic,required_link,completed_episode_id,current_episode_id,distant_warrior_id,female_warlord_count,pokemon_count,collection_type_id,warrior_count
|
||||||
|
2,1,,,,,,,,
|
||||||
|
3,0,80,,38,,,,,
|
||||||
|
5,1,,,,,,,,
|
||||||
|
6,0,80,,38,,,,,
|
||||||
|
8,0,80,,2,,,,,
|
||||||
|
10,0,55,,,,,,,
|
||||||
|
12,0,60,,,,,,,
|
||||||
|
13,0,70,,,,,,,
|
||||||
|
15,0,65,,,,,,,
|
||||||
|
17,0,60,,,22,,,,
|
||||||
|
19,0,60,,,,,100,,
|
||||||
|
21,0,70,8,,,,,,
|
||||||
|
23,0,60,,,,,,,
|
||||||
|
25,0,60,,,,,,4,
|
||||||
|
27,0,75,6,,,,,,
|
||||||
|
29,0,60,,30,,,,,
|
||||||
|
31,0,75,15,,,,,,
|
||||||
|
33,0,55,,,,,,,
|
||||||
|
35,0,60,,,,,,,
|
||||||
|
37,0,60,,,,,,8,
|
||||||
|
39,0,60,,,,,,,
|
||||||
|
41,0,70,,,,,,,50
|
||||||
|
43,0,60,,,,,,,
|
||||||
|
45,0,60,,,,,,,
|
||||||
|
47,0,60,,,7,,,,
|
||||||
|
49,0,60,,,,,,,
|
||||||
|
51,0,60,,,,,,,
|
||||||
|
53,0,60,,,,,,,
|
||||||
|
55,0,65,,,,,,,
|
||||||
|
57,0,60,,,,3,,,
|
||||||
|
59,0,60,,,,,,,
|
||||||
|
61,0,55,,,,,,,
|
||||||
|
63,0,55,,,,,,,
|
||||||
|
65,0,65,,,,,,,
|
||||||
|
67,0,60,,,,,,,
|
||||||
|
69,0,80,,,,,,,
|
||||||
|
71,0,65,,,,,,,
|
||||||
|
73,0,70,,,,,,,
|
||||||
|
75,0,60,,,,,,,
|
||||||
|
77,0,60,,,,,,,
|
||||||
|
79,0,60,,,,,,,
|
|
|
@ -217,6 +217,38 @@ class BerryFlavor(TableBase):
|
||||||
flavor = Column(Integer, nullable=False,
|
flavor = Column(Integer, nullable=False,
|
||||||
info=dict(description="The level of the flavor in the berry"))
|
info=dict(description="The level of the flavor in the berry"))
|
||||||
|
|
||||||
|
class ConquestEpisode(TableBase):
|
||||||
|
u"""An episode from Pokémon Conquest: one of a bunch of mini-stories
|
||||||
|
featuring a particular warrior.
|
||||||
|
|
||||||
|
The main story, "The Legend of Ransei", also counts, even though it's not
|
||||||
|
in the episode select menu and there's no way to replay it.
|
||||||
|
"""
|
||||||
|
__tablename__ = 'conquest_episodes'
|
||||||
|
__singlename__ = 'episode'
|
||||||
|
id = Column(Integer, primary_key=True, autoincrement=True,
|
||||||
|
info=dict(description=u'An ID for this episode.'))
|
||||||
|
identifier = Column(Unicode(30), nullable=False,
|
||||||
|
info=dict(description=u'A readable identifier for this episode.', format='identifier'))
|
||||||
|
|
||||||
|
create_translation_table('conquest_episode_names', ConquestEpisode, 'names',
|
||||||
|
relation_lazy='joined',
|
||||||
|
name=Column(Unicode(30), nullable=False, index=True,
|
||||||
|
info=dict(description='The name.', format='plaintext', official=True))
|
||||||
|
)
|
||||||
|
|
||||||
|
class ConquestEpisodeWarrior(TableBase):
|
||||||
|
u"""A warrior featured in an episode in Pokémon Conquest.
|
||||||
|
|
||||||
|
This needs its own table because of the player having two episodes and
|
||||||
|
there being two players.
|
||||||
|
"""
|
||||||
|
__tablename__ = 'conquest_episode_warriors'
|
||||||
|
episode_id = Column(Integer, ForeignKey('conquest_episodes.id'), primary_key=True,
|
||||||
|
info=dict(description=u'The ID of the episode.'))
|
||||||
|
warrior_id = Column(Integer, ForeignKey('conquest_warriors.id'), primary_key=True,
|
||||||
|
info=dict(description=u'The ID of the warrior.'))
|
||||||
|
|
||||||
class ConquestKingdom(TableBase):
|
class ConquestKingdom(TableBase):
|
||||||
u"""A kingdom in Pokémon Conquest.
|
u"""A kingdom in Pokémon Conquest.
|
||||||
"""
|
"""
|
||||||
|
@ -415,6 +447,31 @@ create_translation_table('conquest_stat_names', ConquestStat, 'names',
|
||||||
info=dict(description='The name.', format='plaintext', official=True))
|
info=dict(description='The name.', format='plaintext', official=True))
|
||||||
)
|
)
|
||||||
|
|
||||||
|
class ConquestTransformationPokemon(TableBase):
|
||||||
|
u"""A Pokémon that satisfies a warrior transformation's link condition.
|
||||||
|
|
||||||
|
If a warrior has one or more Pokémon listed here, they only need to raise
|
||||||
|
one of them to the required link.
|
||||||
|
"""
|
||||||
|
__tablename__ = 'conquest_transformation_pokemon'
|
||||||
|
transformation_id = Column(Integer, ForeignKey('conquest_warrior_transformation.transformed_warrior_rank_id'), primary_key=True,
|
||||||
|
info=dict(description=u'The ID of the corresponding transformation, in turn a warrior rank ID.'))
|
||||||
|
pokemon_species_id = Column(Integer, ForeignKey('pokemon_species.id'), primary_key=True,
|
||||||
|
info=dict(description=u'The ID of the Pokémon species.'))
|
||||||
|
|
||||||
|
class ConquestTransformationWarrior(TableBase):
|
||||||
|
u"""A warrior who must be present in the same nation as another warrior for
|
||||||
|
the latter to transform into their next rank.
|
||||||
|
|
||||||
|
If a warrior has one or more other warriors listed here, they *all* need to
|
||||||
|
gather in the same nation for the transformation to take place.
|
||||||
|
"""
|
||||||
|
__tablename__ = 'conquest_transformation_warriors'
|
||||||
|
transformation_id = Column(Integer, ForeignKey('conquest_warrior_transformation.transformed_warrior_rank_id'), primary_key=True,
|
||||||
|
info=dict(description=u'The ID of the corresponding transformation, in turn a warrior rank ID.'))
|
||||||
|
present_warrior_id = Column(Integer, ForeignKey('conquest_warriors.id'), primary_key=True,
|
||||||
|
info=dict(description=u'The ID of the other warrior who must be present.'))
|
||||||
|
|
||||||
class ConquestWarrior(TableBase):
|
class ConquestWarrior(TableBase):
|
||||||
u"""A warrior in Pokémon Conquest.
|
u"""A warrior in Pokémon Conquest.
|
||||||
"""
|
"""
|
||||||
|
@ -532,6 +589,35 @@ create_translation_table('conquest_warrior_stat_names', ConquestWarriorStat, 'na
|
||||||
info=dict(description='The name.', format='plaintext', official=True))
|
info=dict(description='The name.', format='plaintext', official=True))
|
||||||
)
|
)
|
||||||
|
|
||||||
|
class ConquestWarriorTransformation(TableBase):
|
||||||
|
u"""The conditions under which a warrior must perform an action in order
|
||||||
|
to transform to the next rank.
|
||||||
|
|
||||||
|
Or most of them, anyway. See also ConquestTransformationPokemon and
|
||||||
|
ConquestTransformationWarrior.
|
||||||
|
"""
|
||||||
|
__tablename__ = 'conquest_warrior_transformation'
|
||||||
|
transformed_warrior_rank_id = Column(Integer, ForeignKey('conquest_warrior_ranks.id'), primary_key=True,
|
||||||
|
info=dict(description=u'The ID of the post-transformation warrior rank.'))
|
||||||
|
is_automatic = Column(Boolean, nullable=False,
|
||||||
|
info=dict(description=u'True iff the transformation happens automatically in the story with no further requirements.'))
|
||||||
|
required_link = Column(Integer, nullable=True,
|
||||||
|
info=dict(description=u'The link percentage the warrior must reach with one of several specific Pokémon, if any.'))
|
||||||
|
completed_episode_id = Column(Integer, ForeignKey('conquest_episodes.id'), nullable=True,
|
||||||
|
info=dict(description=u'The ID of the episode the player must have completed, if any.'))
|
||||||
|
current_episode_id = Column(Integer, ForeignKey('conquest_episodes.id'), nullable=True,
|
||||||
|
info=dict(description=u'The ID of the episode the player must currently be playing, if any.'))
|
||||||
|
distant_warrior_id = Column(Integer, ForeignKey('conquest_warriors.id'), nullable=True,
|
||||||
|
info=dict(description=u'The ID of another warrior who must be in the army, but not in the same kingdom or in any adjacent kingdom.'))
|
||||||
|
female_warlord_count = Column(Integer, nullable=True,
|
||||||
|
info=dict(description=u'The number of female warlords who must be in the same nation.'))
|
||||||
|
pokemon_count = Column(Integer, nullable=True,
|
||||||
|
info=dict(description=u'The number of Pokémon that must be registered in the gallery.'))
|
||||||
|
collection_type_id = Column(Integer, ForeignKey('types.id'), nullable=True,
|
||||||
|
info=dict(description=u'The ID of a type all Pokémon of which must be registered in the gallery.'))
|
||||||
|
warrior_count = Column(Integer, nullable=True,
|
||||||
|
info=dict(description=u'The number of warriors that must be registered in the gallery.'))
|
||||||
|
|
||||||
class ContestCombo(TableBase):
|
class ContestCombo(TableBase):
|
||||||
u"""Combo of two moves in a Contest.
|
u"""Combo of two moves in a Contest.
|
||||||
"""
|
"""
|
||||||
|
@ -2031,6 +2117,11 @@ Berry.natural_gift_type = relationship(Type, innerjoin=True)
|
||||||
BerryFlavor.contest_type = relationship(ContestType, innerjoin=True)
|
BerryFlavor.contest_type = relationship(ContestType, innerjoin=True)
|
||||||
|
|
||||||
|
|
||||||
|
ConquestEpisode.warriors = relationship(ConquestWarrior,
|
||||||
|
secondary=ConquestEpisodeWarrior.__table__,
|
||||||
|
innerjoin=True,
|
||||||
|
backref='episodes')
|
||||||
|
|
||||||
ConquestKingdom.type = relationship(Type,
|
ConquestKingdom.type = relationship(Type,
|
||||||
uselist=False,
|
uselist=False,
|
||||||
innerjoin=True, lazy='joined',
|
innerjoin=True, lazy='joined',
|
||||||
|
@ -2112,6 +2203,27 @@ ConquestWarriorRankStatMap.stat = relationship(ConquestWarriorStat,
|
||||||
uselist=False,
|
uselist=False,
|
||||||
backref='stat_map')
|
backref='stat_map')
|
||||||
|
|
||||||
|
ConquestWarriorTransformation.completed_episode = relationship(ConquestEpisode,
|
||||||
|
primaryjoin=ConquestWarriorTransformation.completed_episode_id==ConquestEpisode.id,
|
||||||
|
uselist=False)
|
||||||
|
ConquestWarriorTransformation.current_episode = relationship(ConquestEpisode,
|
||||||
|
primaryjoin=ConquestWarriorTransformation.current_episode_id==ConquestEpisode.id,
|
||||||
|
uselist=False)
|
||||||
|
ConquestWarriorTransformation.distant_warrior = relationship(ConquestWarrior,
|
||||||
|
uselist=False)
|
||||||
|
ConquestWarriorTransformation.pokemon = relationship(PokemonSpecies,
|
||||||
|
secondary=ConquestTransformationPokemon.__table__,
|
||||||
|
order_by=PokemonSpecies.conquest_order)
|
||||||
|
ConquestWarriorTransformation.present_warriors = relationship(ConquestWarrior,
|
||||||
|
secondary=ConquestTransformationWarrior.__table__,
|
||||||
|
order_by=ConquestWarrior.id)
|
||||||
|
ConquestWarriorTransformation.type = relationship(Type,
|
||||||
|
uselist=False)
|
||||||
|
ConquestWarriorTransformation.warrior_rank = relationship(ConquestWarriorRank,
|
||||||
|
uselist=False,
|
||||||
|
innerjoin=True, lazy='joined',
|
||||||
|
backref=backref('transformation', uselist=False, innerjoin=True))
|
||||||
|
|
||||||
|
|
||||||
ContestCombo.first = relationship(Move,
|
ContestCombo.first = relationship(Move,
|
||||||
primaryjoin=ContestCombo.first_move_id==Move.id,
|
primaryjoin=ContestCombo.first_move_id==Move.id,
|
||||||
|
|
Loading…
Reference in a new issue