about summary refs log tree commit diff stats
path: root/apworld/regions.py
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2026-02-06 13:45:01 -0500
committerStar Rauchenberger <fefferburbia@gmail.com>2026-02-06 13:45:01 -0500
commit27a1d63608cc370cdf491ae08c70c74f76956367 (patch)
tree3e1dbbfedc130e17eb8b0da575671e8f99c98a1e /apworld/regions.py
parentbde801d654ce6ddc41f703e55adfcc33b3f3104e (diff)
parent2a3916c1c58e033b06042d5d5413ea85cd94babf (diff)
downloadlingo2-archipelago-27a1d63608cc370cdf491ae08c70c74f76956367.tar.gz
lingo2-archipelago-27a1d63608cc370cdf491ae08c70c74f76956367.tar.bz2
lingo2-archipelago-27a1d63608cc370cdf491ae08c70c74f76956367.zip
Merge branch 'main' of fourisland.com:/srv/git/lingo2-archipelago
Diffstat (limited to 'apworld/regions.py')
-rw-r--r--apworld/regions.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/apworld/regions.py b/apworld/regions.py index 2f9b571..500139f 100644 --- a/apworld/regions.py +++ b/apworld/regions.py
@@ -5,6 +5,7 @@ from BaseClasses import Region, ItemClassification, Entrance
5from entrance_rando import randomize_entrances 5from entrance_rando import randomize_entrances
6from .items import Lingo2Item 6from .items import Lingo2Item
7from .locations import Lingo2Location 7from .locations import Lingo2Location
8from .options import FastTravelAccess
8from .player_logic import AccessRequirements 9from .player_logic import AccessRequirements
9from .rules import make_location_lambda 10from .rules import make_location_lambda
10 11
@@ -153,6 +154,23 @@ def create_regions(world: "Lingo2World"):
153 for region in reqs.get_referenced_rooms(): 154 for region in reqs.get_referenced_rooms():
154 world.multiworld.register_indirect_condition(regions[region], connection) 155 world.multiworld.register_indirect_condition(regions[region], connection)
155 156
157 if world.options.fast_travel_access != FastTravelAccess.option_vanilla:
158 for rte_map_id in world.player_logic.rte_mapping:
159 rte_map = world.static_logic.objects.maps[rte_map_id]
160 to_region = world.static_logic.get_room_region_name(rte_map.rte_room)
161
162 if to_region not in regions:
163 continue
164
165 connection_name = f"Return to {to_region}"
166
167 reqs = AccessRequirements()
168
169 if world.options.fast_travel_access == FastTravelAccess.option_items:
170 reqs.items.add(world.static_logic.get_map_rte_item_name(rte_map_id))
171
172 regions["Menu"].connect(regions[to_region], connection_name, make_location_lambda(reqs, world, None))
173
156 world.multiworld.regions += regions.values() 174 world.multiworld.regions += regions.values()
157 175
158 176