From 218e1a484f363666aba8e84caa0a41bfc0d275de Mon Sep 17 00:00:00 2001 From: Ant Zucaro Date: Fri, 20 Jul 2012 20:58:02 -0400 Subject: [PATCH] Remove +/- points display on scoreboard. I've decided not to show the +/- elo_deltas on the scoreboard because they are individual measures. They thus belong on a given player's info page instead. The player_info view is the future destination of this data (not implemented yet). Also, I'm preventing duel matches from being processed as both duel and dm matches. Duel really is a mode of its own, even if Xonotic doesn't have a dedicated mode for it. --- xonstat/models.py | 20 +++++++++++--------- xonstat/templates/scoreboard.mako | 7 ------- 2 files changed, 11 insertions(+), 16 deletions(-) diff --git a/xonstat/models.py b/xonstat/models.py index 6d38888..05a50ea 100644 --- a/xonstat/models.py +++ b/xonstat/models.py @@ -150,8 +150,9 @@ class Game(object): for e in elos: session.add(elos[e]) - if game_type_cd == 'duel': - self.process_elos(session, "dm") + # no longer calculate DM elo for a duel game + # if game_type_cd == 'duel': + # self.process_elos(session, "dm") def update_elos(self, session, elos, scores, ep): @@ -201,17 +202,18 @@ class Game(object): adjustment = scorefactor_real - scorefactor_elo eloadjust[ei.player_id] += adjustment eloadjust[ej.player_id] -= adjustment + elo_deltas = {} for pid in pids: - elo_delta = eloadjust[pid] * elos[pid].k * ep.global_K / float(len(elos) - 1) + new_elo = max(float(elos[pid].elo) + eloadjust[pid] * elos[pid].k * ep.global_K / float(len(elos) - 1), ep.floor) + + # delta is new minus old + elo_deltas[pid] = new_elo - float(elos[pid].elo) - if float(elos[pid].elo) + elo_delta < ep.floor: - elo_deltas[pid] = elos[pid].elo - ep.floor - else: - elo_deltas[pid] = elo_delta + log.debug("Player {0}'s Elo going from {1} to {2}.".format(pid, + elos[pid].elo, new_elo)) - # can't go below the floor - elos[pid].elo = max(float(elos[pid].elo) + elo_delta, ep.floor) + elos[pid].elo = new_elo elos[pid].games += 1 self.save_elo_deltas(session, elo_deltas) diff --git a/xonstat/templates/scoreboard.mako b/xonstat/templates/scoreboard.mako index 7b4d940..288e271 100644 --- a/xonstat/templates/scoreboard.mako +++ b/xonstat/templates/scoreboard.mako @@ -16,11 +16,6 @@ ${scoreboard_header(game_type_cd, pgstats[0])} ${scoreboard_row(game_type_cd, pgstat)} ${pgstat.score} - % if pgstat.elo_delta == "0.00": - - % else: - ${pgstat.elo_delta} - % endif % endfor @@ -37,7 +32,6 @@ ${scoreboard_header(game_type_cd, pgstats[0])} Deaths Suicides Score - Points % endif @@ -52,7 +46,6 @@ ${scoreboard_header(game_type_cd, pgstats[0])} FCK Returns Score - Points % endif -- 2.39.2