From aab8f31345f149d5f26bd25a0cb1ad546ab1c122 Mon Sep 17 00:00:00 2001 From: Fabian Dill Date: Mon, 28 Aug 2023 01:08:19 +0200 Subject: [PATCH] Factorio: fix website multitracker --- .../templates/multiFactorioTracker.html | 14 +++++----- WebHostLib/tracker.py | 27 ++++++++++--------- 2 files changed, 22 insertions(+), 19 deletions(-) diff --git a/WebHostLib/templates/multiFactorioTracker.html b/WebHostLib/templates/multiFactorioTracker.html index e8fa7b152c..47c80193f1 100644 --- a/WebHostLib/templates/multiFactorioTracker.html +++ b/WebHostLib/templates/multiFactorioTracker.html @@ -28,13 +28,13 @@ {% block custom_table_row scoped %} {% if games[player] == "Factorio" %} {% set player_inventory = inventory[team][player] %} -{% set prog_science = player_inventory[custom_items["progressive-science-pack"]] %} -{% if player_inventory[custom_items["logistic-science-pack"]] or prog_science %}✔{% endif %} -{% if player_inventory[custom_items["military-science-pack"]] or prog_science > 1%}✔{% endif %} -{% if player_inventory[custom_items["chemical-science-pack"]] or prog_science > 2%}✔{% endif %} -{% if player_inventory[custom_items["production-science-pack"]] or prog_science > 3%}✔{% endif %} -{% if player_inventory[custom_items["utility-science-pack"]] or prog_science > 4%}✔{% endif %} -{% if player_inventory[custom_items["space-science-pack"]] or prog_science > 5%}✔{% endif %} +{% set prog_science = player_inventory[item_name_to_id["progressive-science-pack"]] %} +{% if player_inventory[item_name_to_id["logistic-science-pack"]] or prog_science %}✔{% endif %} +{% if player_inventory[item_name_to_id["military-science-pack"]] or prog_science > 1%}✔{% endif %} +{% if player_inventory[item_name_to_id["chemical-science-pack"]] or prog_science > 2%}✔{% endif %} +{% if player_inventory[item_name_to_id["production-science-pack"]] or prog_science > 3%}✔{% endif %} +{% if player_inventory[item_name_to_id["utility-science-pack"]] or prog_science > 4%}✔{% endif %} +{% if player_inventory[item_name_to_id["space-science-pack"]] or prog_science > 5%}✔{% endif %} {% else %} ❌ ❌ diff --git a/WebHostLib/tracker.py b/WebHostLib/tracker.py index d3fd0fb036..e7af132acd 100644 --- a/WebHostLib/tracker.py +++ b/WebHostLib/tracker.py @@ -11,7 +11,7 @@ from werkzeug.exceptions import abort from MultiServer import Context, get_saving_second from NetUtils import SlotType, NetworkSlot from Utils import restricted_loads -from worlds import lookup_any_item_id_to_name, lookup_any_location_id_to_name, network_data_package +from worlds import lookup_any_item_id_to_name, lookup_any_location_id_to_name, network_data_package, games from worlds.alttp import Items from . import app, cache from .models import GameDataPackage, Room @@ -1447,18 +1447,19 @@ def get_multiworld_tracker(tracker: UUID): return render_template("multiTracker.html", **data) +if "Factorio" in games: + @app.route('/tracker//Factorio') + @cache.memoize(timeout=60) # multisave is currently created at most every minute + def get_Factorio_multiworld_tracker(tracker: UUID): + data = _get_multiworld_tracker_data(tracker) + if not data: + abort(404) -@app.route('/tracker//Factorio') -@cache.memoize(timeout=60) # multisave is currently created at most every minute -def get_Factorio_multiworld_tracker(tracker: UUID): - data = _get_multiworld_tracker_data(tracker) - if not data: - abort(404) + data["inventory"] = _get_inventory_data(data) + data["enabled_multiworld_trackers"] = get_enabled_multiworld_trackers(data["room"], "Factorio") + data["item_name_to_id"] = games["Factorio"]["location_name_to_id"] - data["inventory"] = _get_inventory_data(data) - data["enabled_multiworld_trackers"] = get_enabled_multiworld_trackers(data["room"], "Factorio") - - return render_template("multiFactorioTracker.html", **data) + return render_template("multiFactorioTracker.html", **data) @app.route('/tracker//A Link to the Past') @@ -1588,5 +1589,7 @@ game_specific_trackers: typing.Dict[str, typing.Callable] = { multi_trackers: typing.Dict[str, typing.Callable] = { "A Link to the Past": get_LttP_multiworld_tracker, - "Factorio": get_Factorio_multiworld_tracker, } + +if "Factorio" in games: + multi_trackers["Factorio"] = get_Factorio_multiworld_tracker