Skip to content

Commit a586e28

Browse files
committed
Merge 'Fix path to the tower in tower ER' (OoTRandomizer#2412)
2 parents c385efd + cbf04b0 commit a586e28

4 files changed

Lines changed: 38 additions & 23 deletions

File tree

World.py

Lines changed: 29 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1023,32 +1023,39 @@ 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})
1026+
if self.settings.shuffle_ganon_tower:
1027+
trial_goal.items.append({'name': 'Ganons Tower Access', 'quantity': 1, 'minimum': 1, 'hintable': True})
10431028
trials.goal_count += 1
10441029

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:
10501030
trials.add_goal(trial_goal)
10511031
self.goal_categories[trials.name] = trials
1032+
else:
1033+
if not self.skipped_trials['Forest']:
1034+
trial_goal.items.append({'name': 'Forest Trial Clear', 'quantity': 1, 'minimum': 1, 'hintable': True})
1035+
trials.goal_count += 1
1036+
if not self.skipped_trials['Fire']:
1037+
trial_goal.items.append({'name': 'Fire Trial Clear', 'quantity': 1, 'minimum': 1, 'hintable': True})
1038+
trials.goal_count += 1
1039+
if not self.skipped_trials['Water']:
1040+
trial_goal.items.append({'name': 'Water Trial Clear', 'quantity': 1, 'minimum': 1, 'hintable': True})
1041+
trials.goal_count += 1
1042+
if not self.skipped_trials['Shadow']:
1043+
trial_goal.items.append({'name': 'Shadow Trial Clear', 'quantity': 1, 'minimum': 1, 'hintable': True})
1044+
trials.goal_count += 1
1045+
if not self.skipped_trials['Spirit']:
1046+
trial_goal.items.append({'name': 'Spirit Trial Clear', 'quantity': 1, 'minimum': 1, 'hintable': True})
1047+
trials.goal_count += 1
1048+
if not self.skipped_trials['Light']:
1049+
trial_goal.items.append({'name': 'Light Trial Clear', 'quantity': 1, 'minimum': 1, 'hintable': True})
1050+
trials.goal_count += 1
1051+
1052+
# Trials category is finalized and saved only if at least one trial is on
1053+
# If random trials are on and one world in multiworld gets 0 trials, still
1054+
# add the goal to prevent key errors. Since no items fulfill the goal, it
1055+
# will always be invalid for that world and not generate hints.
1056+
if self.settings.trials > 0 or self.settings.trials_random:
1057+
trials.add_goal(trial_goal)
1058+
self.goal_categories[trials.name] = trials
10521059

10531060
# In glitched logic or if trials are off, it's possible that some items required to beat the game
10541061
# (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
},

version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
__version__ = '8.2.74'
1+
__version__ = '8.2.75'
22

33
# This is a supplemental version number for branches based off of main dev.
44
supplementary_version = 0

0 commit comments

Comments
 (0)