OoT: update logic files, naming, and logic tricks to version 6.2

Gerudo Training Grounds -> Ground
Composers Grave -> Royal Familys Tomb
Gerudo Fortress -> Thieves Hideout for the indoor sections
This commit is contained in:
espeon65536 2022-05-01 13:05:52 -05:00
parent f476747ade
commit c801cdbb3b
25 changed files with 632 additions and 637 deletions

View File

@ -87,8 +87,8 @@ dungeon_table = [
'dungeon_item': 1,
},
{
'name': 'Gerudo Training Grounds',
'hint': 'the Gerudo Training Grounds',
'name': 'Gerudo Training Ground',
'hint': 'the Gerudo Training Ground',
'font_color': 'Yellow',
'boss_key': 0,
'small_key': 9,

View File

@ -93,8 +93,8 @@ entrance_shuffle_table = [
('Bottom of the Well -> Kakariko Village', { 'index': 0x02A6 })),
('Dungeon', ('ZF Ice Ledge -> Ice Cavern Beginning', { 'index': 0x0088 }),
('Ice Cavern Beginning -> ZF Ice Ledge', { 'index': 0x03D4 })),
('Dungeon', ('Gerudo Fortress -> Gerudo Training Grounds Lobby', { 'index': 0x0008 }),
('Gerudo Training Grounds Lobby -> Gerudo Fortress', { 'index': 0x03A8 })),
('Dungeon', ('Gerudo Fortress -> Gerudo Training Ground Lobby', { 'index': 0x0008 }),
('Gerudo Training Ground Lobby -> Gerudo Fortress', { 'index': 0x03A8 })),
('Interior', ('Kokiri Forest -> KF Midos House', { 'index': 0x0433 }),
('KF Midos House -> Kokiri Forest', { 'index': 0x0443 })),
@ -251,8 +251,8 @@ entrance_shuffle_table = [
('Graveyard Shield Grave -> Graveyard', { 'index': 0x035D })),
('Grave', ('Graveyard -> Graveyard Heart Piece Grave', { 'index': 0x031C }),
('Graveyard Heart Piece Grave -> Graveyard', { 'index': 0x0361 })),
('Grave', ('Graveyard -> Graveyard Composers Grave', { 'index': 0x002D }),
('Graveyard Composers Grave -> Graveyard', { 'index': 0x050B })),
('Grave', ('Graveyard -> Graveyard Royal Familys Tomb', { 'index': 0x002D }),
('Graveyard Royal Familys Tomb -> Graveyard', { 'index': 0x050B })),
('Grave', ('Graveyard -> Graveyard Dampes Grave', { 'index': 0x044F }),
('Graveyard Dampes Grave -> Graveyard', { 'index': 0x0359 })),

View File

@ -6,7 +6,7 @@ from BaseClasses import LocationProgressType
# DMC Death Mountain Crater
# DMT Death Mountain Trail
# GC Goron City
# GF Gerudo Fortress
# GF Gerudo's Fortress
# GS Gold Skulltula
# GV Gerudo Valley
# HC Hyrule Castle
@ -17,6 +17,7 @@ from BaseClasses import LocationProgressType
# LW Lost Woods
# OGC Outside Ganon's Castle
# SFM Sacred Forest Meadow
# TH Thieves' Hideout
# ZD Zora's Domain
# ZF Zora's Fountain
# ZR Zora's River
@ -247,7 +248,7 @@ hintTable = {
'BossKey': (["a master of unlocking", "a dungeon's master pass"], "a Boss Key", 'item'),
'GanonBossKey': (["a master of unlocking", "a dungeon's master pass"], "a Boss Key", 'item'),
'SmallKey': (["a tool for unlocking", "a dungeon pass", "a lock remover", "a lockpick"], "a Small Key", 'item'),
'FortressSmallKey': (["a get out of jail free card"], "a Jail Key", 'item'),
'HideoutSmallKey': (["a get out of jail free card"], "a Jail Key", 'item'),
'KeyError': (["something mysterious", "an unknown treasure"], "An Error (Please Report This)", 'item'),
'Arrows (5)': (["a few danger darts", "a few sharp shafts"], "Arrows (5 pieces)", 'item'),
'Arrows (10)': (["some danger darts", "some sharp shafts"], "Arrows (10 pieces)", 'item'),
@ -271,7 +272,7 @@ hintTable = {
'KF Links House Cow': ("the #bovine bounty of a horseback hustle# gifts", "#Malon's obstacle course# leads to", 'always'),
'Song from Ocarina of Time': ("the #Ocarina of Time# teaches", None, ['song', 'sometimes']),
'Song from Composers Grave': (["#ReDead in the Composers' Grave# guard", "the #Composer Brothers wrote#"], None, ['song', 'sometimes']),
'Song from Royal Familys Tomb': (["#ReDead in the royal tomb# guard", "the #Composer Brothers wrote#"], None, ['song', 'sometimes']),
'Sheik in Forest': ("#in a meadow# Sheik teaches", None, ['song', 'sometimes']),
'Sheik at Temple': ("Sheik waits at a #monument to time# to teach", None, ['song', 'sometimes']),
'Sheik in Crater': ("the #crater's melody# is", None, ['song', 'sometimes']),
@ -304,7 +305,7 @@ hintTable = {
'ZF GS Hidden Cave': ("a spider high #above the icy waters# holds", None, ['overworld', 'sometimes']),
'Wasteland Chest': (["#deep in the wasteland# is", "beneath #the sands#, flames reveal"], None, ['overworld', 'sometimes']),
'Wasteland GS': ("a #spider in the wasteland# holds", None, ['overworld', 'sometimes']),
'Graveyard Composers Grave Chest': (["#flames in the Composers' Grave# reveal", "the #Composer Brothers hid#"], None, ['overworld', 'sometimes']),
'Royal Familys Tomb Chest': (["#flames in the royal tomb# reveal", "the #Composer Brothers hid#"], None, ['overworld', 'sometimes']),
'ZF Bottom Freestanding PoH': ("#under the icy waters# lies", None, ['overworld', 'sometimes']),
'GC Pot Freestanding PoH': ("spinning #Goron pottery# contains", None, ['overworld', 'sometimes']),
'ZD King Zora Thawed': ("a #defrosted dignitary# gifts", "unfreezing #King Zora# grants", ['overworld', 'sometimes']),
@ -327,10 +328,10 @@ hintTable = {
'Water Temple MQ Freestanding Key': ("hidden in a #box under the lake# lies", "hidden in a #box in the Water Temple# lies", ['dungeon', 'sometimes']),
'Water Temple MQ GS Freestanding Key Area': ("the #locked spider under the lake# holds", "the #locked spider in the Water Temple# holds", ['dungeon', 'sometimes']),
'Water Temple MQ GS Triple Wall Torch': ("a spider behind a #gate under the lake# holds", "a spider behind a #gate in the Water Temple# holds", ['dungeon', 'sometimes']),
'Gerudo Training Grounds Underwater Silver Rupee Chest': (["those who seek #sunken silver rupees# will find", "the #thieves' underwater training# rewards"], None, ['dungeon', 'sometimes']),
'Gerudo Training Grounds MQ Underwater Silver Rupee Chest': (["those who seek #sunken silver rupees# will find", "the #thieves' underwater training# rewards"], None, ['dungeon', 'sometimes']),
'Gerudo Training Grounds Maze Path Final Chest': ("the final prize of #the thieves' training# is", None, ['dungeon', 'sometimes']),
'Gerudo Training Grounds MQ Ice Arrows Chest': ("the final prize of #the thieves' training# is", None, ['dungeon', 'sometimes']),
'Gerudo Training Ground Underwater Silver Rupee Chest': (["those who seek #sunken silver rupees# will find", "the #thieves' underwater training# rewards"], None, ['dungeon', 'sometimes']),
'Gerudo Training Ground MQ Underwater Silver Rupee Chest': (["those who seek #sunken silver rupees# will find", "the #thieves' underwater training# rewards"], None, ['dungeon', 'sometimes']),
'Gerudo Training Ground Maze Path Final Chest': ("the final prize of #the thieves' training# is", None, ['dungeon', 'sometimes']),
'Gerudo Training Ground MQ Ice Arrows Chest': ("the final prize of #the thieves' training# is", None, ['dungeon', 'sometimes']),
'Bottom of the Well Lens of Truth Chest': (["the well's #grasping ghoul# hides", "a #nether dweller in the well# holds"], "#Dead Hand in the well# holds", ['dungeon', 'sometimes']),
'Bottom of the Well MQ Compass Chest': (["the well's #grasping ghoul# hides", "a #nether dweller in the well# holds"], "#Dead Hand in the well# holds", ['dungeon', 'sometimes']),
'Spirit Temple Silver Gauntlets Chest': ("the treasure #sought by Nabooru# is", "upon the #Colossus's right hand# is", ['dungeon', 'sometimes']),
@ -402,7 +403,7 @@ hintTable = {
'LLR Talons Chickens': ("#finding Super Cuccos# is rewarded with", None, 'exclude'),
'GC Rolling Goron as Child': ("the prize offered by a #large rolling Goron# is", None, 'exclude'),
'LH Underwater Item': ("the #sunken treasure in a lake# is", None, 'exclude'),
'GF Gerudo Membership Card': ("#rescuing captured carpenters# is rewarded with", None, 'exclude'),
'Hideout Gerudo Membership Card': ("#rescuing captured carpenters# is rewarded with", None, 'exclude'),
'Wasteland Bombchu Salesman': ("a #carpet guru# sells", None, 'exclude'),
'Kak Impas House Freestanding PoH': ("#imprisoned in a house# lies", None, 'exclude'),
@ -422,10 +423,10 @@ hintTable = {
'DMT Freestanding PoH': ("above a #mountain cavern entrance# is", None, 'exclude'),
'DMC Wall Freestanding PoH': ("nestled in a #volcanic wall# is", None, 'exclude'),
'DMC Volcano Freestanding PoH': ("obscured by #volcanic ash# is", None, 'exclude'),
'GF North F1 Carpenter': ("#defeating Gerudo guards# reveals", None, 'exclude'),
'GF North F2 Carpenter': ("#defeating Gerudo guards# reveals", None, 'exclude'),
'GF South F1 Carpenter': ("#defeating Gerudo guards# reveals", None, 'exclude'),
'GF South F2 Carpenter': ("#defeating Gerudo guards# reveals", None, 'exclude'),
'Hideout Jail Guard (1 Torch)': ("#defeating Gerudo guards# reveals", None, 'exclude'),
'Hideout Jail Guard (2 Torches)': ("#defeating Gerudo guards# reveals", None, 'exclude'),
'Hideout Jail Guard (3 Torches)': ("#defeating Gerudo guards# reveals", None, 'exclude'),
'Hideout Jail Guard (4 Torches)': ("#defeating Gerudo guards# reveals", None, 'exclude'),
'Deku Tree Map Chest': ("in the #center of the Deku Tree# lies", None, 'exclude'),
'Deku Tree Slingshot Chest': ("the #treasure guarded by a scrub# in the Deku Tree is", None, 'exclude'),
@ -641,42 +642,42 @@ hintTable = {
'Ice Cavern MQ Map Chest': ("a #wall of ice# protects", None, 'exclude'),
'Ice Cavern MQ Freestanding PoH': ("#winds of ice# surround", None, 'exclude'),
'Gerudo Training Grounds Lobby Left Chest': ("a #blinded eye in the Gerudo Training Grounds# drops", None, 'exclude'),
'Gerudo Training Grounds Lobby Right Chest': ("a #blinded eye in the Gerudo Training Grounds# drops", None, 'exclude'),
'Gerudo Training Grounds Stalfos Chest': ("#soldiers walking on shifting sands# in the Gerudo Training Grounds guard", None, 'exclude'),
'Gerudo Training Grounds Beamos Chest': ("#reptilian warriors# in the Gerudo Training Grounds protect", None, 'exclude'),
'Gerudo Training Grounds Hidden Ceiling Chest': ("the #Eye of Truth# in the Gerudo Training Grounds reveals", None, 'exclude'),
'Gerudo Training Grounds Maze Path First Chest': ("the first prize of #the thieves' training# is", None, 'exclude'),
'Gerudo Training Grounds Maze Path Second Chest': ("the second prize of #the thieves' training# is", None, 'exclude'),
'Gerudo Training Grounds Maze Path Third Chest': ("the third prize of #the thieves' training# is", None, 'exclude'),
'Gerudo Training Grounds Maze Right Central Chest': ("the #Song of Time# in the Gerudo Training Grounds leads to", None, 'exclude'),
'Gerudo Training Grounds Maze Right Side Chest': ("the #Song of Time# in the Gerudo Training Grounds leads to", None, 'exclude'),
'Gerudo Training Grounds Hammer Room Clear Chest': ("#fiery foes# in the Gerudo Training Grounds guard", None, 'exclude'),
'Gerudo Training Grounds Hammer Room Switch Chest': ("#engulfed in flame# where thieves train lies", None, 'exclude'),
'Gerudo Training Grounds Eye Statue Chest': ("thieves #blind four faces# to find", None, 'exclude'),
'Gerudo Training Grounds Near Scarecrow Chest': ("thieves #blind four faces# to find", None, 'exclude'),
'Gerudo Training Grounds Before Heavy Block Chest': ("#before a block of silver# thieves can find", None, 'exclude'),
'Gerudo Training Grounds Heavy Block First Chest': ("a #feat of strength# rewards thieves with", None, 'exclude'),
'Gerudo Training Grounds Heavy Block Second Chest': ("a #feat of strength# rewards thieves with", None, 'exclude'),
'Gerudo Training Grounds Heavy Block Third Chest': ("a #feat of strength# rewards thieves with", None, 'exclude'),
'Gerudo Training Grounds Heavy Block Fourth Chest': ("a #feat of strength# rewards thieves with", None, 'exclude'),
'Gerudo Training Grounds Freestanding Key': ("the #Song of Time# in the Gerudo Training Grounds leads to", None, 'exclude'),
'Gerudo Training Ground Lobby Left Chest': ("a #blinded eye in the Gerudo Training Ground# drops", None, 'exclude'),
'Gerudo Training Ground Lobby Right Chest': ("a #blinded eye in the Gerudo Training Ground# drops", None, 'exclude'),
'Gerudo Training Ground Stalfos Chest': ("#soldiers walking on shifting sands# in the Gerudo Training Ground guard", None, 'exclude'),
'Gerudo Training Ground Beamos Chest': ("#reptilian warriors# in the Gerudo Training Ground protect", None, 'exclude'),
'Gerudo Training Ground Hidden Ceiling Chest': ("the #Eye of Truth# in the Gerudo Training Ground reveals", None, 'exclude'),
'Gerudo Training Ground Maze Path First Chest': ("the first prize of #the thieves' training# is", None, 'exclude'),
'Gerudo Training Ground Maze Path Second Chest': ("the second prize of #the thieves' training# is", None, 'exclude'),
'Gerudo Training Ground Maze Path Third Chest': ("the third prize of #the thieves' training# is", None, 'exclude'),
'Gerudo Training Ground Maze Right Central Chest': ("the #Song of Time# in the Gerudo Training Ground leads to", None, 'exclude'),
'Gerudo Training Ground Maze Right Side Chest': ("the #Song of Time# in the Gerudo Training Ground leads to", None, 'exclude'),
'Gerudo Training Ground Hammer Room Clear Chest': ("#fiery foes# in the Gerudo Training Ground guard", None, 'exclude'),
'Gerudo Training Ground Hammer Room Switch Chest': ("#engulfed in flame# where thieves train lies", None, 'exclude'),
'Gerudo Training Ground Eye Statue Chest': ("thieves #blind four faces# to find", None, 'exclude'),
'Gerudo Training Ground Near Scarecrow Chest': ("thieves #blind four faces# to find", None, 'exclude'),
'Gerudo Training Ground Before Heavy Block Chest': ("#before a block of silver# thieves can find", None, 'exclude'),
'Gerudo Training Ground Heavy Block First Chest': ("a #feat of strength# rewards thieves with", None, 'exclude'),
'Gerudo Training Ground Heavy Block Second Chest': ("a #feat of strength# rewards thieves with", None, 'exclude'),
'Gerudo Training Ground Heavy Block Third Chest': ("a #feat of strength# rewards thieves with", None, 'exclude'),
'Gerudo Training Ground Heavy Block Fourth Chest': ("a #feat of strength# rewards thieves with", None, 'exclude'),
'Gerudo Training Ground Freestanding Key': ("the #Song of Time# in the Gerudo Training Ground leads to", None, 'exclude'),
'Gerudo Training Grounds MQ Lobby Right Chest': ("#thieves prepare for training# with", None, 'exclude'),
'Gerudo Training Grounds MQ Lobby Left Chest': ("#thieves prepare for training# with", None, 'exclude'),
'Gerudo Training Grounds MQ First Iron Knuckle Chest': ("#soldiers walking on shifting sands# in the Gerudo Training Grounds guard", None, 'exclude'),
'Gerudo Training Grounds MQ Before Heavy Block Chest': ("#before a block of silver# thieves can find", None, 'exclude'),
'Gerudo Training Grounds MQ Eye Statue Chest': ("thieves #blind four faces# to find", None, 'exclude'),
'Gerudo Training Grounds MQ Flame Circle Chest': ("#engulfed in flame# where thieves train lies", None, 'exclude'),
'Gerudo Training Grounds MQ Second Iron Knuckle Chest': ("#fiery foes# in the Gerudo Training Grounds guard", None, 'exclude'),
'Gerudo Training Grounds MQ Dinolfos Chest': ("#reptilian warriors# in the Gerudo Training Grounds protect", None, 'exclude'),
'Gerudo Training Grounds MQ Maze Right Central Chest': ("a #path of fire# leads thieves to", None, 'exclude'),
'Gerudo Training Grounds MQ Maze Path First Chest': ("the first prize of #the thieves' training# is", None, 'exclude'),
'Gerudo Training Grounds MQ Maze Right Side Chest': ("a #path of fire# leads thieves to", None, 'exclude'),
'Gerudo Training Grounds MQ Maze Path Third Chest': ("the third prize of #the thieves' training# is", None, 'exclude'),
'Gerudo Training Grounds MQ Maze Path Second Chest': ("the second prize of #the thieves' training# is", None, 'exclude'),
'Gerudo Training Grounds MQ Hidden Ceiling Chest': ("the #Eye of Truth# in the Gerudo Training Grounds reveals", None, 'exclude'),
'Gerudo Training Grounds MQ Heavy Block Chest': ("a #feat of strength# rewards thieves with", None, 'exclude'),
'Gerudo Training Ground MQ Lobby Right Chest': ("#thieves prepare for training# with", None, 'exclude'),
'Gerudo Training Ground MQ Lobby Left Chest': ("#thieves prepare for training# with", None, 'exclude'),
'Gerudo Training Ground MQ First Iron Knuckle Chest': ("#soldiers walking on shifting sands# in the Gerudo Training Ground guard", None, 'exclude'),
'Gerudo Training Ground MQ Before Heavy Block Chest': ("#before a block of silver# thieves can find", None, 'exclude'),
'Gerudo Training Ground MQ Eye Statue Chest': ("thieves #blind four faces# to find", None, 'exclude'),
'Gerudo Training Ground MQ Flame Circle Chest': ("#engulfed in flame# where thieves train lies", None, 'exclude'),
'Gerudo Training Ground MQ Second Iron Knuckle Chest': ("#fiery foes# in the Gerudo Training Ground guard", None, 'exclude'),
'Gerudo Training Ground MQ Dinolfos Chest': ("#reptilian warriors# in the Gerudo Training Ground protect", None, 'exclude'),
'Gerudo Training Ground MQ Maze Right Central Chest': ("a #path of fire# leads thieves to", None, 'exclude'),
'Gerudo Training Ground MQ Maze Path First Chest': ("the first prize of #the thieves' training# is", None, 'exclude'),
'Gerudo Training Ground MQ Maze Right Side Chest': ("a #path of fire# leads thieves to", None, 'exclude'),
'Gerudo Training Ground MQ Maze Path Third Chest': ("the third prize of #the thieves' training# is", None, 'exclude'),
'Gerudo Training Ground MQ Maze Path Second Chest': ("the second prize of #the thieves' training# is", None, 'exclude'),
'Gerudo Training Ground MQ Hidden Ceiling Chest': ("the #Eye of Truth# in the Gerudo Training Ground reveals", None, 'exclude'),
'Gerudo Training Ground MQ Heavy Block Chest': ("a #feat of strength# rewards thieves with", None, 'exclude'),
'Ganons Tower Boss Key Chest': ("the #Evil King# hoards", None, 'exclude'),
@ -1038,7 +1039,7 @@ hintTable = {
'GV Fortress Side -> GV Carpenter Tent': ("a #tent in the valley# covers", None, 'entrance'),
'Graveyard Warp Pad Region -> Shadow Temple Entryway': ("at the #back of the Graveyard#, there is", None, 'entrance'),
'Lake Hylia -> Water Temple Lobby': ("deep #under a vast lake#, one can find", None, 'entrance'),
'Gerudo Fortress -> Gerudo Training Grounds Lobby': ("paying a #fee to the Gerudos# grants access to", None, 'entrance'),
'Gerudo Fortress -> Gerudo Training Ground Lobby': ("paying a #fee to the Gerudos# grants access to", None, 'entrance'),
'Zoras Fountain -> Jabu Jabus Belly Beginning': ("inside #Jabu Jabu#, one can find", None, 'entrance'),
'Kakariko Village -> Bottom of the Well': ("a #village well# leads to", None, 'entrance'),
@ -1085,7 +1086,7 @@ hintTable = {
'ZF Great Fairy Fountain': ("a #Great Fairy Fountain#", None, 'region'),
'Graveyard Shield Grave': ("a #grave with a free chest#", None, 'region'),
'Graveyard Heart Piece Grave': ("a chest spawned by #Sun's Song#", None, 'region'),
'Graveyard Composers Grave': ("the #Composers' Grave#", None, 'region'),
'Royal Familys Tomb': ("the #Royal Family's Tomb#", None, 'region'),
'Graveyard Dampes Grave': ("Dampé's Grave", None, 'region'),
'DMT Cow Grotto': ("a solitary #Cow#", None, 'region'),
'HC Storms Grotto': ("a sandy grotto with #fragile walls#", None, 'region'),
@ -1198,7 +1199,7 @@ hintTable = {
'Spirit Temple': ("the goddess of the sand", "Spirit Temple", 'dungeonName'),
'Ice Cavern': ("a frozen maze", "Ice Cavern", 'dungeonName'),
'Bottom of the Well': ("a shadow\'s prison", "Bottom of the Well", 'dungeonName'),
'Gerudo Training Grounds': ("the test of thieves", "Gerudo Training Grounds", 'dungeonName'),
'Gerudo Training Ground': ("the test of thieves", "Gerudo Training Ground", 'dungeonName'),
'Ganons Castle': ("a conquered citadel", "Inside Ganon's Castle", 'dungeonName'),
'Queen Gohma': ("One inside an #ancient tree#...", "One in the #Deku Tree#...", 'boss'),

View File

@ -570,15 +570,15 @@ vanillaSK = {
'Forest Temple Well Chest': 'Small Key (Forest Temple)',
'Ganons Castle Light Trial Invisible Enemies Chest': 'Small Key (Ganons Castle)',
'Ganons Castle Light Trial Lullaby Chest': 'Small Key (Ganons Castle)',
'Gerudo Training Grounds Beamos Chest': 'Small Key (Gerudo Training Grounds)',
'Gerudo Training Grounds Eye Statue Chest': 'Small Key (Gerudo Training Grounds)',
'Gerudo Training Grounds Hammer Room Switch Chest': 'Small Key (Gerudo Training Grounds)',
'Gerudo Training Grounds Heavy Block Third Chest': 'Small Key (Gerudo Training Grounds)',
'Gerudo Training Grounds Hidden Ceiling Chest': 'Small Key (Gerudo Training Grounds)',
'Gerudo Training Grounds Near Scarecrow Chest': 'Small Key (Gerudo Training Grounds)',
'Gerudo Training Grounds Stalfos Chest': 'Small Key (Gerudo Training Grounds)',
'Gerudo Training Grounds Underwater Silver Rupee Chest': 'Small Key (Gerudo Training Grounds)',
'Gerudo Training Grounds Freestanding Key': 'Small Key (Gerudo Training Grounds)',
'Gerudo Training Ground Beamos Chest': 'Small Key (Gerudo Training Ground)',
'Gerudo Training Ground Eye Statue Chest': 'Small Key (Gerudo Training Ground)',
'Gerudo Training Ground Hammer Room Switch Chest': 'Small Key (Gerudo Training Ground)',
'Gerudo Training Ground Heavy Block Third Chest': 'Small Key (Gerudo Training Ground)',
'Gerudo Training Ground Hidden Ceiling Chest': 'Small Key (Gerudo Training Ground)',
'Gerudo Training Ground Near Scarecrow Chest': 'Small Key (Gerudo Training Ground)',
'Gerudo Training Ground Stalfos Chest': 'Small Key (Gerudo Training Ground)',
'Gerudo Training Ground Underwater Silver Rupee Chest': 'Small Key (Gerudo Training Ground)',
'Gerudo Training Ground Freestanding Key': 'Small Key (Gerudo Training Ground)',
'Shadow Temple After Wind Hidden Chest': 'Small Key (Shadow Temple)',
'Shadow Temple Early Silver Rupee Chest': 'Small Key (Shadow Temple)',
'Shadow Temple Falling Spikes Switch Chest': 'Small Key (Shadow Temple)',
@ -612,9 +612,9 @@ vanillaSK = {
'Ganons Castle MQ Shadow Trial Eye Switch Chest': 'Small Key (Ganons Castle)',
'Ganons Castle MQ Spirit Trial Sun Back Left Chest': 'Small Key (Ganons Castle)',
'Ganons Castle MQ Forest Trial Freestanding Key': 'Small Key (Ganons Castle)',
'Gerudo Training Grounds MQ Dinolfos Chest': 'Small Key (Gerudo Training Grounds)',
'Gerudo Training Grounds MQ Flame Circle Chest': 'Small Key (Gerudo Training Grounds)',
'Gerudo Training Grounds MQ Underwater Silver Rupee Chest': 'Small Key (Gerudo Training Grounds)',
'Gerudo Training Ground MQ Dinolfos Chest': 'Small Key (Gerudo Training Ground)',
'Gerudo Training Ground MQ Flame Circle Chest': 'Small Key (Gerudo Training Ground)',
'Gerudo Training Ground MQ Underwater Silver Rupee Chest': 'Small Key (Gerudo Training Ground)',
'Shadow Temple MQ Falling Spikes Switch Chest': 'Small Key (Shadow Temple)',
'Shadow Temple MQ Invisible Blades Invisible Chest': 'Small Key (Shadow Temple)',
'Shadow Temple MQ Early Gibdos Chest': 'Small Key (Shadow Temple)',
@ -1031,7 +1031,7 @@ def get_pool_core(world):
pool.extend(['Bombchus'] * 2)
if not world.dungeon_mq['Bottom of the Well']:
pool.extend(['Bombchus'])
if world.dungeon_mq['Gerudo Training Grounds']:
if world.dungeon_mq['Gerudo Training Ground']:
pool.extend(['Bombchus'])
if world.shuffle_medigoron_carpet_salesman:
pool.append('Bombchus')
@ -1044,7 +1044,7 @@ def get_pool_core(world):
pool.extend(['Bombchus (10)'] * 2)
if not world.dungeon_mq['Bottom of the Well']:
pool.extend(['Bombchus (10)'])
if world.dungeon_mq['Gerudo Training Grounds']:
if world.dungeon_mq['Gerudo Training Ground']:
pool.extend(['Bombchus (10)'])
if world.dungeon_mq['Ganons Castle']:
pool.extend(['Bombchus (10)'])
@ -1058,49 +1058,49 @@ def get_pool_core(world):
skip_in_spoiler_locations.append('Wasteland Bombchu Salesman')
pool.extend(['Ice Trap'])
if not world.dungeon_mq['Gerudo Training Grounds']:
if not world.dungeon_mq['Gerudo Training Ground']:
pool.extend(['Ice Trap'])
if not world.dungeon_mq['Ganons Castle']:
pool.extend(['Ice Trap'] * 4)
if world.gerudo_fortress == 'open':
placed_items['GF North F1 Carpenter'] = 'Recovery Heart'
placed_items['GF North F2 Carpenter'] = 'Recovery Heart'
placed_items['GF South F1 Carpenter'] = 'Recovery Heart'
placed_items['GF South F2 Carpenter'] = 'Recovery Heart'
skip_in_spoiler_locations.extend(['GF North F1 Carpenter', 'GF North F2 Carpenter', 'GF South F1 Carpenter', 'GF South F2 Carpenter'])
placed_items['Hideout Jail Guard (1 Torch)'] = 'Recovery Heart'
placed_items['Hideout Jail Guard (2 Torches)'] = 'Recovery Heart'
placed_items['Hideout Jail Guard (3 Torches)'] = 'Recovery Heart'
placed_items['Hideout Jail Guard (4 Torches)'] = 'Recovery Heart'
skip_in_spoiler_locations.extend(['Hideout Jail Guard (1 Torch)', 'Hideout Jail Guard (2 Torches)', 'Hideout Jail Guard (3 Torches)', 'Hideout Jail Guard (4 Torches)'])
elif world.shuffle_fortresskeys in ['any_dungeon', 'overworld', 'keysanity']:
if world.gerudo_fortress == 'fast':
pool.append('Small Key (Gerudo Fortress)')
placed_items['GF North F2 Carpenter'] = 'Recovery Heart'
placed_items['GF South F1 Carpenter'] = 'Recovery Heart'
placed_items['GF South F2 Carpenter'] = 'Recovery Heart'
skip_in_spoiler_locations.extend(['GF North F2 Carpenter', 'GF South F1 Carpenter', 'GF South F2 Carpenter'])
pool.append('Small Key (Thieves Hideout)')
placed_items['Hideout Jail Guard (2 Torches)'] = 'Recovery Heart'
placed_items['Hideout Jail Guard (3 Torches)'] = 'Recovery Heart'
placed_items['Hideout Jail Guard (4 Torches)'] = 'Recovery Heart'
skip_in_spoiler_locations.extend(['Hideout Jail Guard (2 Torches)', 'Hideout Jail Guard (3 Torches)', 'Hideout Jail Guard (4 Torches)'])
else:
pool.extend(['Small Key (Gerudo Fortress)'] * 4)
pool.extend(['Small Key (Thieves Hideout)'] * 4)
if world.item_pool_value == 'plentiful':
pending_junk_pool.append('Small Key (Gerudo Fortress)')
pending_junk_pool.append('Small Key (Thieves Hideout)')
else:
if world.gerudo_fortress == 'fast':
placed_items['GF North F1 Carpenter'] = 'Small Key (Gerudo Fortress)'
placed_items['GF North F2 Carpenter'] = 'Recovery Heart'
placed_items['GF South F1 Carpenter'] = 'Recovery Heart'
placed_items['GF South F2 Carpenter'] = 'Recovery Heart'
skip_in_spoiler_locations.extend(['GF North F2 Carpenter', 'GF South F1 Carpenter', 'GF South F2 Carpenter'])
placed_items['Hideout Jail Guard (1 Torch)'] = 'Small Key (Thieves Hideout)'
placed_items['Hideout Jail Guard (2 Torches)'] = 'Recovery Heart'
placed_items['Hideout Jail Guard (3 Torches)'] = 'Recovery Heart'
placed_items['Hideout Jail Guard (4 Torches)'] = 'Recovery Heart'
skip_in_spoiler_locations.extend(['Hideout Jail Guard (2 Torches)', 'Hideout Jail Guard (3 Torches)', 'Hideout Jail Guard (4 Torches)'])
else:
placed_items['GF North F1 Carpenter'] = 'Small Key (Gerudo Fortress)'
placed_items['GF North F2 Carpenter'] = 'Small Key (Gerudo Fortress)'
placed_items['GF South F1 Carpenter'] = 'Small Key (Gerudo Fortress)'
placed_items['GF South F2 Carpenter'] = 'Small Key (Gerudo Fortress)'
placed_items['Hideout Jail Guard (1 Torch)'] = 'Small Key (Gerudo Fortress)'
placed_items['Hideout Jail Guard (2 Torches)'] = 'Small Key (Gerudo Fortress)'
placed_items['Hideout Jail Guard (3 Torches)'] = 'Small Key (Gerudo Fortress)'
placed_items['Hideout Jail Guard (4 Torches)'] = 'Small Key (Gerudo Fortress)'
if world.shuffle_gerudo_card and world.gerudo_fortress != 'open':
pool.append('Gerudo Membership Card')
elif world.shuffle_gerudo_card:
pending_junk_pool.append('Gerudo Membership Card')
placed_items['GF Gerudo Membership Card'] = 'Ice Trap'
skip_in_spoiler_locations.append('GF Gerudo Membership Card')
placed_items['Hideout Gerudo Membership Card'] = 'Ice Trap'
skip_in_spoiler_locations.append('Hideout Gerudo Membership Card')
else:
placed_items['GF Gerudo Membership Card'] = 'Gerudo Membership Card'
placed_items['Hideout Gerudo Membership Card'] = 'Gerudo Membership Card'
if world.shuffle_gerudo_card and world.item_pool_value == 'plentiful':
pending_junk_pool.append('Gerudo Membership Card')
@ -1111,7 +1111,7 @@ def get_pool_core(world):
pending_junk_pool.append('Small Key (Water Temple)')
pending_junk_pool.append('Small Key (Shadow Temple)')
pending_junk_pool.append('Small Key (Spirit Temple)')
pending_junk_pool.append('Small Key (Gerudo Training Grounds)')
pending_junk_pool.append('Small Key (Gerudo Training Ground)')
pending_junk_pool.append('Small Key (Ganons Castle)')
if world.item_pool_value == 'plentiful' and world.shuffle_bosskeys in ['any_dungeon', 'overworld', 'keysanity']:
@ -1250,7 +1250,7 @@ def get_pool_core(world):
pool.extend(ShT_vanilla)
if not world.dungeon_mq['Bottom of the Well']:
pool.extend(BW_vanilla)
if world.dungeon_mq['Gerudo Training Grounds']:
if world.dungeon_mq['Gerudo Training Ground']:
pool.extend(GTG_MQ)
else:
pool.extend(GTG_vanilla)

View File

@ -6,7 +6,7 @@ def oot_data_to_ap_id(data, event):
if event or data[2] is None or data[0] == 'Shop':
return None
offset = 66000
if data[0] in ['Item', 'BossKey', 'Compass', 'Map', 'SmallKey', 'Token', 'GanonBossKey', 'FortressSmallKey', 'Song']:
if data[0] in ['Item', 'BossKey', 'Compass', 'Map', 'SmallKey', 'Token', 'GanonBossKey', 'HideoutSmallKey', 'Song']:
return offset + data[2]
else:
raise Exception(f'Unexpected OOT item type found: {data[0]}')
@ -53,7 +53,7 @@ class OOTItem(Item):
@property
def dungeonitem(self) -> bool:
return self.type in ['SmallKey', 'FortressSmallKey', 'BossKey', 'GanonBossKey', 'Map', 'Compass']
return self.type in ['SmallKey', 'HideoutSmallKey', 'BossKey', 'GanonBossKey', 'Map', 'Compass']
@ -193,8 +193,8 @@ item_table = {
'Small Key (Spirit Temple)': ('SmallKey', True, 0xB2, {'progressive': float('Inf')}),
'Small Key (Shadow Temple)': ('SmallKey', True, 0xB3, {'progressive': float('Inf')}),
'Small Key (Bottom of the Well)': ('SmallKey', True, 0xB4, {'progressive': float('Inf')}),
'Small Key (Gerudo Training Grounds)': ('SmallKey',True, 0xB5, {'progressive': float('Inf')}),
'Small Key (Gerudo Fortress)': ('FortressSmallKey',True, 0xB6, {'progressive': float('Inf')}),
'Small Key (Gerudo Training Ground)': ('SmallKey',True, 0xB5, {'progressive': float('Inf')}),
'Small Key (Thieves Hideout)': ('HideoutSmallKey',True, 0xB6, {'progressive': float('Inf')}),
'Small Key (Ganons Castle)': ('SmallKey', True, 0xB7, {'progressive': float('Inf')}),
'Double Defense': ('Item', True, 0xB8, None),
'Magic Bean Pack': ('Item', True, 0xC9, None),

View File

@ -19,6 +19,7 @@ def shop_address(shop_id, shelf_id):
# LW Lost Woods
# OGC Outside Ganon's Castle
# SFM Sacred Forest Meadow
# TH Thieves' Hideout
# ToT Temple of Time
# ZD Zora's Domain
# ZF Zora's Fountain
@ -52,7 +53,7 @@ location_table = OrderedDict([
("Song from Impa", ("Song", 0xFF, 0x26, (0x2E8E925, 0x2E8E925), 'Zeldas Lullaby', ("Hyrule Castle", "Market", "Songs"))),
("Song from Malon", ("Song", 0xFF, 0x27, (0x0D7EB53, 0x0D7EBCF), 'Eponas Song', ("Lon Lon Ranch", "Songs",))),
("Song from Saria", ("Song", 0xFF, 0x28, (0x20B1DB1, 0x20B1DB1), 'Sarias Song', ("Sacred Forest Meadow", "Forest", "Songs"))),
("Song from Composers Grave", ("Song", 0xFF, 0x29, (0x332A871, 0x332A871), 'Suns Song', ("the Graveyard", "Kakariko", "Songs"))),
("Song from Royal Familys Tomb", ("Song", 0xFF, 0x29, (0x332A871, 0x332A871), 'Suns Song', ("the Graveyard", "Kakariko", "Songs"))),
("Song from Ocarina of Time", ("Song", 0xFF, 0x2A, (0x252FC89, 0x252FC89), 'Song of Time', ("Hyrule Field", "Songs", "Need Spiritual Stones"))),
("Song from Windmill", ("Song", 0xFF, 0x2B, (0x0E42C07, 0x0E42B8B), 'Song of Storms', ("Kakariko Village", "Kakariko", "Songs"))),
("Sheik in Forest", ("Song", 0xFF, 0x20, (0x20B0809, 0x20B0809), 'Minuet of Forest', ("Sacred Forest Meadow", "Forest", "Songs"))),
@ -70,7 +71,7 @@ location_table = OrderedDict([
("KF Midos Bottom Right Chest", ("Chest", 0x28, 0x03, None, 'Recovery Heart', ("Kokiri Forest", "Forest",))),
("KF Kokiri Sword Chest", ("Chest", 0x55, 0x00, None, 'Kokiri Sword', ("Kokiri Forest", "Forest",))),
("KF Storms Grotto Chest", ("Chest", 0x3E, 0x0C, None, 'Rupees (20)', ("Kokiri Forest", "Forest", "Grottos"))),
("KF Links House Cow", ("NPC", 0x34, 0x15, None, 'Milk', ("KF Links House", "Forest", "Cow", "Minigames"))),
("KF Links House Cow", ("NPC", 0x34, 0x15, None, 'Milk', ("Kokiri Forest", "Forest", "Cow", "Minigames"))),
("KF GS Know It All House", ("GS Token", 0x0C, 0x02, None, 'Gold Skulltula Token', ("Kokiri Forest", "Skulltulas",))),
("KF GS Bean Patch", ("GS Token", 0x0C, 0x01, None, 'Gold Skulltula Token', ("Kokiri Forest", "Skulltulas",))),
("KF GS House of Twins", ("GS Token", 0x0C, 0x04, None, 'Gold Skulltula Token', ("Kokiri Forest", "Skulltulas",))),
@ -163,7 +164,7 @@ location_table = OrderedDict([
("HC GS Storms Grotto", ("GS Token", 0x0E, 0x02, None, 'Gold Skulltula Token', ("Hyrule Castle", "Skulltulas", "Grottos"))),
# Lon Lon Ranch
("LLR Talons Chickens", ("NPC", 0x4C, 0x14, None, 'Bottle with Milk', ("Lon Lon Ranch", "Kakariko", "Minigames"))),
("LLR Talons Chickens", ("NPC", 0x4C, 0x14, None, 'Bottle with Milk', ("Lon Lon Ranch", "Minigames"))),
("LLR Freestanding PoH", ("Collectable", 0x4C, 0x01, None, 'Piece of Heart', ("Lon Lon Ranch",))),
("LLR Deku Scrub Grotto Left", ("GrottoNPC", 0xFC, 0x30, None, 'Buy Deku Nut (5)', ("Lon Lon Ranch", "Deku Scrub", "Grottos"))),
("LLR Deku Scrub Grotto Center", ("GrottoNPC", 0xFC, 0x33, None, 'Buy Deku Seeds (30)', ("Lon Lon Ranch", "Deku Scrub", "Grottos"))),
@ -218,7 +219,7 @@ location_table = OrderedDict([
# Graveyard
("Graveyard Shield Grave Chest", ("Chest", 0x40, 0x00, None, 'Hylian Shield', ("the Graveyard", "Kakariko",))),
("Graveyard Heart Piece Grave Chest", ("Chest", 0x3F, 0x00, None, 'Piece of Heart', ("the Graveyard", "Kakariko",))),
("Graveyard Composers Grave Chest", ("Chest", 0x41, 0x00, None, 'Bombs (5)', ("the Graveyard", "Kakariko",))),
("Graveyard Royal Familys Tomb Chest", ("Chest", 0x41, 0x00, None, 'Bombs (5)', ("the Graveyard", "Kakariko",))),
("Graveyard Freestanding PoH", ("Collectable", 0x53, 0x04, None, 'Piece of Heart', ("the Graveyard", "Kakariko",))),
("Graveyard Dampe Gravedigging Tour", ("Collectable", 0x53, 0x08, None, 'Piece of Heart', ("the Graveyard", "Kakariko",))),
("Graveyard Hookshot Chest", ("Chest", 0x48, 0x00, None, 'Progressive Hookshot', ("the Graveyard", "Kakariko",))),
@ -338,17 +339,19 @@ location_table = OrderedDict([
("GV GS Pillar", ("GS Token", 0x13, 0x04, None, 'Gold Skulltula Token', ("Gerudo Valley", "Skulltulas",))),
# Gerudo's Fortress
("GF North F1 Carpenter", ("Collectable", 0x0C, 0x0C, None, 'Small Key (Gerudo Fortress)', ("Gerudo's Fortress", "Gerudo",))),
("GF North F2 Carpenter", ("Collectable", 0x0C, 0x0A, None, 'Small Key (Gerudo Fortress)', ("Gerudo's Fortress", "Gerudo",))),
("GF South F1 Carpenter", ("Collectable", 0x0C, 0x0E, None, 'Small Key (Gerudo Fortress)', ("Gerudo's Fortress", "Gerudo",))),
("GF South F2 Carpenter", ("Collectable", 0x0C, 0x0F, None, 'Small Key (Gerudo Fortress)', ("Gerudo's Fortress", "Gerudo",))),
("GF Gerudo Membership Card", ("NPC", 0x0C, 0x3A, None, 'Gerudo Membership Card', ("Gerudo's Fortress", "Gerudo",))),
("GF Chest", ("Chest", 0x5D, 0x00, None, 'Piece of Heart', ("Gerudo's Fortress", "Gerudo",))),
("GF HBA 1000 Points", ("NPC", 0x5D, 0x3E, None, 'Piece of Heart', ("Gerudo's Fortress", "Gerudo", "Minigames"))),
("GF HBA 1500 Points", ("NPC", 0x5D, 0x30, None, 'Bow', ("Gerudo's Fortress", "Gerudo", "Minigames"))),
("GF GS Top Floor", ("GS Token", 0x14, 0x02, None, 'Gold Skulltula Token', ("Gerudo's Fortress", "Skulltulas",))),
("GF GS Archery Range", ("GS Token", 0x14, 0x01, None, 'Gold Skulltula Token', ("Gerudo's Fortress", "Skulltulas",))),
# Thieves' Hideout
("Hideout Jail Guard (1 Torch)", ("Collectable", 0x0C, 0x0C, None, 'Small Key (Thieves Hideout)', ("Thieves' Hideout", "Gerudo",))),
("Hideout Jail Guard (2 Torches)", ("Collectable", 0x0C, 0x0F, None, 'Small Key (Thieves Hideout)', ("Thieves' Hideout", "Gerudo",))),
("Hideout Jail Guard (3 Torches)", ("Collectable", 0x0C, 0x0A, None, 'Small Key (Thieves Hideout)', ("Thieves' Hideout", "Gerudo",))),
("Hideout Jail Guard (4 Torches)", ("Collectable", 0x0C, 0x0E, None, 'Small Key (Thieves Hideout)', ("Thieves' Hideout", "Gerudo",))),
("Hideout Gerudo Membership Card", ("NPC", 0x0C, 0x3A, None, 'Gerudo Membership Card', ("Thieves' Hideout", "Gerudo",))),
# Wasteland
("Wasteland Bombchu Salesman", ("NPC", 0x5E, 0x03, None, 'Bombchus (10)', ("Haunted Wasteland",))),
("Wasteland Chest", ("Chest", 0x5E, 0x00, None, 'Rupees (50)', ("Haunted Wasteland",))),
@ -364,8 +367,8 @@ location_table = OrderedDict([
("Colossus GS Hill", ("GS Token", 0x15, 0x04, None, 'Gold Skulltula Token', ("Desert Colossus", "Skulltulas",))),
# Outside Ganon's Castle
("OGC Great Fairy Reward", ("Cutscene", 0xFF, 0x15, None, 'Double Defense', ("outside Ganon's Castle", "Market", "Fairies"))),
("OGC GS", ("GS Token", 0x0E, 0x01, None, 'Gold Skulltula Token', ("outside Ganon's Castle", "Skulltulas",))),
("OGC Great Fairy Reward", ("Cutscene", 0xFF, 0x15, None, 'Double Defense', ("Outside Ganon's Castle", "Market", "Fairies"))),
("OGC GS", ("GS Token", 0x0E, 0x01, None, 'Gold Skulltula Token', ("Outside Ganon's Castle", "Skulltulas",))),
## Dungeons
# Deku Tree vanilla
@ -725,47 +728,47 @@ location_table = OrderedDict([
("Ice Cavern MQ GS Ice Block", ("GS Token", 0x09, 0x04, None, 'Gold Skulltula Token', ("Ice Cavern", "Master Quest", "Skulltulas",))),
("Ice Cavern MQ GS Scarecrow", ("GS Token", 0x09, 0x01, None, 'Gold Skulltula Token', ("Ice Cavern", "Master Quest", "Skulltulas",))),
# Gerudo Training Grounds vanilla
("Gerudo Training Grounds Lobby Left Chest", ("Chest", 0x0B, 0x13, None, 'Rupees (5)', ("Gerudo Training Grounds", "Vanilla",))),
("Gerudo Training Grounds Lobby Right Chest", ("Chest", 0x0B, 0x07, None, 'Arrows (10)', ("Gerudo Training Grounds", "Vanilla",))),
("Gerudo Training Grounds Stalfos Chest", ("Chest", 0x0B, 0x00, None, 'Small Key (Gerudo Training Grounds)', ("Gerudo Training Grounds", "Vanilla",))),
("Gerudo Training Grounds Before Heavy Block Chest", ("Chest", 0x0B, 0x11, None, 'Arrows (30)', ("Gerudo Training Grounds", "Vanilla",))),
("Gerudo Training Grounds Heavy Block First Chest", ("Chest", 0x0B, 0x0F, None, 'Rupees (200)', ("Gerudo Training Grounds", "Vanilla",))),
("Gerudo Training Grounds Heavy Block Second Chest", ("Chest", 0x0B, 0x0E, None, 'Rupees (5)', ("Gerudo Training Grounds", "Vanilla",))),
("Gerudo Training Grounds Heavy Block Third Chest", ("Chest", 0x0B, 0x14, None, 'Small Key (Gerudo Training Grounds)', ("Gerudo Training Grounds", "Vanilla",))),
("Gerudo Training Grounds Heavy Block Fourth Chest", ("Chest", 0x0B, 0x02, None, 'Ice Trap', ("Gerudo Training Grounds", "Vanilla",))),
("Gerudo Training Grounds Eye Statue Chest", ("Chest", 0x0B, 0x03, None, 'Small Key (Gerudo Training Grounds)', ("Gerudo Training Grounds", "Vanilla",))),
("Gerudo Training Grounds Near Scarecrow Chest", ("Chest", 0x0B, 0x04, None, 'Small Key (Gerudo Training Grounds)', ("Gerudo Training Grounds", "Vanilla",))),
("Gerudo Training Grounds Hammer Room Clear Chest", ("Chest", 0x0B, 0x12, None, 'Arrows (10)', ("Gerudo Training Grounds", "Vanilla",))),
("Gerudo Training Grounds Hammer Room Switch Chest", ("Chest", 0x0B, 0x10, None, 'Small Key (Gerudo Training Grounds)', ("Gerudo Training Grounds", "Vanilla",))),
("Gerudo Training Grounds Freestanding Key", ("Collectable", 0x0B, 0x01, None, 'Small Key (Gerudo Training Grounds)', ("Gerudo Training Grounds", "Vanilla",))),
("Gerudo Training Grounds Maze Right Central Chest", ("Chest", 0x0B, 0x05, None, 'Bombchus (5)', ("Gerudo Training Grounds", "Vanilla",))),
("Gerudo Training Grounds Maze Right Side Chest", ("Chest", 0x0B, 0x08, None, 'Arrows (30)', ("Gerudo Training Grounds", "Vanilla",))),
("Gerudo Training Grounds Underwater Silver Rupee Chest", ("Chest", 0x0B, 0x0D, None, 'Small Key (Gerudo Training Grounds)', ("Gerudo Training Grounds", "Vanilla",))),
("Gerudo Training Grounds Beamos Chest", ("Chest", 0x0B, 0x01, None, 'Small Key (Gerudo Training Grounds)', ("Gerudo Training Grounds", "Vanilla",))),
("Gerudo Training Grounds Hidden Ceiling Chest", ("Chest", 0x0B, 0x0B, None, 'Small Key (Gerudo Training Grounds)', ("Gerudo Training Grounds", "Vanilla",))),
("Gerudo Training Grounds Maze Path First Chest", ("Chest", 0x0B, 0x06, None, 'Rupees (50)', ("Gerudo Training Grounds", "Vanilla",))),
("Gerudo Training Grounds Maze Path Second Chest", ("Chest", 0x0B, 0x0A, None, 'Rupees (20)', ("Gerudo Training Grounds", "Vanilla",))),
("Gerudo Training Grounds Maze Path Third Chest", ("Chest", 0x0B, 0x09, None, 'Arrows (30)', ("Gerudo Training Grounds", "Vanilla",))),
("Gerudo Training Grounds Maze Path Final Chest", ("Chest", 0x0B, 0x0C, None, 'Ice Arrows', ("Gerudo Training Grounds", "Vanilla",))),
# Gerudo Training Grounds MQ
("Gerudo Training Grounds MQ Lobby Left Chest", ("Chest", 0x0B, 0x13, None, 'Arrows (10)', ("Gerudo Training Grounds", "Master Quest",))),
("Gerudo Training Grounds MQ Lobby Right Chest", ("Chest", 0x0B, 0x07, None, 'Bombchus (5)', ("Gerudo Training Grounds", "Master Quest",))),
("Gerudo Training Grounds MQ First Iron Knuckle Chest", ("Chest", 0x0B, 0x00, None, 'Rupees (5)', ("Gerudo Training Grounds", "Master Quest",))),
("Gerudo Training Grounds MQ Before Heavy Block Chest", ("Chest", 0x0B, 0x11, None, 'Arrows (10)', ("Gerudo Training Grounds", "Master Quest",))),
("Gerudo Training Grounds MQ Heavy Block Chest", ("Chest", 0x0B, 0x02, None, 'Rupees (50)', ("Gerudo Training Grounds", "Master Quest",))),
("Gerudo Training Grounds MQ Eye Statue Chest", ("Chest", 0x0B, 0x03, None, 'Bombchus (10)', ("Gerudo Training Grounds", "Master Quest",))),
("Gerudo Training Grounds MQ Ice Arrows Chest", ("Chest", 0x0B, 0x04, None, 'Ice Arrows', ("Gerudo Training Grounds", "Master Quest",))),
("Gerudo Training Grounds MQ Second Iron Knuckle Chest", ("Chest", 0x0B, 0x12, None, 'Arrows (10)', ("Gerudo Training Grounds", "Master Quest",))),
("Gerudo Training Grounds MQ Flame Circle Chest", ("Chest", 0x0B, 0x0E, None, 'Small Key (Gerudo Training Grounds)', ("Gerudo Training Grounds", "Master Quest",))),
("Gerudo Training Grounds MQ Maze Right Central Chest", ("Chest", 0x0B, 0x05, None, 'Rupees (5)', ("Gerudo Training Grounds", "Master Quest",))),
("Gerudo Training Grounds MQ Maze Right Side Chest", ("Chest", 0x0B, 0x08, None, 'Rupee (Treasure Chest Game)', ("Gerudo Training Grounds", "Master Quest",))),
("Gerudo Training Grounds MQ Underwater Silver Rupee Chest", ("Chest", 0x0B, 0x0D, None, 'Small Key (Gerudo Training Grounds)', ("Gerudo Training Grounds", "Master Quest",))),
("Gerudo Training Grounds MQ Dinolfos Chest", ("Chest", 0x0B, 0x01, None, 'Small Key (Gerudo Training Grounds)', ("Gerudo Training Grounds", "Master Quest",))),
("Gerudo Training Grounds MQ Hidden Ceiling Chest", ("Chest", 0x0B, 0x0B, None, 'Rupees (50)', ("Gerudo Training Grounds", "Master Quest",))),
("Gerudo Training Grounds MQ Maze Path First Chest", ("Chest", 0x0B, 0x06, None, 'Rupee (1)', ("Gerudo Training Grounds", "Master Quest",))),
("Gerudo Training Grounds MQ Maze Path Third Chest", ("Chest", 0x0B, 0x09, None, 'Rupee (Treasure Chest Game)', ("Gerudo Training Grounds", "Master Quest",))),
("Gerudo Training Grounds MQ Maze Path Second Chest", ("Chest", 0x0B, 0x0A, None, 'Rupees (20)', ("Gerudo Training Grounds", "Master Quest",))),
# Gerudo Training Ground vanilla
("Gerudo Training Ground Lobby Left Chest", ("Chest", 0x0B, 0x13, None, 'Rupees (5)', ("Gerudo Training Ground", "Vanilla",))),
("Gerudo Training Ground Lobby Right Chest", ("Chest", 0x0B, 0x07, None, 'Arrows (10)', ("Gerudo Training Ground", "Vanilla",))),
("Gerudo Training Ground Stalfos Chest", ("Chest", 0x0B, 0x00, None, 'Small Key (Gerudo Training Ground)', ("Gerudo Training Ground", "Vanilla",))),
("Gerudo Training Ground Before Heavy Block Chest", ("Chest", 0x0B, 0x11, None, 'Arrows (30)', ("Gerudo Training Ground", "Vanilla",))),
("Gerudo Training Ground Heavy Block First Chest", ("Chest", 0x0B, 0x0F, None, 'Rupees (200)', ("Gerudo Training Ground", "Vanilla",))),
("Gerudo Training Ground Heavy Block Second Chest", ("Chest", 0x0B, 0x0E, None, 'Rupees (5)', ("Gerudo Training Ground", "Vanilla",))),
("Gerudo Training Ground Heavy Block Third Chest", ("Chest", 0x0B, 0x14, None, 'Small Key (Gerudo Training Ground)', ("Gerudo Training Ground", "Vanilla",))),
("Gerudo Training Ground Heavy Block Fourth Chest", ("Chest", 0x0B, 0x02, None, 'Ice Trap', ("Gerudo Training Ground", "Vanilla",))),
("Gerudo Training Ground Eye Statue Chest", ("Chest", 0x0B, 0x03, None, 'Small Key (Gerudo Training Ground)', ("Gerudo Training Ground", "Vanilla",))),
("Gerudo Training Ground Near Scarecrow Chest", ("Chest", 0x0B, 0x04, None, 'Small Key (Gerudo Training Ground)', ("Gerudo Training Ground", "Vanilla",))),
("Gerudo Training Ground Hammer Room Clear Chest", ("Chest", 0x0B, 0x12, None, 'Arrows (10)', ("Gerudo Training Ground", "Vanilla",))),
("Gerudo Training Ground Hammer Room Switch Chest", ("Chest", 0x0B, 0x10, None, 'Small Key (Gerudo Training Ground)', ("Gerudo Training Ground", "Vanilla",))),
("Gerudo Training Ground Freestanding Key", ("Collectable", 0x0B, 0x01, None, 'Small Key (Gerudo Training Ground)', ("Gerudo Training Ground", "Vanilla",))),
("Gerudo Training Ground Maze Right Central Chest", ("Chest", 0x0B, 0x05, None, 'Bombchus (5)', ("Gerudo Training Ground", "Vanilla",))),
("Gerudo Training Ground Maze Right Side Chest", ("Chest", 0x0B, 0x08, None, 'Arrows (30)', ("Gerudo Training Ground", "Vanilla",))),
("Gerudo Training Ground Underwater Silver Rupee Chest", ("Chest", 0x0B, 0x0D, None, 'Small Key (Gerudo Training Ground)', ("Gerudo Training Ground", "Vanilla",))),
("Gerudo Training Ground Beamos Chest", ("Chest", 0x0B, 0x01, None, 'Small Key (Gerudo Training Ground)', ("Gerudo Training Ground", "Vanilla",))),
("Gerudo Training Ground Hidden Ceiling Chest", ("Chest", 0x0B, 0x0B, None, 'Small Key (Gerudo Training Ground)', ("Gerudo Training Ground", "Vanilla",))),
("Gerudo Training Ground Maze Path First Chest", ("Chest", 0x0B, 0x06, None, 'Rupees (50)', ("Gerudo Training Ground", "Vanilla",))),
("Gerudo Training Ground Maze Path Second Chest", ("Chest", 0x0B, 0x0A, None, 'Rupees (20)', ("Gerudo Training Ground", "Vanilla",))),
("Gerudo Training Ground Maze Path Third Chest", ("Chest", 0x0B, 0x09, None, 'Arrows (30)', ("Gerudo Training Ground", "Vanilla",))),
("Gerudo Training Ground Maze Path Final Chest", ("Chest", 0x0B, 0x0C, None, 'Ice Arrows', ("Gerudo Training Ground", "Vanilla",))),
# Gerudo Training Ground MQ
("Gerudo Training Ground MQ Lobby Left Chest", ("Chest", 0x0B, 0x13, None, 'Arrows (10)', ("Gerudo Training Ground", "Master Quest",))),
("Gerudo Training Ground MQ Lobby Right Chest", ("Chest", 0x0B, 0x07, None, 'Bombchus (5)', ("Gerudo Training Ground", "Master Quest",))),
("Gerudo Training Ground MQ First Iron Knuckle Chest", ("Chest", 0x0B, 0x00, None, 'Rupees (5)', ("Gerudo Training Ground", "Master Quest",))),
("Gerudo Training Ground MQ Before Heavy Block Chest", ("Chest", 0x0B, 0x11, None, 'Arrows (10)', ("Gerudo Training Ground", "Master Quest",))),
("Gerudo Training Ground MQ Heavy Block Chest", ("Chest", 0x0B, 0x02, None, 'Rupees (50)', ("Gerudo Training Ground", "Master Quest",))),
("Gerudo Training Ground MQ Eye Statue Chest", ("Chest", 0x0B, 0x03, None, 'Bombchus (10)', ("Gerudo Training Ground", "Master Quest",))),
("Gerudo Training Ground MQ Ice Arrows Chest", ("Chest", 0x0B, 0x04, None, 'Ice Arrows', ("Gerudo Training Ground", "Master Quest",))),
("Gerudo Training Ground MQ Second Iron Knuckle Chest", ("Chest", 0x0B, 0x12, None, 'Arrows (10)', ("Gerudo Training Ground", "Master Quest",))),
("Gerudo Training Ground MQ Flame Circle Chest", ("Chest", 0x0B, 0x0E, None, 'Small Key (Gerudo Training Ground)', ("Gerudo Training Ground", "Master Quest",))),
("Gerudo Training Ground MQ Maze Right Central Chest", ("Chest", 0x0B, 0x05, None, 'Rupees (5)', ("Gerudo Training Ground", "Master Quest",))),
("Gerudo Training Ground MQ Maze Right Side Chest", ("Chest", 0x0B, 0x08, None, 'Rupee (Treasure Chest Game)', ("Gerudo Training Ground", "Master Quest",))),
("Gerudo Training Ground MQ Underwater Silver Rupee Chest", ("Chest", 0x0B, 0x0D, None, 'Small Key (Gerudo Training Ground)', ("Gerudo Training Ground", "Master Quest",))),
("Gerudo Training Ground MQ Dinolfos Chest", ("Chest", 0x0B, 0x01, None, 'Small Key (Gerudo Training Ground)', ("Gerudo Training Ground", "Master Quest",))),
("Gerudo Training Ground MQ Hidden Ceiling Chest", ("Chest", 0x0B, 0x0B, None, 'Rupees (50)', ("Gerudo Training Ground", "Master Quest",))),
("Gerudo Training Ground MQ Maze Path First Chest", ("Chest", 0x0B, 0x06, None, 'Rupee (1)', ("Gerudo Training Ground", "Master Quest",))),
("Gerudo Training Ground MQ Maze Path Third Chest", ("Chest", 0x0B, 0x09, None, 'Rupee (Treasure Chest Game)', ("Gerudo Training Ground", "Master Quest",))),
("Gerudo Training Ground MQ Maze Path Second Chest", ("Chest", 0x0B, 0x0A, None, 'Rupees (20)', ("Gerudo Training Ground", "Master Quest",))),
# Ganon's Castle vanilla
("Ganons Castle Forest Trial Chest", ("Chest", 0x0D, 0x09, None, 'Rupees (5)', ("Ganon's Castle", "Vanilla",))),
@ -902,7 +905,7 @@ business_scrubs = [
(0x79, 40, 0x10DD, ["enable you to pick up more \x05\x41Deku\x01Nuts", "sell you a \x05\x42mysterious item"]),
]
dungeons = ('Deku Tree', 'Dodongo\'s Cavern', 'Jabu Jabu\'s Belly', 'Forest Temple', 'Fire Temple', 'Water Temple', 'Spirit Temple', 'Shadow Temple', 'Ice Cavern', 'Bottom of the Well', 'Gerudo Training Grounds', 'Ganon\'s Castle')
dungeons = ('Deku Tree', 'Dodongo\'s Cavern', 'Jabu Jabu\'s Belly', 'Forest Temple', 'Fire Temple', 'Water Temple', 'Spirit Temple', 'Shadow Temple', 'Ice Cavern', 'Bottom of the Well', 'Gerudo Training Ground', 'Ganon\'s Castle')
location_groups = {
'Song': [name for (name, data) in location_table.items() if data[0] == 'Song'],
'Chest': [name for (name, data) in location_table.items() if data[0] == 'Chest'],

View File

@ -1,7 +1,7 @@
known_logic_tricks = {
'Fewer Tunic Requirements': {
'name' : 'logic_fewer_tunic_requirements',
'tags' : ("General", "Fire Temple", "Water Temple", "Gerudo Training Grounds", "Zora's Fountain",),
'tags' : ("General", "Fire Temple", "Water Temple", "Gerudo Training Ground", "Zora's Fountain",),
'tooltip' : '''\
Allows the following possible without Tunics:
- Enter Water Temple. The key below the center
@ -10,7 +10,7 @@ known_logic_tricks = {
accessible, and not Volvagia.
- Zora's Fountain Bottom Freestanding PoH.
Might not have enough health to resurface.
- Gerudo Training Grounds Underwater
- Gerudo Training Ground Underwater
Silver Rupee Chest. May need to make multiple
trips.
'''},
@ -73,9 +73,9 @@ known_logic_tricks = {
from below, by shooting it through the vines,
bypassing the need to lower the staircase.
'''},
'Gerudo Fortress "Kitchen" with No Additional Items': {
'Thieves\' Hideout "Kitchen" with No Additional Items': {
'name' : 'logic_gerudo_kitchen',
'tags' : ("Gerudo's Fortress",),
'tags' : ("Thieves' Hideout", "Gerudo's Fortress"),
'tooltip' : '''\
The logic normally guarantees one of Bow, Hookshot,
or Hover Boots.
@ -185,9 +185,9 @@ known_logic_tricks = {
a particularly egregious example. Logic normally
expects Din's Fire and Song of Time.
'''},
'Gerudo Training Grounds MQ Left Side Silver Rupees with Hookshot': {
'Gerudo Training Ground MQ Left Side Silver Rupees with Hookshot': {
'name' : 'logic_gtg_mq_with_hookshot',
'tags' : ("Gerudo Training Grounds",),
'tags' : ("Gerudo Training Ground",),
'tooltip' : '''\
The highest silver rupee can be obtained by
hookshotting the target and then immediately jump
@ -239,14 +239,6 @@ known_logic_tricks = {
or hit the shortcut switch at the top of the
room and jump from the glass blocks that spawn.
'''},
'Forest Temple MQ Twisted Hallway Switch with Hookshot': {
'name' : 'logic_forest_mq_hallway_switch_hookshot',
'tags' : ("Forest Temple",),
'tooltip' : '''\
There's a very small gap between the glass block
and the wall. Through that gap you can hookshot
the target on the ceiling.
'''},
'Death Mountain Trail Chest with Strength': {
'name' : 'logic_dmt_bombable',
'tags' : ("Death Mountain Trail",),
@ -907,9 +899,9 @@ known_logic_tricks = {
Skulltula and obtain the token by having the Boomerang
interact with it along the return path.
'''},
'Gerudo Training Grounds Left Side Silver Rupees without Hookshot': {
'Gerudo Training Ground Left Side Silver Rupees without Hookshot': {
'name' : 'logic_gtg_without_hookshot',
'tags' : ("Gerudo Training Grounds",),
'tags' : ("Gerudo Training Ground",),
'tooltip' : '''\
After collecting the rest of the silver rupees in the room,
you can reach the final silver rupee on the ceiling by being
@ -919,9 +911,9 @@ known_logic_tricks = {
the edge of a flame wall before it can rise up to block you.
To do so without taking damage is more precise.
'''},
'Gerudo Training Grounds MQ Left Side Silver Rupees without Hookshot': {
'Gerudo Training Ground MQ Left Side Silver Rupees without Hookshot': {
'name' : 'logic_gtg_mq_without_hookshot',
'tags' : ("Gerudo Training Grounds",),
'tags' : ("Gerudo Training Ground",),
'tooltip' : '''\
After collecting the rest of the silver rupees in the room,
you can reach the final silver rupee on the ceiling by being
@ -932,18 +924,18 @@ known_logic_tricks = {
Also included with this trick is that fact that the switch
that unbars the door to the final chest of GTG can be hit
without a projectile, using a precise jump slash.
This trick supersedes "Gerudo Training Grounds MQ Left Side
This trick supersedes "Gerudo Training Ground MQ Left Side
Silver Rupees with Hookshot".
'''},
'Reach Gerudo Training Grounds Fake Wall Ledge with Hover Boots': {
'Reach Gerudo Training Ground Fake Wall Ledge with Hover Boots': {
'name' : 'logic_gtg_fake_wall',
'tags' : ("Gerudo Training Grounds",),
'tags' : ("Gerudo Training Ground",),
'tooltip' : '''\
A precise Hover Boots use from the top of the chest can allow
you to grab the ledge without needing the usual requirements.
In Master Quest, this always skips a Song of Time requirement.
In Vanilla, this skips a Hookshot requirement, but is only
relevant if "Gerudo Training Grounds Left Side Silver Rupees
relevant if "Gerudo Training Ground Left Side Silver Rupees
without Hookshot" is enabled.
'''},
'Water Temple Cracked Wall with No Additional Items': {
@ -1299,19 +1291,19 @@ known_logic_tricks = {
Removes the requirements for the Lens of Truth
in Ganon's Castle.
'''},
'Gerudo Training Grounds MQ without Lens of Truth': {
'Gerudo Training Ground MQ without Lens of Truth': {
'name' : 'logic_lens_gtg_mq',
'tags' : ("Lens of Truth","Gerudo Training Grounds",),
'tags' : ("Lens of Truth","Gerudo Training Ground",),
'tooltip' : '''\
Removes the requirements for the Lens of Truth
in Gerudo Training Grounds MQ.
in Gerudo Training Ground MQ.
'''},
'Gerudo Training Grounds without Lens of Truth': {
'Gerudo Training Ground without Lens of Truth': {
'name' : 'logic_lens_gtg',
'tags' : ("Lens of Truth","Gerudo Training Grounds",),
'tags' : ("Lens of Truth","Gerudo Training Ground",),
'tooltip' : '''\
Removes the requirements for the Lens of Truth
in Gerudo Training Grounds.
in Gerudo Training Ground.
'''},
'Jabu MQ without Lens of Truth': {
'name' : 'logic_lens_jabu_mq',

View File

@ -308,7 +308,7 @@ KEYSANITY_MESSAGES = {
0x0095: "\x13\x77\x08You found a \x05\x41Small Key\x05\x40\x01for the \x05\x43Water Temple\x05\x40!\x09",
0x009B: "\x13\x77\x08You found a \x05\x41Small Key\x05\x40\x01for the \x05\x45Bottom of the Well\x05\x40!\x09",
0x009F: "\x13\x77\x08You found a \x05\x41Small Key\x05\x40\x01for the \x05\x46Gerudo Training\x01Grounds\x05\x40!\x09",
0x00A0: "\x13\x77\x08You found a \x05\x41Small Key\x05\x40\x01for the \x05\x46Gerudo's Fortress\x05\x40!\x09",
0x00A0: "\x13\x77\x08You found a \x05\x41Small Key\x05\x40\x01for the \x05\x46Thieves' Hideout\x05\x40!\x09",
0x00A1: "\x13\x77\x08You found a \x05\x41Small Key\x05\x40\x01for \x05\x41Ganon's Castle\x05\x40!\x09",
0x00A2: "\x13\x75\x08You found the \x05\x41Compass\x05\x40\x01for the \x05\x45Bottom of the Well\x05\x40!\x09",
0x00A3: "\x13\x76\x08You found the \x05\x41Dungeon Map\x05\x40\x01for the \x05\x45Shadow Temple\x05\x40!\x09",

View File

@ -421,8 +421,8 @@ class ShuffleKeys(Choice):
class ShuffleGerudoKeys(Choice):
"""Control where to shuffle the Gerudo Fortress small keys."""
display_name = "Gerudo Fortress Keys"
"""Control where to shuffle the Thieves' Hideout small keys."""
display_name = "Thieves' Hideout Keys"
option_vanilla = 0
option_overworld = 1
option_any_dungeon = 2

View File

@ -710,7 +710,7 @@ def patch_rom(world, rom):
rom.write_byte(address,0x01)
# Allow Warp Songs in additional places
rom.write_byte(0xB6D3D2, 0x00) # Gerudo Training Grounds
rom.write_byte(0xB6D3D2, 0x00) # Gerudo Training Ground
rom.write_byte(0xB6D42A, 0x00) # Inside Ganon's Castle
#Tell Sheik at Ice Cavern we are always an Adult
@ -719,10 +719,10 @@ def patch_rom(world, rom):
rom.write_int32(0xc7BCA4, 0x00000000)
# Allow Farore's Wind in dungeons where it's normally forbidden
rom.write_byte(0xB6D3D3, 0x00) # Gerudo Training Grounds
rom.write_byte(0xB6D3D3, 0x00) # Gerudo Training Ground
rom.write_byte(0xB6D42B, 0x00) # Inside Ganon's Castle
# Remove disruptive text from Gerudo Training Grounds and early Shadow Temple (vanilla)
# Remove disruptive text from Gerudo Training Ground and early Shadow Temple (vanilla)
Wonder_text = [0x27C00BC, 0x27C00CC, 0x27C00DC, 0x27C00EC, 0x27C00FC, 0x27C010C, 0x27C011C, 0x27C012C, 0x27CE080,
0x27CE090, 0x2887070, 0x2887080, 0x2887090, 0x2897070, 0x28C7134, 0x28D91BC, 0x28A60F4, 0x28AE084,
0x28B9174, 0x28BF168, 0x28BF178, 0x28BF188, 0x28A1144, 0x28A6104, 0x28D0094]
@ -1202,7 +1202,7 @@ def patch_rom(world, rom):
if world.dungeon_mq['Ice Cavern']:
mq_scenes.append(9)
# Scene 10 has no layout changes, so it doesn't need to be patched
if world.dungeon_mq['Gerudo Training Grounds']:
if world.dungeon_mq['Gerudo Training Ground']:
mq_scenes.append(11)
if world.dungeon_mq['Ganons Castle']:
mq_scenes.append(13)
@ -1378,7 +1378,7 @@ def patch_rom(world, rom):
rom.write_byte(0x2E8E931, special['text_id']) #Fix text box
elif location.name == 'Song from Malon':
rom.write_byte(rom.sym('MALON_TEXT_ID'), special['text_id'])
elif location.name == 'Song from Composers Grave':
elif location.name == 'Song from Royal Familys Tomb':
rom.write_int16(0xE09F66, bit_mask_pointer)
rom.write_byte(0x332A87D, special['text_id']) #Fix text box
elif location.name == 'Song from Saria':
@ -1685,7 +1685,7 @@ def patch_rom(world, rom):
'Shadow Temple': ("the \x05\x45Shadow Temple", 'Bongo Bongo', 0x7f, 0xa3),
}
for dungeon in world.dungeon_mq:
if dungeon in ['Gerudo Training Grounds', 'Ganons Castle']:
if dungeon in ['Gerudo Training Ground', 'Ganons Castle']:
pass
elif dungeon in ['Bottom of the Well', 'Ice Cavern']:
dungeon_name, boss_name, compass_id, map_id = dungeon_list[dungeon]
@ -2184,7 +2184,7 @@ def configure_dungeon_info(rom, world):
codes = ['Deku Tree', 'Dodongos Cavern', 'Jabu Jabus Belly', 'Forest Temple',
'Fire Temple', 'Water Temple', 'Spirit Temple', 'Shadow Temple',
'Bottom of the Well', 'Ice Cavern', 'Tower (N/A)',
'Gerudo Training Grounds', 'Hideout (N/A)', 'Ganons Castle']
'Gerudo Training Ground', 'Hideout (N/A)', 'Ganons Castle']
dungeon_is_mq = [1 if world.dungeon_mq.get(c) else 0 for c in codes]
rom.write_int32(rom.sym('cfg_dungeon_info_enable'), 1)

View File

@ -584,7 +584,7 @@ class OOTWorld(World):
# only one exists
"Bottom of the Well Lens of Truth Chest", "Bottom of the Well MQ Lens of Truth Chest",
# only one exists
"Gerudo Training Grounds Maze Path Final Chest", "Gerudo Training Grounds MQ Ice Arrows Chest",
"Gerudo Training Ground Maze Path Final Chest", "Gerudo Training Ground MQ Ice Arrows Chest",
]
# Place/set rules for dungeon items
@ -620,28 +620,28 @@ class OOTWorld(World):
# Now fill items that can go into any dungeon. Retrieve the Gerudo Fortress keys from the pool if necessary
if self.shuffle_fortresskeys == 'any_dungeon':
fortresskeys = filter(lambda item: item.player == self.player and item.type == 'FortressSmallKey',
fortresskeys = filter(lambda item: item.player == self.player and item.type == 'HideoutSmallKey',
self.world.itempool)
itempools['any_dungeon'].extend(fortresskeys)
if itempools['any_dungeon']:
for item in itempools['any_dungeon']:
self.world.itempool.remove(item)
itempools['any_dungeon'].sort(key=lambda item:
{'GanonBossKey': 4, 'BossKey': 3, 'SmallKey': 2, 'FortressSmallKey': 1}.get(item.type, 0))
{'GanonBossKey': 4, 'BossKey': 3, 'SmallKey': 2, 'HideoutSmallKey': 1}.get(item.type, 0))
self.world.random.shuffle(any_dungeon_locations)
fill_restrictive(self.world, self.world.get_all_state(False), any_dungeon_locations,
itempools['any_dungeon'], True, True)
# If anything is overworld-only, fill into local non-dungeon locations
if self.shuffle_fortresskeys == 'overworld':
fortresskeys = filter(lambda item: item.player == self.player and item.type == 'FortressSmallKey',
fortresskeys = filter(lambda item: item.player == self.player and item.type == 'HideoutSmallKey',
self.world.itempool)
itempools['overworld'].extend(fortresskeys)
if itempools['overworld']:
for item in itempools['overworld']:
self.world.itempool.remove(item)
itempools['overworld'].sort(key=lambda item:
{'GanonBossKey': 4, 'BossKey': 3, 'SmallKey': 2, 'FortressSmallKey': 1}.get(item.type, 0))
{'GanonBossKey': 4, 'BossKey': 3, 'SmallKey': 2, 'HideoutSmallKey': 1}.get(item.type, 0))
non_dungeon_locations = [loc for loc in self.get_locations() if
not loc.item and loc not in any_dungeon_locations and
(loc.type != 'Shop' or loc.name in self.shop_prices) and
@ -845,7 +845,7 @@ class OOTWorld(World):
if loc.game == "Ocarina of Time" and loc.item.code and (not loc.locked or
(loc.item.type == 'Song' or
(loc.item.type == 'SmallKey' and world.worlds[loc.player].shuffle_smallkeys == 'any_dungeon') or
(loc.item.type == 'FortressSmallKey' and world.worlds[loc.player].shuffle_fortresskeys == 'any_dungeon') or
(loc.item.type == 'HideoutSmallKey' and world.worlds[loc.player].shuffle_fortresskeys == 'any_dungeon') or
(loc.item.type == 'BossKey' and world.worlds[loc.player].shuffle_bosskeys == 'any_dungeon') or
(loc.item.type == 'GanonBossKey' and world.worlds[loc.player].shuffle_ganon_bosskey == 'any_dungeon'))):
if loc.player in barren_hint_players:
@ -977,7 +977,7 @@ class OOTWorld(World):
return False
if item.type == 'SmallKey' and self.shuffle_smallkeys in ['dungeon', 'vanilla']:
return False
if item.type == 'FortressSmallKey' and self.shuffle_fortresskeys == 'vanilla':
if item.type == 'HideoutSmallKey' and self.shuffle_fortresskeys == 'vanilla':
return False
if item.type == 'BossKey' and self.shuffle_bosskeys in ['dungeon', 'vanilla']:
return False

View File

@ -0,0 +1,79 @@
[
{
"region_name": "Gerudo Training Ground Lobby",
"dungeon": "Gerudo Training Ground",
"locations": {
"Gerudo Training Ground MQ Lobby Left Chest": "True",
"Gerudo Training Ground MQ Lobby Right Chest": "True",
"Gerudo Training Ground MQ Hidden Ceiling Chest": "logic_lens_gtg_mq or can_use(Lens_of_Truth)",
"Gerudo Training Ground MQ Maze Path First Chest": "True",
"Gerudo Training Ground MQ Maze Path Second Chest": "True",
"Gerudo Training Ground MQ Maze Path Third Chest": "(Small_Key_Gerudo_Training_Ground, 1)"
},
"exits": {
"Gerudo Fortress": "True",
"Gerudo Training Ground Left Side": "has_fire_source",
"Gerudo Training Ground Right Side": "Bow"
}
},
{
"region_name": "Gerudo Training Ground Right Side",
"dungeon": "Gerudo Training Ground",
"locations": {
"Gerudo Training Ground MQ Dinolfos Chest": "True",
"Gerudo Training Ground MQ Underwater Silver Rupee Chest": "
(Hover_Boots or at('Gerudo Training Ground Central Maze Right', can_use(Longshot) or Bow)) and
has_fire_source and Iron_Boots and (logic_fewer_tunic_requirements or can_use(Zora_Tunic)) and
can_take_damage",
"Wall Fairy": "has_bottle and can_use(Bow)" #in the Dinalfos room shoot the Gerudo symbol above the door to the lava room.
}
},
{
"region_name": "Gerudo Training Ground Left Side",
"dungeon": "Gerudo Training Ground",
"locations": {
"Gerudo Training Ground MQ First Iron Knuckle Chest": "True"
},
"exits": {
"Gerudo Training Ground Stalfos Room": "can_use(Longshot) or (logic_gtg_mq_with_hookshot and can_use(Hookshot))"
}
},
{
"region_name": "Gerudo Training Ground Stalfos Room",
"dungeon": "Gerudo Training Ground",
"locations": {
"Gerudo Training Ground MQ Before Heavy Block Chest": "True",
"Gerudo Training Ground MQ Heavy Block Chest": "can_use(Silver_Gauntlets)",
"Blue Fire": "has_bottle"
},
"exits": {
"Gerudo Training Ground Back Areas": "can_play(Song_of_Time) and (logic_lens_gtg_mq or can_use(Lens_of_Truth)) and Blue_Fire"
}
},
{
"region_name": "Gerudo Training Ground Back Areas",
"dungeon": "Gerudo Training Ground",
"locations": {
"Gerudo Training Ground MQ Eye Statue Chest": "Bow",
"Gerudo Training Ground MQ Second Iron Knuckle Chest": "True",
"Gerudo Training Ground MQ Flame Circle Chest": "True"
},
"exits": {
"Gerudo Training Ground Central Maze Right": "Megaton_Hammer",
"Gerudo Training Ground Right Side": "can_use(Longshot)"
}
},
{
"region_name": "Gerudo Training Ground Central Maze Right",
"dungeon": "Gerudo Training Ground",
"locations": {
"Gerudo Training Ground MQ Maze Right Central Chest": "True",
"Gerudo Training Ground MQ Maze Right Side Chest": "True",
"Gerudo Training Ground MQ Ice Arrows Chest": "
(Small_Key_Gerudo_Training_Ground, 3)"
},
"exits": {
"Gerudo Training Ground Right Side": "True"
}
}
]

View File

@ -0,0 +1,112 @@
[
{
"region_name": "Gerudo Training Ground Lobby",
"dungeon": "Gerudo Training Ground",
"locations": {
"Gerudo Training Ground Lobby Left Chest": "can_use(Bow) or can_use(Slingshot)",
"Gerudo Training Ground Lobby Right Chest": "can_use(Bow) or can_use(Slingshot)",
"Gerudo Training Ground Stalfos Chest": "can_jumpslash",
"Gerudo Training Ground Beamos Chest": "has_explosives and can_jumpslash",
"Wall Fairy": "has_bottle and can_use(Bow)" #in the Beamos room shoot the Gerudo symbol above the door to the lava room.
},
"exits": {
"Gerudo Training Ground Heavy Block Room": "True",
"Gerudo Training Ground Lava Room": "
here(has_explosives and can_jumpslash)",
"Gerudo Training Ground Central Maze": "True"
}
},
{
"region_name": "Gerudo Training Ground Central Maze",
"dungeon": "Gerudo Training Ground",
"locations": {
"Gerudo Training Ground Hidden Ceiling Chest": "(Small_Key_Gerudo_Training_Ground, 3)
or (can_use(Hookshot) and can_mega) or (is_child and has_explosives and (can_live_dmg(0.5) or can_use(Nayrus_Love)))",
"Gerudo Training Ground Maze Path First Chest": "(Small_Key_Gerudo_Training_Ground, 4)
or (can_use(Hookshot) and can_mega) or (is_child and has_explosives and (can_live_dmg(1.0) or can_use(Nayrus_Love)))",
"Gerudo Training Ground Maze Path Second Chest": "(Small_Key_Gerudo_Training_Ground, 6)
or (can_use(Hookshot) and can_mega) or (is_child and has_explosives and (can_live_dmg(1.0) or can_use(Nayrus_Love)))",
"Gerudo Training Ground Maze Path Third Chest": "(Small_Key_Gerudo_Training_Ground, 7)
or (can_use(Hookshot) and can_mega) or (is_child and has_explosives and (can_live_dmg(0.5) or can_use(Nayrus_Love)))",
"Gerudo Training Ground Maze Path Final Chest": "(Small_Key_Gerudo_Training_Ground, 9)
or (can_use(Hookshot) and can_mega) or (is_child and has_explosives and (can_live_dmg(0.5) or can_use(Nayrus_Love)))"
},
"exits": {
"Gerudo Training Ground Central Maze Right": "(Small_Key_Gerudo_Training_Ground, 9)
or (can_use(Hookshot) and can_mega) or (is_child and has_explosives)"
}
},
{
"region_name": "Gerudo Training Ground Central Maze Right",
"dungeon": "Gerudo Training Ground",
"locations": {
"Gerudo Training Ground Maze Right Central Chest": "True",
"Gerudo Training Ground Maze Right Side Chest": "True",
"Gerudo Training Ground Freestanding Key": "True"
},
"exits": {
"Gerudo Training Ground Lava Room": "True"
}
},
{
"region_name": "Gerudo Training Ground Lava Room",
"dungeon": "Gerudo Training Ground",
"locations": {
"Gerudo Training Ground Underwater Silver Rupee Chest": "
can_use(Hookshot) and (can_play(Song_of_Time) or can_mega) and Iron_Boots"
},
"exits": {
"Gerudo Training Ground Central Maze Right": "can_play(Song_of_Time) or is_child
or (can_use(Hookshot) and can_use(Hover_Boots) and can_shield and Bombs)",
"Gerudo Training Ground Hammer Room": "can_use(Hookshot)"
}
},
{
"region_name": "Gerudo Training Ground Hammer Room",
"dungeon": "Gerudo Training Ground",
"locations": {
"Gerudo Training Ground Hammer Room Clear Chest": "True",
"Gerudo Training Ground Hammer Room Switch Chest": "can_use(Megaton_Hammer) or
can_live_dmg(0.5) or can_use(Nayrus_Love)"
},
"exits": {
"Gerudo Training Ground Eye Statue Lower": "can_use(Bow)",
"Gerudo Training Ground Lava Room": "True"
}
},
{
"region_name": "Gerudo Training Ground Eye Statue Lower",
"dungeon": "Gerudo Training Ground",
"locations": {
"Gerudo Training Ground Eye Statue Chest": "can_use(Bow)"
},
"exits": {
"Gerudo Training Ground Hammer Room": "True"
}
},
{
"region_name": "Gerudo Training Ground Eye Statue Upper",
"dungeon": "Gerudo Training Ground",
"locations": {
"Gerudo Training Ground Near Scarecrow Chest": "can_use(Bow)"
},
"exits": {
"Gerudo Training Ground Eye Statue Lower": "True"
}
},
{
"region_name": "Gerudo Training Ground Heavy Block Room",
"dungeon": "Gerudo Training Ground",
"locations": {
"Gerudo Training Ground Before Heavy Block Chest": "True",
"Gerudo Training Ground Heavy Block First Chest": "can_use(Silver_Gauntlets)",
"Gerudo Training Ground Heavy Block Second Chest": "can_use(Silver_Gauntlets)",
"Gerudo Training Ground Heavy Block Third Chest": "can_use(Silver_Gauntlets)",
"Gerudo Training Ground Heavy Block Fourth Chest": "can_use(Silver_Gauntlets)"
},
"exits": {
"Gerudo Training Ground Eye Statue Upper": "can_use(Hookshot) or can_hover or
(is_adult and (Hover_Boots or (can_shield and Bombs)))"
}
}
]

View File

@ -1,79 +0,0 @@
[
{
"region_name": "Gerudo Training Grounds Lobby",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds MQ Lobby Left Chest": "True",
"Gerudo Training Grounds MQ Lobby Right Chest": "True",
"Gerudo Training Grounds MQ Hidden Ceiling Chest": "logic_lens_gtg_mq or can_use(Lens_of_Truth)",
"Gerudo Training Grounds MQ Maze Path First Chest": "True",
"Gerudo Training Grounds MQ Maze Path Second Chest": "True",
"Gerudo Training Grounds MQ Maze Path Third Chest": "(Small_Key_Gerudo_Training_Grounds, 1)"
},
"exits": {
"Gerudo Fortress": "True",
"Gerudo Training Grounds Left Side": "has_fire_source",
"Gerudo Training Grounds Right Side": "Bow"
}
},
{
"region_name": "Gerudo Training Grounds Right Side",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds MQ Dinolfos Chest": "True",
"Gerudo Training Grounds MQ Underwater Silver Rupee Chest": "
(Hover_Boots or at('Gerudo Training Grounds Central Maze Right', can_use(Longshot) or Bow)) and
has_fire_source and Iron_Boots and (logic_fewer_tunic_requirements or can_use(Zora_Tunic)) and
can_take_damage",
"Wall Fairy": "has_bottle and can_use(Bow)" #in the Dinalfos room shoot the Gerudo symbol above the door to the lava room.
}
},
{
"region_name": "Gerudo Training Grounds Left Side",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds MQ First Iron Knuckle Chest": "True"
},
"exits": {
"Gerudo Training Grounds Stalfos Room": "can_use(Longshot) or (logic_gtg_mq_with_hookshot and can_use(Hookshot))"
}
},
{
"region_name": "Gerudo Training Grounds Stalfos Room",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds MQ Before Heavy Block Chest": "True",
"Gerudo Training Grounds MQ Heavy Block Chest": "can_use(Silver_Gauntlets)",
"Blue Fire": "has_bottle"
},
"exits": {
"Gerudo Training Grounds Back Areas": "can_play(Song_of_Time) and (logic_lens_gtg_mq or can_use(Lens_of_Truth)) and Blue_Fire"
}
},
{
"region_name": "Gerudo Training Grounds Back Areas",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds MQ Eye Statue Chest": "Bow",
"Gerudo Training Grounds MQ Second Iron Knuckle Chest": "True",
"Gerudo Training Grounds MQ Flame Circle Chest": "True"
},
"exits": {
"Gerudo Training Grounds Central Maze Right": "Megaton_Hammer",
"Gerudo Training Grounds Right Side": "can_use(Longshot)"
}
},
{
"region_name": "Gerudo Training Grounds Central Maze Right",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds MQ Maze Right Central Chest": "True",
"Gerudo Training Grounds MQ Maze Right Side Chest": "True",
"Gerudo Training Grounds MQ Ice Arrows Chest": "
(Small_Key_Gerudo_Training_Grounds, 3)"
},
"exits": {
"Gerudo Training Grounds Right Side": "True"
}
}
]

View File

@ -1,112 +0,0 @@
[
{
"region_name": "Gerudo Training Grounds Lobby",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds Lobby Left Chest": "can_use(Bow) or can_use(Slingshot)",
"Gerudo Training Grounds Lobby Right Chest": "can_use(Bow) or can_use(Slingshot)",
"Gerudo Training Grounds Stalfos Chest": "can_jumpslash",
"Gerudo Training Grounds Beamos Chest": "has_explosives and can_jumpslash",
"Wall Fairy": "has_bottle and can_use(Bow)" #in the Beamos room shoot the Gerudo symbol above the door to the lava room.
},
"exits": {
"Gerudo Training Grounds Heavy Block Room": "True",
"Gerudo Training Grounds Lava Room": "
here(has_explosives and can_jumpslash)",
"Gerudo Training Grounds Central Maze": "True"
}
},
{
"region_name": "Gerudo Training Grounds Central Maze",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds Hidden Ceiling Chest": "(Small_Key_Gerudo_Training_Grounds, 3)
or (can_use(Hookshot) and can_mega) or (is_child and has_explosives and (can_live_dmg(0.5) or can_use(Nayrus_Love)))",
"Gerudo Training Grounds Maze Path First Chest": "(Small_Key_Gerudo_Training_Grounds, 4)
or (can_use(Hookshot) and can_mega) or (is_child and has_explosives and (can_live_dmg(1.0) or can_use(Nayrus_Love)))",
"Gerudo Training Grounds Maze Path Second Chest": "(Small_Key_Gerudo_Training_Grounds, 6)
or (can_use(Hookshot) and can_mega) or (is_child and has_explosives and (can_live_dmg(1.0) or can_use(Nayrus_Love)))",
"Gerudo Training Grounds Maze Path Third Chest": "(Small_Key_Gerudo_Training_Grounds, 7)
or (can_use(Hookshot) and can_mega) or (is_child and has_explosives and (can_live_dmg(0.5) or can_use(Nayrus_Love)))",
"Gerudo Training Grounds Maze Path Final Chest": "(Small_Key_Gerudo_Training_Grounds, 9)
or (can_use(Hookshot) and can_mega) or (is_child and has_explosives and (can_live_dmg(0.5) or can_use(Nayrus_Love)))"
},
"exits": {
"Gerudo Training Grounds Central Maze Right": "(Small_Key_Gerudo_Training_Grounds, 9)
or (can_use(Hookshot) and can_mega) or (is_child and has_explosives)"
}
},
{
"region_name": "Gerudo Training Grounds Central Maze Right",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds Maze Right Central Chest": "True",
"Gerudo Training Grounds Maze Right Side Chest": "True",
"Gerudo Training Grounds Freestanding Key": "True"
},
"exits": {
"Gerudo Training Grounds Lava Room": "True"
}
},
{
"region_name": "Gerudo Training Grounds Lava Room",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds Underwater Silver Rupee Chest": "
can_use(Hookshot) and (can_play(Song_of_Time) or can_mega) and Iron_Boots"
},
"exits": {
"Gerudo Training Grounds Central Maze Right": "can_play(Song_of_Time) or is_child
or (can_use(Hookshot) and can_use(Hover_Boots) and can_shield and Bombs)",
"Gerudo Training Grounds Hammer Room": "can_use(Hookshot)"
}
},
{
"region_name": "Gerudo Training Grounds Hammer Room",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds Hammer Room Clear Chest": "True",
"Gerudo Training Grounds Hammer Room Switch Chest": "can_use(Megaton_Hammer) or
can_live_dmg(0.5) or can_use(Nayrus_Love)"
},
"exits": {
"Gerudo Training Grounds Eye Statue Lower": "can_use(Bow)",
"Gerudo Training Grounds Lava Room": "True"
}
},
{
"region_name": "Gerudo Training Grounds Eye Statue Lower",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds Eye Statue Chest": "can_use(Bow)"
},
"exits": {
"Gerudo Training Grounds Hammer Room": "True"
}
},
{
"region_name": "Gerudo Training Grounds Eye Statue Upper",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds Near Scarecrow Chest": "can_use(Bow)"
},
"exits": {
"Gerudo Training Grounds Eye Statue Lower": "True"
}
},
{
"region_name": "Gerudo Training Grounds Heavy Block Room",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds Before Heavy Block Chest": "True",
"Gerudo Training Grounds Heavy Block First Chest": "can_use(Silver_Gauntlets)",
"Gerudo Training Grounds Heavy Block Second Chest": "can_use(Silver_Gauntlets)",
"Gerudo Training Grounds Heavy Block Third Chest": "can_use(Silver_Gauntlets)",
"Gerudo Training Grounds Heavy Block Fourth Chest": "can_use(Silver_Gauntlets)"
},
"exits": {
"Gerudo Training Grounds Eye Statue Upper": "can_use(Hookshot) or can_hover or
(is_adult and (Hover_Boots or (can_shield and Bombs)))"
}
}
]

View File

@ -324,18 +324,18 @@
Gerudo_Membership_Card and can_ride_epona and Bow and is_adult",
"GF HBA 1500 Points": "
Gerudo_Membership_Card and can_ride_epona and Bow and is_adult",
"GF North F1 Carpenter": "is_adult or (is_child and can_child_damage)",
"GF North F2 Carpenter": "is_adult or (is_child and can_child_damage)",
"GF South F1 Carpenter": "is_adult or (is_child and can_child_damage)",
"GF South F2 Carpenter": "is_adult or (is_child and can_child_damage)",
"GF Gerudo Membership Card": "can_finish_GerudoFortress",
"Hideout Jail Guard (1 Torch)": "is_adult or (is_child and can_child_damage)",
"Hideout Jail Guard (2 Torches)": "is_adult or (is_child and can_child_damage)",
"Hideout Jail Guard (3 Torches)": "is_adult or (is_child and can_child_damage)",
"Hideout Jail Guard (4 Torches)": "is_adult or (is_child and can_child_damage)",
"Hideout Gerudo Membership Card": "can_finish_GerudoFortress",
"GF GS Archery Range": "can_use(Hookshot) and at_night",
"GF GS Top Floor": "at_night and is_adult"
},
"exits": {
"Haunted Wasteland": "is_child or 'GF Gate Open' or
((Progressive_Hookshot and (Hover_Boots or can_mega)) or (can_isg and Bombs) )",
"Gerudo Training Grounds Lobby": "True"
"Gerudo Training Ground Lobby": "True"
}
},
{
@ -707,7 +707,7 @@
},
"exits": {
"Graveyard Shield Grave": "True",
"Graveyard Composers Grave": "can_play(Zeldas_Lullaby) or at('Graveyard Warp Pad Region', True)",
"Graveyard Royal Familys Tomb": "can_play(Zeldas_Lullaby) or at('Graveyard Warp Pad Region', True)",
"Graveyard Heart Piece Grave": "True",
"Graveyard Dampes Grave": "is_adult or at('Graveyard Warp Pad Region', True)",
"Graveyard Dampes House": "True",
@ -728,10 +728,10 @@
}
},
{
"region_name": "Graveyard Composers Grave",
"region_name": "Graveyard Royal Familys Tomb",
"locations": {
"Graveyard Composers Grave Chest": "has_fire_source or (is_child and Sticks and (can_live_dmg(0.75) or can_use(Nayrus_Love)))",
"Song from Composers Grave": "
"Graveyard Royal Familys Tomb Chest": "has_fire_source or (is_child and Sticks and (can_live_dmg(0.75) or can_use(Nayrus_Love)))",
"Song from Royal Familys Tomb": "
is_adult or
(Slingshot or Boomerang or Sticks or
has_explosives or Kokiri_Sword)"

View File

@ -83,8 +83,8 @@
"has_fire_source_with_torch": "has_fire_source or (is_child and Sticks)",
# Gerudo Fortress
"can_finish_GerudoFortress": "(gerudo_fortress == 'normal' and (Small_Key_Gerudo_Fortress, 4) and (is_adult or Kokiri_Sword or is_glitched) and (is_adult and (Bow or Hookshot or Hover_Boots) or Gerudo_Membership_Card or logic_gerudo_kitchen or is_glitched))
or (gerudo_fortress == 'fast' and Small_Key_Gerudo_Fortress and (is_adult or Kokiri_Sword or is_glitched))
"can_finish_GerudoFortress": "(gerudo_fortress == 'normal' and (Small_Key_Thieves_Hideout, 4) and (is_adult or Kokiri_Sword or is_glitched) and (is_adult and (Bow or Hookshot or Hover_Boots) or Gerudo_Membership_Card or logic_gerudo_kitchen or is_glitched))
or (gerudo_fortress == 'fast' and Small_Key_Thieves_Hideout and (is_adult or Kokiri_Sword or is_glitched))
or (gerudo_fortress != 'normal' and gerudo_fortress != 'fast')",
# Mirror shield does not count because it cannot reflect scrub attack.
"has_shield": "(is_adult and Hylian_Shield) or (is_child and Deku_Shield)",

View File

@ -32,7 +32,7 @@
(can_use(Hookshot) or can_use(Boomerang)) and
here(has_bombchus or
(Bombs and (can_play(Song_of_Time) or is_adult)) or
(can_use(Hammer) and (can_play(Song_of_Time) or logic_deku_mq_compass_gs)))"
(can_use(Megaton_Hammer) and (can_play(Song_of_Time) or logic_deku_mq_compass_gs)))"
},
"exits": {
"Deku Tree Lobby": "True"

View File

@ -41,7 +41,7 @@
(logic_dc_mq_eyes and Progressive_Strength_Upgrade and
(is_adult or logic_dc_mq_child_back) and
(here(can_use(Sticks)) or can_use(Dins_Fire) or
(is_adult and (logic_dc_jump or Hammer or Hover_Boots or Hookshot))))"
(is_adult and (logic_dc_jump or Megaton_Hammer or Hover_Boots or Hookshot))))"
}
},
{

View File

@ -33,8 +33,7 @@
is_adult and (Progressive_Strength_Upgrade or
(logic_forest_mq_block_puzzle and has_bombchus and can_use(Hookshot)))",
"Forest Temple Outdoor Ledge": "
(logic_forest_mq_hallway_switch_jumpslash and can_use(Hover_Boots)) or
(logic_forest_mq_hallway_switch_hookshot and can_use(Hookshot))",
(logic_forest_mq_hallway_switch_jumpslash and can_use(Hover_Boots))",
"Forest Temple Boss Region": "
Forest_Temple_Jo_and_Beth and Forest_Temple_Amy_and_Meg"
}

View File

@ -0,0 +1,98 @@
[
{
"region_name": "Gerudo Training Ground Lobby",
"dungeon": "Gerudo Training Ground",
"locations": {
"Gerudo Training Ground MQ Lobby Left Chest": "True",
"Gerudo Training Ground MQ Lobby Right Chest": "True",
"Gerudo Training Ground MQ Hidden Ceiling Chest": "logic_lens_gtg_mq or can_use(Lens_of_Truth)",
"Gerudo Training Ground MQ Maze Path First Chest": "True",
"Gerudo Training Ground MQ Maze Path Second Chest": "True",
"Gerudo Training Ground MQ Maze Path Third Chest": "(Small_Key_Gerudo_Training_Ground, 1)"
},
"exits": {
"Gerudo Fortress": "True",
"Gerudo Training Ground Left Side": "here(has_fire_source)",
"Gerudo Training Ground Right Side": "here(can_use(Bow) or can_use(Slingshot))"
}
},
{
"region_name": "Gerudo Training Ground Right Side",
"dungeon": "Gerudo Training Ground",
"locations": {
"Gerudo Training Ground MQ Dinolfos Chest": "is_adult",
"Wall Fairy": "has_bottle and can_use(Bow)" #in the Dinalfos room shoot the Gerudo symbol above the door to the lava room.
},
"exits": {
# Still requires has_fire_source in the room
"Gerudo Training Ground Underwater": "
(Bow or can_use(Longshot)) and can_use(Hover_Boots)"
}
},
{
"region_name": "Gerudo Training Ground Underwater",
"dungeon": "Gerudo Training Ground",
"locations": {
"Gerudo Training Ground MQ Underwater Silver Rupee Chest": "
has_fire_source and can_use(Iron_Boots) and
(logic_fewer_tunic_requirements or can_use(Zora_Tunic)) and can_take_damage"
}
},
{
"region_name": "Gerudo Training Ground Left Side",
"dungeon": "Gerudo Training Ground",
"locations": {
"Gerudo Training Ground MQ First Iron Knuckle Chest": "is_adult or Kokiri_Sword or has_explosives"
},
"exits": {
"Gerudo Training Ground Stalfos Room": "
can_use(Longshot) or logic_gtg_mq_without_hookshot or
(logic_gtg_mq_with_hookshot and can_use(Hookshot))"
}
},
{
"region_name": "Gerudo Training Ground Stalfos Room",
"dungeon": "Gerudo Training Ground",
"locations": {
# Very difficult to fight the Stalfos and Stulltulas under the time limit as child.
"Gerudo Training Ground MQ Before Heavy Block Chest": "is_adult",
"Gerudo Training Ground MQ Heavy Block Chest": "can_use(Silver_Gauntlets)",
"Blue Fire": "has_bottle"
},
"exits": {
"Gerudo Training Ground Back Areas": "
is_adult and (logic_lens_gtg_mq or can_use(Lens_of_Truth)) and Blue_Fire and
(can_play(Song_of_Time) or (logic_gtg_fake_wall and can_use(Hover_Boots)))"
}
},
{
"region_name": "Gerudo Training Ground Back Areas",
"dungeon": "Gerudo Training Ground",
"locations": {
"Gerudo Training Ground MQ Eye Statue Chest": "Bow",
"Gerudo Training Ground MQ Second Iron Knuckle Chest": "True",
"Gerudo Training Ground MQ Flame Circle Chest": "can_use(Hookshot) or Bow or has_explosives"
},
"exits": {
"Gerudo Training Ground Central Maze Right": "Megaton_Hammer",
"Gerudo Training Ground Right Side": "can_use(Longshot)"
}
},
{
"region_name": "Gerudo Training Ground Central Maze Right",
"dungeon": "Gerudo Training Ground",
"locations": {
"Gerudo Training Ground MQ Maze Right Central Chest": "True",
"Gerudo Training Ground MQ Maze Right Side Chest": "True",
# The switch that opens the door to the Ice Arrows chest can be hit with a precise jumpslash.
"Gerudo Training Ground MQ Ice Arrows Chest": "
(Small_Key_Gerudo_Training_Ground, 3)"
},
"exits": {
# guarantees fire with torch
"Gerudo Training Ground Underwater": "
can_use(Longshot) or (can_use(Hookshot) and Bow)",
"Gerudo Training Ground Right Side": "can_use(Hookshot)"
}
}
]

View File

@ -0,0 +1,120 @@
[
{
"region_name": "Gerudo Training Ground Lobby",
"dungeon": "Gerudo Training Ground",
"locations": {
"Gerudo Training Ground Lobby Left Chest": "can_use(Bow) or can_use(Slingshot)",
"Gerudo Training Ground Lobby Right Chest": "can_use(Bow) or can_use(Slingshot)",
"Gerudo Training Ground Stalfos Chest": "is_adult or Kokiri_Sword",
"Gerudo Training Ground Beamos Chest": "has_explosives and (is_adult or Kokiri_Sword)",
"Wall Fairy": "has_bottle and can_use(Bow)" #in the Beamos room shoot the Gerudo symbol above the door to the lava room.
},
"exits": {
"Gerudo Fortress": "True",
"Gerudo Training Ground Heavy Block Room": "
(is_adult or Kokiri_Sword) and
(can_use(Hookshot) or logic_gtg_without_hookshot)",
"Gerudo Training Ground Lava Room": "
here(has_explosives and (is_adult or Kokiri_Sword))",
"Gerudo Training Ground Central Maze": "True"
}
},
{
"region_name": "Gerudo Training Ground Central Maze",
"dungeon": "Gerudo Training Ground",
"locations": {
"Gerudo Training Ground Hidden Ceiling Chest": "(Small_Key_Gerudo_Training_Ground, 3) and (logic_lens_gtg or can_use(Lens_of_Truth))",
"Gerudo Training Ground Maze Path First Chest": "(Small_Key_Gerudo_Training_Ground, 4)",
"Gerudo Training Ground Maze Path Second Chest": "(Small_Key_Gerudo_Training_Ground, 6)",
"Gerudo Training Ground Maze Path Third Chest": "(Small_Key_Gerudo_Training_Ground, 7)",
"Gerudo Training Ground Maze Path Final Chest": "(Small_Key_Gerudo_Training_Ground, 9)"
},
"exits": {
"Gerudo Training Ground Central Maze Right": "(Small_Key_Gerudo_Training_Ground, 9)"
}
},
{
"region_name": "Gerudo Training Ground Central Maze Right",
"dungeon": "Gerudo Training Ground",
"locations": {
"Gerudo Training Ground Maze Right Central Chest": "True",
"Gerudo Training Ground Maze Right Side Chest": "True",
"Gerudo Training Ground Freestanding Key": "True"
},
"exits": {
"Gerudo Training Ground Hammer Room": "can_use(Hookshot)",
"Gerudo Training Ground Lava Room": "True"
}
},
{
"region_name": "Gerudo Training Ground Lava Room",
"dungeon": "Gerudo Training Ground",
"locations": {
"Gerudo Training Ground Underwater Silver Rupee Chest": "
can_use(Hookshot) and can_play(Song_of_Time) and Iron_Boots and
(logic_fewer_tunic_requirements or can_use(Zora_Tunic))"
},
"exits": {
"Gerudo Training Ground Central Maze Right": "can_play(Song_of_Time) or is_child",
"Gerudo Training Ground Hammer Room": "
can_use(Longshot) or (can_use(Hookshot) and can_use(Hover_Boots))"
}
},
{
"region_name": "Gerudo Training Ground Hammer Room",
"dungeon": "Gerudo Training Ground",
"locations": {
"Gerudo Training Ground Hammer Room Clear Chest": "True",
"Gerudo Training Ground Hammer Room Switch Chest": "can_use(Megaton_Hammer)"
},
"exits": {
"Gerudo Training Ground Eye Statue Lower": "can_use(Megaton_Hammer) and Bow",
"Gerudo Training Ground Lava Room": "True"
}
},
{
"region_name": "Gerudo Training Ground Eye Statue Lower",
"dungeon": "Gerudo Training Ground",
"locations": {
"Gerudo Training Ground Eye Statue Chest": "can_use(Bow)"
},
"exits": {
"Gerudo Training Ground Hammer Room": "True"
}
},
{
"region_name": "Gerudo Training Ground Eye Statue Upper",
"dungeon": "Gerudo Training Ground",
"locations": {
"Gerudo Training Ground Near Scarecrow Chest": "can_use(Bow)"
},
"exits": {
"Gerudo Training Ground Eye Statue Lower": "True"
}
},
{
"region_name": "Gerudo Training Ground Heavy Block Room",
"dungeon": "Gerudo Training Ground",
"locations": {
"Gerudo Training Ground Before Heavy Block Chest": "True"
},
"exits": {
"Gerudo Training Ground Eye Statue Upper": "
(logic_lens_gtg or can_use(Lens_of_Truth)) and
(can_use(Hookshot) or (logic_gtg_fake_wall and can_use(Hover_Boots)))",
"Gerudo Training Ground Like Like Room": "
can_use(Silver_Gauntlets) and (logic_lens_gtg or can_use(Lens_of_Truth)) and
(can_use(Hookshot) or (logic_gtg_fake_wall and can_use(Hover_Boots)))"
}
},
{
"region_name": "Gerudo Training Ground Like Like Room",
"dungeon": "Gerudo Training Ground",
"locations": {
"Gerudo Training Ground Heavy Block First Chest": "True",
"Gerudo Training Ground Heavy Block Second Chest": "True",
"Gerudo Training Ground Heavy Block Third Chest": "True",
"Gerudo Training Ground Heavy Block Fourth Chest": "True"
}
}
]

View File

@ -1,98 +0,0 @@
[
{
"region_name": "Gerudo Training Grounds Lobby",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds MQ Lobby Left Chest": "True",
"Gerudo Training Grounds MQ Lobby Right Chest": "True",
"Gerudo Training Grounds MQ Hidden Ceiling Chest": "logic_lens_gtg_mq or can_use(Lens_of_Truth)",
"Gerudo Training Grounds MQ Maze Path First Chest": "True",
"Gerudo Training Grounds MQ Maze Path Second Chest": "True",
"Gerudo Training Grounds MQ Maze Path Third Chest": "(Small_Key_Gerudo_Training_Grounds, 1)"
},
"exits": {
"Gerudo Fortress": "True",
"Gerudo Training Grounds Left Side": "here(has_fire_source)",
"Gerudo Training Grounds Right Side": "here(can_use(Bow) or can_use(Slingshot))"
}
},
{
"region_name": "Gerudo Training Grounds Right Side",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds MQ Dinolfos Chest": "is_adult",
"Wall Fairy": "has_bottle and can_use(Bow)" #in the Dinalfos room shoot the Gerudo symbol above the door to the lava room.
},
"exits": {
# Still requires has_fire_source in the room
"Gerudo Training Grounds Underwater": "
(Bow or can_use(Longshot)) and can_use(Hover_Boots)"
}
},
{
"region_name": "Gerudo Training Grounds Underwater",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds MQ Underwater Silver Rupee Chest": "
has_fire_source and can_use(Iron_Boots) and
(logic_fewer_tunic_requirements or can_use(Zora_Tunic)) and can_take_damage"
}
},
{
"region_name": "Gerudo Training Grounds Left Side",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds MQ First Iron Knuckle Chest": "is_adult or Kokiri_Sword or has_explosives"
},
"exits": {
"Gerudo Training Grounds Stalfos Room": "
can_use(Longshot) or logic_gtg_mq_without_hookshot or
(logic_gtg_mq_with_hookshot and can_use(Hookshot))"
}
},
{
"region_name": "Gerudo Training Grounds Stalfos Room",
"dungeon": "Gerudo Training Grounds",
"locations": {
# Very difficult to fight the Stalfos and Stulltulas under the time limit as child.
"Gerudo Training Grounds MQ Before Heavy Block Chest": "is_adult",
"Gerudo Training Grounds MQ Heavy Block Chest": "can_use(Silver_Gauntlets)",
"Blue Fire": "has_bottle"
},
"exits": {
"Gerudo Training Grounds Back Areas": "
is_adult and (logic_lens_gtg_mq or can_use(Lens_of_Truth)) and Blue_Fire and
(can_play(Song_of_Time) or (logic_gtg_fake_wall and can_use(Hover_Boots)))"
}
},
{
"region_name": "Gerudo Training Grounds Back Areas",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds MQ Eye Statue Chest": "Bow",
"Gerudo Training Grounds MQ Second Iron Knuckle Chest": "True",
"Gerudo Training Grounds MQ Flame Circle Chest": "can_use(Hookshot) or Bow or has_explosives"
},
"exits": {
"Gerudo Training Grounds Central Maze Right": "Megaton_Hammer",
"Gerudo Training Grounds Right Side": "can_use(Longshot)"
}
},
{
"region_name": "Gerudo Training Grounds Central Maze Right",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds MQ Maze Right Central Chest": "True",
"Gerudo Training Grounds MQ Maze Right Side Chest": "True",
# The switch that opens the door to the Ice Arrows chest can be hit with a precise jumpslash.
"Gerudo Training Grounds MQ Ice Arrows Chest": "
(Small_Key_Gerudo_Training_Grounds, 3)"
},
"exits": {
# guarantees fire with torch
"Gerudo Training Grounds Underwater": "
can_use(Longshot) or (can_use(Hookshot) and Bow)",
"Gerudo Training Grounds Right Side": "can_use(Hookshot)"
}
}
]

View File

@ -1,120 +0,0 @@
[
{
"region_name": "Gerudo Training Grounds Lobby",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds Lobby Left Chest": "can_use(Bow) or can_use(Slingshot)",
"Gerudo Training Grounds Lobby Right Chest": "can_use(Bow) or can_use(Slingshot)",
"Gerudo Training Grounds Stalfos Chest": "is_adult or Kokiri_Sword",
"Gerudo Training Grounds Beamos Chest": "has_explosives and (is_adult or Kokiri_Sword)",
"Wall Fairy": "has_bottle and can_use(Bow)" #in the Beamos room shoot the Gerudo symbol above the door to the lava room.
},
"exits": {
"Gerudo Fortress": "True",
"Gerudo Training Grounds Heavy Block Room": "
(is_adult or Kokiri_Sword) and
(can_use(Hookshot) or logic_gtg_without_hookshot)",
"Gerudo Training Grounds Lava Room": "
here(has_explosives and (is_adult or Kokiri_Sword))",
"Gerudo Training Grounds Central Maze": "True"
}
},
{
"region_name": "Gerudo Training Grounds Central Maze",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds Hidden Ceiling Chest": "(Small_Key_Gerudo_Training_Grounds, 3) and (logic_lens_gtg or can_use(Lens_of_Truth))",
"Gerudo Training Grounds Maze Path First Chest": "(Small_Key_Gerudo_Training_Grounds, 4)",
"Gerudo Training Grounds Maze Path Second Chest": "(Small_Key_Gerudo_Training_Grounds, 6)",
"Gerudo Training Grounds Maze Path Third Chest": "(Small_Key_Gerudo_Training_Grounds, 7)",
"Gerudo Training Grounds Maze Path Final Chest": "(Small_Key_Gerudo_Training_Grounds, 9)"
},
"exits": {
"Gerudo Training Grounds Central Maze Right": "(Small_Key_Gerudo_Training_Grounds, 9)"
}
},
{
"region_name": "Gerudo Training Grounds Central Maze Right",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds Maze Right Central Chest": "True",
"Gerudo Training Grounds Maze Right Side Chest": "True",
"Gerudo Training Grounds Freestanding Key": "True"
},
"exits": {
"Gerudo Training Grounds Hammer Room": "can_use(Hookshot)",
"Gerudo Training Grounds Lava Room": "True"
}
},
{
"region_name": "Gerudo Training Grounds Lava Room",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds Underwater Silver Rupee Chest": "
can_use(Hookshot) and can_play(Song_of_Time) and Iron_Boots and
(logic_fewer_tunic_requirements or can_use(Zora_Tunic))"
},
"exits": {
"Gerudo Training Grounds Central Maze Right": "can_play(Song_of_Time) or is_child",
"Gerudo Training Grounds Hammer Room": "
can_use(Longshot) or (can_use(Hookshot) and can_use(Hover_Boots))"
}
},
{
"region_name": "Gerudo Training Grounds Hammer Room",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds Hammer Room Clear Chest": "True",
"Gerudo Training Grounds Hammer Room Switch Chest": "can_use(Megaton_Hammer)"
},
"exits": {
"Gerudo Training Grounds Eye Statue Lower": "can_use(Megaton_Hammer) and Bow",
"Gerudo Training Grounds Lava Room": "True"
}
},
{
"region_name": "Gerudo Training Grounds Eye Statue Lower",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds Eye Statue Chest": "can_use(Bow)"
},
"exits": {
"Gerudo Training Grounds Hammer Room": "True"
}
},
{
"region_name": "Gerudo Training Grounds Eye Statue Upper",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds Near Scarecrow Chest": "can_use(Bow)"
},
"exits": {
"Gerudo Training Grounds Eye Statue Lower": "True"
}
},
{
"region_name": "Gerudo Training Grounds Heavy Block Room",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds Before Heavy Block Chest": "True"
},
"exits": {
"Gerudo Training Grounds Eye Statue Upper": "
(logic_lens_gtg or can_use(Lens_of_Truth)) and
(can_use(Hookshot) or (logic_gtg_fake_wall and can_use(Hover_Boots)))",
"Gerudo Training Grounds Like Like Room": "
can_use(Silver_Gauntlets) and (logic_lens_gtg or can_use(Lens_of_Truth)) and
(can_use(Hookshot) or (logic_gtg_fake_wall and can_use(Hover_Boots)))"
}
},
{
"region_name": "Gerudo Training Grounds Like Like Room",
"dungeon": "Gerudo Training Grounds",
"locations": {
"Gerudo Training Grounds Heavy Block First Chest": "True",
"Gerudo Training Grounds Heavy Block Second Chest": "True",
"Gerudo Training Grounds Heavy Block Third Chest": "True",
"Gerudo Training Grounds Heavy Block Fourth Chest": "True"
}
}
]

View File

@ -589,14 +589,14 @@
Gerudo_Membership_Card and can_ride_epona and Bow and at_day",
"GF HBA 1500 Points": "
Gerudo_Membership_Card and can_ride_epona and Bow and at_day",
"GF North F1 Carpenter": "is_adult or Kokiri_Sword",
"GF North F2 Carpenter": "
"Hideout Jail Guard (1 Torch)": "is_adult or Kokiri_Sword",
"Hideout Jail Guard (2 Torches)": "is_adult or Kokiri_Sword",
"Hideout Jail Guard (3 Torches)": "
(is_adult or Kokiri_Sword) and
(Gerudo_Membership_Card or can_use(Bow) or can_use(Hookshot)
or can_use(Hover_Boots) or logic_gerudo_kitchen)",
"GF South F1 Carpenter": "is_adult or Kokiri_Sword",
"GF South F2 Carpenter": "is_adult or Kokiri_Sword",
"GF Gerudo Membership Card": "can_finish_GerudoFortress",
"Hideout Jail Guard (4 Torches)": "is_adult or Kokiri_Sword",
"Hideout Gerudo Membership Card": "can_finish_GerudoFortress",
"GF GS Archery Range": "
can_use(Hookshot) and Gerudo_Membership_Card and at_night",
"GF GS Top Floor": "
@ -607,7 +607,7 @@
"exits": {
"GV Fortress Side": "True",
"GF Outside Gate": "'GF Gate Open'",
"Gerudo Training Grounds Lobby": "Gerudo_Membership_Card and is_adult",
"Gerudo Training Ground Lobby": "Gerudo_Membership_Card and is_adult",
"GF Storms Grotto": "is_adult and can_open_storm_grotto" # Not there as child
}
},
@ -1290,7 +1290,7 @@
},
"exits": {
"Graveyard Shield Grave": "is_adult or at_night",
"Graveyard Composers Grave": "can_play(Zeldas_Lullaby)",
"Graveyard Royal Familys Tomb": "can_play(Zeldas_Lullaby)",
"Graveyard Heart Piece Grave": "is_adult or at_night",
"Graveyard Dampes Grave": "is_adult",
"Graveyard Dampes House": "is_adult or at_dampe_time",
@ -1321,12 +1321,12 @@
}
},
{
"region_name": "Graveyard Composers Grave",
"pretty_name": "the Composers' Grave",
"scene": "Graveyard Composers Grave",
"region_name": "Graveyard Royal Familys Tomb",
"pretty_name": "the Royal Family's Tomb",
"scene": "Graveyard Royal Familys Tomb",
"locations": {
"Graveyard Composers Grave Chest": "has_fire_source",
"Song from Composers Grave": "
"Graveyard Royal Familys Tomb Chest": "has_fire_source",
"Song from Royal Familys Tomb": "
is_adult or
(Slingshot or Boomerang or Sticks or
has_explosives or Kokiri_Sword)"