1 <%inherit file="/base.mako" />
2 <%namespace name="dexlib" file="/pokedex/lib.mako"/>
4 <%def name="title()">Stored Pokémon</%def>
6 % for savefile in c.savefiles:
7 <div class="gts-pokemon">
8 % if savefile.structure.ivs.is_egg:
9 ${h.pokedex.pokedex_img("heartgold-soulsilver/egg.png", class_='icon')}
11 ${h.pokedex.pokemon_sprite(savefile.species,
12 form=savefile.structure.alternate_form,
13 prefix='heartgold-soulsilver/' + ('shiny/' if savefile.is_shiny else ''),
18 % if savefile.structure.ivs.is_nicknamed:
19 “${savefile.structure.nickname}”
21 ${savefile.species.full_name}
23 <span class="gender ${savefile.structure.gender}">
24 % if savefile.structure.gender == 'male':
26 % elif savefile.structure.gender == 'female':
33 <div class="personality">
34 ${savefile.structure.personality}<br>
35 ${u"0x{0:08x}".format(savefile.structure.personality)}
42 ${savefile.structure.original_trainer_name}
43 ${u'♂' if savefile.structure.original_trainer_gender == 'male' else u'♀'}
44 <img src="${h.static_uri('spline', "flags/{0}.png".format(savefile.structure.original_country))}" alt="${savefile.structure.original_country}">,
45 ID ${"%05d" % savefile.structure.original_trainer_id}
46 <span class="secret-id">/ ${"%05d" % savefile.structure.original_trainer_secret_id}</span>
49 ${h.pokedex.pokedex_img("items/%s.png" % h.pokedex.filename_from_name(savefile.pokeball.name),
50 alt=savefile.pokeball.name, title=savefile.pokeball.name)}
51 % if savefile.structure.date_egg_received:
52 Egg received on ${savefile.structure.date_egg_received} around ${savefile.egg_location.name}.
53 Hatched on ${savefile.structure.date_met} around ${savefile.met_location.name} at level 1.
55 Encountered via ${savefile.structure.encounter_type}
56 and caught on ${savefile.structure.date_met}
58 ${h.pokedex.pokedex_img("versions/{0}.png".format(savefile.structure.original_version))}
59 ${savefile.met_location.name}
60 at level ${savefile.structure.met_at_level}.
65 <ul class="gts-pokemon-ribbons">
66 % for region, ribbon_container in ('hoenn', savefile.structure.hoenn_ribbons), \
67 ('sinnoh', savefile.structure.sinnoh_ribbons), \
68 ('sinnoh', savefile.structure.sinnoh_contest_ribbons):
69 % for ribbon in reversed(ribbon_container.__attrs__):
70 % if ribbon_container[ribbon]:
71 <li>${h.pokedex.pokedex_img("ribbons/{0}/{1}.png".format(region, ribbon.replace(u'_', u'-')), alt=ribbon.replace(u'_', u' ').title(), title=ribbon.replace(u'_', u' ').title())}</li>
78 % if savefile.structure.shining_leaves.crown:
79 <p>${h.pokedex.pokedex_img('chrome/leaf-crown.png', alt='Leaf Crown', title='Leaf Crown')}</p>
80 % elif any(savefile.shiny_leaves):
81 <ul class="gts-pokemon-leaves">
82 % for leaf in savefile.shiny_leaves:
85 ${h.pokedex.pokedex_img('chrome/shiny-leaf.png', alt='Shiny Leaf', title='Shiny Leaf')}
92 <%! from pokedex import formulae %>\
93 <div class="dex-column-container gts-pokemon-columns">
94 <div class="dex-column">
95 <ul class="classic-list">
96 <li>Level ${savefile.level}: ${savefile.structure.exp} EXP</li>
97 % if savefile.exp_to_next:
99 <div class="gts-bar-container">
100 <div class="gts-bar" style="width: ${savefile.progress_to_next * 100}%;"> ${savefile.exp_to_next} to level ${savefile.level + 1}</div>
104 <li>Has <a href="${url(controller='dex', action='abilities', name=savefile.ability.name.lower())}">${savefile.ability.name}</a></li>
106 % if savefile.held_item:
107 Holding ${h.pokedex.item_link(savefile.held_item)}
113 <div class="gts-bar-container">
114 <div class="gts-bar" style="width: ${savefile.structure.happiness / 255.0 * 100}%;"> ${savefile.structure.happiness} happiness</div>
118 % if savefile.structure.fateful_encounter:
119 <li class="fateful-encounter">fateful encounter</li>
121 % if savefile.structure.pokerus:
122 <li>PokéRUS! ${savefile.structure.pokerus}</li>
126 <ul class="gts-pokemon-markings">
127 % if savefile.structure.markings.heart:
132 % if savefile.structure.markings.diamond:
137 % if savefile.structure.markings.triangle:
142 % if savefile.structure.markings.square:
147 % if savefile.structure.markings.star:
152 % if savefile.structure.markings.circle:
161 <div class="dex-column">
164 <tr class="header-row">
173 % for stat_info in savefile.stats:
175 <th>${stat_info.stat.name}</th>
176 <td>${stat_info.base}</td>
178 <div class="gts-bar-container">
179 <div class="gts-bar" style="width: ${stat_info.gene / 31.0 * 100}%;"> ${stat_info.gene}</div>
183 <div class="gts-bar-container">
184 <div class="gts-bar" style="width: ${stat_info.exp / 255.0 * 100}%;"> ${stat_info.exp}</div>
187 <td>${stat_info.calc}</td>
193 <div class="dex-column">
196 <tr class="header-row">
197 <th colspan="2">Contest stats</th>
201 % for contest_stat in ('beauty', 'cool', 'cute', 'smart', 'tough'):
203 <th>${h.pokedex.pokedex_img("chrome/contest/{0}.png".format(contest_stat))}</th>
205 <div class="gts-bar-container">
206 <div class="gts-bar" style="width: ${savefile.structure['contest_' + contest_stat] / 255.0 * 100}%;"> ${savefile.structure['contest_' + contest_stat]}</div>
214 <div class="gts-bar-container">
215 <div class="gts-bar" style="width: ${savefile.structure.contest_sheen / 255.0 * 100}%;"> ${savefile.structure.contest_sheen}</div>
225 <table class="dex-pokemon-moves striped-rows">
226 ${dexlib.move_table_columns()}
228 <tr class="header-row">
229 ${dexlib.move_table_header()}
233 % for move, pp in zip(savefile.moves, savefile.move_pp):
236 ${dexlib.move_table_row(move, pp_override=pp)}
238 ${dexlib.move_table_blank_row()}