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:
parent
f476747ade
commit
c801cdbb3b
|
@ -87,8 +87,8 @@ dungeon_table = [
|
||||||
'dungeon_item': 1,
|
'dungeon_item': 1,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'name': 'Gerudo Training Grounds',
|
'name': 'Gerudo Training Ground',
|
||||||
'hint': 'the Gerudo Training Grounds',
|
'hint': 'the Gerudo Training Ground',
|
||||||
'font_color': 'Yellow',
|
'font_color': 'Yellow',
|
||||||
'boss_key': 0,
|
'boss_key': 0,
|
||||||
'small_key': 9,
|
'small_key': 9,
|
||||||
|
|
|
@ -93,8 +93,8 @@ entrance_shuffle_table = [
|
||||||
('Bottom of the Well -> Kakariko Village', { 'index': 0x02A6 })),
|
('Bottom of the Well -> Kakariko Village', { 'index': 0x02A6 })),
|
||||||
('Dungeon', ('ZF Ice Ledge -> Ice Cavern Beginning', { 'index': 0x0088 }),
|
('Dungeon', ('ZF Ice Ledge -> Ice Cavern Beginning', { 'index': 0x0088 }),
|
||||||
('Ice Cavern Beginning -> ZF Ice Ledge', { 'index': 0x03D4 })),
|
('Ice Cavern Beginning -> ZF Ice Ledge', { 'index': 0x03D4 })),
|
||||||
('Dungeon', ('Gerudo Fortress -> Gerudo Training Grounds Lobby', { 'index': 0x0008 }),
|
('Dungeon', ('Gerudo Fortress -> Gerudo Training Ground Lobby', { 'index': 0x0008 }),
|
||||||
('Gerudo Training Grounds Lobby -> Gerudo Fortress', { 'index': 0x03A8 })),
|
('Gerudo Training Ground Lobby -> Gerudo Fortress', { 'index': 0x03A8 })),
|
||||||
|
|
||||||
('Interior', ('Kokiri Forest -> KF Midos House', { 'index': 0x0433 }),
|
('Interior', ('Kokiri Forest -> KF Midos House', { 'index': 0x0433 }),
|
||||||
('KF Midos House -> Kokiri Forest', { 'index': 0x0443 })),
|
('KF Midos House -> Kokiri Forest', { 'index': 0x0443 })),
|
||||||
|
@ -251,8 +251,8 @@ entrance_shuffle_table = [
|
||||||
('Graveyard Shield Grave -> Graveyard', { 'index': 0x035D })),
|
('Graveyard Shield Grave -> Graveyard', { 'index': 0x035D })),
|
||||||
('Grave', ('Graveyard -> Graveyard Heart Piece Grave', { 'index': 0x031C }),
|
('Grave', ('Graveyard -> Graveyard Heart Piece Grave', { 'index': 0x031C }),
|
||||||
('Graveyard Heart Piece Grave -> Graveyard', { 'index': 0x0361 })),
|
('Graveyard Heart Piece Grave -> Graveyard', { 'index': 0x0361 })),
|
||||||
('Grave', ('Graveyard -> Graveyard Composers Grave', { 'index': 0x002D }),
|
('Grave', ('Graveyard -> Graveyard Royal Familys Tomb', { 'index': 0x002D }),
|
||||||
('Graveyard Composers Grave -> Graveyard', { 'index': 0x050B })),
|
('Graveyard Royal Familys Tomb -> Graveyard', { 'index': 0x050B })),
|
||||||
('Grave', ('Graveyard -> Graveyard Dampes Grave', { 'index': 0x044F }),
|
('Grave', ('Graveyard -> Graveyard Dampes Grave', { 'index': 0x044F }),
|
||||||
('Graveyard Dampes Grave -> Graveyard', { 'index': 0x0359 })),
|
('Graveyard Dampes Grave -> Graveyard', { 'index': 0x0359 })),
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@ from BaseClasses import LocationProgressType
|
||||||
# DMC Death Mountain Crater
|
# DMC Death Mountain Crater
|
||||||
# DMT Death Mountain Trail
|
# DMT Death Mountain Trail
|
||||||
# GC Goron City
|
# GC Goron City
|
||||||
# GF Gerudo Fortress
|
# GF Gerudo's Fortress
|
||||||
# GS Gold Skulltula
|
# GS Gold Skulltula
|
||||||
# GV Gerudo Valley
|
# GV Gerudo Valley
|
||||||
# HC Hyrule Castle
|
# HC Hyrule Castle
|
||||||
|
@ -17,6 +17,7 @@ from BaseClasses import LocationProgressType
|
||||||
# LW Lost Woods
|
# LW Lost Woods
|
||||||
# OGC Outside Ganon's Castle
|
# OGC Outside Ganon's Castle
|
||||||
# SFM Sacred Forest Meadow
|
# SFM Sacred Forest Meadow
|
||||||
|
# TH Thieves' Hideout
|
||||||
# ZD Zora's Domain
|
# ZD Zora's Domain
|
||||||
# ZF Zora's Fountain
|
# ZF Zora's Fountain
|
||||||
# ZR Zora's River
|
# ZR Zora's River
|
||||||
|
@ -247,7 +248,7 @@ hintTable = {
|
||||||
'BossKey': (["a master of unlocking", "a dungeon's master pass"], "a Boss Key", 'item'),
|
'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'),
|
'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'),
|
'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'),
|
'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 (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'),
|
'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'),
|
'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 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 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 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']),
|
'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']),
|
'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 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']),
|
'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']),
|
'ZF Bottom Freestanding PoH': ("#under the icy waters# lies", None, ['overworld', 'sometimes']),
|
||||||
'GC Pot Freestanding PoH': ("spinning #Goron pottery# contains", 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']),
|
'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 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 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']),
|
'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 Ground 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 Ground 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 Ground 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 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 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']),
|
'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']),
|
'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'),
|
'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'),
|
'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'),
|
'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'),
|
'Wasteland Bombchu Salesman': ("a #carpet guru# sells", None, 'exclude'),
|
||||||
|
|
||||||
'Kak Impas House Freestanding PoH': ("#imprisoned in a house# lies", 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'),
|
'DMT Freestanding PoH': ("above a #mountain cavern entrance# is", None, 'exclude'),
|
||||||
'DMC Wall Freestanding PoH': ("nestled in a #volcanic wall# 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'),
|
'DMC Volcano Freestanding PoH': ("obscured by #volcanic ash# is", None, 'exclude'),
|
||||||
'GF North F1 Carpenter': ("#defeating Gerudo guards# reveals", None, 'exclude'),
|
'Hideout Jail Guard (1 Torch)': ("#defeating Gerudo guards# reveals", None, 'exclude'),
|
||||||
'GF North F2 Carpenter': ("#defeating Gerudo guards# reveals", None, 'exclude'),
|
'Hideout Jail Guard (2 Torches)': ("#defeating Gerudo guards# reveals", None, 'exclude'),
|
||||||
'GF South F1 Carpenter': ("#defeating Gerudo guards# reveals", None, 'exclude'),
|
'Hideout Jail Guard (3 Torches)': ("#defeating Gerudo guards# reveals", None, 'exclude'),
|
||||||
'GF South F2 Carpenter': ("#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 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'),
|
'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 Map Chest': ("a #wall of ice# protects", None, 'exclude'),
|
||||||
'Ice Cavern MQ Freestanding PoH': ("#winds of ice# surround", 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 Ground Lobby Left Chest': ("a #blinded eye in the Gerudo Training Ground# drops", None, 'exclude'),
|
||||||
'Gerudo Training Grounds Lobby Right Chest': ("a #blinded eye in the Gerudo Training Grounds# drops", None, 'exclude'),
|
'Gerudo Training Ground Lobby Right Chest': ("a #blinded eye in the Gerudo Training Ground# drops", None, 'exclude'),
|
||||||
'Gerudo Training Grounds Stalfos Chest': ("#soldiers walking on shifting sands# in the Gerudo Training Grounds guard", None, 'exclude'),
|
'Gerudo Training Ground Stalfos Chest': ("#soldiers walking on shifting sands# in the Gerudo Training Ground guard", None, 'exclude'),
|
||||||
'Gerudo Training Grounds Beamos Chest': ("#reptilian warriors# in the Gerudo Training Grounds protect", None, 'exclude'),
|
'Gerudo Training Ground Beamos Chest': ("#reptilian warriors# in the Gerudo Training Ground protect", None, 'exclude'),
|
||||||
'Gerudo Training Grounds Hidden Ceiling Chest': ("the #Eye of Truth# in the Gerudo Training Grounds reveals", None, 'exclude'),
|
'Gerudo Training Ground Hidden Ceiling Chest': ("the #Eye of Truth# in the Gerudo Training Ground reveals", None, 'exclude'),
|
||||||
'Gerudo Training Grounds Maze Path First Chest': ("the first prize of #the thieves' training# is", None, 'exclude'),
|
'Gerudo Training Ground 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 Ground 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 Ground 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 Ground Maze Right Central Chest': ("the #Song of Time# in the Gerudo Training Ground 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 Ground Maze Right Side Chest': ("the #Song of Time# in the Gerudo Training Ground leads to", None, 'exclude'),
|
||||||
'Gerudo Training Grounds Hammer Room Clear Chest': ("#fiery foes# in the Gerudo Training Grounds guard", None, 'exclude'),
|
'Gerudo Training Ground Hammer Room Clear Chest': ("#fiery foes# in the Gerudo Training Ground guard", None, 'exclude'),
|
||||||
'Gerudo Training Grounds Hammer Room Switch Chest': ("#engulfed in flame# where thieves train lies", None, 'exclude'),
|
'Gerudo Training Ground 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 Ground 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 Ground 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 Ground 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 Ground 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 Ground 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 Ground 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 Ground 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 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 Ground 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 Ground 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 Ground MQ First Iron Knuckle Chest': ("#soldiers walking on shifting sands# in the Gerudo Training Ground guard", None, 'exclude'),
|
||||||
'Gerudo Training Grounds MQ Before Heavy Block Chest': ("#before a block of silver# thieves can find", None, 'exclude'),
|
'Gerudo Training Ground 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 Ground 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 Ground 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 Ground MQ Second Iron Knuckle Chest': ("#fiery foes# in the Gerudo Training Ground guard", None, 'exclude'),
|
||||||
'Gerudo Training Grounds MQ Dinolfos Chest': ("#reptilian warriors# in the Gerudo Training Grounds protect", None, 'exclude'),
|
'Gerudo Training Ground MQ Dinolfos Chest': ("#reptilian warriors# in the Gerudo Training Ground protect", None, 'exclude'),
|
||||||
'Gerudo Training Grounds MQ Maze Right Central Chest': ("a #path of fire# leads thieves to", None, 'exclude'),
|
'Gerudo Training Ground 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 Ground 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 Ground 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 Ground 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 Ground 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 Ground MQ Hidden Ceiling Chest': ("the #Eye of Truth# in the Gerudo Training Ground reveals", None, 'exclude'),
|
||||||
'Gerudo Training Grounds MQ Heavy Block Chest': ("a #feat of strength# rewards thieves with", 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'),
|
'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'),
|
'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'),
|
'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'),
|
'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'),
|
'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'),
|
'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'),
|
'ZF Great Fairy Fountain': ("a #Great Fairy Fountain#", None, 'region'),
|
||||||
'Graveyard Shield Grave': ("a #grave with a free chest#", 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 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'),
|
'Graveyard Dampes Grave': ("Dampé's Grave", None, 'region'),
|
||||||
'DMT Cow Grotto': ("a solitary #Cow#", None, 'region'),
|
'DMT Cow Grotto': ("a solitary #Cow#", None, 'region'),
|
||||||
'HC Storms Grotto': ("a sandy grotto with #fragile walls#", 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'),
|
'Spirit Temple': ("the goddess of the sand", "Spirit Temple", 'dungeonName'),
|
||||||
'Ice Cavern': ("a frozen maze", "Ice Cavern", 'dungeonName'),
|
'Ice Cavern': ("a frozen maze", "Ice Cavern", 'dungeonName'),
|
||||||
'Bottom of the Well': ("a shadow\'s prison", "Bottom of the Well", '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'),
|
'Ganons Castle': ("a conquered citadel", "Inside Ganon's Castle", 'dungeonName'),
|
||||||
|
|
||||||
'Queen Gohma': ("One inside an #ancient tree#...", "One in the #Deku Tree#...", 'boss'),
|
'Queen Gohma': ("One inside an #ancient tree#...", "One in the #Deku Tree#...", 'boss'),
|
||||||
|
|
|
@ -570,15 +570,15 @@ vanillaSK = {
|
||||||
'Forest Temple Well Chest': 'Small Key (Forest Temple)',
|
'Forest Temple Well Chest': 'Small Key (Forest Temple)',
|
||||||
'Ganons Castle Light Trial Invisible Enemies Chest': 'Small Key (Ganons Castle)',
|
'Ganons Castle Light Trial Invisible Enemies Chest': 'Small Key (Ganons Castle)',
|
||||||
'Ganons Castle Light Trial Lullaby 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 Ground Beamos Chest': 'Small Key (Gerudo Training Ground)',
|
||||||
'Gerudo Training Grounds Eye Statue Chest': 'Small Key (Gerudo Training Grounds)',
|
'Gerudo Training Ground Eye Statue Chest': 'Small Key (Gerudo Training Ground)',
|
||||||
'Gerudo Training Grounds Hammer Room Switch Chest': 'Small Key (Gerudo Training Grounds)',
|
'Gerudo Training Ground Hammer Room Switch Chest': 'Small Key (Gerudo Training Ground)',
|
||||||
'Gerudo Training Grounds Heavy Block Third Chest': 'Small Key (Gerudo Training Grounds)',
|
'Gerudo Training Ground Heavy Block Third Chest': 'Small Key (Gerudo Training Ground)',
|
||||||
'Gerudo Training Grounds Hidden Ceiling Chest': 'Small Key (Gerudo Training Grounds)',
|
'Gerudo Training Ground Hidden Ceiling Chest': 'Small Key (Gerudo Training Ground)',
|
||||||
'Gerudo Training Grounds Near Scarecrow Chest': 'Small Key (Gerudo Training Grounds)',
|
'Gerudo Training Ground Near Scarecrow Chest': 'Small Key (Gerudo Training Ground)',
|
||||||
'Gerudo Training Grounds Stalfos Chest': 'Small Key (Gerudo Training Grounds)',
|
'Gerudo Training Ground Stalfos Chest': 'Small Key (Gerudo Training Ground)',
|
||||||
'Gerudo Training Grounds Underwater Silver Rupee Chest': 'Small Key (Gerudo Training Grounds)',
|
'Gerudo Training Ground Underwater Silver Rupee Chest': 'Small Key (Gerudo Training Ground)',
|
||||||
'Gerudo Training Grounds Freestanding Key': 'Small Key (Gerudo Training Grounds)',
|
'Gerudo Training Ground Freestanding Key': 'Small Key (Gerudo Training Ground)',
|
||||||
'Shadow Temple After Wind Hidden Chest': 'Small Key (Shadow Temple)',
|
'Shadow Temple After Wind Hidden Chest': 'Small Key (Shadow Temple)',
|
||||||
'Shadow Temple Early Silver Rupee 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)',
|
'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 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 Spirit Trial Sun Back Left Chest': 'Small Key (Ganons Castle)',
|
||||||
'Ganons Castle MQ Forest Trial Freestanding Key': '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 Ground MQ Dinolfos Chest': 'Small Key (Gerudo Training Ground)',
|
||||||
'Gerudo Training Grounds MQ Flame Circle Chest': 'Small Key (Gerudo Training Grounds)',
|
'Gerudo Training Ground MQ Flame Circle Chest': 'Small Key (Gerudo Training Ground)',
|
||||||
'Gerudo Training Grounds MQ Underwater Silver Rupee Chest': 'Small Key (Gerudo Training Grounds)',
|
'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 Falling Spikes Switch Chest': 'Small Key (Shadow Temple)',
|
||||||
'Shadow Temple MQ Invisible Blades Invisible 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)',
|
'Shadow Temple MQ Early Gibdos Chest': 'Small Key (Shadow Temple)',
|
||||||
|
@ -1031,7 +1031,7 @@ def get_pool_core(world):
|
||||||
pool.extend(['Bombchus'] * 2)
|
pool.extend(['Bombchus'] * 2)
|
||||||
if not world.dungeon_mq['Bottom of the Well']:
|
if not world.dungeon_mq['Bottom of the Well']:
|
||||||
pool.extend(['Bombchus'])
|
pool.extend(['Bombchus'])
|
||||||
if world.dungeon_mq['Gerudo Training Grounds']:
|
if world.dungeon_mq['Gerudo Training Ground']:
|
||||||
pool.extend(['Bombchus'])
|
pool.extend(['Bombchus'])
|
||||||
if world.shuffle_medigoron_carpet_salesman:
|
if world.shuffle_medigoron_carpet_salesman:
|
||||||
pool.append('Bombchus')
|
pool.append('Bombchus')
|
||||||
|
@ -1044,7 +1044,7 @@ def get_pool_core(world):
|
||||||
pool.extend(['Bombchus (10)'] * 2)
|
pool.extend(['Bombchus (10)'] * 2)
|
||||||
if not world.dungeon_mq['Bottom of the Well']:
|
if not world.dungeon_mq['Bottom of the Well']:
|
||||||
pool.extend(['Bombchus (10)'])
|
pool.extend(['Bombchus (10)'])
|
||||||
if world.dungeon_mq['Gerudo Training Grounds']:
|
if world.dungeon_mq['Gerudo Training Ground']:
|
||||||
pool.extend(['Bombchus (10)'])
|
pool.extend(['Bombchus (10)'])
|
||||||
if world.dungeon_mq['Ganons Castle']:
|
if world.dungeon_mq['Ganons Castle']:
|
||||||
pool.extend(['Bombchus (10)'])
|
pool.extend(['Bombchus (10)'])
|
||||||
|
@ -1058,49 +1058,49 @@ def get_pool_core(world):
|
||||||
skip_in_spoiler_locations.append('Wasteland Bombchu Salesman')
|
skip_in_spoiler_locations.append('Wasteland Bombchu Salesman')
|
||||||
|
|
||||||
pool.extend(['Ice Trap'])
|
pool.extend(['Ice Trap'])
|
||||||
if not world.dungeon_mq['Gerudo Training Grounds']:
|
if not world.dungeon_mq['Gerudo Training Ground']:
|
||||||
pool.extend(['Ice Trap'])
|
pool.extend(['Ice Trap'])
|
||||||
if not world.dungeon_mq['Ganons Castle']:
|
if not world.dungeon_mq['Ganons Castle']:
|
||||||
pool.extend(['Ice Trap'] * 4)
|
pool.extend(['Ice Trap'] * 4)
|
||||||
|
|
||||||
if world.gerudo_fortress == 'open':
|
if world.gerudo_fortress == 'open':
|
||||||
placed_items['GF North F1 Carpenter'] = 'Recovery Heart'
|
placed_items['Hideout Jail Guard (1 Torch)'] = 'Recovery Heart'
|
||||||
placed_items['GF North F2 Carpenter'] = 'Recovery Heart'
|
placed_items['Hideout Jail Guard (2 Torches)'] = 'Recovery Heart'
|
||||||
placed_items['GF South F1 Carpenter'] = 'Recovery Heart'
|
placed_items['Hideout Jail Guard (3 Torches)'] = 'Recovery Heart'
|
||||||
placed_items['GF South F2 Carpenter'] = 'Recovery Heart'
|
placed_items['Hideout Jail Guard (4 Torches)'] = 'Recovery Heart'
|
||||||
skip_in_spoiler_locations.extend(['GF North F1 Carpenter', 'GF North F2 Carpenter', 'GF South F1 Carpenter', 'GF South F2 Carpenter'])
|
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']:
|
elif world.shuffle_fortresskeys in ['any_dungeon', 'overworld', 'keysanity']:
|
||||||
if world.gerudo_fortress == 'fast':
|
if world.gerudo_fortress == 'fast':
|
||||||
pool.append('Small Key (Gerudo Fortress)')
|
pool.append('Small Key (Thieves Hideout)')
|
||||||
placed_items['GF North F2 Carpenter'] = 'Recovery Heart'
|
placed_items['Hideout Jail Guard (2 Torches)'] = 'Recovery Heart'
|
||||||
placed_items['GF South F1 Carpenter'] = 'Recovery Heart'
|
placed_items['Hideout Jail Guard (3 Torches)'] = 'Recovery Heart'
|
||||||
placed_items['GF South F2 Carpenter'] = 'Recovery Heart'
|
placed_items['Hideout Jail Guard (4 Torches)'] = 'Recovery Heart'
|
||||||
skip_in_spoiler_locations.extend(['GF North F2 Carpenter', 'GF South F1 Carpenter', 'GF South F2 Carpenter'])
|
skip_in_spoiler_locations.extend(['Hideout Jail Guard (2 Torches)', 'Hideout Jail Guard (3 Torches)', 'Hideout Jail Guard (4 Torches)'])
|
||||||
else:
|
else:
|
||||||
pool.extend(['Small Key (Gerudo Fortress)'] * 4)
|
pool.extend(['Small Key (Thieves Hideout)'] * 4)
|
||||||
if world.item_pool_value == 'plentiful':
|
if world.item_pool_value == 'plentiful':
|
||||||
pending_junk_pool.append('Small Key (Gerudo Fortress)')
|
pending_junk_pool.append('Small Key (Thieves Hideout)')
|
||||||
else:
|
else:
|
||||||
if world.gerudo_fortress == 'fast':
|
if world.gerudo_fortress == 'fast':
|
||||||
placed_items['GF North F1 Carpenter'] = 'Small Key (Gerudo Fortress)'
|
placed_items['Hideout Jail Guard (1 Torch)'] = 'Small Key (Thieves Hideout)'
|
||||||
placed_items['GF North F2 Carpenter'] = 'Recovery Heart'
|
placed_items['Hideout Jail Guard (2 Torches)'] = 'Recovery Heart'
|
||||||
placed_items['GF South F1 Carpenter'] = 'Recovery Heart'
|
placed_items['Hideout Jail Guard (3 Torches)'] = 'Recovery Heart'
|
||||||
placed_items['GF South F2 Carpenter'] = 'Recovery Heart'
|
placed_items['Hideout Jail Guard (4 Torches)'] = 'Recovery Heart'
|
||||||
skip_in_spoiler_locations.extend(['GF North F2 Carpenter', 'GF South F1 Carpenter', 'GF South F2 Carpenter'])
|
skip_in_spoiler_locations.extend(['Hideout Jail Guard (2 Torches)', 'Hideout Jail Guard (3 Torches)', 'Hideout Jail Guard (4 Torches)'])
|
||||||
else:
|
else:
|
||||||
placed_items['GF North F1 Carpenter'] = 'Small Key (Gerudo Fortress)'
|
placed_items['Hideout Jail Guard (1 Torch)'] = 'Small Key (Gerudo Fortress)'
|
||||||
placed_items['GF North F2 Carpenter'] = 'Small Key (Gerudo Fortress)'
|
placed_items['Hideout Jail Guard (2 Torches)'] = 'Small Key (Gerudo Fortress)'
|
||||||
placed_items['GF South F1 Carpenter'] = 'Small Key (Gerudo Fortress)'
|
placed_items['Hideout Jail Guard (3 Torches)'] = 'Small Key (Gerudo Fortress)'
|
||||||
placed_items['GF South F2 Carpenter'] = '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':
|
if world.shuffle_gerudo_card and world.gerudo_fortress != 'open':
|
||||||
pool.append('Gerudo Membership Card')
|
pool.append('Gerudo Membership Card')
|
||||||
elif world.shuffle_gerudo_card:
|
elif world.shuffle_gerudo_card:
|
||||||
pending_junk_pool.append('Gerudo Membership Card')
|
pending_junk_pool.append('Gerudo Membership Card')
|
||||||
placed_items['GF Gerudo Membership Card'] = 'Ice Trap'
|
placed_items['Hideout Gerudo Membership Card'] = 'Ice Trap'
|
||||||
skip_in_spoiler_locations.append('GF Gerudo Membership Card')
|
skip_in_spoiler_locations.append('Hideout Gerudo Membership Card')
|
||||||
else:
|
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':
|
if world.shuffle_gerudo_card and world.item_pool_value == 'plentiful':
|
||||||
pending_junk_pool.append('Gerudo Membership Card')
|
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 (Water Temple)')
|
||||||
pending_junk_pool.append('Small Key (Shadow Temple)')
|
pending_junk_pool.append('Small Key (Shadow Temple)')
|
||||||
pending_junk_pool.append('Small Key (Spirit 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)')
|
pending_junk_pool.append('Small Key (Ganons Castle)')
|
||||||
|
|
||||||
if world.item_pool_value == 'plentiful' and world.shuffle_bosskeys in ['any_dungeon', 'overworld', 'keysanity']:
|
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)
|
pool.extend(ShT_vanilla)
|
||||||
if not world.dungeon_mq['Bottom of the Well']:
|
if not world.dungeon_mq['Bottom of the Well']:
|
||||||
pool.extend(BW_vanilla)
|
pool.extend(BW_vanilla)
|
||||||
if world.dungeon_mq['Gerudo Training Grounds']:
|
if world.dungeon_mq['Gerudo Training Ground']:
|
||||||
pool.extend(GTG_MQ)
|
pool.extend(GTG_MQ)
|
||||||
else:
|
else:
|
||||||
pool.extend(GTG_vanilla)
|
pool.extend(GTG_vanilla)
|
||||||
|
|
|
@ -6,7 +6,7 @@ def oot_data_to_ap_id(data, event):
|
||||||
if event or data[2] is None or data[0] == 'Shop':
|
if event or data[2] is None or data[0] == 'Shop':
|
||||||
return None
|
return None
|
||||||
offset = 66000
|
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]
|
return offset + data[2]
|
||||||
else:
|
else:
|
||||||
raise Exception(f'Unexpected OOT item type found: {data[0]}')
|
raise Exception(f'Unexpected OOT item type found: {data[0]}')
|
||||||
|
@ -53,7 +53,7 @@ class OOTItem(Item):
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def dungeonitem(self) -> bool:
|
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 (Spirit Temple)': ('SmallKey', True, 0xB2, {'progressive': float('Inf')}),
|
||||||
'Small Key (Shadow Temple)': ('SmallKey', True, 0xB3, {'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 (Bottom of the Well)': ('SmallKey', True, 0xB4, {'progressive': float('Inf')}),
|
||||||
'Small Key (Gerudo Training Grounds)': ('SmallKey',True, 0xB5, {'progressive': float('Inf')}),
|
'Small Key (Gerudo Training Ground)': ('SmallKey',True, 0xB5, {'progressive': float('Inf')}),
|
||||||
'Small Key (Gerudo Fortress)': ('FortressSmallKey',True, 0xB6, {'progressive': float('Inf')}),
|
'Small Key (Thieves Hideout)': ('HideoutSmallKey',True, 0xB6, {'progressive': float('Inf')}),
|
||||||
'Small Key (Ganons Castle)': ('SmallKey', True, 0xB7, {'progressive': float('Inf')}),
|
'Small Key (Ganons Castle)': ('SmallKey', True, 0xB7, {'progressive': float('Inf')}),
|
||||||
'Double Defense': ('Item', True, 0xB8, None),
|
'Double Defense': ('Item', True, 0xB8, None),
|
||||||
'Magic Bean Pack': ('Item', True, 0xC9, None),
|
'Magic Bean Pack': ('Item', True, 0xC9, None),
|
||||||
|
|
|
@ -19,6 +19,7 @@ def shop_address(shop_id, shelf_id):
|
||||||
# LW Lost Woods
|
# LW Lost Woods
|
||||||
# OGC Outside Ganon's Castle
|
# OGC Outside Ganon's Castle
|
||||||
# SFM Sacred Forest Meadow
|
# SFM Sacred Forest Meadow
|
||||||
|
# TH Thieves' Hideout
|
||||||
# ToT Temple of Time
|
# ToT Temple of Time
|
||||||
# ZD Zora's Domain
|
# ZD Zora's Domain
|
||||||
# ZF Zora's Fountain
|
# 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 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 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 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 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"))),
|
("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"))),
|
("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 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 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 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 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 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",))),
|
("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"))),
|
("HC GS Storms Grotto", ("GS Token", 0x0E, 0x02, None, 'Gold Skulltula Token', ("Hyrule Castle", "Skulltulas", "Grottos"))),
|
||||||
|
|
||||||
# Lon Lon Ranch
|
# 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 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 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"))),
|
("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
|
||||||
("Graveyard Shield Grave Chest", ("Chest", 0x40, 0x00, None, 'Hylian Shield', ("the Graveyard", "Kakariko",))),
|
("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 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 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 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",))),
|
("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",))),
|
("GV GS Pillar", ("GS Token", 0x13, 0x04, None, 'Gold Skulltula Token', ("Gerudo Valley", "Skulltulas",))),
|
||||||
|
|
||||||
# Gerudo's Fortress
|
# 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 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 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 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 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",))),
|
("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
|
||||||
("Wasteland Bombchu Salesman", ("NPC", 0x5E, 0x03, None, 'Bombchus (10)', ("Haunted Wasteland",))),
|
("Wasteland Bombchu Salesman", ("NPC", 0x5E, 0x03, None, 'Bombchus (10)', ("Haunted Wasteland",))),
|
||||||
("Wasteland Chest", ("Chest", 0x5E, 0x00, None, 'Rupees (50)', ("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",))),
|
("Colossus GS Hill", ("GS Token", 0x15, 0x04, None, 'Gold Skulltula Token', ("Desert Colossus", "Skulltulas",))),
|
||||||
|
|
||||||
# Outside Ganon's Castle
|
# Outside Ganon's Castle
|
||||||
("OGC Great Fairy Reward", ("Cutscene", 0xFF, 0x15, None, 'Double Defense', ("outside Ganon's Castle", "Market", "Fairies"))),
|
("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 GS", ("GS Token", 0x0E, 0x01, None, 'Gold Skulltula Token', ("Outside Ganon's Castle", "Skulltulas",))),
|
||||||
|
|
||||||
## Dungeons
|
## Dungeons
|
||||||
# Deku Tree vanilla
|
# 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 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",))),
|
("Ice Cavern MQ GS Scarecrow", ("GS Token", 0x09, 0x01, None, 'Gold Skulltula Token', ("Ice Cavern", "Master Quest", "Skulltulas",))),
|
||||||
|
|
||||||
# Gerudo Training Grounds vanilla
|
# Gerudo Training Ground vanilla
|
||||||
("Gerudo Training Grounds Lobby Left Chest", ("Chest", 0x0B, 0x13, None, 'Rupees (5)', ("Gerudo Training Grounds", "Vanilla",))),
|
("Gerudo Training Ground Lobby Left Chest", ("Chest", 0x0B, 0x13, None, 'Rupees (5)', ("Gerudo Training Ground", "Vanilla",))),
|
||||||
("Gerudo Training Grounds Lobby Right Chest", ("Chest", 0x0B, 0x07, None, 'Arrows (10)', ("Gerudo Training Grounds", "Vanilla",))),
|
("Gerudo Training Ground Lobby Right Chest", ("Chest", 0x0B, 0x07, None, 'Arrows (10)', ("Gerudo Training Ground", "Vanilla",))),
|
||||||
("Gerudo Training Grounds Stalfos Chest", ("Chest", 0x0B, 0x00, None, 'Small Key (Gerudo Training Grounds)', ("Gerudo Training Grounds", "Vanilla",))),
|
("Gerudo Training Ground Stalfos Chest", ("Chest", 0x0B, 0x00, None, 'Small Key (Gerudo Training Ground)', ("Gerudo Training Ground", "Vanilla",))),
|
||||||
("Gerudo Training Grounds Before Heavy Block Chest", ("Chest", 0x0B, 0x11, None, 'Arrows (30)', ("Gerudo Training Grounds", "Vanilla",))),
|
("Gerudo Training Ground Before Heavy Block Chest", ("Chest", 0x0B, 0x11, None, 'Arrows (30)', ("Gerudo Training Ground", "Vanilla",))),
|
||||||
("Gerudo Training Grounds Heavy Block First Chest", ("Chest", 0x0B, 0x0F, None, 'Rupees (200)', ("Gerudo Training Grounds", "Vanilla",))),
|
("Gerudo Training Ground Heavy Block First Chest", ("Chest", 0x0B, 0x0F, None, 'Rupees (200)', ("Gerudo Training Ground", "Vanilla",))),
|
||||||
("Gerudo Training Grounds Heavy Block Second Chest", ("Chest", 0x0B, 0x0E, None, 'Rupees (5)', ("Gerudo Training Grounds", "Vanilla",))),
|
("Gerudo Training Ground Heavy Block Second Chest", ("Chest", 0x0B, 0x0E, None, 'Rupees (5)', ("Gerudo Training Ground", "Vanilla",))),
|
||||||
("Gerudo Training Grounds Heavy Block Third Chest", ("Chest", 0x0B, 0x14, None, 'Small Key (Gerudo Training Grounds)', ("Gerudo Training Grounds", "Vanilla",))),
|
("Gerudo Training Ground Heavy Block Third Chest", ("Chest", 0x0B, 0x14, None, 'Small Key (Gerudo Training Ground)', ("Gerudo Training Ground", "Vanilla",))),
|
||||||
("Gerudo Training Grounds Heavy Block Fourth Chest", ("Chest", 0x0B, 0x02, None, 'Ice Trap', ("Gerudo Training Grounds", "Vanilla",))),
|
("Gerudo Training Ground Heavy Block Fourth Chest", ("Chest", 0x0B, 0x02, None, 'Ice Trap', ("Gerudo Training Ground", "Vanilla",))),
|
||||||
("Gerudo Training Grounds Eye Statue Chest", ("Chest", 0x0B, 0x03, None, 'Small Key (Gerudo Training Grounds)', ("Gerudo Training Grounds", "Vanilla",))),
|
("Gerudo Training Ground Eye Statue Chest", ("Chest", 0x0B, 0x03, None, 'Small Key (Gerudo Training Ground)', ("Gerudo Training Ground", "Vanilla",))),
|
||||||
("Gerudo Training Grounds Near Scarecrow Chest", ("Chest", 0x0B, 0x04, None, 'Small Key (Gerudo Training Grounds)', ("Gerudo Training Grounds", "Vanilla",))),
|
("Gerudo Training Ground Near Scarecrow Chest", ("Chest", 0x0B, 0x04, None, 'Small Key (Gerudo Training Ground)', ("Gerudo Training Ground", "Vanilla",))),
|
||||||
("Gerudo Training Grounds Hammer Room Clear Chest", ("Chest", 0x0B, 0x12, None, 'Arrows (10)', ("Gerudo Training Grounds", "Vanilla",))),
|
("Gerudo Training Ground Hammer Room Clear Chest", ("Chest", 0x0B, 0x12, None, 'Arrows (10)', ("Gerudo Training Ground", "Vanilla",))),
|
||||||
("Gerudo Training Grounds Hammer Room Switch Chest", ("Chest", 0x0B, 0x10, None, 'Small Key (Gerudo Training Grounds)', ("Gerudo Training Grounds", "Vanilla",))),
|
("Gerudo Training Ground Hammer Room Switch Chest", ("Chest", 0x0B, 0x10, None, 'Small Key (Gerudo Training Ground)', ("Gerudo Training Ground", "Vanilla",))),
|
||||||
("Gerudo Training Grounds Freestanding Key", ("Collectable", 0x0B, 0x01, None, 'Small Key (Gerudo Training Grounds)', ("Gerudo Training Grounds", "Vanilla",))),
|
("Gerudo Training Ground Freestanding Key", ("Collectable", 0x0B, 0x01, None, 'Small Key (Gerudo Training Ground)', ("Gerudo Training Ground", "Vanilla",))),
|
||||||
("Gerudo Training Grounds Maze Right Central Chest", ("Chest", 0x0B, 0x05, None, 'Bombchus (5)', ("Gerudo Training Grounds", "Vanilla",))),
|
("Gerudo Training Ground Maze Right Central Chest", ("Chest", 0x0B, 0x05, None, 'Bombchus (5)', ("Gerudo Training Ground", "Vanilla",))),
|
||||||
("Gerudo Training Grounds Maze Right Side Chest", ("Chest", 0x0B, 0x08, None, 'Arrows (30)', ("Gerudo Training Grounds", "Vanilla",))),
|
("Gerudo Training Ground Maze Right Side Chest", ("Chest", 0x0B, 0x08, None, 'Arrows (30)', ("Gerudo Training Ground", "Vanilla",))),
|
||||||
("Gerudo Training Grounds Underwater Silver Rupee Chest", ("Chest", 0x0B, 0x0D, None, 'Small Key (Gerudo Training Grounds)', ("Gerudo Training Grounds", "Vanilla",))),
|
("Gerudo Training Ground Underwater Silver Rupee Chest", ("Chest", 0x0B, 0x0D, None, 'Small Key (Gerudo Training Ground)', ("Gerudo Training Ground", "Vanilla",))),
|
||||||
("Gerudo Training Grounds Beamos Chest", ("Chest", 0x0B, 0x01, None, 'Small Key (Gerudo Training Grounds)', ("Gerudo Training Grounds", "Vanilla",))),
|
("Gerudo Training Ground Beamos Chest", ("Chest", 0x0B, 0x01, None, 'Small Key (Gerudo Training Ground)', ("Gerudo Training Ground", "Vanilla",))),
|
||||||
("Gerudo Training Grounds Hidden Ceiling Chest", ("Chest", 0x0B, 0x0B, None, 'Small Key (Gerudo Training Grounds)', ("Gerudo Training Grounds", "Vanilla",))),
|
("Gerudo Training Ground Hidden Ceiling Chest", ("Chest", 0x0B, 0x0B, None, 'Small Key (Gerudo Training Ground)', ("Gerudo Training Ground", "Vanilla",))),
|
||||||
("Gerudo Training Grounds Maze Path First Chest", ("Chest", 0x0B, 0x06, None, 'Rupees (50)', ("Gerudo Training Grounds", "Vanilla",))),
|
("Gerudo Training Ground Maze Path First Chest", ("Chest", 0x0B, 0x06, None, 'Rupees (50)', ("Gerudo Training Ground", "Vanilla",))),
|
||||||
("Gerudo Training Grounds Maze Path Second Chest", ("Chest", 0x0B, 0x0A, None, 'Rupees (20)', ("Gerudo Training Grounds", "Vanilla",))),
|
("Gerudo Training Ground Maze Path Second Chest", ("Chest", 0x0B, 0x0A, None, 'Rupees (20)', ("Gerudo Training Ground", "Vanilla",))),
|
||||||
("Gerudo Training Grounds Maze Path Third Chest", ("Chest", 0x0B, 0x09, None, 'Arrows (30)', ("Gerudo Training Grounds", "Vanilla",))),
|
("Gerudo Training Ground Maze Path Third Chest", ("Chest", 0x0B, 0x09, None, 'Arrows (30)', ("Gerudo Training Ground", "Vanilla",))),
|
||||||
("Gerudo Training Grounds Maze Path Final Chest", ("Chest", 0x0B, 0x0C, None, 'Ice Arrows', ("Gerudo Training Grounds", "Vanilla",))),
|
("Gerudo Training Ground Maze Path Final Chest", ("Chest", 0x0B, 0x0C, None, 'Ice Arrows', ("Gerudo Training Ground", "Vanilla",))),
|
||||||
# Gerudo Training Grounds MQ
|
# Gerudo Training Ground MQ
|
||||||
("Gerudo Training Grounds MQ Lobby Left Chest", ("Chest", 0x0B, 0x13, None, 'Arrows (10)', ("Gerudo Training Grounds", "Master Quest",))),
|
("Gerudo Training Ground MQ Lobby Left Chest", ("Chest", 0x0B, 0x13, None, 'Arrows (10)', ("Gerudo Training Ground", "Master Quest",))),
|
||||||
("Gerudo Training Grounds MQ Lobby Right Chest", ("Chest", 0x0B, 0x07, None, 'Bombchus (5)', ("Gerudo Training Grounds", "Master Quest",))),
|
("Gerudo Training Ground MQ Lobby Right Chest", ("Chest", 0x0B, 0x07, None, 'Bombchus (5)', ("Gerudo Training Ground", "Master Quest",))),
|
||||||
("Gerudo Training Grounds MQ First Iron Knuckle Chest", ("Chest", 0x0B, 0x00, None, 'Rupees (5)', ("Gerudo Training Grounds", "Master Quest",))),
|
("Gerudo Training Ground MQ First Iron Knuckle Chest", ("Chest", 0x0B, 0x00, None, 'Rupees (5)', ("Gerudo Training Ground", "Master Quest",))),
|
||||||
("Gerudo Training Grounds MQ Before Heavy Block Chest", ("Chest", 0x0B, 0x11, None, 'Arrows (10)', ("Gerudo Training Grounds", "Master Quest",))),
|
("Gerudo Training Ground MQ Before Heavy Block Chest", ("Chest", 0x0B, 0x11, None, 'Arrows (10)', ("Gerudo Training Ground", "Master Quest",))),
|
||||||
("Gerudo Training Grounds MQ Heavy Block Chest", ("Chest", 0x0B, 0x02, None, 'Rupees (50)', ("Gerudo Training Grounds", "Master Quest",))),
|
("Gerudo Training Ground MQ Heavy Block Chest", ("Chest", 0x0B, 0x02, None, 'Rupees (50)', ("Gerudo Training Ground", "Master Quest",))),
|
||||||
("Gerudo Training Grounds MQ Eye Statue Chest", ("Chest", 0x0B, 0x03, None, 'Bombchus (10)', ("Gerudo Training Grounds", "Master Quest",))),
|
("Gerudo Training Ground MQ Eye Statue Chest", ("Chest", 0x0B, 0x03, None, 'Bombchus (10)', ("Gerudo Training Ground", "Master Quest",))),
|
||||||
("Gerudo Training Grounds MQ Ice Arrows Chest", ("Chest", 0x0B, 0x04, None, 'Ice Arrows', ("Gerudo Training Grounds", "Master Quest",))),
|
("Gerudo Training Ground MQ Ice Arrows Chest", ("Chest", 0x0B, 0x04, None, 'Ice Arrows', ("Gerudo Training Ground", "Master Quest",))),
|
||||||
("Gerudo Training Grounds MQ Second Iron Knuckle Chest", ("Chest", 0x0B, 0x12, None, 'Arrows (10)', ("Gerudo Training Grounds", "Master Quest",))),
|
("Gerudo Training Ground MQ Second Iron Knuckle Chest", ("Chest", 0x0B, 0x12, None, 'Arrows (10)', ("Gerudo Training Ground", "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 Ground MQ Flame Circle Chest", ("Chest", 0x0B, 0x0E, None, 'Small Key (Gerudo Training Ground)', ("Gerudo Training Ground", "Master Quest",))),
|
||||||
("Gerudo Training Grounds MQ Maze Right Central Chest", ("Chest", 0x0B, 0x05, None, 'Rupees (5)', ("Gerudo Training Grounds", "Master Quest",))),
|
("Gerudo Training Ground MQ Maze Right Central Chest", ("Chest", 0x0B, 0x05, None, 'Rupees (5)', ("Gerudo Training Ground", "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 Ground MQ Maze Right Side Chest", ("Chest", 0x0B, 0x08, None, 'Rupee (Treasure Chest Game)', ("Gerudo Training Ground", "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 Ground MQ Underwater Silver Rupee Chest", ("Chest", 0x0B, 0x0D, None, 'Small Key (Gerudo Training Ground)', ("Gerudo Training Ground", "Master Quest",))),
|
||||||
("Gerudo Training Grounds MQ Dinolfos Chest", ("Chest", 0x0B, 0x01, None, 'Small Key (Gerudo Training Grounds)', ("Gerudo Training Grounds", "Master Quest",))),
|
("Gerudo Training Ground MQ Dinolfos Chest", ("Chest", 0x0B, 0x01, None, 'Small Key (Gerudo Training Ground)', ("Gerudo Training Ground", "Master Quest",))),
|
||||||
("Gerudo Training Grounds MQ Hidden Ceiling Chest", ("Chest", 0x0B, 0x0B, None, 'Rupees (50)', ("Gerudo Training Grounds", "Master Quest",))),
|
("Gerudo Training Ground MQ Hidden Ceiling Chest", ("Chest", 0x0B, 0x0B, None, 'Rupees (50)', ("Gerudo Training Ground", "Master Quest",))),
|
||||||
("Gerudo Training Grounds MQ Maze Path First Chest", ("Chest", 0x0B, 0x06, None, 'Rupee (1)', ("Gerudo Training Grounds", "Master Quest",))),
|
("Gerudo Training Ground MQ Maze Path First Chest", ("Chest", 0x0B, 0x06, None, 'Rupee (1)', ("Gerudo Training Ground", "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 Ground MQ Maze Path Third Chest", ("Chest", 0x0B, 0x09, None, 'Rupee (Treasure Chest Game)', ("Gerudo Training Ground", "Master Quest",))),
|
||||||
("Gerudo Training Grounds MQ Maze Path Second Chest", ("Chest", 0x0B, 0x0A, None, 'Rupees (20)', ("Gerudo Training Grounds", "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
|
# Ganon's Castle vanilla
|
||||||
("Ganons Castle Forest Trial Chest", ("Chest", 0x0D, 0x09, None, 'Rupees (5)', ("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"]),
|
(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 = {
|
location_groups = {
|
||||||
'Song': [name for (name, data) in location_table.items() if data[0] == 'Song'],
|
'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'],
|
'Chest': [name for (name, data) in location_table.items() if data[0] == 'Chest'],
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
known_logic_tricks = {
|
known_logic_tricks = {
|
||||||
'Fewer Tunic Requirements': {
|
'Fewer Tunic Requirements': {
|
||||||
'name' : 'logic_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' : '''\
|
'tooltip' : '''\
|
||||||
Allows the following possible without Tunics:
|
Allows the following possible without Tunics:
|
||||||
- Enter Water Temple. The key below the center
|
- Enter Water Temple. The key below the center
|
||||||
|
@ -10,7 +10,7 @@ known_logic_tricks = {
|
||||||
accessible, and not Volvagia.
|
accessible, and not Volvagia.
|
||||||
- Zora's Fountain Bottom Freestanding PoH.
|
- Zora's Fountain Bottom Freestanding PoH.
|
||||||
Might not have enough health to resurface.
|
Might not have enough health to resurface.
|
||||||
- Gerudo Training Grounds Underwater
|
- Gerudo Training Ground Underwater
|
||||||
Silver Rupee Chest. May need to make multiple
|
Silver Rupee Chest. May need to make multiple
|
||||||
trips.
|
trips.
|
||||||
'''},
|
'''},
|
||||||
|
@ -73,9 +73,9 @@ known_logic_tricks = {
|
||||||
from below, by shooting it through the vines,
|
from below, by shooting it through the vines,
|
||||||
bypassing the need to lower the staircase.
|
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',
|
'name' : 'logic_gerudo_kitchen',
|
||||||
'tags' : ("Gerudo's Fortress",),
|
'tags' : ("Thieves' Hideout", "Gerudo's Fortress"),
|
||||||
'tooltip' : '''\
|
'tooltip' : '''\
|
||||||
The logic normally guarantees one of Bow, Hookshot,
|
The logic normally guarantees one of Bow, Hookshot,
|
||||||
or Hover Boots.
|
or Hover Boots.
|
||||||
|
@ -185,9 +185,9 @@ known_logic_tricks = {
|
||||||
a particularly egregious example. Logic normally
|
a particularly egregious example. Logic normally
|
||||||
expects Din's Fire and Song of Time.
|
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',
|
'name' : 'logic_gtg_mq_with_hookshot',
|
||||||
'tags' : ("Gerudo Training Grounds",),
|
'tags' : ("Gerudo Training Ground",),
|
||||||
'tooltip' : '''\
|
'tooltip' : '''\
|
||||||
The highest silver rupee can be obtained by
|
The highest silver rupee can be obtained by
|
||||||
hookshotting the target and then immediately jump
|
hookshotting the target and then immediately jump
|
||||||
|
@ -239,14 +239,6 @@ known_logic_tricks = {
|
||||||
or hit the shortcut switch at the top of the
|
or hit the shortcut switch at the top of the
|
||||||
room and jump from the glass blocks that spawn.
|
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': {
|
'Death Mountain Trail Chest with Strength': {
|
||||||
'name' : 'logic_dmt_bombable',
|
'name' : 'logic_dmt_bombable',
|
||||||
'tags' : ("Death Mountain Trail",),
|
'tags' : ("Death Mountain Trail",),
|
||||||
|
@ -907,9 +899,9 @@ known_logic_tricks = {
|
||||||
Skulltula and obtain the token by having the Boomerang
|
Skulltula and obtain the token by having the Boomerang
|
||||||
interact with it along the return path.
|
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',
|
'name' : 'logic_gtg_without_hookshot',
|
||||||
'tags' : ("Gerudo Training Grounds",),
|
'tags' : ("Gerudo Training Ground",),
|
||||||
'tooltip' : '''\
|
'tooltip' : '''\
|
||||||
After collecting the rest of the silver rupees in the room,
|
After collecting the rest of the silver rupees in the room,
|
||||||
you can reach the final silver rupee on the ceiling by being
|
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.
|
the edge of a flame wall before it can rise up to block you.
|
||||||
To do so without taking damage is more precise.
|
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',
|
'name' : 'logic_gtg_mq_without_hookshot',
|
||||||
'tags' : ("Gerudo Training Grounds",),
|
'tags' : ("Gerudo Training Ground",),
|
||||||
'tooltip' : '''\
|
'tooltip' : '''\
|
||||||
After collecting the rest of the silver rupees in the room,
|
After collecting the rest of the silver rupees in the room,
|
||||||
you can reach the final silver rupee on the ceiling by being
|
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
|
Also included with this trick is that fact that the switch
|
||||||
that unbars the door to the final chest of GTG can be hit
|
that unbars the door to the final chest of GTG can be hit
|
||||||
without a projectile, using a precise jump slash.
|
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".
|
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',
|
'name' : 'logic_gtg_fake_wall',
|
||||||
'tags' : ("Gerudo Training Grounds",),
|
'tags' : ("Gerudo Training Ground",),
|
||||||
'tooltip' : '''\
|
'tooltip' : '''\
|
||||||
A precise Hover Boots use from the top of the chest can allow
|
A precise Hover Boots use from the top of the chest can allow
|
||||||
you to grab the ledge without needing the usual requirements.
|
you to grab the ledge without needing the usual requirements.
|
||||||
In Master Quest, this always skips a Song of Time requirement.
|
In Master Quest, this always skips a Song of Time requirement.
|
||||||
In Vanilla, this skips a Hookshot requirement, but is only
|
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.
|
without Hookshot" is enabled.
|
||||||
'''},
|
'''},
|
||||||
'Water Temple Cracked Wall with No Additional Items': {
|
'Water Temple Cracked Wall with No Additional Items': {
|
||||||
|
@ -1299,19 +1291,19 @@ known_logic_tricks = {
|
||||||
Removes the requirements for the Lens of Truth
|
Removes the requirements for the Lens of Truth
|
||||||
in Ganon's Castle.
|
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',
|
'name' : 'logic_lens_gtg_mq',
|
||||||
'tags' : ("Lens of Truth","Gerudo Training Grounds",),
|
'tags' : ("Lens of Truth","Gerudo Training Ground",),
|
||||||
'tooltip' : '''\
|
'tooltip' : '''\
|
||||||
Removes the requirements for the Lens of Truth
|
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',
|
'name' : 'logic_lens_gtg',
|
||||||
'tags' : ("Lens of Truth","Gerudo Training Grounds",),
|
'tags' : ("Lens of Truth","Gerudo Training Ground",),
|
||||||
'tooltip' : '''\
|
'tooltip' : '''\
|
||||||
Removes the requirements for the Lens of Truth
|
Removes the requirements for the Lens of Truth
|
||||||
in Gerudo Training Grounds.
|
in Gerudo Training Ground.
|
||||||
'''},
|
'''},
|
||||||
'Jabu MQ without Lens of Truth': {
|
'Jabu MQ without Lens of Truth': {
|
||||||
'name' : 'logic_lens_jabu_mq',
|
'name' : 'logic_lens_jabu_mq',
|
||||||
|
|
|
@ -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",
|
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",
|
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",
|
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",
|
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",
|
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",
|
0x00A3: "\x13\x76\x08You found the \x05\x41Dungeon Map\x05\x40\x01for the \x05\x45Shadow Temple\x05\x40!\x09",
|
||||||
|
|
|
@ -421,8 +421,8 @@ class ShuffleKeys(Choice):
|
||||||
|
|
||||||
|
|
||||||
class ShuffleGerudoKeys(Choice):
|
class ShuffleGerudoKeys(Choice):
|
||||||
"""Control where to shuffle the Gerudo Fortress small keys."""
|
"""Control where to shuffle the Thieves' Hideout small keys."""
|
||||||
display_name = "Gerudo Fortress Keys"
|
display_name = "Thieves' Hideout Keys"
|
||||||
option_vanilla = 0
|
option_vanilla = 0
|
||||||
option_overworld = 1
|
option_overworld = 1
|
||||||
option_any_dungeon = 2
|
option_any_dungeon = 2
|
||||||
|
|
|
@ -710,7 +710,7 @@ def patch_rom(world, rom):
|
||||||
rom.write_byte(address,0x01)
|
rom.write_byte(address,0x01)
|
||||||
|
|
||||||
# Allow Warp Songs in additional places
|
# 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
|
rom.write_byte(0xB6D42A, 0x00) # Inside Ganon's Castle
|
||||||
|
|
||||||
#Tell Sheik at Ice Cavern we are always an Adult
|
#Tell Sheik at Ice Cavern we are always an Adult
|
||||||
|
@ -719,10 +719,10 @@ def patch_rom(world, rom):
|
||||||
rom.write_int32(0xc7BCA4, 0x00000000)
|
rom.write_int32(0xc7BCA4, 0x00000000)
|
||||||
|
|
||||||
# Allow Farore's Wind in dungeons where it's normally forbidden
|
# 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
|
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,
|
Wonder_text = [0x27C00BC, 0x27C00CC, 0x27C00DC, 0x27C00EC, 0x27C00FC, 0x27C010C, 0x27C011C, 0x27C012C, 0x27CE080,
|
||||||
0x27CE090, 0x2887070, 0x2887080, 0x2887090, 0x2897070, 0x28C7134, 0x28D91BC, 0x28A60F4, 0x28AE084,
|
0x27CE090, 0x2887070, 0x2887080, 0x2887090, 0x2897070, 0x28C7134, 0x28D91BC, 0x28A60F4, 0x28AE084,
|
||||||
0x28B9174, 0x28BF168, 0x28BF178, 0x28BF188, 0x28A1144, 0x28A6104, 0x28D0094]
|
0x28B9174, 0x28BF168, 0x28BF178, 0x28BF188, 0x28A1144, 0x28A6104, 0x28D0094]
|
||||||
|
@ -1202,7 +1202,7 @@ def patch_rom(world, rom):
|
||||||
if world.dungeon_mq['Ice Cavern']:
|
if world.dungeon_mq['Ice Cavern']:
|
||||||
mq_scenes.append(9)
|
mq_scenes.append(9)
|
||||||
# Scene 10 has no layout changes, so it doesn't need to be patched
|
# 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)
|
mq_scenes.append(11)
|
||||||
if world.dungeon_mq['Ganons Castle']:
|
if world.dungeon_mq['Ganons Castle']:
|
||||||
mq_scenes.append(13)
|
mq_scenes.append(13)
|
||||||
|
@ -1378,7 +1378,7 @@ def patch_rom(world, rom):
|
||||||
rom.write_byte(0x2E8E931, special['text_id']) #Fix text box
|
rom.write_byte(0x2E8E931, special['text_id']) #Fix text box
|
||||||
elif location.name == 'Song from Malon':
|
elif location.name == 'Song from Malon':
|
||||||
rom.write_byte(rom.sym('MALON_TEXT_ID'), special['text_id'])
|
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_int16(0xE09F66, bit_mask_pointer)
|
||||||
rom.write_byte(0x332A87D, special['text_id']) #Fix text box
|
rom.write_byte(0x332A87D, special['text_id']) #Fix text box
|
||||||
elif location.name == 'Song from Saria':
|
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),
|
'Shadow Temple': ("the \x05\x45Shadow Temple", 'Bongo Bongo', 0x7f, 0xa3),
|
||||||
}
|
}
|
||||||
for dungeon in world.dungeon_mq:
|
for dungeon in world.dungeon_mq:
|
||||||
if dungeon in ['Gerudo Training Grounds', 'Ganons Castle']:
|
if dungeon in ['Gerudo Training Ground', 'Ganons Castle']:
|
||||||
pass
|
pass
|
||||||
elif dungeon in ['Bottom of the Well', 'Ice Cavern']:
|
elif dungeon in ['Bottom of the Well', 'Ice Cavern']:
|
||||||
dungeon_name, boss_name, compass_id, map_id = dungeon_list[dungeon]
|
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',
|
codes = ['Deku Tree', 'Dodongos Cavern', 'Jabu Jabus Belly', 'Forest Temple',
|
||||||
'Fire Temple', 'Water Temple', 'Spirit Temple', 'Shadow Temple',
|
'Fire Temple', 'Water Temple', 'Spirit Temple', 'Shadow Temple',
|
||||||
'Bottom of the Well', 'Ice Cavern', 'Tower (N/A)',
|
'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]
|
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)
|
rom.write_int32(rom.sym('cfg_dungeon_info_enable'), 1)
|
||||||
|
|
|
@ -584,7 +584,7 @@ class OOTWorld(World):
|
||||||
# only one exists
|
# only one exists
|
||||||
"Bottom of the Well Lens of Truth Chest", "Bottom of the Well MQ Lens of Truth Chest",
|
"Bottom of the Well Lens of Truth Chest", "Bottom of the Well MQ Lens of Truth Chest",
|
||||||
# only one exists
|
# 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
|
# 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
|
# 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':
|
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)
|
self.world.itempool)
|
||||||
itempools['any_dungeon'].extend(fortresskeys)
|
itempools['any_dungeon'].extend(fortresskeys)
|
||||||
if itempools['any_dungeon']:
|
if itempools['any_dungeon']:
|
||||||
for item in itempools['any_dungeon']:
|
for item in itempools['any_dungeon']:
|
||||||
self.world.itempool.remove(item)
|
self.world.itempool.remove(item)
|
||||||
itempools['any_dungeon'].sort(key=lambda 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)
|
self.world.random.shuffle(any_dungeon_locations)
|
||||||
fill_restrictive(self.world, self.world.get_all_state(False), any_dungeon_locations,
|
fill_restrictive(self.world, self.world.get_all_state(False), any_dungeon_locations,
|
||||||
itempools['any_dungeon'], True, True)
|
itempools['any_dungeon'], True, True)
|
||||||
|
|
||||||
# If anything is overworld-only, fill into local non-dungeon locations
|
# If anything is overworld-only, fill into local non-dungeon locations
|
||||||
if self.shuffle_fortresskeys == 'overworld':
|
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)
|
self.world.itempool)
|
||||||
itempools['overworld'].extend(fortresskeys)
|
itempools['overworld'].extend(fortresskeys)
|
||||||
if itempools['overworld']:
|
if itempools['overworld']:
|
||||||
for item in itempools['overworld']:
|
for item in itempools['overworld']:
|
||||||
self.world.itempool.remove(item)
|
self.world.itempool.remove(item)
|
||||||
itempools['overworld'].sort(key=lambda 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
|
non_dungeon_locations = [loc for loc in self.get_locations() if
|
||||||
not loc.item and loc not in any_dungeon_locations and
|
not loc.item and loc not in any_dungeon_locations and
|
||||||
(loc.type != 'Shop' or loc.name in self.shop_prices) 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
|
if loc.game == "Ocarina of Time" and loc.item.code and (not loc.locked or
|
||||||
(loc.item.type == 'Song' or
|
(loc.item.type == 'Song' or
|
||||||
(loc.item.type == 'SmallKey' and world.worlds[loc.player].shuffle_smallkeys == 'any_dungeon') 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 == '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'))):
|
(loc.item.type == 'GanonBossKey' and world.worlds[loc.player].shuffle_ganon_bosskey == 'any_dungeon'))):
|
||||||
if loc.player in barren_hint_players:
|
if loc.player in barren_hint_players:
|
||||||
|
@ -977,7 +977,7 @@ class OOTWorld(World):
|
||||||
return False
|
return False
|
||||||
if item.type == 'SmallKey' and self.shuffle_smallkeys in ['dungeon', 'vanilla']:
|
if item.type == 'SmallKey' and self.shuffle_smallkeys in ['dungeon', 'vanilla']:
|
||||||
return False
|
return False
|
||||||
if item.type == 'FortressSmallKey' and self.shuffle_fortresskeys == 'vanilla':
|
if item.type == 'HideoutSmallKey' and self.shuffle_fortresskeys == 'vanilla':
|
||||||
return False
|
return False
|
||||||
if item.type == 'BossKey' and self.shuffle_bosskeys in ['dungeon', 'vanilla']:
|
if item.type == 'BossKey' and self.shuffle_bosskeys in ['dungeon', 'vanilla']:
|
||||||
return False
|
return False
|
||||||
|
|
|
@ -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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
|
@ -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)))"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
|
@ -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"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
|
@ -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)))"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
|
@ -324,18 +324,18 @@
|
||||||
Gerudo_Membership_Card and can_ride_epona and Bow and is_adult",
|
Gerudo_Membership_Card and can_ride_epona and Bow and is_adult",
|
||||||
"GF HBA 1500 Points": "
|
"GF HBA 1500 Points": "
|
||||||
Gerudo_Membership_Card and can_ride_epona and Bow and is_adult",
|
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)",
|
"Hideout Jail Guard (1 Torch)": "is_adult or (is_child and can_child_damage)",
|
||||||
"GF North F2 Carpenter": "is_adult or (is_child and can_child_damage)",
|
"Hideout Jail Guard (2 Torches)": "is_adult or (is_child and can_child_damage)",
|
||||||
"GF South F1 Carpenter": "is_adult or (is_child and can_child_damage)",
|
"Hideout Jail Guard (3 Torches)": "is_adult or (is_child and can_child_damage)",
|
||||||
"GF South F2 Carpenter": "is_adult or (is_child and can_child_damage)",
|
"Hideout Jail Guard (4 Torches)": "is_adult or (is_child and can_child_damage)",
|
||||||
"GF Gerudo Membership Card": "can_finish_GerudoFortress",
|
"Hideout Gerudo Membership Card": "can_finish_GerudoFortress",
|
||||||
"GF GS Archery Range": "can_use(Hookshot) and at_night",
|
"GF GS Archery Range": "can_use(Hookshot) and at_night",
|
||||||
"GF GS Top Floor": "at_night and is_adult"
|
"GF GS Top Floor": "at_night and is_adult"
|
||||||
},
|
},
|
||||||
"exits": {
|
"exits": {
|
||||||
"Haunted Wasteland": "is_child or 'GF Gate Open' or
|
"Haunted Wasteland": "is_child or 'GF Gate Open' or
|
||||||
((Progressive_Hookshot and (Hover_Boots or can_mega)) or (can_isg and Bombs) )",
|
((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": {
|
"exits": {
|
||||||
"Graveyard Shield Grave": "True",
|
"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 Heart Piece Grave": "True",
|
||||||
"Graveyard Dampes Grave": "is_adult or at('Graveyard Warp Pad Region', True)",
|
"Graveyard Dampes Grave": "is_adult or at('Graveyard Warp Pad Region', True)",
|
||||||
"Graveyard Dampes House": "True",
|
"Graveyard Dampes House": "True",
|
||||||
|
@ -728,10 +728,10 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"region_name": "Graveyard Composers Grave",
|
"region_name": "Graveyard Royal Familys Tomb",
|
||||||
"locations": {
|
"locations": {
|
||||||
"Graveyard Composers Grave Chest": "has_fire_source or (is_child and Sticks and (can_live_dmg(0.75) or can_use(Nayrus_Love)))",
|
"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 Composers Grave": "
|
"Song from Royal Familys Tomb": "
|
||||||
is_adult or
|
is_adult or
|
||||||
(Slingshot or Boomerang or Sticks or
|
(Slingshot or Boomerang or Sticks or
|
||||||
has_explosives or Kokiri_Sword)"
|
has_explosives or Kokiri_Sword)"
|
||||||
|
|
|
@ -83,8 +83,8 @@
|
||||||
"has_fire_source_with_torch": "has_fire_source or (is_child and Sticks)",
|
"has_fire_source_with_torch": "has_fire_source or (is_child and Sticks)",
|
||||||
|
|
||||||
# Gerudo Fortress
|
# 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))
|
"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_Gerudo_Fortress and (is_adult or Kokiri_Sword 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')",
|
or (gerudo_fortress != 'normal' and gerudo_fortress != 'fast')",
|
||||||
# Mirror shield does not count because it cannot reflect scrub attack.
|
# Mirror shield does not count because it cannot reflect scrub attack.
|
||||||
"has_shield": "(is_adult and Hylian_Shield) or (is_child and Deku_Shield)",
|
"has_shield": "(is_adult and Hylian_Shield) or (is_child and Deku_Shield)",
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
(can_use(Hookshot) or can_use(Boomerang)) and
|
(can_use(Hookshot) or can_use(Boomerang)) and
|
||||||
here(has_bombchus or
|
here(has_bombchus or
|
||||||
(Bombs and (can_play(Song_of_Time) or is_adult)) 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": {
|
"exits": {
|
||||||
"Deku Tree Lobby": "True"
|
"Deku Tree Lobby": "True"
|
||||||
|
|
|
@ -41,7 +41,7 @@
|
||||||
(logic_dc_mq_eyes and Progressive_Strength_Upgrade and
|
(logic_dc_mq_eyes and Progressive_Strength_Upgrade and
|
||||||
(is_adult or logic_dc_mq_child_back) and
|
(is_adult or logic_dc_mq_child_back) and
|
||||||
(here(can_use(Sticks)) or can_use(Dins_Fire) or
|
(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))))"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -33,8 +33,7 @@
|
||||||
is_adult and (Progressive_Strength_Upgrade or
|
is_adult and (Progressive_Strength_Upgrade or
|
||||||
(logic_forest_mq_block_puzzle and has_bombchus and can_use(Hookshot)))",
|
(logic_forest_mq_block_puzzle and has_bombchus and can_use(Hookshot)))",
|
||||||
"Forest Temple Outdoor Ledge": "
|
"Forest Temple Outdoor Ledge": "
|
||||||
(logic_forest_mq_hallway_switch_jumpslash and can_use(Hover_Boots)) or
|
(logic_forest_mq_hallway_switch_jumpslash and can_use(Hover_Boots))",
|
||||||
(logic_forest_mq_hallway_switch_hookshot and can_use(Hookshot))",
|
|
||||||
"Forest Temple Boss Region": "
|
"Forest Temple Boss Region": "
|
||||||
Forest_Temple_Jo_and_Beth and Forest_Temple_Amy_and_Meg"
|
Forest_Temple_Jo_and_Beth and Forest_Temple_Amy_and_Meg"
|
||||||
}
|
}
|
||||||
|
|
|
@ -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)"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
|
@ -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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
|
@ -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)"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
|
@ -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"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
|
@ -589,14 +589,14 @@
|
||||||
Gerudo_Membership_Card and can_ride_epona and Bow and at_day",
|
Gerudo_Membership_Card and can_ride_epona and Bow and at_day",
|
||||||
"GF HBA 1500 Points": "
|
"GF HBA 1500 Points": "
|
||||||
Gerudo_Membership_Card and can_ride_epona and Bow and at_day",
|
Gerudo_Membership_Card and can_ride_epona and Bow and at_day",
|
||||||
"GF North F1 Carpenter": "is_adult or Kokiri_Sword",
|
"Hideout Jail Guard (1 Torch)": "is_adult or Kokiri_Sword",
|
||||||
"GF North F2 Carpenter": "
|
"Hideout Jail Guard (2 Torches)": "is_adult or Kokiri_Sword",
|
||||||
|
"Hideout Jail Guard (3 Torches)": "
|
||||||
(is_adult or Kokiri_Sword) and
|
(is_adult or Kokiri_Sword) and
|
||||||
(Gerudo_Membership_Card or can_use(Bow) or can_use(Hookshot)
|
(Gerudo_Membership_Card or can_use(Bow) or can_use(Hookshot)
|
||||||
or can_use(Hover_Boots) or logic_gerudo_kitchen)",
|
or can_use(Hover_Boots) or logic_gerudo_kitchen)",
|
||||||
"GF South F1 Carpenter": "is_adult or Kokiri_Sword",
|
"Hideout Jail Guard (4 Torches)": "is_adult or Kokiri_Sword",
|
||||||
"GF South F2 Carpenter": "is_adult or Kokiri_Sword",
|
"Hideout Gerudo Membership Card": "can_finish_GerudoFortress",
|
||||||
"GF Gerudo Membership Card": "can_finish_GerudoFortress",
|
|
||||||
"GF GS Archery Range": "
|
"GF GS Archery Range": "
|
||||||
can_use(Hookshot) and Gerudo_Membership_Card and at_night",
|
can_use(Hookshot) and Gerudo_Membership_Card and at_night",
|
||||||
"GF GS Top Floor": "
|
"GF GS Top Floor": "
|
||||||
|
@ -607,7 +607,7 @@
|
||||||
"exits": {
|
"exits": {
|
||||||
"GV Fortress Side": "True",
|
"GV Fortress Side": "True",
|
||||||
"GF Outside Gate": "'GF Gate Open'",
|
"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
|
"GF Storms Grotto": "is_adult and can_open_storm_grotto" # Not there as child
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -1290,7 +1290,7 @@
|
||||||
},
|
},
|
||||||
"exits": {
|
"exits": {
|
||||||
"Graveyard Shield Grave": "is_adult or at_night",
|
"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 Heart Piece Grave": "is_adult or at_night",
|
||||||
"Graveyard Dampes Grave": "is_adult",
|
"Graveyard Dampes Grave": "is_adult",
|
||||||
"Graveyard Dampes House": "is_adult or at_dampe_time",
|
"Graveyard Dampes House": "is_adult or at_dampe_time",
|
||||||
|
@ -1321,12 +1321,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"region_name": "Graveyard Composers Grave",
|
"region_name": "Graveyard Royal Familys Tomb",
|
||||||
"pretty_name": "the Composers' Grave",
|
"pretty_name": "the Royal Family's Tomb",
|
||||||
"scene": "Graveyard Composers Grave",
|
"scene": "Graveyard Royal Familys Tomb",
|
||||||
"locations": {
|
"locations": {
|
||||||
"Graveyard Composers Grave Chest": "has_fire_source",
|
"Graveyard Royal Familys Tomb Chest": "has_fire_source",
|
||||||
"Song from Composers Grave": "
|
"Song from Royal Familys Tomb": "
|
||||||
is_adult or
|
is_adult or
|
||||||
(Slingshot or Boomerang or Sticks or
|
(Slingshot or Boomerang or Sticks or
|
||||||
has_explosives or Kokiri_Sword)"
|
has_explosives or Kokiri_Sword)"
|
||||||
|
|
Loading…
Reference in New Issue