Skip to content

Commit e4d5f95

Browse files
committed
Fix path to the tower in tower ER
1 parent 5596076 commit e4d5f95

3 files changed

Lines changed: 30 additions & 27 deletions

File tree

World.py

Lines changed: 22 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -796,7 +796,7 @@ def set_goals(self) -> None:
796796
trials = GoalCategory('trials', 30, minimum_goals=1)
797797
th = GoalCategory('triforce_hunt', 30, goal_count=round(self.settings.triforce_goal_per_world / 10), minimum_goals=1)
798798
ganon = GoalCategory('ganon', 40, goal_count=1)
799-
trial_goal = Goal(self, 'the Tower', 'path to #the Tower#', 'White', items=[], create_empty=True)
799+
trial_goal = Goal(self, 'the Tower', 'path to #the Tower#', 'White', items=[{'name': 'Ganons Tower Access', 'quantity': 1, 'minimum': 1, 'hintable': True}])
800800

801801
if self.settings.triforce_hunt and self.settings.triforce_goal_per_world > 0:
802802
# "Hintable" value of False means the goal items themselves cannot
@@ -1023,32 +1023,27 @@ def set_goals(self) -> None:
10231023

10241024
# To avoid too many goals in the hint selection phase,
10251025
# trials are reduced to one goal with six items to obtain.
1026-
if not self.skipped_trials['Forest']:
1027-
trial_goal.items.append({'name': 'Forest Trial Clear', 'quantity': 1, 'minimum': 1, 'hintable': True})
1028-
trials.goal_count += 1
1029-
if not self.skipped_trials['Fire']:
1030-
trial_goal.items.append({'name': 'Fire Trial Clear', 'quantity': 1, 'minimum': 1, 'hintable': True})
1031-
trials.goal_count += 1
1032-
if not self.skipped_trials['Water']:
1033-
trial_goal.items.append({'name': 'Water Trial Clear', 'quantity': 1, 'minimum': 1, 'hintable': True})
1034-
trials.goal_count += 1
1035-
if not self.skipped_trials['Shadow']:
1036-
trial_goal.items.append({'name': 'Shadow Trial Clear', 'quantity': 1, 'minimum': 1, 'hintable': True})
1037-
trials.goal_count += 1
1038-
if not self.skipped_trials['Spirit']:
1039-
trial_goal.items.append({'name': 'Spirit Trial Clear', 'quantity': 1, 'minimum': 1, 'hintable': True})
1040-
trials.goal_count += 1
1041-
if not self.skipped_trials['Light']:
1042-
trial_goal.items.append({'name': 'Light Trial Clear', 'quantity': 1, 'minimum': 1, 'hintable': True})
1043-
trials.goal_count += 1
1044-
1045-
# Trials category is finalized and saved only if at least one trial is on
1046-
# If random trials are on and one world in multiworld gets 0 trials, still
1047-
# add the goal to prevent key errors. Since no items fulfill the goal, it
1048-
# will always be invalid for that world and not generate hints.
1049-
if self.settings.trials > 0 or self.settings.trials_random:
1050-
trials.add_goal(trial_goal)
1051-
self.goal_categories[trials.name] = trials
1026+
if not self.settings.shuffle_ganon_tower:
1027+
if not self.skipped_trials['Forest']:
1028+
trial_goal.items.append({'name': 'Forest Trial Clear', 'quantity': 1, 'minimum': 1, 'hintable': True})
1029+
trials.goal_count += 1
1030+
if not self.skipped_trials['Fire']:
1031+
trial_goal.items.append({'name': 'Fire Trial Clear', 'quantity': 1, 'minimum': 1, 'hintable': True})
1032+
trials.goal_count += 1
1033+
if not self.skipped_trials['Water']:
1034+
trial_goal.items.append({'name': 'Water Trial Clear', 'quantity': 1, 'minimum': 1, 'hintable': True})
1035+
trials.goal_count += 1
1036+
if not self.skipped_trials['Shadow']:
1037+
trial_goal.items.append({'name': 'Shadow Trial Clear', 'quantity': 1, 'minimum': 1, 'hintable': True})
1038+
trials.goal_count += 1
1039+
if not self.skipped_trials['Spirit']:
1040+
trial_goal.items.append({'name': 'Spirit Trial Clear', 'quantity': 1, 'minimum': 1, 'hintable': True})
1041+
trials.goal_count += 1
1042+
if not self.skipped_trials['Light']:
1043+
trial_goal.items.append({'name': 'Light Trial Clear', 'quantity': 1, 'minimum': 1, 'hintable': True})
1044+
trials.goal_count += 1
1045+
trials.add_goal(trial_goal)
1046+
self.goal_categories[trials.name] = trials
10521047

10531048
# In glitched logic or if trials are off, it's possible that some items required to beat the game
10541049
# (such as bow, magic, light arrows, or anything required to reach Ganon's Castle)

data/Glitched World/Overworld.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1234,6 +1234,10 @@
12341234
{
12351235
"region_name": "Ganons Castle Tower",
12361236
"dungeon": "Ganons Castle",
1237+
"events": {
1238+
# Used for the "path to the tower" goal
1239+
"Ganons Tower Access": "is_adult"
1240+
},
12371241
"locations": {
12381242
"Ganons Tower Boss Key Chest": "True",
12391243
"Ganondorf Hint": "Boss_Key_Ganons_Castle",

data/World/Bosses.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,10 @@
150150
"region_name": "Ganons Castle Tower",
151151
"scene": "Ganons Castle Tower",
152152
"is_boss_room": true,
153+
"events": {
154+
# Used for the "path to the tower" goal
155+
"Ganons Tower Access": "is_adult"
156+
},
153157
"locations": {
154158
"Ganons Tower Boss Key Chest": "is_adult or Kokiri_Sword"
155159
},

0 commit comments

Comments
 (0)