about summary refs log tree commit diff stats
path: root/apworld/tracker.py
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2025-09-29 12:31:01 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2025-09-29 12:31:01 -0400
commit99191f3aa87b2362516971c1fdd64d21b16f87b7 (patch)
tree336a0fff582e0709f7cc60b3e46fff5f10d6b649 /apworld/tracker.py
parent91f829a193b9fd7686bd401bc0704f26bf75dafc (diff)
downloadlingo2-archipelago-99191f3aa87b2362516971c1fdd64d21b16f87b7.tar.gz
lingo2-archipelago-99191f3aa87b2362516971c1fdd64d21b16f87b7.tar.bz2
lingo2-archipelago-99191f3aa87b2362516971c1fdd64d21b16f87b7.zip
Show when goal is reachable in tracker
Diffstat (limited to 'apworld/tracker.py')
-rw-r--r--apworld/tracker.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/apworld/tracker.py b/apworld/tracker.py index cf2dbe1..7239b65 100644 --- a/apworld/tracker.py +++ b/apworld/tracker.py
@@ -22,6 +22,7 @@ class Tracker:
22 checked_locations: set[int] 22 checked_locations: set[int]
23 accessible_locations: set[int] 23 accessible_locations: set[int]
24 accessible_worldports: set[int] 24 accessible_worldports: set[int]
25 goal_accessible: bool
25 26
26 state: CollectionState 27 state: CollectionState
27 28
@@ -31,6 +32,7 @@ class Tracker:
31 self.checked_locations = set() 32 self.checked_locations = set()
32 self.accessible_locations = set() 33 self.accessible_locations = set()
33 self.accessible_worldports = set() 34 self.accessible_worldports = set()
35 self.goal_accessible = False
34 36
35 def setup_slot(self, slot_data): 37 def setup_slot(self, slot_data):
36 Lingo2World.for_tracker = True 38 Lingo2World.for_tracker = True
@@ -94,6 +96,7 @@ class Tracker:
94 96
95 self.accessible_locations = set() 97 self.accessible_locations = set()
96 self.accessible_worldports = set() 98 self.accessible_worldports = set()
99 self.goal_accessible = False
97 100
98 for region in self.state.reachable_regions[PLAYER_NUM]: 101 for region in self.state.reachable_regions[PLAYER_NUM]:
99 for location in region.locations: 102 for location in region.locations:
@@ -104,3 +107,6 @@ class Tracker:
104 elif hasattr(location, "port_id"): 107 elif hasattr(location, "port_id"):
105 if location.port_id not in self.manager.worldports: 108 if location.port_id not in self.manager.worldports:
106 self.accessible_worldports.add(location.port_id) 109 self.accessible_worldports.add(location.port_id)
110 elif hasattr(location, "goal") and location.goal:
111 if not self.manager.goaled:
112 self.goal_accessible = True