Skip to content

Commit 94108be

Browse files
ScipioWrightqwint
authored andcommitted
TUNIC: ER Refactor for better plando connections, fewer shops improvement (ArchipelagoMW#3075)
* Fixed shop changes * Update option description * Apply suggestions from Vi's review (thank you) * Fix for plando connections on a full scene * Plando connections should work better now for complicated paths * Even more good plando connections yes * Starting to move the info over * Fixing up formatting a bit * Remove unneeded item info * Put in updated_reachable_regions, to replace add_dependent_regions * Updated to match ladder shuffle * More stuff I guess * It functions! * It mostly works with plando now, some slight issues still * Fixed minor logic bug * Fixed world leakage * Change exception message * Make exception message better for troubleshooting failed connections * Merged with main * technically a logic fix but it would never matter cause no start shuffle * Add a couple more alias item groups cause yeah * Rename beneath the vault front -> beneath the vault main * Flip lantern access rule to the region * Add missing connection to traversal reqs * Move start_inventory_from_pool to the top so that it's next to start_inventory * Reword the fixed shop description slightly * Refactor per ixrec's comments * Greatly reduced an overcomplicated block because Vi is cool and smart and also cool * Rewrite traversal reqs thing per Vi's comments
1 parent 0f20bcc commit 94108be

File tree

6 files changed

+972
-570
lines changed

6 files changed

+972
-570
lines changed

worlds/tunic/er_data.py

+815-356
Large diffs are not rendered by default.

worlds/tunic/er_rules.py

+13-10
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,8 @@ def set_er_region_rules(world: "TunicWorld", ability_unlocks: Dict[str, int], re
268268
connecting_region=regions["Overworld Well Ladder"],
269269
rule=lambda state: has_ladder("Ladders in Well", state, player, options))
270270
regions["Overworld Well Ladder"].connect(
271-
connecting_region=regions["Overworld"])
271+
connecting_region=regions["Overworld"],
272+
rule=lambda state: has_ladder("Ladders in Well", state, player, options))
272273

273274
# nmg: can ice grapple through the door
274275
regions["Overworld"].connect(
@@ -706,17 +707,18 @@ def set_er_region_rules(world: "TunicWorld", ability_unlocks: Dict[str, int], re
706707
connecting_region=regions["Fortress Exterior from Overworld"])
707708

708709
regions["Beneath the Vault Ladder Exit"].connect(
709-
connecting_region=regions["Beneath the Vault Front"],
710-
rule=lambda state: has_ladder("Ladder to Beneath the Vault", state, player, options))
711-
regions["Beneath the Vault Front"].connect(
710+
connecting_region=regions["Beneath the Vault Main"],
711+
rule=lambda state: has_ladder("Ladder to Beneath the Vault", state, player, options)
712+
and has_lantern(state, player, options))
713+
regions["Beneath the Vault Main"].connect(
712714
connecting_region=regions["Beneath the Vault Ladder Exit"],
713715
rule=lambda state: has_ladder("Ladder to Beneath the Vault", state, player, options))
714716

715-
regions["Beneath the Vault Front"].connect(
716-
connecting_region=regions["Beneath the Vault Back"],
717-
rule=lambda state: has_lantern(state, player, options))
717+
regions["Beneath the Vault Main"].connect(
718+
connecting_region=regions["Beneath the Vault Back"])
718719
regions["Beneath the Vault Back"].connect(
719-
connecting_region=regions["Beneath the Vault Front"])
720+
connecting_region=regions["Beneath the Vault Main"],
721+
rule=lambda state: has_lantern(state, player, options))
720722

721723
regions["Fortress East Shortcut Upper"].connect(
722724
connecting_region=regions["Fortress East Shortcut Lower"])
@@ -870,6 +872,9 @@ def set_er_region_rules(world: "TunicWorld", ability_unlocks: Dict[str, int], re
870872
regions["Rooted Ziggurat Portal Room Entrance"].connect(
871873
connecting_region=regions["Rooted Ziggurat Lower Back"])
872874

875+
regions["Zig Skip Exit"].connect(
876+
connecting_region=regions["Rooted Ziggurat Lower Front"])
877+
873878
regions["Rooted Ziggurat Portal"].connect(
874879
connecting_region=regions["Rooted Ziggurat Portal Room Exit"],
875880
rule=lambda state: state.has("Activate Ziggurat Fuse", player))
@@ -1453,8 +1458,6 @@ def set_er_location_rules(world: "TunicWorld", ability_unlocks: Dict[str, int])
14531458
# Beneath the Vault
14541459
set_rule(multiworld.get_location("Beneath the Fortress - Bridge", player),
14551460
lambda state: state.has_group("Melee Weapons", player, 1) or state.has_any({laurels, fire_wand}, player))
1456-
set_rule(multiworld.get_location("Beneath the Fortress - Obscured Behind Waterfall", player),
1457-
lambda state: has_lantern(state, player, options))
14581461

14591462
# Quarry
14601463
set_rule(multiworld.get_location("Quarry - [Central] Above Ladder Dash Chest", player),

0 commit comments

Comments
 (0)