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_image(savefile.species_form,
12 prefix='heartgold-soulsilver/' + ('shiny/' if savefile.is_shiny else ''),
17 % if savefile.structure.ivs.is_nicknamed:
18 “${savefile.structure.nickname}”
20 ${savefile.species.full_name}
22 <span class="gender ${savefile.structure.gender}">
23 % if savefile.structure.gender == 'male':
25 % elif savefile.structure.gender == 'female':
32 <div class="personality">
33 ${savefile.structure.personality}<br>
34 ${u"0x{0:08x}".format(savefile.structure.personality)}
41 ${savefile.structure.original_trainer_name}
42 ${u'♂' if savefile.structure.original_trainer_gender == 'male' else u'♀'}
43 <img src="${h.static_uri('spline', "flags/{0}.png".format(savefile.structure.original_country))}" alt="${savefile.structure.original_country}">,
44 ID ${"%05d" % savefile.structure.original_trainer_id}
45 <span class="secret-id">/ ${"%05d" % savefile.structure.original_trainer_secret_id}</span>
48 ${h.pokedex.pokedex_img("items/%s.png" % h.pokedex.filename_from_name(savefile.pokeball.name),
49 alt=savefile.pokeball.name, title=savefile.pokeball.name)}
50 % if savefile.structure.date_egg_received:
51 Egg received on ${savefile.structure.date_egg_received} around ${savefile.egg_location.name}.
52 Hatched on ${savefile.structure.date_met} around ${savefile.met_location.name} at level 1.
54 Encountered via ${savefile.structure.encounter_type}
55 and caught on ${savefile.structure.date_met}
57 ${h.pokedex.pokedex_img("versions/{0}.png".format(savefile.structure.original_version))}
58 ${savefile.met_location.name}
59 at level ${savefile.structure.met_at_level}.
64 <ul class="gts-pokemon-ribbons">
65 % for region, ribbon_container in ('hoenn', savefile.structure.hoenn_ribbons), \
66 ('sinnoh', savefile.structure.sinnoh_ribbons), \
67 ('sinnoh', savefile.structure.sinnoh_contest_ribbons):
68 % for ribbon in reversed(ribbon_container.__attrs__):
69 % if ribbon_container[ribbon]:
70 <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>
77 % if savefile.structure.shining_leaves.crown:
78 <p>${h.pokedex.pokedex_img('chrome/leaf-crown.png', alt='Leaf Crown', title='Leaf Crown')}</p>
79 % elif any(savefile.shiny_leaves):
80 <ul class="gts-pokemon-leaves">
81 % for leaf in savefile.shiny_leaves:
84 ${h.pokedex.pokedex_img('chrome/shiny-leaf.png', alt='Shiny Leaf', title='Shiny Leaf')}
91 <%! from pokedex import formulae %>\
92 <div class="dex-column-container gts-pokemon-columns">
93 <div class="dex-column">
94 <ul class="classic-list">
95 <li>Level ${savefile.level}: ${savefile.structure.exp} EXP</li>
96 % if savefile.exp_to_next:
98 <div class="gts-bar-container">
99 <div class="gts-bar" style="width: ${savefile.progress_to_next * 100}%;"> ${savefile.exp_to_next} to level ${savefile.level + 1}</div>
103 <li>Has <a href="${url(controller='dex', action='abilities', name=savefile.ability.name.lower())}">${savefile.ability.name}</a></li>
105 % if savefile.held_item:
106 Holding ${h.pokedex.item_link(savefile.held_item)}
112 <div class="gts-bar-container">
113 <div class="gts-bar" style="width: ${savefile.structure.happiness / 255.0 * 100}%;"> ${savefile.structure.happiness} happiness</div>
117 % if savefile.structure.fateful_encounter:
118 <li class="fateful-encounter">fateful encounter</li>
120 % if savefile.structure.pokerus:
121 <li>PokéRUS! ${savefile.structure.pokerus}</li>
125 <ul class="gts-pokemon-markings">
126 % if savefile.structure.markings.heart:
131 % if savefile.structure.markings.diamond:
136 % if savefile.structure.markings.triangle:
141 % if savefile.structure.markings.square:
146 % if savefile.structure.markings.star:
151 % if savefile.structure.markings.circle:
160 <div class="dex-column">
163 <tr class="header-row">
172 % for stat_info in savefile.stats:
174 <th>${stat_info.stat.name}</th>
175 <td>${stat_info.base}</td>
177 <div class="gts-bar-container">
178 <div class="gts-bar" style="width: ${stat_info.gene / 31.0 * 100}%;"> ${stat_info.gene}</div>
182 <div class="gts-bar-container">
183 <div class="gts-bar" style="width: ${stat_info.exp / 255.0 * 100}%;"> ${stat_info.exp}</div>
186 <td>${stat_info.calc}</td>
192 <div class="dex-column">
195 <tr class="header-row">
196 <th colspan="2">Contest stats</th>
200 % for contest_stat in ('beauty', 'cool', 'cute', 'smart', 'tough'):
202 <th>${h.pokedex.pokedex_img("chrome/contest/{0}.png".format(contest_stat))}</th>
204 <div class="gts-bar-container">
205 <div class="gts-bar" style="width: ${savefile.structure['contest_' + contest_stat] / 255.0 * 100}%;"> ${savefile.structure['contest_' + contest_stat]}</div>
213 <div class="gts-bar-container">
214 <div class="gts-bar" style="width: ${savefile.structure.contest_sheen / 255.0 * 100}%;"> ${savefile.structure.contest_sheen}</div>
224 <table class="dex-pokemon-moves striped-rows">
225 ${dexlib.move_table_columns()}
227 <tr class="header-row">
228 ${dexlib.move_table_header()}
232 % for move, pp in zip(savefile.moves, savefile.move_pp):
235 ${dexlib.move_table_row(move, pp_override=pp)}
237 ${dexlib.move_table_blank_row()}