Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TUNIC: Shuffle Ladders option #2919

Merged
merged 89 commits into from
Mar 21, 2024
Merged
Changes from 1 commit
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
47649b2
New branch to fix git being git
ScipioWright Feb 28, 2024
ea9fb31
Some minor updates
ScipioWright Feb 29, 2024
5f07a92
Renumber ladders
ScipioWright Feb 29, 2024
89b95d5
Rename frog ladder
ScipioWright Feb 29, 2024
148cd39
Rename frog ladders
ScipioWright Feb 29, 2024
9df3be5
Add description for ladder rando
ScipioWright Feb 29, 2024
3c29793
Some renames, and more ladders
ScipioWright Mar 1, 2024
c78622a
Rename swamp ladder
ScipioWright Mar 2, 2024
dea35af
Most of the way through ER, just need to do rules
ScipioWright Mar 2, 2024
5108369
Finished with ER except for ladder storage rules
ScipioWright Mar 2, 2024
ac8a3eb
Wrote up ladder storage rules, need to merge in the hint changes here…
ScipioWright Mar 2, 2024
06ab1a8
Ported hint branch over
ScipioWright Mar 2, 2024
ebaf64d
Updated ls er rules
ScipioWright Mar 2, 2024
ce22375
Fix for hints
ScipioWright Mar 2, 2024
412f180
Simplify has_ladder (thanks medic)
ScipioWright Mar 4, 2024
a8fdf12
Change name of west overworld ladders
ScipioWright Mar 5, 2024
709819f
Add beneath the vault ladder
ScipioWright Mar 5, 2024
a1ef58e
Rename west bell ladders
ScipioWright Mar 5, 2024
96a84e5
Revise remove filler to remove traps if there's no filler left
ScipioWright Mar 5, 2024
a180470
Rename ladder rando to shuffle ladders
ScipioWright Mar 6, 2024
4c0c4a4
Shuffle options around a bit
ScipioWright Mar 6, 2024
0b322b8
Make the ladder logic actually get loaded in properly
ScipioWright Mar 6, 2024
4ed177b
Make location groups less dumb, add more, remove some
ScipioWright Mar 6, 2024
9ca4f73
Update docs to match new groups
ScipioWright Mar 6, 2024
235ab77
Several logic fixes
ScipioWright Mar 6, 2024
f3feb6b
Re-fix that quarry bug
ScipioWright Mar 6, 2024
dd788bc
Update option description
ScipioWright Mar 6, 2024
56d544e
Fix overworld -> atoll again
ScipioWright Mar 6, 2024
13fc2c3
Add missing HC rules
ScipioWright Mar 7, 2024
e725d65
Fix more broken rules
ScipioWright Mar 7, 2024
b6c4380
More fixesssss
ScipioWright Mar 7, 2024
5e4fbd7
Reorganize temple access
ScipioWright Mar 7, 2024
e8a7345
Couple more fixes, add a todo
ScipioWright Mar 7, 2024
0d3cfca
LS from atoll upper entry if you have the ladder
ScipioWright Mar 7, 2024
bed7d87
Add note
ScipioWright Mar 7, 2024
56e43b2
Add note to er scripts for later
ScipioWright Mar 7, 2024
6596092
Big refactor, ladder rando just uses the ER now with vanilla connections
ScipioWright Mar 8, 2024
c25ed09
Remove above ruined passage -> east overworld with laurels, cause it …
ScipioWright Mar 8, 2024
7ecb2ab
Fix cathedral door logic bug
ScipioWright Mar 8, 2024
9853ff5
Merge branch 'main' into tunc-ladders
ScipioWright Mar 8, 2024
9e2000e
emdash
ScipioWright Mar 8, 2024
daf5caf
Update LS rules
ScipioWright Mar 8, 2024
e50f835
Simplify LS rules slightly
ScipioWright Mar 8, 2024
222a6e4
Remove unused helper
ScipioWright Mar 8, 2024
2316e7d
Updating comments
ScipioWright Mar 8, 2024
80239f8
Some pep8ing
ScipioWright Mar 9, 2024
97f3d11
Clear todo after doing the todo thing
ScipioWright Mar 9, 2024
b863b45
Add missed grapple connection from main Overworld to the beach
ScipioWright Mar 9, 2024
0c5da9d
Fix rules for the chest beneath the quarry gate
ScipioWright Mar 9, 2024
a63bbb4
Several unrestricted logic fixes (how many more until I remove the op…
ScipioWright Mar 9, 2024
c5f84d0
Add atoll to overworld lower LS
ScipioWright Mar 10, 2024
b5d6715
Remove data version, since it is not necessary and will be removed ev…
ScipioWright Mar 10, 2024
40f6e94
Add new region to deal with logic bug with ladders and ER together
ScipioWright Mar 10, 2024
9e32d9e
Rename ladder items to more consistent names
ScipioWright Mar 10, 2024
51a50ff
Address review comments, also fix a tiny region issue
ScipioWright Mar 11, 2024
d02b13e
Add me to codeowners (Silent said it was okay)
ScipioWright Mar 11, 2024
340360d
Add another ladder group
ScipioWright Mar 11, 2024
0a2da8a
Add Silvris's suggestion
ScipioWright Mar 11, 2024
f0711fb
Add another suggested ladder
ScipioWright Mar 11, 2024
4fef2c1
Renaming ladders, combining two into one. Also update docs to include…
ScipioWright Mar 11, 2024
deb6ba5
Another edge case ls rule (why ls why)
ScipioWright Mar 11, 2024
350f579
Fix a few more edge cases
ScipioWright Mar 11, 2024
99590a3
maybe you shouldn't code when you're very tired? nahhhhh
ScipioWright Mar 11, 2024
14a435c
what if we kissed on the roof of the library. haha, unless...
ScipioWright Mar 11, 2024
da719f5
so many little interactions between ER and ladders
ScipioWright Mar 11, 2024
49ebdb5
lmao we blocked the tiny library lab ladder
ScipioWright Mar 11, 2024
7e04b6b
incorrect region on a few locations
ScipioWright Mar 12, 2024
943955d
Updating a few comments
ScipioWright Mar 12, 2024
af39a7a
Merge branch 'main' into tunc-ladders
ScipioWright Mar 12, 2024
c0433d0
Reorder ladder item IDs
ScipioWright Mar 12, 2024
66d506f
Add sword 4 can get you past envoy rule
ScipioWright Mar 14, 2024
adf0638
Remove debug print
ScipioWright Mar 15, 2024
9db5c2e
Merge branch 'main' into tunc-ladders
ScipioWright Mar 15, 2024
c2f2dd2
Change a few lists to sets to be slightly faster
ScipioWright Mar 15, 2024
fc97b73
Merge branch 'main' into tunc-ladders
ScipioWright Mar 15, 2024
84e8f76
Merge branch 'main' into tunc-ladders
ScipioWright Mar 15, 2024
7d6b681
Fix missing tags
ScipioWright Mar 15, 2024
3de0214
Fix portal region name
ScipioWright Mar 15, 2024
eca1593
Merge branch 'main' into tunc-ladders
ScipioWright Mar 15, 2024
cc1d1eb
Un-pep8 option descriptions so the new lines don't make it look stupi…
ScipioWright Mar 16, 2024
3786849
Add more ladder storage logic, deplete brain cells
ScipioWright Mar 16, 2024
2d3138b
ladders ladders ladders ladders
ScipioWright Mar 16, 2024
6bdd00f
ice grapples are nice grapples (no they aren't)
ScipioWright Mar 16, 2024
92c22db
Change entrance_rando value in slot_data to an int(bool(value)) so it…
ScipioWright Mar 17, 2024
d214b9c
Remove a rule on a chest that we felt didn't really need to be there
ScipioWright Mar 17, 2024
0d5a67d
Update logicrules option description
ScipioWright Mar 17, 2024
4745ccc
Update entrance rando option description for clarity
ScipioWright Mar 18, 2024
29badc9
Update entrance rando option description again
ScipioWright Mar 18, 2024
a41785a
Merge branch 'main' into tunc-ladders
ScipioWright Mar 20, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Rename west bell ladders
ScipioWright committed Mar 5, 2024
commit a1ef58e41c616e177e17c98989db35933f3d9fe6
24 changes: 12 additions & 12 deletions worlds/tunic/er_rules.py
Original file line number Diff line number Diff line change
@@ -85,14 +85,14 @@ def set_er_region_rules(world: "TunicWorld", ability_unlocks: Dict[str, int], re

regions["Overworld Belltower"].connect(
connecting_region=regions["Overworld to West Garden Upper"],
rule=lambda state: has_ladder("Ladders to West Belltower", state, player, options))
rule=lambda state: has_ladder("Ladders to West Bell", state, player, options))
regions["Overworld to West Garden Upper"].connect(
connecting_region=regions["Overworld Belltower"],
rule=lambda state: has_ladder("Ladders to West Belltower", state, player, options))
rule=lambda state: has_ladder("Ladders to West Bell", state, player, options))

regions["Overworld Belltower"].connect(
connecting_region=regions["Overworld Belltower at Bell"],
rule=lambda state: has_ladder("Ladders to West Belltower", state, player, options))
rule=lambda state: has_ladder("Ladders to West Bell", state, player, options))

