Skip to content

Commit 067f5e2

Browse files
committed
Enable alternate dungeon reward hint mode for tower ER
1 parent d70b7f9 commit 067f5e2

3 files changed

Lines changed: 6 additions & 4 deletions

File tree

Hints.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1271,7 +1271,7 @@ def build_gossip_hints(spoiler: Spoiler, worlds: list[World]) -> None:
12711271
for world in worlds:
12721272
for location in world.hinted_dungeon_reward_locations.values():
12731273
if world.settings.enhance_map_compass:
1274-
if world.mixed_pools_bosses or world.settings.shuffle_dungeon_rewards not in ('vanilla', 'reward'):
1274+
if world.entrance_rando_reward_hints:
12751275
# In these settings, there is not necessarily one dungeon reward in each dungeon,
12761276
# so we instead have each compass hint the area of its dungeon's vanilla reward.
12771277
compass_locations = [

Patches.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2004,7 +2004,7 @@ def update_scrub_text(message: bytearray, text_replacement: list[str], default_p
20042004
update_message_by_id(messages, map_id, map_message, allow_duplicates=True)
20052005
else:
20062006
dungeon_name, compass_id, map_id = dungeon_list[dungeon.name]
2007-
if world.mixed_pools_bosses or world.settings.shuffle_dungeon_rewards not in ('vanilla', 'reward'):
2007+
if world.entrance_rando_reward_hints:
20082008
vanilla_reward = world.get_location(dungeon.vanilla_boss_name).vanilla_item
20092009
vanilla_reward_location = world.hinted_dungeon_reward_locations[vanilla_reward]
20102010
area = HintArea.at(vanilla_reward_location)
@@ -2796,9 +2796,9 @@ def configure_dungeon_info(rom: Rom, world: World) -> None:
27962796
rom.write_int32(rom.sym('CFG_DUNGEON_INFO_MQ_ENABLE'), int(mq_enable))
27972797
rom.write_int32(rom.sym('CFG_DUNGEON_INFO_MQ_NEED_MAP'), int(enhance_map_compass))
27982798
rom.write_int32(rom.sym('CFG_DUNGEON_INFO_REWARD_ENABLE'), int('altar' in world.settings.misc_hints or enhance_map_compass))
2799-
rom.write_int32(rom.sym('CFG_DUNGEON_INFO_REWARD_NEED_COMPASS'), (2 if world.mixed_pools_bosses or world.settings.shuffle_dungeon_rewards not in ('vanilla', 'reward') else 1) if enhance_map_compass and world.settings.shuffle_dungeon_rewards != 'dungeon' else 0)
2799+
rom.write_int32(rom.sym('CFG_DUNGEON_INFO_REWARD_NEED_COMPASS'), (2 if world.entrance_rando_reward_hints else 1) if enhance_map_compass and world.settings.shuffle_dungeon_rewards != 'dungeon' else 0)
28002800
rom.write_int32(rom.sym('CFG_DUNGEON_INFO_REWARD_NEED_ALTAR'), int(not enhance_map_compass and world.settings.shuffle_dungeon_rewards != 'dungeon'))
2801-
rom.write_int32(rom.sym('CFG_DUNGEON_INFO_REWARD_SUMMARY_ENABLE'), int(not world.mixed_pools_bosses and world.settings.shuffle_dungeon_rewards in ('vanilla', 'reward')))
2801+
rom.write_int32(rom.sym('CFG_DUNGEON_INFO_REWARD_SUMMARY_ENABLE'), int(not world.entrance_rando_reward_hints))
28022802
rom.write_bytes(rom.sym('CFG_DUNGEON_REWARDS'), dungeon_rewards)
28032803
rom.write_bytes(rom.sym('CFG_DUNGEON_IS_MQ'), dungeon_is_mq)
28042804
rom.write_bytes(rom.sym('CFG_DUNGEON_REWARD_AREAS'), dungeon_reward_areas)

World.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@ def __init__(self, world_id: int, settings: Settings, resolve_randomized_setting
7575
)
7676

7777
self.mixed_pools_bosses = False # this setting is still in active development at https://github.com/Roman971/OoT-Randomizer
78+
# in these settings, there's not necessarily one dungeon reward in each main dungeon, so compasses and the pause menu switch to a different behavior
79+
self.entrance_rando_reward_hints = self.mixed_pools_bosses or self.settings.shuffle_ganon_tower or self.settings.shuffle_dungeon_rewards not in ('vanilla', 'reward')
7880

7981
self.ensure_tod_access: bool = bool(self.shuffle_interior_entrances or settings.shuffle_overworld_entrances or settings.spawn_positions)
8082
self.disable_trade_revert: bool = self.shuffle_interior_entrances or settings.shuffle_overworld_entrances or settings.adult_trade_shuffle

0 commit comments

Comments
 (0)