Skip to content

Commit 7f180a6

Browse files
committed
Factorio: fix multitracker ID misalignment
1 parent 9839164 commit 7f180a6

File tree

2 files changed

+26
-16
lines changed

2 files changed

+26
-16
lines changed

WebHostLib/templates/multiFactorioTracker.html

+8-6
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,14 @@
2727
{% endblock %}
2828
{% block custom_table_row scoped %}
2929
{% if games[player] == "Factorio" %}
30-
<td class="center-column">{% if inventory[team][player][131161] or inventory[team][player][131281] %}✔{% endif %}</td>
31-
<td class="center-column">{% if inventory[team][player][131172] or inventory[team][player][131281] > 1%}✔{% endif %}</td>
32-
<td class="center-column">{% if inventory[team][player][131195] or inventory[team][player][131281] > 2%}✔{% endif %}</td>
33-
<td class="center-column">{% if inventory[team][player][131240] or inventory[team][player][131281] > 3%}✔{% endif %}</td>
34-
<td class="center-column">{% if inventory[team][player][131240] or inventory[team][player][131281] > 4%}✔{% endif %}</td>
35-
<td class="center-column">{% if inventory[team][player][131220] or inventory[team][player][131281] > 5%}✔{% endif %}</td>
30+
{% set player_inventory = inventory[team][player] %}
31+
{% set prog_science = player_inventory[custom_items["progressive-science-pack"]] %}
32+
<td class="center-column">{% if player_inventory[custom_items["logistic-science-pack"]] or prog_science %}✔{% endif %}</td>
33+
<td class="center-column">{% if player_inventory[custom_items["military-science-pack"]] or prog_science > 1%}✔{% endif %}</td>
34+
<td class="center-column">{% if player_inventory[custom_items["chemical-science-pack"]] or prog_science > 2%}✔{% endif %}</td>
35+
<td class="center-column">{% if player_inventory[custom_items["production-science-pack"]] or prog_science > 3%}✔{% endif %}</td>
36+
<td class="center-column">{% if player_inventory[custom_items["utility-science-pack"]] or prog_science > 4%}✔{% endif %}</td>
37+
<td class="center-column">{% if player_inventory[custom_items["space-science-pack"]] or prog_science > 5%}✔{% endif %}</td>
3638
{% else %}
3739
<td class="center-column"></td>
3840
<td class="center-column"></td>

WebHostLib/tracker.py

+18-10
Original file line numberDiff line numberDiff line change
@@ -302,10 +302,15 @@ def get_static_room_data(room: Room):
302302
seed_checks_in_area[area] += len(checks)
303303
seed_checks_in_area["Total"] = 249
304304

305-
player_checks_in_area = {playernumber: {areaname: len(multidata["checks_in_area"][playernumber][areaname])
306-
if areaname != "Total" else multidata["checks_in_area"][playernumber]["Total"]
307-
for areaname in ordered_areas}
308-
for playernumber in multidata["checks_in_area"]}
305+
player_checks_in_area = {
306+
playernumber: {
307+
areaname: len(multidata["checks_in_area"][playernumber][areaname]) if areaname != "Total" else
308+
multidata["checks_in_area"][playernumber]["Total"]
309+
for areaname in ordered_areas
310+
}
311+
for playernumber in multidata["checks_in_area"]
312+
}
313+
309314
player_location_to_area = {playernumber: get_location_table(multidata["checks_in_area"][playernumber])
310315
for playernumber in multidata["checks_in_area"]}
311316
saving_second = get_saving_second(multidata["seed_name"])
@@ -1399,12 +1404,15 @@ def _get_multiworld_tracker_data(tracker: UUID) -> typing.Optional[typing.Dict[s
13991404
for (team, player), data in multisave.get("video", []):
14001405
video[team, player] = data
14011406

1402-
return dict(player_names=player_names, room=room, checks_done=checks_done,
1403-
percent_total_checks_done=percent_total_checks_done, checks_in_area=checks_in_area,
1404-
activity_timers=activity_timers, video=video, hints=hints,
1405-
long_player_names=long_player_names,
1406-
multisave=multisave, precollected_items=precollected_items, groups=groups,
1407-
locations=locations, games=games, states=states)
1407+
return dict(
1408+
player_names=player_names, room=room, checks_done=checks_done,
1409+
percent_total_checks_done=percent_total_checks_done, checks_in_area=checks_in_area,
1410+
activity_timers=activity_timers, video=video, hints=hints,
1411+
long_player_names=long_player_names,
1412+
multisave=multisave, precollected_items=precollected_items, groups=groups,
1413+
locations=locations, games=games, states=states,
1414+
custom_locations=custom_locations, custom_items=custom_items,
1415+
)
14081416

14091417

14101418
def _get_inventory_data(data: typing.Dict[str, typing.Any]) -> typing.Dict[int, typing.Dict[int, int]]:

0 commit comments

Comments
 (0)