From d608d5ca309fa2382a305e07b1fde0f15ab409a0 Mon Sep 17 00:00:00 2001 From: Bonta-kun <40473493+Bonta0@users.noreply.github.com> Date: Sat, 14 Dec 2019 19:53:19 +0100 Subject: [PATCH] Optimize update_reachable_regions using the new region cache, it is almost twice as fast now --- BaseClasses.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/BaseClasses.py b/BaseClasses.py index b9d65297..f18ba018 100644 --- a/BaseClasses.py +++ b/BaseClasses.py @@ -318,14 +318,14 @@ class CollectionState(object): self.collect(item, True) def update_reachable_regions(self, player): - player_regions = [region for region in self.world.regions if region.player == player] + player_regions = self.world.get_regions(player) self.stale[player] = False rrp = self.reachable_regions[player] new_regions = True reachable_regions_count = len(rrp) while new_regions: - possible = [region for region in player_regions if region not in rrp] - for candidate in possible: + player_regions = [region for region in player_regions if region not in rrp] + for candidate in player_regions: if candidate.can_reach_private(self): rrp.add(candidate) new_regions = len(rrp) > reachable_regions_count