diff --git a/WebHostLib/templates/genericTracker.html b/WebHostLib/templates/genericTracker.html index 6fa65650..c3437332 100644 --- a/WebHostLib/templates/genericTracker.html +++ b/WebHostLib/templates/genericTracker.html @@ -25,9 +25,9 @@ - {% for name, count in inventory.items() %} + {% for id, count in inventory.items() %} - {{ name | item_name }} + {{ id | item_name }} {{ count }} {{received_items[name]}} diff --git a/WebHostLib/tracker.py b/WebHostLib/tracker.py index c4713b54..671126d1 100644 --- a/WebHostLib/tracker.py +++ b/WebHostLib/tracker.py @@ -316,6 +316,11 @@ def getPlayerTracker(tracker: UUID, tracked_team: int, tracked_player: int, want else: multisave: Dict[str, Any] = {} + slots_aimed_at_player = {tracked_player} + for group_id, group_members in groups.items(): + if tracked_player in group_members: + slots_aimed_at_player.add(group_id) + # Add items to player inventory for (ms_team, ms_player), locations_checked in multisave.get("location_checks", {}).items(): # Skip teams and players not matching the request @@ -325,7 +330,7 @@ def getPlayerTracker(tracker: UUID, tracked_team: int, tracked_player: int, want for location in locations_checked: if location in player_locations: item, recipient, flags = player_locations[location] - if recipient == tracked_player: # a check done for the tracked player + if recipient in slots_aimed_at_player: # a check done for the tracked player attribute_item_solo(inventory, item) if ms_player == tracked_player: # a check done by the tracked player checks_done[location_to_area[location]] += 1 @@ -884,7 +889,6 @@ def __renderSuperMetroidTracker(multisave: Dict[str, Any], room: Room, locations for item_name, item_id in multi_items.items(): base_name = item_name.split()[0].lower() - count = inventory[item_id] display_data[base_name+"_count"] = inventory[item_id] # Victory condition