diff --git a/MultiClient.py b/MultiClient.py index c4aad884..422fcaac 100644 --- a/MultiClient.py +++ b/MultiClient.py @@ -443,7 +443,7 @@ async def get_snes_devices(ctx: Context): async def snes_connect(ctx: Context, address): - if ctx.snes_socket is not None: + if ctx.snes_socket is not None and ctx.snes_state == SNES_CONNECTED: ctx.ui_node.log_error('Already connected to snes') return diff --git a/WebHost/templates/tracker.html b/WebHost/templates/tracker.html index 37731ee7..e6b80349 100644 --- a/WebHost/templates/tracker.html +++ b/WebHost/templates/tracker.html @@ -8,18 +8,22 @@ src="https://cdn.datatables.net/v/bs4/jq-3.3.1/dt-1.10.21/fh-3.1.7/datatables.min.js"> {% endblock %} {% block body %} + {% for team, players in inventory.items() %}
{{ name }} | +{{ name|e }} | {% endif %} {% endfor %} @@ -78,7 +82,7 @@ {% for player, checks in players.items() %}|
---|---|---|
{{ loop.index }} | -{{ player_names[(team, loop.index)] }} | +{{ player_names[(team, loop.index)]|e }} | {% for area in ordered_areas %} {% set checks_done = checks[area] %} {% set checks_total = checks_in_area[area] %} diff --git a/WebHost/tracker.py b/WebHost/tracker.py index d90323c9..48380737 100644 --- a/WebHost/tracker.py +++ b/WebHost/tracker.py @@ -188,6 +188,7 @@ def get_tracker(room: int): attribute_item(inventory, team, recipient, item) checks_done[team][player][location_to_area[location]] += 1 checks_done[team][player]["Total"] += 1 + for (team, player), game_state in room.multisave.get("client_game_state", []): if game_state: inventory[team][player][106] = 1 # Triforce @@ -200,6 +201,8 @@ def get_tracker(room: int): for team, names in enumerate(multidata['names']): for player, name in enumerate(names, 1): player_names[(team, player)] = name + for (team, player), alias in room.multisave.get("name_aliases", []): + player_names[team, player] = alias return render_template("tracker.html", inventory=inventory, get_item_name_from_id=get_item_name_from_id, lookup_id_to_name=Items.lookup_id_to_name, player_names=player_names,