From 37252d27276b2692761255a2a9ccb93a9d021291 Mon Sep 17 00:00:00 2001 From: rr- Date: Thu, 8 Nov 2018 22:10:03 +0100 Subject: [PATCH] ui: count only prime stats as best in roster view --- pqcli/mechanic.py | 6 ++++++ pqcli/ui/roster_view.py | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/pqcli/mechanic.py b/pqcli/mechanic.py index 08a4d1c..dcbf237 100644 --- a/pqcli/mechanic.py +++ b/pqcli/mechanic.py @@ -86,6 +86,12 @@ class Stats(SignalMixin): def best(self) -> StatType: return max(self, key=lambda kv: kv[1])[0] + @property + def best_prime(self) -> StatType: + return max( + (kv for kv in self if kv[0] in PRIME_STATS), key=lambda kv: kv[1] + )[0] + def increment(self, stat: StatType, qty: int = 1) -> None: self._values[stat] += qty logger.info("Increased %s to %d", stat.value, self[stat]) diff --git a/pqcli/ui/roster_view.py b/pqcli/ui/roster_view.py index 2d8f600..7f7eb64 100644 --- a/pqcli/ui/roster_view.py +++ b/pqcli/ui/roster_view.py @@ -29,7 +29,8 @@ class RosterView(urwid.Filler): best_spell_name = "-" best_stat_name = ( - f"{player.stats.best.value} {player.stats[player.stats.best]}" + f"{player.stats.best_prime.value} " + f"{player.stats[player.stats.best_prime]}" ) label = (