# long dong, do not make a reverse connection here or to belltower
regions["Overworld above Patrol Cave"].connect(
@@ -1011,31 +1011,31 @@ def get_portal_info(portal_sd: str) -> (str, str):
# from the ladders by the belltower
# Ruined Passage
("Overworld to West Garden Upper", "Overworld Redux, Ruins Passage_east",
{"Ladders to West Belltower"}),
{"Ladders to West Bell"}),
# Well rail, west side. Can ls in town, get extra height by going over the portal pad
("Overworld to West Garden Upper", "Overworld Redux, Sewer_west_aqueduct",
{"Ladders to West Belltower"}),
{"Ladders to West Bell"}),
# Well rail, east side. Need some height from the temple stairs
("Overworld to West Garden Upper", "Overworld Redux, Furnace_gyro_upper_north",
{"Ladders to West Belltower"}),
{"Ladders to West Bell"}),
# Quarry entry
("Overworld to West Garden Upper", "Overworld Redux, Darkwoods Tunnel_",
{"Ladders to West Belltower"}),
{"Ladders to West Bell"}),
# East Forest entry
("Overworld to West Garden Upper", "Overworld Redux, Forest Belltower_",
{"Ladders to West Belltower"}),
{"Ladders to West Bell"}),
# Fortress entry
("Overworld to West Garden Upper", "Overworld Redux, Fortress Courtyard_",
{"Ladders to West Belltower"}),
{"Ladders to West Bell"}),
# Patrol Cave entry
("Overworld to West Garden Upper", "Overworld Redux, PatrolCave_",
{"Ladders to West Belltower"}),
{"Ladders to West Bell"}),
# Special Shop entry
("Overworld to West Garden Upper", "Overworld Redux, ShopSpecial_",
{"Ladders to West Belltower"}),
{"Ladders to West Bell"}),
# Temple Rafters
("Overworld to West Garden Upper", "Overworld Redux, Temple_rafters",
{"Ladders to West Belltower"}),
{"Ladders to West Bell"}),

