X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=xonstat%2Ftemplates%2Fplayer_info.mako;h=d0d619f1131cc18089c84ae6690f5ac0f8383799;hb=ec7b09190ffc16b0d7b0d55947a91fc31a42bde1;hp=293d1d5370478b8bde8de41962d60df7e87815d7;hpb=a2c64fe7c0e6a288c28ec5df7367288a372d1f0e;p=xonotic%2Fxonstat.git diff --git a/xonstat/templates/player_info.mako b/xonstat/templates/player_info.mako index 293d1d5..d0d619f 100644 --- a/xonstat/templates/player_info.mako +++ b/xonstat/templates/player_info.mako @@ -1,480 +1,287 @@ <%inherit file="base.mako"/> <%namespace name="nav" file="nav.mako" /> -<%namespace file="accuracy.mako" import="accuracy" /> -<%namespace file="accuracy_graph.mako" import="accuracy_graph" /> <%block name="navigation"> -${nav.nav('players')} + ##### Disable the login button until a replacement is implemented. + ${nav.nav('players', False)} <%block name="css"> -${parent.css()} - + ${parent.css()} + + <%block name="js"> -${parent.js()} -% if player is not None: - - - - + + + ##### + -% endif + % endfor + + // weapon accuracy and damage charts + $.getJSON("${request.route_url('player_weaponstats_data_json', id=player.player_id, _query={'limit':20})}", function(data) { + + if(data.games.length < 5) { + d3.select(".row #damageChart").remove(); + d3.select(".row #accuracyChart").remove(); + } + drawDamageChart("#damageChart", data); + drawAccuracyChart("#accuracyChart", data); + }); + <%block name="title"> -Player Information + Player Information - -% if player is None: -

This player is so good we couldn't find him!

-

Seriously though, he probably doesn't exist...just a figment of your imagination. Carry on then!

- -% else:
-
-

- ${player.nick_html_colors()|n} +
+

+ ${player.nick_html_colors()|n} + % for medal in medals: + ${medal.alt} + % endfor

-

