Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
52 changes: 52 additions & 0 deletions Patches.py
Original file line number Diff line number Diff line change
Expand Up @@ -1837,6 +1837,58 @@ def update_scrub_text(message: bytearray, text_replacement: list[str], default_p
text_codes.append(code)
update_message_by_id(messages, message_id, ''.join(code.get_string() for code in text_codes))

# Remove age requirements on most equipment and items
# More information at https://wiki.cloudmodding.com/oot/Item_Usability_Table
if world.settings.no_age_limits:
# Item usability
rom.write_byte(0xBC7794 + 0x00, 0x09) # Deku Sticks
rom.write_byte(0xBC7794 + 0x0C, 0x09) # Boomerang
rom.write_byte(0xBC7794 + 0x0F, 0x09) # Megaton Hammer
rom.write_byte(0xBC7794 + 0x16, 0x09) # Adult Trade Item
rom.write_byte(0xBC7794 + 0x17, 0x09) # Child Trade Item
rom.write_byte(0xBC7794 + 0x19, 0x09) # Kokiri Sword
rom.write_byte(0xBC7794 + 0x1B, 0x09) # Biggoron Sword
rom.write_byte(0xBC7794 + 0x1D, 0x09) # Deku Shield
rom.write_byte(0xBC7794 + 0x1F, 0x09) # Mirror Shield
rom.write_byte(0xBC7794 + 0x22, 0x09) # Goron Tunic
rom.write_byte(0xBC7794 + 0x23, 0x09) # Zora Tunic
rom.write_byte(0xBC7794 + 0x26, 0x09) # Iron Boots
rom.write_byte(0xBC7794 + 0x27, 0x09) # Hover Boots
# Pause menu appearance
rom.write_byte(0xBC7794 + 0x28, 0x09) # Deku Sticks
rom.write_byte(0xBC7794 + 0x36, 0x09) # Boomerang
rom.write_byte(0xBC7794 + 0x39, 0x09) # Megaton Hammer
rom.write_byte(0xBC7794 + 0x63, 0x09) # Kokiri Sword
rom.write_byte(0xBC7794 + 0x65, 0x09) # Biggoron Sword
rom.write_byte(0xBC7794 + 0x66, 0x09) # Deku Shield
rom.write_byte(0xBC7794 + 0x68, 0x09) # Mirror Shield
rom.write_byte(0xBC7794 + 0x6A, 0x09) # Goron Tunic
rom.write_byte(0xBC7794 + 0x6B, 0x09) # Zora Tunic
rom.write_byte(0xBC7794 + 0x6D, 0x09) # Iron Boots
rom.write_byte(0xBC7794 + 0x6E, 0x09) # Hover Boots
rom.write_byte(0xBC7794 + 0x49, 0x09) # Child Trade Items
rom.write_byte(0xBC7794 + 0x4A, 0x09)
rom.write_byte(0xBC7794 + 0x4B, 0x09)
rom.write_byte(0xBC7794 + 0x4C, 0x09)
rom.write_byte(0xBC7794 + 0x4D, 0x09)
rom.write_byte(0xBC7794 + 0x4E, 0x09)
rom.write_byte(0xBC7794 + 0x4F, 0x09)
rom.write_byte(0xBC7794 + 0x50, 0x09)
rom.write_byte(0xBC7794 + 0x51, 0x09)
rom.write_byte(0xBC7794 + 0x52, 0x09)
rom.write_byte(0xBC7794 + 0x53, 0x09)
rom.write_byte(0xBC7794 + 0x55, 0x09) # Adult Trade Items
rom.write_byte(0xBC7794 + 0x56, 0x09)
rom.write_byte(0xBC7794 + 0x57, 0x09)
rom.write_byte(0xBC7794 + 0x58, 0x09)
rom.write_byte(0xBC7794 + 0x59, 0x09)
rom.write_byte(0xBC7794 + 0x5A, 0x09)
rom.write_byte(0xBC7794 + 0x5B, 0x09)
rom.write_byte(0xBC7794 + 0x5C, 0x09)
rom.write_byte(0xBC7794 + 0x5D, 0x09)
rom.write_byte(0xBC7794 + 0x5E, 0x09)
rom.write_byte(0xBC7794 + 0x5F, 0x09)

permutation = None

# text shuffle
Expand Down
15 changes: 15 additions & 0 deletions SettingsList.py
Original file line number Diff line number Diff line change
Expand Up @@ -4090,6 +4090,21 @@ class SettingInfos:
shared = True,
)

no_age_limits = Checkbutton(
gui_text = 'Disable Item Age Checks',
gui_tooltip = '''\
Make most items usable as both ages.
Exceptions are the bow and magic arrows
as child, hookshot as child, and magic
beans as adult.

Not considered by logic. It may be possible
to softlock yourself if you are not careful.
''',
default = False,
shared = True,
)

starting_tod = Combobox(
gui_text = 'Starting Time of Day',
default = 'default',
Expand Down
1 change: 1 addition & 0 deletions data/settings_mapping.json
Original file line number Diff line number Diff line change
Expand Up @@ -400,6 +400,7 @@
"fix_broken_drops",
"tcg_requires_lens",
"no_collectible_hearts",
"no_age_limits",
"one_item_per_dungeon"
]
},
Expand Down
Loading