# Furnace ladder to the fuse entrance
("Furnace Ladder Area", "Furnace, Overworld Redux_gyro_upper_north", set()),
2 changes: 1 addition & 1 deletion worlds/tunic/items.py
Original file line number Diff line number Diff line change
@@ -151,7 +151,7 @@ class TunicItemData(NamedTuple):
"Ladders near Patrol Cave": TunicItemData(ItemClassification.progression, 0, 134, "ladders"),
"Ladder to Well": TunicItemData(ItemClassification.progression, 0, 135, "ladders"),
"Well Back Ladder": TunicItemData(ItemClassification.progression, 0, 136, "ladders"),
"Ladders to West Belltower": TunicItemData(ItemClassification.progression, 0, 137, "ladders"),
"Ladders to West Bell": TunicItemData(ItemClassification.progression, 0, 137, "ladders"),
"Ladder to Quarry": TunicItemData(ItemClassification.progression, 0, 138, "ladders"),
"Dark Tomb Ladder": TunicItemData(ItemClassification.progression, 0, 139, "ladders"),
"Ladders near Dark Tomb": TunicItemData(ItemClassification.progression, 0, 140, "ladders"),
6 changes: 3 additions & 3 deletions worlds/tunic/ladder_rules.py
Original file line number Diff line number Diff line change
@@ -57,7 +57,7 @@ def set_ladder_region_rules(world: "TunicWorld", ability_unlocks: Dict[str, int]
multiworld.get_entrance("Overworld -> Sealed Temple", player).access_rule = \
lambda state: ((state.has("Ladder Drop to East Forest", player) and
can_reach_east_overworld(state, player, options, ability_unlocks)) and
(state.has("Ladders to West Belltower", player) and
(state.has("Ladders to West Bell", player) and
((state.has(laurels, player) and (has_sword(state, player) or state.has(fire_wand, player))) or
(state.has_all({lantern, "Dark Tomb Ladder"}, player) and has_sword(state, player))))
or (can_reach_upper_overworld(state, player, options, ability_unlocks)
@@ -100,7 +100,7 @@ def set_ladder_region_rules(world: "TunicWorld", ability_unlocks: Dict[str, int]
lambda state: state.has("Dark Tomb Ladder", player)
# dark tomb to west garden has no rule intentionally
multiworld.get_entrance("Overworld -> West Garden", player).access_rule = \
lambda state: (state.has(laurels, player) and state.has("Ladders to West Belltower", player)) \
lambda state: (state.has(laurels, player) and state.has("Ladders to West Bell", player)) \
or can_ladder_storage(state, player, options)
multiworld.get_entrance("Overworld -> Beneath the Well", player).access_rule = \
lambda state: state.has("Ladder to Well", player)
@@ -240,7 +240,7 @@ def set_ladder_location_rules(world: "TunicWorld", ability_unlocks: Dict[str, in
set_rule(multiworld.get_location("Overworld - [West] Chest After Bell", player),
lambda state: state.has(laurels, player)
or (has_lantern(state, player, options) and has_sword(state, player)
and state.has_all({"Ladders to West Belltower", "Dark Tomb Ladder"}, player))
and state.has_all({"Ladders to West Bell", "Dark Tomb Ladder"}, player))
or can_ladder_storage(state, player, options))
set_rule(multiworld.get_location("Overworld - [Northwest] Chest Beneath Quarry Gate", player),
lambda state: state.has_any({grapple, laurels}, player) or options.logic_rules)