- Joined ${player.joined_pretty_date()} (player #${player.player_id}) + +

+ Joined ${player.fuzzy_date()} (player #${player.player_id}) % if cake_day: - + % endif -
+

+##### TABS #####
-
-
+
+ +
+
- Playing Time: ${overall_stats[g.game_type_cd].total_playing_time}
+
+ % for g in games_played: +
- % if g.game_type_cd in fav_maps: - Favorite Map: ${fav_maps[g.game_type_cd].map_name}
- % else: -
- % endif - - % if g.game_type_cd == 'ctf': - % if overall_stats[g.game_type_cd].total_captures is not None: - Fastest flag captures...
- % else: -
- % endif - % else: -
- % endif - -

-
-
+ ##### LEFT PANE ##### +

- Win Percentage: ${round(g.win_pct,2)}% (${g.wins} wins, ${g.losses} losses)
+ % if g.game_type_cd in overall_stats: + Last Played: ${overall_stats[g.game_type_cd].last_played_fuzzy}
+ % else: +
+ % endif - % if g.game_type_cd in overall_stats: - % if overall_stats[g.game_type_cd].k_d_ratio is not None: - Kill Ratio: ${round(overall_stats[g.game_type_cd].k_d_ratio,2)} (${overall_stats[g.game_type_cd].total_kills} kills, ${overall_stats[g.game_type_cd].total_deaths} deaths)
- % endif - % else: -
- % endif + Games Played: + % if g.game_type_cd == 'overall': + + % else: + + % endif + ${g.games}
- % if g.game_type_cd in elos: - % if g.game_type_cd == 'overall': - Best Elo: ${round(elos[g.game_type_cd].elo,2)} (${elos[g.game_type_cd].game_type_cd}, ${elos[g.game_type_cd].games} games)
- % else: - Elo: ${round(elos[g.game_type_cd].elo,2)} (${elos[g.game_type_cd].games} games)
- % endif - % else: -
- % endif + Playing Time: ${overall_stats[g.game_type_cd].total_playing_time}
- % if g.game_type_cd in ranks: - % if g.game_type_cd == 'overall': - Best Rank: ${ranks[g.game_type_cd].rank} of ${ranks[g.game_type_cd].max_rank} (${ranks[g.game_type_cd].game_type_cd}, percentile: ${round(ranks[g.game_type_cd].percentile,2)})
- % else: - Rank: - - ${fav_maps[g.game_type_cd].map_name}
+ % else: +
+ % endif + % if g.game_type_cd == 'ctf': + % if overall_stats[g.game_type_cd].total_captures is not None: + Fastest flag captures...
% else: - ${request.route_url('rank_index', game_type_cd=g.game_type_cd, _query={'page':ranks[g.game_type_cd].rank/20+1})} - +
% endif - " title="Player rank page for this player"> - ${ranks[g.game_type_cd].rank} of ${ranks[g.game_type_cd].max_rank} - (percentile: ${round(ranks[g.game_type_cd].percentile,2)}) -
-
- % endif - % else: -
- % endif - - % if g.game_type_cd == 'ctf': - % if overall_stats[g.game_type_cd].cap_ratio is not None: - Cap Ratio: ${round(overall_stats[g.game_type_cd].cap_ratio,2)} (${overall_stats[g.game_type_cd].total_captures} captures, ${overall_stats[g.game_type_cd].total_pickups} pickups)
- % else: -
- % endif - % else: -
- % endif + % else: +
+ % endif

-
- % endif - % endfor -
-
-
-
-
- -
-
- - -### ACCURACY GRAPH -${accuracy_graph(recent_weapons)} - -% if 'rocketlauncher' in recent_weapons or 'grenadelauncher' in recent_weapons or 'electro' in recent_weapons or 'crylink' in recent_weapons or 'laser' in recent_weapons: -
-
-

Damage Efficiency

-
-
-
-
    - % if 'rocketlauncher' in recent_weapons: -
  • -
    - -

    Rocket

    - -
    -
  • - % endif - - % if 'grenadelauncher' in recent_weapons: -
  • -
    - -

    Mortar

    - -
    -
  • - % endif + ##### RIGHT PANE ##### +
    +

    + Win Percentage: ${round(g.win_pct,2)}% (${g.wins} wins, ${g.losses} losses)
    - % if 'electro' in recent_weapons: -

  • -
    - -

    Electro

    - -
    -
  • - % endif + % if g.game_type_cd in overall_stats: + % if overall_stats[g.game_type_cd].k_d_ratio is not None: + Kill Ratio: ${round(overall_stats[g.game_type_cd].k_d_ratio,2)} (${overall_stats[g.game_type_cd].total_kills} kills, ${overall_stats[g.game_type_cd].total_deaths} deaths)
    + % endif + % else: +
    + % endif - % if 'crylink' in recent_weapons: -
  • -
    - -

    Crylink

    - -
    -
  • - % endif + % if g.game_type_cd in elos: + % if g.game_type_cd == 'overall': + Best Elo: ${round(elos[g.game_type_cd].elo,2)} (${elos[g.game_type_cd].game_type_cd}, ${elos[g.game_type_cd].games} games)
    + % else: + Elo: ${round(elos[g.game_type_cd].elo,2)} (${elos[g.game_type_cd].games} games)
    + % endif + % else: +
    + % endif - % if 'hagar' in recent_weapons: -
  • -
    - -

    Hagar

    - -
    -
  • - % endif + % if g.game_type_cd in ranks: + % if g.game_type_cd == 'overall': + Best Rank: + + + ${ranks[g.game_type_cd].rank} of ${ranks[g.game_type_cd].max_rank} + + (${ranks[g.game_type_cd].game_type_cd}, percentile: ${round(ranks[g.game_type_cd].percentile,2)}) +
    +
    + % else: + Rank: + + + ${ranks[g.game_type_cd].rank} of ${ranks[g.game_type_cd].max_rank} + + (percentile: ${round(ranks[g.game_type_cd].percentile,2)}) +
    +
    + % endif + % else: +
    + % endif - % if 'laser' in recent_weapons: -
  • -
    - -

    Laser

    - + % if g.game_type_cd == 'ctf': + % if overall_stats[g.game_type_cd].cap_ratio is not None: + Cap Ratio: ${round(overall_stats[g.game_type_cd].cap_ratio,2)} (${overall_stats[g.game_type_cd].total_captures} captures, ${overall_stats[g.game_type_cd].total_pickups} pickups)
    + % else: +
    + % endif + % else: +
    + % endif +

    -
  • - % endif - -
+ % endfor +
+##### ACCURACY CHART #### +
+
+
Weapon Accuracy
+ +
+ +
-% endif +##### DAMAGE CHART #### +
+
+
Weapon Damage
+ +
+ +
+
+
##### RECENT GAMES (v2) #### % if recent_games: -
-
-

Recent Games

- - - - - - - - - - - - - - % for rg in recent_games: - - - - - - - - - - % endfor - -
TypeServerMapResultPlayedElo
view${rg.server_name}${rg.map_name} - % if rg.team != None: - % if rg.team == rg.winner: - Win - % else: - Loss - % endif - % else: - % if rg.rank == 1: - Win - % else: - Loss (#${rg.rank}) - % endif - % endif - ${rg.fuzzy_date} - - % if rg.elo_delta is not None: - % if round(rg.elo_delta,2) > 0: - - % elif round(rg.elo_delta,2) < 0: - - % else: - - % endif - % else: - - % endif - -
- % if total_games > 10: -

More...

- % endif +
+
+
Recent Games
+ + + + + + + + + + + + + + % for rg in recent_games: + + + + + + + + + + % endfor + +
TypeServerMapResultPlayedElo
view${rg.server_name}${rg.map_name} + % if rg.team != None: + % if rg.team == rg.winner: + Win + % else: + Loss + % endif + % else: + % if rg.rank == 1: + Win + % else: + Loss (#${rg.rank}) + % endif + % endif + ${rg.fuzzy_date} + + % if rg.elo_delta is not None: + % if round(rg.elo_delta,2) > 0: + +${round(rg.elo_delta,2)} + % elif round(rg.elo_delta,2) < 0: + ${round(rg.elo_delta,2)} + % else: + + % endif + % else: + + % endif + +
+
-
-% endif % endif