From bbbfe3250e3062f098cf33316abc6c84d5857077 Mon Sep 17 00:00:00 2001 From: alkalineace Date: Tue, 1 Aug 2023 16:45:42 +0200 Subject: [PATCH 1/6] Clearer song and sometimes hints --- HintList.py | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/HintList.py b/HintList.py index f4cc0171b..756e50baa 100644 --- a/HintList.py +++ b/HintList.py @@ -525,20 +525,20 @@ def tokens_required_by_settings(world: World) -> int: 'ZR Frogs Ocarina Game': (["an #amphibian feast# yields", "the #croaking choir's magnum opus# awards", "the #froggy finale# yields"], "the final reward from the #Frogs of Zora's River# is", ['overworld', 'sometimes']), '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 Royal Familys Tomb': (["#ReDead in the royal tomb# guard", "the #Composer Brothers wrote#"], None, ['song', 'sometimes']), - 'Sheik in Forest': ("#in a meadow# Sheik teaches", None, ['song', 'sometimes']), - 'Sheik at Temple': ("Sheik waits at a #monument to time# to teach", None, ['song', 'sometimes']), - 'Sheik in Crater': ("the #crater's melody# is", None, ['song', 'sometimes']), - 'Sheik in Ice Cavern': ("the #frozen cavern# echoes with", None, ['song', 'sometimes']), - 'Sheik in Kakariko': ("a #ravaged village# mourns with", None, ['song', 'sometimes']), - 'Sheik at Colossus': ("a hero ventures #beyond the wasteland# to learn", None, ['song', 'sometimes']), + 'Song from Ocarina of Time': ("the #Ocarina of Time# teaches", "the #song teached by the Ocarina of Time# is", ['song', 'sometimes']), + 'Song from Royal Familys Tomb': (["#ReDead in the royal tomb# guard", "the #Composer Brothers wrote#"], "the #song written in the royal tomb# is", ['song', 'sometimes']), + 'Sheik in Forest': ("#in a meadow# Sheik teaches", "the #song teached by Sheik in Sacred Forest Meadow# is", ['song', 'sometimes']), + 'Sheik at Temple': ("Sheik waits at a #monument to time# to teach", "the #song teached by Sheik in Temple of Time# is", ['song', 'sometimes']), + 'Sheik in Crater': ("the #crater's melody# is", "the #song teached by Sheik in Death Mountain Crater# is", ['song', 'sometimes']), + 'Sheik in Ice Cavern': ("the #frozen cavern# echoes with", "the #song teached by Sheik in Ice Cavern# is", ['song', 'sometimes']), + 'Sheik in Kakariko': ("a #ravaged village# mourns with", "the #song teached by Sheik in Kakariko Village# is", ['song', 'sometimes']), + 'Sheik at Colossus': ("a hero ventures #beyond the wasteland# to learn", "the #song teached by Sheik in Desert Colossus# is", ['song', 'sometimes']), 'Market 10 Big Poes': ("#ghost hunters# will be rewarded with", "catching #Big Poes# leads to", ['overworld', 'sometimes']), 'Deku Theater Skull Mask': ("the #Skull Mask# yields", None, ['overworld', 'sometimes']), 'Deku Theater Mask of Truth': ("showing a #truthful eye to the crowd# rewards", "the #Mask of Truth# yields", ['overworld', 'sometimes']), 'HF Ocarina of Time Item': ("the #treasure thrown by Princess Zelda# is", None, ['overworld', 'sometimes']), - 'DMT Biggoron': ("#Biggoron# crafts", None, ['overworld', 'sometimes']), + 'DMT Biggoron': ("#Biggoron# crafts", "trading the #Claim Check with Biggoron# rewards", ['overworld', 'sometimes']), 'Kak 50 Gold Skulltula Reward': (["#50 bug badges# rewards", "#50 spider souls# yields", "#50 auriferous arachnids# lead to"], "slaying #50 Gold Skulltulas# reveals", ['overworld', 'sometimes']), 'Kak 40 Gold Skulltula Reward': (["#40 bug badges# rewards", "#40 spider souls# yields", "#40 auriferous arachnids# lead to"], "slaying #40 Gold Skulltulas# reveals", ['overworld', 'sometimes']), 'Kak 30 Gold Skulltula Reward': (["#30 bug badges# rewards", "#30 spider souls# yields", "#30 auriferous arachnids# lead to"], "slaying #30 Gold Skulltulas# reveals", ['overworld', 'sometimes']), @@ -557,17 +557,17 @@ def tokens_required_by_settings(world: World) -> int: 'HF GS Cow Grotto': ("a #spider behind webs# in a grotto holds", None, ['overworld', 'sometimes']), 'HF Cow Grotto Cow': ("the #cobwebbed cow# gifts", "a #cow behind webs# in a grotto gifts", ['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"], "a chest spawned by #lighting flames in Haunted Wasteland# contains", ['overworld', 'sometimes']), 'Wasteland GS': ("a #spider in the wasteland# holds", None, ['overworld', 'sometimes']), - 'Graveyard Royal Familys Tomb Chest': (["#flames in the royal tomb# reveal", "the #Composer Brothers hid#"], None, ['overworld', 'sometimes']), - 'ZF Bottom Freestanding PoH': ("#under the icy waters# lies", None, ['overworld', 'sometimes']), - 'GC Pot Freestanding PoH': ("spinning #Goron pottery# contains", None, ['overworld', 'sometimes']), + 'Graveyard Royal Familys Tomb Chest': (["#flames in the royal tomb# reveal", "the #Composer Brothers hid#"], "#lighting flames in the royal tomb# rewards", ['overworld', 'sometimes']), + 'ZF Bottom Freestanding PoH': ("#under the icy waters# lies", "at the #bottom of Zora's Fountain lake# lies", ['overworld', 'sometimes']), + 'GC Pot Freestanding PoH': ("spinning #Goron pottery# contains", "putting a bomb in a #happy face Goron Pot# rewards", ['overworld', 'sometimes']), 'ZD King Zora Thawed': ("a #defrosted dignitary# gifts", "unfreezing #King Zora# grants", ['overworld', 'sometimes']), 'DMC Deku Scrub': ("a single #scrub in the crater# sells", None, ['overworld', 'sometimes']), 'DMC GS Crate': ("a spider under a #crate in the crater# holds", None, ['overworld', 'sometimes']), 'LW Target in Woods': ("shooting a #target in the woods# grants", None, ['overworld', 'sometimes']), - 'ZR Frogs in the Rain': ("#frogs in a storm# gift", None, ['overworld', 'sometimes']), - 'LH Lab Dive': ("a #diving experiment# is rewarded with", None, ['overworld', 'sometimes']), + 'ZR Frogs in the Rain': ("#frogs in a storm# gift", "playing #Song of Storms to Frogs# rewards", ['overworld', 'sometimes']), + 'LH Lab Dive': ("a #diving experiment# is rewarded with", "touching the #bottom of the lakeside lab# rewards", ['overworld', 'sometimes']), 'HC Great Fairy Reward': ("the #fairy of fire# holds", "a #fairy outside Hyrule Castle# holds", ['overworld', 'sometimes']), 'OGC Great Fairy Reward': ("the #fairy of strength# holds", "a #fairy outside Ganon's Castle# holds", ['overworld', 'sometimes']), @@ -589,17 +589,17 @@ def tokens_required_by_settings(world: World) -> int: 'Water Temple MQ Freestanding Key': ("hidden in a #box under the lake# lies", "hidden in a #box in the Water Temple# lies", ['dungeon', 'sometimes']), 'Water Temple MQ GS Freestanding Key Area': ("the #locked spider under the lake# holds", "the #locked spider in the Water Temple# holds", ['dungeon', 'sometimes']), 'Water Temple MQ GS Triple Wall Torch': ("a spider behind a #gate under the lake# holds", "a spider behind a #gate in the Water Temple# holds", ['dungeon', 'sometimes']), - 'Gerudo Training Ground Underwater Silver Rupee Chest': (["those who seek #sunken silver rupees# will find", "the #thieves' underwater training# rewards"], None, ['dungeon', 'sometimes']), - 'Gerudo Training Ground MQ Underwater Silver Rupee Chest': (["those who seek #sunken silver rupees# will find", "the #thieves' underwater training# rewards"], None, ['dungeon', 'sometimes']), - 'Gerudo Training Ground Maze Path Final Chest': ("the final prize of #the thieves' training# is", None, ['dungeon', 'sometimes']), - 'Gerudo Training Ground MQ Ice Arrows Chest': ("the final prize of #the thieves' training# is", None, ['dungeon', 'sometimes']), + 'Gerudo Training Ground Underwater Silver Rupee Chest': (["those who seek #sunken silver rupees# will find", "the #thieves' underwater training# rewards"], "obtaining #silver rupees drowned in Gerudo Training Grounds# rewards", ['dungeon', 'sometimes']), + 'Gerudo Training Ground MQ Underwater Silver Rupee Chest': (["those who seek #sunken silver rupees# will find", "the #thieves' underwater training# rewards"], "obtaining #silver rupees drowned in Gerudo Training Grounds# rewards", ['dungeon', 'sometimes']), + 'Gerudo Training Ground Maze Path Final Chest': ("the final prize of #the thieves' training# is", "#Gerudo Training Grounds' center chest# contains", ['dungeon', 'sometimes']), + 'Gerudo Training Ground MQ Ice Arrows Chest': ("the final prize of #the thieves' training# is", "#Gerudo Training Grounds' center chest# contains", ['dungeon', 'sometimes']), 'Spirit Temple Silver Gauntlets Chest': ("the treasure #sought by Nabooru# is", "upon the #Colossus's right hand# is", ['dungeon', 'sometimes']), 'Spirit Temple Mirror Shield Chest': ("upon the #Colossus's left hand# is", None, ['dungeon', 'sometimes']), 'Spirit Temple MQ Child Hammer Switch Chest': ("a #temporal paradox in the Colossus# yields", "a #temporal paradox in the Spirit Temple# yields", ['dungeon', 'sometimes']), 'Spirit Temple MQ Symphony Room Chest': ("a #symphony in the Colossus# yields", "a #symphony in the Spirit Temple# yields", ['dungeon', 'sometimes']), 'Spirit Temple MQ GS Symphony Room': ("a #spider's symphony in the Colossus# yields", "a #spider's symphony in the Spirit Temple# yields", ['dungeon', 'sometimes']), 'Shadow Temple Freestanding Key': ("a #burning skull in the house of the dead# holds", "a #giant pot in the Shadow Temple# holds", ['dungeon', 'sometimes']), - 'Shadow Temple MQ Bomb Flower Chest': ("shadows in an #invisible maze# guard", None, ['dungeon', 'sometimes']), + 'Shadow Temple MQ Bomb Flower Chest': ("shadows in an #invisible maze# guard", "the buried #Dead Hand with Bomb Flowers# guards", ['dungeon', 'sometimes']), 'Shadow Temple MQ Stalfos Room Chest': ("near an #empty pedestal within the house of the dead# lies", "#stalfos in the Shadow Temple# guard", ['dungeon', 'sometimes']), 'Ice Cavern Iron Boots Chest': ("a #monster in a frozen cavern# guards", "the #final treasure of Ice Cavern# is", ['dungeon', 'sometimes']), 'Ice Cavern MQ Iron Boots Chest': ("a #monster in a frozen cavern# guards", "the #final treasure of Ice Cavern# is", ['dungeon', 'sometimes']), From 90ceeae89ea181b41842a7237e609f1aa3b6e0b7 Mon Sep 17 00:00:00 2001 From: alkalineace Date: Wed, 2 Aug 2023 10:53:16 +0200 Subject: [PATCH 2/6] Rewrite some hints --- HintList.py | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/HintList.py b/HintList.py index 756e50baa..a112d2b81 100644 --- a/HintList.py +++ b/HintList.py @@ -525,20 +525,20 @@ def tokens_required_by_settings(world: World) -> int: 'ZR Frogs Ocarina Game': (["an #amphibian feast# yields", "the #croaking choir's magnum opus# awards", "the #froggy finale# yields"], "the final reward from the #Frogs of Zora's River# is", ['overworld', 'sometimes']), '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", "the #song teached by the Ocarina of Time# is", ['song', 'sometimes']), - 'Song from Royal Familys Tomb': (["#ReDead in the royal tomb# guard", "the #Composer Brothers wrote#"], "the #song written in the royal tomb# is", ['song', 'sometimes']), - 'Sheik in Forest': ("#in a meadow# Sheik teaches", "the #song teached by Sheik in Sacred Forest Meadow# is", ['song', 'sometimes']), - 'Sheik at Temple': ("Sheik waits at a #monument to time# to teach", "the #song teached by Sheik in Temple of Time# is", ['song', 'sometimes']), - 'Sheik in Crater': ("the #crater's melody# is", "the #song teached by Sheik in Death Mountain Crater# is", ['song', 'sometimes']), - 'Sheik in Ice Cavern': ("the #frozen cavern# echoes with", "the #song teached by Sheik in Ice Cavern# is", ['song', 'sometimes']), - 'Sheik in Kakariko': ("a #ravaged village# mourns with", "the #song teached by Sheik in Kakariko Village# is", ['song', 'sometimes']), - 'Sheik at Colossus': ("a hero ventures #beyond the wasteland# to learn", "the #song teached by Sheik in Desert Colossus# is", ['song', 'sometimes']), + 'Song from Ocarina of Time': ("the #Ocarina of Time# teaches", "the #song# taught by the #Ocarina of Time# is", ['song', 'sometimes']), + 'Song from Royal Familys Tomb': (["#ReDead in the royal tomb# guard", "the #Composer Brothers wrote#"], "the #song# written in the #royal tomb# is", ['song', 'sometimes']), + 'Sheik in Forest': ("#in a meadow# Sheik teaches", "the #song# Sheik teaches in #Sacred Forest Meadow# is", ['song', 'sometimes']), + 'Sheik at Temple': ("Sheik waits at a #monument to time# to teach", "the #song# Sheik teaches in #Temple of Time# is", ['song', 'sometimes']), + 'Sheik in Crater': ("the #crater's melody# is", "the #song# Sheik teaches in #Death Mountain Crater# is", ['song', 'sometimes']), + 'Sheik in Ice Cavern': ("the #frozen cavern# echoes with", "the #song# Sheik teaches in #Ice Cavern# is", ['song', 'sometimes']), + 'Sheik in Kakariko': ("a #ravaged village# mourns with", "the #song# Sheik teaches in #Kakariko Village# is", ['song', 'sometimes']), + 'Sheik at Colossus': ("a hero ventures #beyond the wasteland# to learn", "the #song# Sheik teaches in #Desert Colossus# is", ['song', 'sometimes']), 'Market 10 Big Poes': ("#ghost hunters# will be rewarded with", "catching #Big Poes# leads to", ['overworld', 'sometimes']), 'Deku Theater Skull Mask': ("the #Skull Mask# yields", None, ['overworld', 'sometimes']), 'Deku Theater Mask of Truth': ("showing a #truthful eye to the crowd# rewards", "the #Mask of Truth# yields", ['overworld', 'sometimes']), 'HF Ocarina of Time Item': ("the #treasure thrown by Princess Zelda# is", None, ['overworld', 'sometimes']), - 'DMT Biggoron': ("#Biggoron# crafts", "trading the #Claim Check with Biggoron# rewards", ['overworld', 'sometimes']), + 'DMT Biggoron': ("#Biggoron# crafts", "showing the #Claim Check to Biggoron# rewards", ['overworld', 'sometimes']), 'Kak 50 Gold Skulltula Reward': (["#50 bug badges# rewards", "#50 spider souls# yields", "#50 auriferous arachnids# lead to"], "slaying #50 Gold Skulltulas# reveals", ['overworld', 'sometimes']), 'Kak 40 Gold Skulltula Reward': (["#40 bug badges# rewards", "#40 spider souls# yields", "#40 auriferous arachnids# lead to"], "slaying #40 Gold Skulltulas# reveals", ['overworld', 'sometimes']), 'Kak 30 Gold Skulltula Reward': (["#30 bug badges# rewards", "#30 spider souls# yields", "#30 auriferous arachnids# lead to"], "slaying #30 Gold Skulltulas# reveals", ['overworld', 'sometimes']), @@ -560,14 +560,14 @@ def tokens_required_by_settings(world: World) -> int: 'Wasteland Chest': (["#deep in the wasteland# is", "beneath #the sands#, flames reveal"], "a chest spawned by #lighting flames in Haunted Wasteland# contains", ['overworld', 'sometimes']), 'Wasteland GS': ("a #spider in the wasteland# holds", None, ['overworld', 'sometimes']), 'Graveyard Royal Familys Tomb Chest': (["#flames in the royal tomb# reveal", "the #Composer Brothers hid#"], "#lighting flames in the royal tomb# rewards", ['overworld', 'sometimes']), - 'ZF Bottom Freestanding PoH': ("#under the icy waters# lies", "at the #bottom of Zora's Fountain lake# lies", ['overworld', 'sometimes']), - 'GC Pot Freestanding PoH': ("spinning #Goron pottery# contains", "putting a bomb in a #happy face Goron Pot# rewards", ['overworld', 'sometimes']), + 'ZF Bottom Freestanding PoH': ("#under the icy waters# lies", "at the #bottom of the lake in Zora's Fountain# lies", ['overworld', 'sometimes']), + 'GC Pot Freestanding PoH': ("spinning #Goron pottery# contains", "putting an explosive in a #happy face Goron Pot# rewards", ['overworld', 'sometimes']), 'ZD King Zora Thawed': ("a #defrosted dignitary# gifts", "unfreezing #King Zora# grants", ['overworld', 'sometimes']), 'DMC Deku Scrub': ("a single #scrub in the crater# sells", None, ['overworld', 'sometimes']), 'DMC GS Crate': ("a spider under a #crate in the crater# holds", None, ['overworld', 'sometimes']), 'LW Target in Woods': ("shooting a #target in the woods# grants", None, ['overworld', 'sometimes']), 'ZR Frogs in the Rain': ("#frogs in a storm# gift", "playing #Song of Storms to Frogs# rewards", ['overworld', 'sometimes']), - 'LH Lab Dive': ("a #diving experiment# is rewarded with", "touching the #bottom of the lakeside lab# rewards", ['overworld', 'sometimes']), + 'LH Lab Dive': ("a #diving experiment# is rewarded with", "a #lakeside lab diving experiment# rewards", ['overworld', 'sometimes']), 'HC Great Fairy Reward': ("the #fairy of fire# holds", "a #fairy outside Hyrule Castle# holds", ['overworld', 'sometimes']), 'OGC Great Fairy Reward': ("the #fairy of strength# holds", "a #fairy outside Ganon's Castle# holds", ['overworld', 'sometimes']), @@ -591,15 +591,15 @@ def tokens_required_by_settings(world: World) -> int: '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 Ground Underwater Silver Rupee Chest': (["those who seek #sunken silver rupees# will find", "the #thieves' underwater training# rewards"], "obtaining #silver rupees drowned in Gerudo Training Grounds# rewards", ['dungeon', 'sometimes']), 'Gerudo Training Ground MQ Underwater Silver Rupee Chest': (["those who seek #sunken silver rupees# will find", "the #thieves' underwater training# rewards"], "obtaining #silver rupees drowned in Gerudo Training Grounds# rewards", ['dungeon', 'sometimes']), - 'Gerudo Training Ground Maze Path Final Chest': ("the final prize of #the thieves' training# is", "#Gerudo Training Grounds' center chest# contains", ['dungeon', 'sometimes']), - 'Gerudo Training Ground MQ Ice Arrows Chest': ("the final prize of #the thieves' training# is", "#Gerudo Training Grounds' center chest# contains", ['dungeon', 'sometimes']), + 'Gerudo Training Ground Maze Path Final Chest': ("the final prize of #the thieves' training# is", "#Gerudo Training Grounds' final reward# contains", ['dungeon', 'sometimes']), + 'Gerudo Training Ground MQ Ice Arrows Chest': ("the final prize of #the thieves' training# is", "#Gerudo Training Grounds' final reward# contains", ['dungeon', 'sometimes']), 'Spirit Temple Silver Gauntlets Chest': ("the treasure #sought by Nabooru# is", "upon the #Colossus's right hand# is", ['dungeon', 'sometimes']), 'Spirit Temple Mirror Shield Chest': ("upon the #Colossus's left hand# is", None, ['dungeon', 'sometimes']), 'Spirit Temple MQ Child Hammer Switch Chest': ("a #temporal paradox in the Colossus# yields", "a #temporal paradox in the Spirit Temple# yields", ['dungeon', 'sometimes']), 'Spirit Temple MQ Symphony Room Chest': ("a #symphony in the Colossus# yields", "a #symphony in the Spirit Temple# yields", ['dungeon', 'sometimes']), 'Spirit Temple MQ GS Symphony Room': ("a #spider's symphony in the Colossus# yields", "a #spider's symphony in the Spirit Temple# yields", ['dungeon', 'sometimes']), 'Shadow Temple Freestanding Key': ("a #burning skull in the house of the dead# holds", "a #giant pot in the Shadow Temple# holds", ['dungeon', 'sometimes']), - 'Shadow Temple MQ Bomb Flower Chest': ("shadows in an #invisible maze# guard", "the buried #Dead Hand with Bomb Flowers# guards", ['dungeon', 'sometimes']), + 'Shadow Temple MQ Bomb Flower Chest': ("a grasping ghoul in an #invisible maze# guards", "the buried #Dead Hand with Bomb Flowers# guards", ['dungeon', 'sometimes']), 'Shadow Temple MQ Stalfos Room Chest': ("near an #empty pedestal within the house of the dead# lies", "#stalfos in the Shadow Temple# guard", ['dungeon', 'sometimes']), 'Ice Cavern Iron Boots Chest': ("a #monster in a frozen cavern# guards", "the #final treasure of Ice Cavern# is", ['dungeon', 'sometimes']), 'Ice Cavern MQ Iron Boots Chest': ("a #monster in a frozen cavern# guards", "the #final treasure of Ice Cavern# is", ['dungeon', 'sometimes']), @@ -901,7 +901,7 @@ def tokens_required_by_settings(world: World) -> int: 'Shadow Temple After Wind Enemy Chest': ("#mummies guarding a ferry# hide", None, 'exclude'), 'Shadow Temple After Wind Hidden Chest': ("#mummies guarding a ferry# hide", None, 'exclude'), 'Shadow Temple Spike Walls Left Chest': ("#walls consumed by a ball of fire# reveal", None, 'exclude'), - 'Shadow Temple Invisible Floormaster Chest': ("shadows in an #invisible maze# guard", None, 'exclude'), + 'Shadow Temple Invisible Floormaster Chest': ("a singular hand in an #invisible maze# guards", "a #floormaster at the end of Shadow Temple# guards", 'exclude'), 'Shadow Temple Boss Key Chest': ("#walls consumed by a ball of fire# reveal", None, 'exclude'), 'Shadow Temple MQ Compass Chest': ("the #Eye of Truth# pierces a hall of faces to reveal", None, 'exclude'), From 189b5bf283091db8d3f5dec19e3aefbcece64ba9 Mon Sep 17 00:00:00 2001 From: alkalineace Date: Thu, 3 Aug 2023 12:40:18 +0200 Subject: [PATCH 3/6] More shadow hint updates --- HintList.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/HintList.py b/HintList.py index a112d2b81..d4d77c6fe 100644 --- a/HintList.py +++ b/HintList.py @@ -599,7 +599,7 @@ def tokens_required_by_settings(world: World) -> int: 'Spirit Temple MQ Symphony Room Chest': ("a #symphony in the Colossus# yields", "a #symphony in the Spirit Temple# yields", ['dungeon', 'sometimes']), 'Spirit Temple MQ GS Symphony Room': ("a #spider's symphony in the Colossus# yields", "a #spider's symphony in the Spirit Temple# yields", ['dungeon', 'sometimes']), 'Shadow Temple Freestanding Key': ("a #burning skull in the house of the dead# holds", "a #giant pot in the Shadow Temple# holds", ['dungeon', 'sometimes']), - 'Shadow Temple MQ Bomb Flower Chest': ("a grasping ghoul in an #invisible maze# guards", "the buried #Dead Hand with Bomb Flowers# guards", ['dungeon', 'sometimes']), + 'Shadow Temple MQ Bomb Flower Chest': ("a #grasping ghoul surrounded by Bomb Flowers# guards", "the #Dead Hand surrounded by Bomb Flowers# guards", ['dungeon', 'sometimes']), 'Shadow Temple MQ Stalfos Room Chest': ("near an #empty pedestal within the house of the dead# lies", "#stalfos in the Shadow Temple# guard", ['dungeon', 'sometimes']), 'Ice Cavern Iron Boots Chest': ("a #monster in a frozen cavern# guards", "the #final treasure of Ice Cavern# is", ['dungeon', 'sometimes']), 'Ice Cavern MQ Iron Boots Chest': ("a #monster in a frozen cavern# guards", "the #final treasure of Ice Cavern# is", ['dungeon', 'sometimes']), @@ -901,7 +901,7 @@ def tokens_required_by_settings(world: World) -> int: 'Shadow Temple After Wind Enemy Chest': ("#mummies guarding a ferry# hide", None, 'exclude'), 'Shadow Temple After Wind Hidden Chest': ("#mummies guarding a ferry# hide", None, 'exclude'), 'Shadow Temple Spike Walls Left Chest': ("#walls consumed by a ball of fire# reveal", None, 'exclude'), - 'Shadow Temple Invisible Floormaster Chest': ("a singular hand in an #invisible maze# guards", "a #floormaster at the end of Shadow Temple# guards", 'exclude'), + 'Shadow Temple Invisible Floormaster Chest': ("a #Floormaster in the house of the dead# guards", "a #Floormaster in the Shadow Temple# guards", 'exclude'), 'Shadow Temple Boss Key Chest': ("#walls consumed by a ball of fire# reveal", None, 'exclude'), 'Shadow Temple MQ Compass Chest': ("the #Eye of Truth# pierces a hall of faces to reveal", None, 'exclude'), From 9e47110f10f3817290f65b49432277600382844a Mon Sep 17 00:00:00 2001 From: alkalineace Date: Sat, 5 Aug 2023 16:39:43 +0200 Subject: [PATCH 4/6] Handle more colors than specified for Gossip Stones --- Hints.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Hints.py b/Hints.py index 629598f35..4863019e1 100644 --- a/Hints.py +++ b/Hints.py @@ -349,6 +349,9 @@ def color_text(gossip_text: GossipText) -> str: colors = list(gossip_text.colors) if gossip_text.colors is not None else [] color = 'White' + while text.count('#') > 2 * len(colors): + colors[:0] = [colors[0]] + while '#' in text: split_text = text.split('#', 2) if len(colors) > 0: From 550352d8da93762d2f9cd2f986fd006188fdc0e5 Mon Sep 17 00:00:00 2001 From: alkalineace Date: Mon, 14 Aug 2023 16:28:54 +0200 Subject: [PATCH 5/6] Code Review changes --- HintList.py | 10 +++++----- Hints.py | 10 ++++++---- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/HintList.py b/HintList.py index d4d77c6fe..a9577bc69 100644 --- a/HintList.py +++ b/HintList.py @@ -557,11 +557,11 @@ def tokens_required_by_settings(world: World) -> int: 'HF GS Cow Grotto': ("a #spider behind webs# in a grotto holds", None, ['overworld', 'sometimes']), 'HF Cow Grotto Cow': ("the #cobwebbed cow# gifts", "a #cow behind webs# in a grotto gifts", ['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"], "a chest spawned by #lighting flames in Haunted Wasteland# contains", ['overworld', 'sometimes']), + 'Wasteland Chest': (["#deep in the wasteland# is", "beneath #the sands#, flames reveal"], "a chest spawned by #lighting flames in the Haunted Wasteland# contains", ['overworld', 'sometimes']), 'Wasteland GS': ("a #spider in the wasteland# holds", None, ['overworld', 'sometimes']), 'Graveyard Royal Familys Tomb Chest': (["#flames in the royal tomb# reveal", "the #Composer Brothers hid#"], "#lighting flames in the royal tomb# rewards", ['overworld', 'sometimes']), 'ZF Bottom Freestanding PoH': ("#under the icy waters# lies", "at the #bottom of the lake in Zora's Fountain# lies", ['overworld', 'sometimes']), - 'GC Pot Freestanding PoH': ("spinning #Goron pottery# contains", "putting an explosive in a #happy face Goron Pot# rewards", ['overworld', 'sometimes']), + 'GC Pot Freestanding PoH': ("spinning #Goron pottery# contains", "the #Goron Pot's happy face# spits out", ['overworld', 'sometimes']), 'ZD King Zora Thawed': ("a #defrosted dignitary# gifts", "unfreezing #King Zora# grants", ['overworld', 'sometimes']), 'DMC Deku Scrub': ("a single #scrub in the crater# sells", None, ['overworld', 'sometimes']), 'DMC GS Crate': ("a spider under a #crate in the crater# holds", None, ['overworld', 'sometimes']), @@ -589,8 +589,8 @@ def tokens_required_by_settings(world: World) -> int: 'Water Temple MQ Freestanding Key': ("hidden in a #box under the lake# lies", "hidden in a #box in the Water Temple# lies", ['dungeon', 'sometimes']), 'Water Temple MQ GS Freestanding Key Area': ("the #locked spider under the lake# holds", "the #locked spider in the Water Temple# holds", ['dungeon', 'sometimes']), 'Water Temple MQ GS Triple Wall Torch': ("a spider behind a #gate under the lake# holds", "a spider behind a #gate in the Water Temple# holds", ['dungeon', 'sometimes']), - 'Gerudo Training Ground Underwater Silver Rupee Chest': (["those who seek #sunken silver rupees# will find", "the #thieves' underwater training# rewards"], "obtaining #silver rupees drowned in Gerudo Training Grounds# rewards", ['dungeon', 'sometimes']), - 'Gerudo Training Ground MQ Underwater Silver Rupee Chest': (["those who seek #sunken silver rupees# will find", "the #thieves' underwater training# rewards"], "obtaining #silver rupees drowned in Gerudo Training Grounds# rewards", ['dungeon', 'sometimes']), + 'Gerudo Training Ground Underwater Silver Rupee Chest': (["those who seek #sunken silver rupees# will find", "the #thieves' underwater training# rewards"], "obtaining the #underwater silver rupees in Gerudo Training Grounds# rewards", ['dungeon', 'sometimes']), + 'Gerudo Training Ground MQ Underwater Silver Rupee Chest': (["those who seek #sunken silver rupees# will find", "the #thieves' underwater training# rewards"], "obtaining the #underwater silver rupees in Gerudo Training Grounds# rewards", ['dungeon', 'sometimes']), 'Gerudo Training Ground Maze Path Final Chest': ("the final prize of #the thieves' training# is", "#Gerudo Training Grounds' final reward# contains", ['dungeon', 'sometimes']), 'Gerudo Training Ground MQ Ice Arrows Chest': ("the final prize of #the thieves' training# is", "#Gerudo Training Grounds' final reward# contains", ['dungeon', 'sometimes']), 'Spirit Temple Silver Gauntlets Chest': ("the treasure #sought by Nabooru# is", "upon the #Colossus's right hand# is", ['dungeon', 'sometimes']), @@ -901,7 +901,7 @@ def tokens_required_by_settings(world: World) -> int: 'Shadow Temple After Wind Enemy Chest': ("#mummies guarding a ferry# hide", None, 'exclude'), 'Shadow Temple After Wind Hidden Chest': ("#mummies guarding a ferry# hide", None, 'exclude'), 'Shadow Temple Spike Walls Left Chest': ("#walls consumed by a ball of fire# reveal", None, 'exclude'), - 'Shadow Temple Invisible Floormaster Chest': ("a #Floormaster in the house of the dead# guards", "a #Floormaster in the Shadow Temple# guards", 'exclude'), + 'Shadow Temple Invisible Floormaster Chest': ("the #Floormaster in the house of the dead# guards", "the #Floormaster in the Shadow Temple# guards", 'exclude'), 'Shadow Temple Boss Key Chest': ("#walls consumed by a ball of fire# reveal", None, 'exclude'), 'Shadow Temple MQ Compass Chest': ("the #Eye of Truth# pierces a hall of faces to reveal", None, 'exclude'), diff --git a/Hints.py b/Hints.py index 4863019e1..62003ea00 100644 --- a/Hints.py +++ b/Hints.py @@ -349,9 +349,6 @@ def color_text(gossip_text: GossipText) -> str: colors = list(gossip_text.colors) if gossip_text.colors is not None else [] color = 'White' - while text.count('#') > 2 * len(colors): - colors[:0] = [colors[0]] - while '#' in text: split_text = text.split('#', 2) if len(colors) > 0: @@ -988,7 +985,12 @@ def get_specific_hint(spoiler: Spoiler, world: World, checked: set[str], hint_ty location_text = '#%s#' % location_text item_text = get_hint(get_item_generic_name(location.item), world.settings.clearer_hints).text - return GossipText('%s #%s#.' % (location_text, item_text), ['Red', 'Green'], [location.name], [location.item.name]), [location] + colors = ['Red'] + while location_text.count('#') > 2 * len(colors): + colors.append('Red') + colors.append('Green') + + return GossipText('%s #%s#.' % (location_text, item_text), colors, [location.name], [location.item.name]), [location] def get_sometimes_hint(spoiler: Spoiler, world: World, checked: set[str]) -> HintReturn: From e2a25fa1bbdc6f7f830e85e1aab9b2d1408999e8 Mon Sep 17 00:00:00 2001 From: alkalineace Date: Sun, 27 Aug 2023 01:15:05 +0200 Subject: [PATCH 6/6] harmonise GTG name --- HintList.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/HintList.py b/HintList.py index a9577bc69..2bdbca928 100644 --- a/HintList.py +++ b/HintList.py @@ -589,10 +589,10 @@ def tokens_required_by_settings(world: World) -> int: 'Water Temple MQ Freestanding Key': ("hidden in a #box under the lake# lies", "hidden in a #box in the Water Temple# lies", ['dungeon', 'sometimes']), 'Water Temple MQ GS Freestanding Key Area': ("the #locked spider under the lake# holds", "the #locked spider in the Water Temple# holds", ['dungeon', 'sometimes']), 'Water Temple MQ GS Triple Wall Torch': ("a spider behind a #gate under the lake# holds", "a spider behind a #gate in the Water Temple# holds", ['dungeon', 'sometimes']), - 'Gerudo Training Ground Underwater Silver Rupee Chest': (["those who seek #sunken silver rupees# will find", "the #thieves' underwater training# rewards"], "obtaining the #underwater silver rupees in Gerudo Training Grounds# rewards", ['dungeon', 'sometimes']), - 'Gerudo Training Ground MQ Underwater Silver Rupee Chest': (["those who seek #sunken silver rupees# will find", "the #thieves' underwater training# rewards"], "obtaining the #underwater silver rupees in Gerudo Training Grounds# rewards", ['dungeon', 'sometimes']), - 'Gerudo Training Ground Maze Path Final Chest': ("the final prize of #the thieves' training# is", "#Gerudo Training Grounds' final reward# contains", ['dungeon', 'sometimes']), - 'Gerudo Training Ground MQ Ice Arrows Chest': ("the final prize of #the thieves' training# is", "#Gerudo Training Grounds' final reward# contains", ['dungeon', 'sometimes']), + 'Gerudo Training Ground Underwater Silver Rupee Chest': (["those who seek #sunken silver rupees# will find", "the #thieves' underwater training# rewards"], "obtaining the #underwater silver rupees in Gerudo Training Ground# rewards", ['dungeon', 'sometimes']), + 'Gerudo Training Ground MQ Underwater Silver Rupee Chest': (["those who seek #sunken silver rupees# will find", "the #thieves' underwater training# rewards"], "obtaining the #underwater silver rupees in Gerudo Training Ground# rewards", ['dungeon', 'sometimes']), + 'Gerudo Training Ground Maze Path Final Chest': ("the final prize of #the thieves' training# is", "#Gerudo Training Ground final reward# contains", ['dungeon', 'sometimes']), + 'Gerudo Training Ground MQ Ice Arrows Chest': ("the final prize of #the thieves' training# is", "#Gerudo Training Ground final reward# contains", ['dungeon', 'sometimes']), 'Spirit Temple Silver Gauntlets Chest': ("the treasure #sought by Nabooru# is", "upon the #Colossus's right hand# is", ['dungeon', 'sometimes']), 'Spirit Temple Mirror Shield Chest': ("upon the #Colossus's left hand# is", None, ['dungeon', 'sometimes']), 'Spirit Temple MQ Child Hammer Switch Chest': ("a #temporal paradox in the Colossus# yields", "a #temporal paradox in the Spirit Temple# yields", ['dungeon', 'sometimes']),