From ecc4411f327e61f6db4a1c96596dd9e070790a46 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Tue, 7 Oct 2025 18:01:18 -0400 Subject: Don't create useless connections Connections that can't be used unless you already have access to the other side (e.g. being on the "wrong side" of a vanilla door) are useless because they never increase access. This change turns these into oneway connections. This has helped with ER failures significantly, reducing the fail rate from about 14% to about 3%. --- apworld/regions.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/apworld/regions.py b/apworld/regions.py index 1215f5a..0c3858d 100644 --- a/apworld/regions.py +++ b/apworld/regions.py @@ -132,6 +132,12 @@ def create_regions(world: "Lingo2World"): reqs.simplify() reqs.remove_room(from_region) + if to_region in reqs.rooms: + # This connection can't ever increase access because you're required to have access to the other side in + # order for it to be usable. We will just not create the connection at all, in order to help GER figure out + # what regions are dead ends. + continue + connection = Entrance(world.player, connection_name, regions[from_region]) connection.access_rule = make_location_lambda(reqs, world, regions) -- cgit 1.4.1