Consider dungeon-related mail as part of the dungeon
@@ -498,6 +498,16 @@ class HintManager:
zone_name, specific_location_name = self.logic.split_location_name_by_zone(location_name)
zones_with_useful_locations.add(zone_name)
+ # Include dungeon-related mail with its dungeon, in addition to Mailbox.
+ if location_name == "Mailbox - Letter from Baito":
+ zones_with_useful_locations.add("Earth Temple")
+ zones_with_useful_locations.add(self.get_entrance_zone("Earth Temple - Jalhalla Heart Container"))
+ if location_name == "Mailbox - Letter from Orca":
+ zones_with_useful_locations.add("Forbidden Woods")
+ zones_with_useful_locations.add(self.get_entrance_zone("Forbidden Woods - Kalle Demos Heart Container"))
+ if location_name == "Mailbox - Letter from Aryll" or location_name == "Mailbox - Letter from Tingle":
+ zones_with_useful_locations.add("Forsaken Fortress")
+
# Now, we do the same with barren locations, identifying which zones have barren locations.
zones_with_barren_locations = set()
for location_name in barren_locations:
@@ -511,6 +521,16 @@ class HintManager:
zone_name, specific_location_name = self.logic.split_location_name_by_zone(location_name)
zones_with_barren_locations.add(zone_name)
+ # Include dungeon-related mail with its dungeon, in addition to Mailbox.
+ if location_name == "Mailbox - Letter from Baito":
+ zones_with_barren_locations.add("Earth Temple")
+ zones_with_barren_locations.add(self.get_entrance_zone("Earth Temple - Jalhalla Heart Container"))
+ if location_name == "Mailbox - Letter from Orca":
+ zones_with_barren_locations.add("Forbidden Woods")
+ zones_with_barren_locations.add(self.get_entrance_zone("Forbidden Woods - Kalle Demos Heart Container"))
+ if location_name == "Mailbox - Letter from Aryll" or location_name == "Mailbox - Letter from Tingle":
+ zones_with_barren_locations.add("Forsaken Fortress")
+
# Finally, the difference between the zones with barren locations and the zones with useful locations gives us our
# set of hintable barren zones.
barren_zones = zones_with_barren_locations - zones_with_useful_locations
