Crashfix: pokemon_sprite() no longer exists.
[zzz-spline-gts.git] / splinext / gts / templates / gts / list.mako
1 <%inherit file="/base.mako" />
2 <%namespace name="dexlib" file="/pokedex/lib.mako"/>
3
4 <%def name="title()">Stored Pokémon</%def>
5
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')}
10     % else:
11     ${h.pokedex.pokemon_image(savefile.species_form,
12         prefix='heartgold-soulsilver/' + ('shiny/' if savefile.is_shiny else ''),
13         class_='icon')}
14     % endif
15     <div class="header">
16         <div class="name">
17             % if savefile.structure.ivs.is_nicknamed:
18             “${savefile.structure.nickname}”
19             % else:
20             ${savefile.species.full_name}
21             % endif
22             <span class="gender ${savefile.structure.gender}">
23                 % if savefile.structure.gender == 'male':
24                 ♂
25                 % elif savefile.structure.gender == 'female':
26                 ♀
27                 % else:
28                 &empty;
29                 % endif
30             </span>
31         </div>
32         <div class="personality">
33             ${savefile.structure.personality}<br>
34             ${u"0x{0:08x}".format(savefile.structure.personality)}
35         </div>
36     </div>
37
38     ## Met stuff
39     <p>
40         Original trainer:
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>
46     </p>
47     <p>
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.
53         % else:
54         Encountered via ${savefile.structure.encounter_type}
55         and caught on ${savefile.structure.date_met}
56         around 
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}.
60         % endif
61     </p>
62
63     ## Ribbons
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>
71         % endif
72         % endfor
73     % endfor
74     </ul>
75
76     ## Shiny leaves
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:
82         <li>
83             % if leaf:
84             ${h.pokedex.pokedex_img('chrome/shiny-leaf.png', alt='Shiny Leaf', title='Shiny Leaf')}
85             % endif
86         </li>
87         % endfor
88     </ul>
89     % endif
90
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:
97             <li>
98                 <div class="gts-bar-container">
99                     <div class="gts-bar" style="width: ${savefile.progress_to_next * 100}%;">&nbsp;${savefile.exp_to_next} to level ${savefile.level + 1}</div>
100                 </div>
101             </li>
102             % endif
103             <li>Has <a href="${url(controller='dex', action='abilities', name=savefile.ability.name.lower())}">${savefile.ability.name}</a></li>
104             <li>
105                 % if savefile.held_item:
106                 Holding ${h.pokedex.item_link(savefile.held_item)}
107                 % else:
108                 Holding nothing
109                 % endif
110             </li>
111             <li>
112                 <div class="gts-bar-container">
113                     <div class="gts-bar" style="width: ${savefile.structure.happiness / 255.0 * 100}%;">&nbsp;${savefile.structure.happiness} happiness</div>
114                 </div>
115             </li>
116
117             % if savefile.structure.fateful_encounter:
118             <li class="fateful-encounter">fateful encounter</li>
119             % endif
120             % if savefile.structure.pokerus:
121             <li>PokéRUS!  ${savefile.structure.pokerus}</li>
122             % endif
123
124             <li>
125                 <ul class="gts-pokemon-markings">
126                     % if savefile.structure.markings.heart:
127                     <li>&#x2665;</li>
128                     % else:
129                     <li>&#x2661;</li>
130                     % endif
131                     % if savefile.structure.markings.diamond:
132                     <li>&#x25c6;</li>
133                     % else:
134                     <li>&#x25c7;</li>
135                     % endif
136                     % if savefile.structure.markings.triangle:
137                     <li>&#x25b2;</li>
138                     % else:
139                     <li>&#x25b3;</li>
140                     % endif
141                     % if savefile.structure.markings.square:
142                     <li>&#x25a0;</li>
143                     % else:
144                     <li>&#x25a1;</li>
145                     % endif
146                     % if savefile.structure.markings.star:
147                     <li>&#x2605;</li>
148                     % else:
149                     <li>&#x2606;</li>
150                     % endif
151                     % if savefile.structure.markings.circle:
152                     <li>&#x25cf;</li>
153                     % else:
154                     <li>&#x25cb;</li>
155                     % endif
156                 </ul>
157             </li>
158         </ul>
159     </div>
160     <div class="dex-column">
161         <table>
162         <thead>
163             <tr class="header-row">
164                 <th></th>
165                 <th>Base</th>
166                 <th>Gene</th>
167                 <th>Exp</th>
168                 <th>Calc</th>
169             </tr>
170         </thead>
171         <tbody>
172             % for stat_info in savefile.stats:
173             <tr>
174                 <th>${stat_info.stat.name}</th>
175                 <td>${stat_info.base}</td>
176                 <td>
177                     <div class="gts-bar-container">
178                         <div class="gts-bar" style="width: ${stat_info.gene / 31.0 * 100}%;">&nbsp;${stat_info.gene}</div>
179                     </div>
180                 </td>
181                 <td>
182                     <div class="gts-bar-container">
183                         <div class="gts-bar" style="width: ${stat_info.exp / 255.0 * 100}%;">&nbsp;${stat_info.exp}</div>
184                     </div>
185                 </td>
186                 <td>${stat_info.calc}</td>
187             </tr>
188             % endfor
189         </tbody>
190         </table>
191     </div>
192     <div class="dex-column">
193         <table>
194         <thead>
195             <tr class="header-row">
196                 <th colspan="2">Contest stats</th>
197             </tr>
198         </thead>
199         <tbody>
200             % for contest_stat in ('beauty', 'cool', 'cute', 'smart', 'tough'):
201             <tr>
202                 <th>${h.pokedex.pokedex_img("chrome/contest/{0}.png".format(contest_stat))}</th>
203                 <td>
204                     <div class="gts-bar-container">
205                         <div class="gts-bar" style="width: ${savefile.structure['contest_' + contest_stat] / 255.0 * 100}%;">&nbsp;${savefile.structure['contest_' + contest_stat]}</div>
206                     </div>
207                 </td>
208             </tr>
209             % endfor
210             <tr>
211                 <th>Sheen</th>
212                 <td>
213                     <div class="gts-bar-container">
214                         <div class="gts-bar" style="width: ${savefile.structure.contest_sheen / 255.0 * 100}%;">&nbsp;${savefile.structure.contest_sheen}</div>
215                     </div>
216                 </td>
217             </tr>
218         </tbody>
219         </table>
220     </div>
221     </div>
222
223     ## Moves
224     <table class="dex-pokemon-moves striped-rows">
225         ${dexlib.move_table_columns()}
226         <thead>
227             <tr class="header-row">
228                 ${dexlib.move_table_header()}
229             </tr>
230         </thead>
231         <tbody>
232             % for move, pp in zip(savefile.moves, savefile.move_pp):
233             <tr>
234                 % if move:
235                 ${dexlib.move_table_row(move, pp_override=pp)}
236                 % else:
237                 ${dexlib.move_table_blank_row()}
238                 % endif
239             </tr>
240             % endfor
241         </tbody>
242     </table>
243 </div>
244 % endfor