From fb1a9e9c5a33c743cbf553dfb21a5d1933164f38 Mon Sep 17 00:00:00 2001 From: vgZerst <36623732+vgZerst@users.noreply.github.com> Date: Fri, 3 Feb 2023 23:04:00 -0600 Subject: [PATCH] WebHost: add checks percent done column to tracker (#1376) * WebHost: add checks percent done column to tracker * WebHost: add checks percent done column to tracker --- WebHostLib/templates/tracker.html | 2 ++ WebHostLib/tracker.py | 10 ++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/WebHostLib/templates/tracker.html b/WebHostLib/templates/tracker.html index 0f6fe12f..96148e34 100644 --- a/WebHostLib/templates/tracker.html +++ b/WebHostLib/templates/tracker.html @@ -98,6 +98,7 @@ {{ area }} {%- endif -%} {%- endfor -%} + % Last
Activity @@ -140,6 +141,7 @@ {% if inventory[team][player][big_key_ids[area]] %}✔️{% endif %} {%- endif -%} {%- endfor -%} + {{ percent_total_checks_done[team][player] }} {%- if activity_timers[(team, player)] -%} {{ activity_timers[(team, player)].total_seconds() }} {%- else -%} diff --git a/WebHostLib/tracker.py b/WebHostLib/tracker.py index 68a40a32..c0b83e4d 100644 --- a/WebHostLib/tracker.py +++ b/WebHostLib/tracker.py @@ -1232,6 +1232,11 @@ def getTracker(tracker: UUID): for playernumber in range(1, len(team) + 1) if playernumber not in groups} for teamnumber, team in enumerate(names)} + percent_total_checks_done = {teamnumber: {playernumber: 0 + for playernumber in range(1, len(team) + 1) if playernumber not in groups} + for teamnumber, team in enumerate(names)} + + hints = {team: set() for team in range(len(names))} if room.multisave: multisave = restricted_loads(room.multisave) @@ -1259,6 +1264,7 @@ def getTracker(tracker: UUID): attribute_item(inventory, team, recipient, item) checks_done[team][player][player_location_to_area[player][location]] += 1 checks_done[team][player]["Total"] += 1 + percent_total_checks_done[team][player] = int(checks_done[team][player]["Total"] / seed_checks_in_area[player]["Total"] * 100) if seed_checks_in_area[player]["Total"] else 100 for (team, player), game_state in multisave.get("client_game_state", {}).items(): if player in groups: @@ -1303,8 +1309,8 @@ def getTracker(tracker: UUID): return render_template("tracker.html", inventory=inventory, get_item_name_from_id=lookup_any_item_id_to_name, lookup_id_to_name=Items.lookup_id_to_name, player_names=player_names, tracking_names=tracking_names, tracking_ids=tracking_ids, room=room, icons=alttp_icons, - multi_items=multi_items, checks_done=checks_done, ordered_areas=ordered_areas, - checks_in_area=seed_checks_in_area, activity_timers=activity_timers, + multi_items=multi_items, checks_done=checks_done, percent_total_checks_done=percent_total_checks_done, + ordered_areas=ordered_areas, checks_in_area=seed_checks_in_area, activity_timers=activity_timers, key_locations=group_key_locations, small_key_ids=small_key_ids, big_key_ids=big_key_ids, video=video, big_key_locations=group_big_key_locations, hints=hints, long_player_names=long_player_names)