Core: make update_reachable_regions local variables more wordy (#2522)
This commit is contained in:
parent
817197c14d
commit
8842f5d5c7
|
@ -651,34 +651,34 @@ class CollectionState():
|
||||||
|
|
||||||
def update_reachable_regions(self, player: int):
|
def update_reachable_regions(self, player: int):
|
||||||
self.stale[player] = False
|
self.stale[player] = False
|
||||||
rrp = self.reachable_regions[player]
|
reachable_regions = self.reachable_regions[player]
|
||||||
bc = self.blocked_connections[player]
|
blocked_connections = self.blocked_connections[player]
|
||||||
queue = deque(self.blocked_connections[player])
|
queue = deque(self.blocked_connections[player])
|
||||||
start = self.multiworld.get_region('Menu', player)
|
start = self.multiworld.get_region("Menu", player)
|
||||||
|
|
||||||
# init on first call - this can't be done on construction since the regions don't exist yet
|
# init on first call - this can't be done on construction since the regions don't exist yet
|
||||||
if start not in rrp:
|
if start not in reachable_regions:
|
||||||
rrp.add(start)
|
reachable_regions.add(start)
|
||||||
bc.update(start.exits)
|
blocked_connections.update(start.exits)
|
||||||
queue.extend(start.exits)
|
queue.extend(start.exits)
|
||||||
|
|
||||||
# run BFS on all connections, and keep track of those blocked by missing items
|
# run BFS on all connections, and keep track of those blocked by missing items
|
||||||
while queue:
|
while queue:
|
||||||
connection = queue.popleft()
|
connection = queue.popleft()
|
||||||
new_region = connection.connected_region
|
new_region = connection.connected_region
|
||||||
if new_region in rrp:
|
if new_region in reachable_regions:
|
||||||
bc.remove(connection)
|
blocked_connections.remove(connection)
|
||||||
elif connection.can_reach(self):
|
elif connection.can_reach(self):
|
||||||
assert new_region, f"tried to search through an Entrance \"{connection}\" with no Region"
|
assert new_region, f"tried to search through an Entrance \"{connection}\" with no Region"
|
||||||
rrp.add(new_region)
|
reachable_regions.add(new_region)
|
||||||
bc.remove(connection)
|
blocked_connections.remove(connection)
|
||||||
bc.update(new_region.exits)
|
blocked_connections.update(new_region.exits)
|
||||||
queue.extend(new_region.exits)
|
queue.extend(new_region.exits)
|
||||||
self.path[new_region] = (new_region.name, self.path.get(connection, None))
|
self.path[new_region] = (new_region.name, self.path.get(connection, None))
|
||||||
|
|
||||||
# Retry connections if the new region can unblock them
|
# Retry connections if the new region can unblock them
|
||||||
for new_entrance in self.multiworld.indirect_connections.get(new_region, set()):
|
for new_entrance in self.multiworld.indirect_connections.get(new_region, set()):
|
||||||
if new_entrance in bc and new_entrance not in queue:
|
if new_entrance in blocked_connections and new_entrance not in queue:
|
||||||
queue.append(new_entrance)
|
queue.append(new_entrance)
|
||||||
|
|
||||||
def copy(self) -> CollectionState:
|
def copy(self) -> CollectionState:
|
||||||
|
|
Loading…
Reference in New Issue