 cf0ae5e31b
			
		
	
	cf0ae5e31b
	
	
	
		
			
			Adds The Legend of Zelda: The Wind Waker as a supported game in Archipelago. The game uses [LagoLunatic's randomizer](https://github.com/LagoLunatic/wwrando) as its base (regarding logic, options, etc.) and builds from there.
		
			
				
	
	
		
			1273 lines
		
	
	
		
			55 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			1273 lines
		
	
	
		
			55 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from enum import Enum, Flag, auto
 | |
| from typing import TYPE_CHECKING, NamedTuple, Optional
 | |
| 
 | |
| from BaseClasses import Location, Region
 | |
| 
 | |
| if TYPE_CHECKING:
 | |
|     from .randomizers.Dungeons import Dungeon
 | |
| 
 | |
| 
 | |
| class TWWFlag(Flag):
 | |
|     """
 | |
|     This class represents flags used for categorizing game locations.
 | |
|     Flags are used to group locations by their specific gameplay or logic attributes.
 | |
|     """
 | |
| 
 | |
|     ALWAYS = auto()
 | |
|     DUNGEON = auto()
 | |
|     TNGL_CT = auto()
 | |
|     DG_SCRT = auto()
 | |
|     PZL_CVE = auto()
 | |
|     CBT_CVE = auto()
 | |
|     SAVAGE = auto()
 | |
|     GRT_FRY = auto()
 | |
|     SHRT_SQ = auto()
 | |
|     LONG_SQ = auto()
 | |
|     SPOILS = auto()
 | |
|     MINIGME = auto()
 | |
|     SPLOOSH = auto()
 | |
|     FREE_GF = auto()
 | |
|     MAILBOX = auto()
 | |
|     PLTFRMS = auto()
 | |
|     SUBMRIN = auto()
 | |
|     EYE_RFS = auto()
 | |
|     BG_OCTO = auto()
 | |
|     TRI_CHT = auto()
 | |
|     TRE_CHT = auto()
 | |
|     XPENSVE = auto()
 | |
|     ISLND_P = auto()
 | |
|     MISCELL = auto()
 | |
|     BOSS = auto()
 | |
|     OTHER = auto()
 | |
| 
 | |
| 
 | |
| class TWWLocationType(Enum):
 | |
|     """
 | |
|     This class defines constants for various types of locations in The Wind Waker.
 | |
|     """
 | |
| 
 | |
|     CHART = auto()
 | |
|     BOCTO = auto()
 | |
|     CHEST = auto()
 | |
|     SWTCH = auto()
 | |
|     PCKUP = auto()
 | |
|     EVENT = auto()
 | |
|     SPECL = auto()
 | |
| 
 | |
| 
 | |
| class TWWLocationData(NamedTuple):
 | |
|     """
 | |
|     This class represents the data for a location in The Wind Waker.
 | |
| 
 | |
|     :param code: The unique code identifier for the location.
 | |
|     :param flags: The flags that categorize the location.
 | |
|     :param region: The name of the region where the location resides.
 | |
|     :param stage_id: The ID of the stage where the location resides.
 | |
|     :param type: The type of the location.
 | |
|     :param bit: The bit in memory that is associated with the location. This is combined with other location data to
 | |
|     determine where in memory to determine whether the location has been checked. If the location is a special type,
 | |
|     this bit is ignored.
 | |
|     :param address: For certain location types, this variable contains the address of the byte with the check bit for
 | |
|     that location. Defaults to `None`.
 | |
|     """
 | |
| 
 | |
|     code: Optional[int]
 | |
|     flags: TWWFlag
 | |
|     region: str
 | |
|     stage_id: int
 | |
|     type: TWWLocationType
 | |
|     bit: int
 | |
|     address: Optional[int] = None
 | |
| 
 | |
| 
 | |
| class TWWLocation(Location):
 | |
|     """
 | |
|     This class represents a location in The Wind Waker.
 | |
| 
 | |
|     :param player: The ID of the player whose world the location is in.
 | |
|     :param name: The name of the location.
 | |
|     :param parent: The location's parent region.
 | |
|     :param data: The data associated with this location.
 | |
|     """
 | |
| 
 | |
|     game: str = "The Wind Waker"
 | |
|     dungeon: Optional["Dungeon"] = None
 | |
| 
 | |
|     def __init__(self, player: int, name: str, parent: Region, data: TWWLocationData):
 | |
|         address = None if data.code is None else TWWLocation.get_apid(data.code)
 | |
|         super().__init__(player, name, address=address, parent=parent)
 | |
| 
 | |
|         self.code = data.code
 | |
|         self.flags = data.flags
 | |
|         self.region = data.region
 | |
|         self.stage_id = data.stage_id
 | |
|         self.type = data.type
 | |
|         self.bit = data.bit
 | |
|         self.address = self.address
 | |
| 
 | |
|     @staticmethod
 | |
|     def get_apid(code: int) -> int:
 | |
|         """
 | |
|         Compute the Archipelago ID for the given location code.
 | |
| 
 | |
|         :param code: The unique code for the location.
 | |
|         :return: The computed Archipelago ID.
 | |
|         """
 | |
|         base_id: int = 2326528
 | |
|         return base_id + code
 | |
| 
 | |
| 
 | |
| DUNGEON_NAMES = [
 | |
|     "Dragon Roost Cavern",
 | |
|     "Forbidden Woods",
 | |
|     "Tower of the Gods",
 | |
|     "Forsaken Fortress",
 | |
|     "Earth Temple",
 | |
|     "Wind Temple",
 | |
| ]
 | |
| 
 | |
| LOCATION_TABLE: dict[str, TWWLocationData] = {
 | |
|     # Outset Island
 | |
|     "Outset Island - Underneath Link's House": TWWLocationData(
 | |
|         0, TWWFlag.MISCELL, "The Great Sea", 0xB, TWWLocationType.CHEST, 5
 | |
|     ),
 | |
|     "Outset Island - Mesa the Grasscutter's House": TWWLocationData(
 | |
|         1, TWWFlag.MISCELL, "The Great Sea", 0xB, TWWLocationType.CHEST, 4
 | |
|     ),
 | |
|     "Outset Island - Orca - Give 10 Knight's Crests": TWWLocationData(
 | |
|         2, TWWFlag.SPOILS, "The Great Sea", 0xB, TWWLocationType.EVENT, 5, 0x803C5237
 | |
|     ),
 | |
|     # "Outset Island - Orca - Hit 500 Times": TWWLocationData(
 | |
|     #     3, TWWFlag.OTHER, "The Great Sea"
 | |
|     # ),
 | |
|     "Outset Island - Great Fairy": TWWLocationData(
 | |
|         4, TWWFlag.GRT_FRY, "The Great Sea", 0xC, TWWLocationType.EVENT, 4, 0x803C525C
 | |
|     ),
 | |
|     "Outset Island - Jabun's Cave": TWWLocationData(
 | |
|         5, TWWFlag.ISLND_P, "The Great Sea", 0xB, TWWLocationType.CHEST, 6
 | |
|     ),
 | |
|     "Outset Island - Dig up Black Soil": TWWLocationData(
 | |
|         6, TWWFlag.ISLND_P, "The Great Sea", 0x0, TWWLocationType.PCKUP, 2
 | |
|     ),
 | |
|     "Outset Island - Savage Labyrinth - Floor 30": TWWLocationData(
 | |
|         7, TWWFlag.SAVAGE, "Savage Labyrinth", 0xD, TWWLocationType.CHEST, 11
 | |
|     ),
 | |
|     "Outset Island - Savage Labyrinth - Floor 50": TWWLocationData(
 | |
|         8, TWWFlag.SAVAGE, "Savage Labyrinth", 0xD, TWWLocationType.CHEST, 12
 | |
|     ),
 | |
| 
 | |
|     # Windfall Island
 | |
|     "Windfall Island - Jail - Tingle - First Gift": TWWLocationData(
 | |
|         9, TWWFlag.FREE_GF, "The Great Sea", 0xB, TWWLocationType.SWTCH, 53
 | |
|     ),
 | |
|     "Windfall Island - Jail - Tingle - Second Gift": TWWLocationData(
 | |
|         10, TWWFlag.FREE_GF, "The Great Sea", 0xB, TWWLocationType.SWTCH, 54
 | |
|     ),
 | |
|     "Windfall Island - Jail - Maze Chest": TWWLocationData(
 | |
|         11, TWWFlag.ISLND_P, "The Great Sea", 0xB, TWWLocationType.CHEST, 0
 | |
|     ),
 | |
|     "Windfall Island - Chu Jelly Juice Shop - Give 15 Green Chu Jelly": TWWLocationData(
 | |
|         12, TWWFlag.SPOILS, "The Great Sea", 0xB, TWWLocationType.EVENT, 2, 0x803C5239
 | |
|     ),
 | |
|     "Windfall Island - Chu Jelly Juice Shop - Give 15 Blue Chu Jelly": TWWLocationData(
 | |
|         13, TWWFlag.SPOILS | TWWFlag.LONG_SQ, "The Great Sea", 0xB, TWWLocationType.EVENT, 1, 0x803C5239
 | |
|     ),
 | |
|     "Windfall Island - Ivan - Catch Killer Bees": TWWLocationData(
 | |
|         14, TWWFlag.SHRT_SQ, "The Great Sea", 0x0, TWWLocationType.EVENT, 6, 0x803C523F
 | |
|     ),
 | |
|     "Windfall Island - Mrs. Marie - Catch Killer Bees": TWWLocationData(
 | |
|         15, TWWFlag.SHRT_SQ, "The Great Sea", 0xB, TWWLocationType.EVENT, 7, 0x803C524B
 | |
|     ),
 | |
|     "Windfall Island - Mrs. Marie - Give 1 Joy Pendant": TWWLocationData(
 | |
|         16, TWWFlag.SPOILS, "The Great Sea", 0xB, TWWLocationType.EVENT, 0, 0x803C52EC
 | |
|     ),
 | |
|     "Windfall Island - Mrs. Marie - Give 21 Joy Pendants": TWWLocationData(
 | |
|         17, TWWFlag.SPOILS, "The Great Sea", 0xB, TWWLocationType.EVENT, 3, 0x803C5248
 | |
|     ),
 | |
|     "Windfall Island - Mrs. Marie - Give 40 Joy Pendants": TWWLocationData(
 | |
|         18, TWWFlag.SPOILS, "The Great Sea", 0xB, TWWLocationType.EVENT, 2, 0x803C5248
 | |
|     ),
 | |
|     "Windfall Island - Lenzo's House - Left Chest": TWWLocationData(
 | |
|         19, TWWFlag.SHRT_SQ, "The Great Sea", 0xB, TWWLocationType.CHEST, 1
 | |
|     ),
 | |
|     "Windfall Island - Lenzo's House - Right Chest": TWWLocationData(
 | |
|         20, TWWFlag.SHRT_SQ, "The Great Sea", 0xB, TWWLocationType.CHEST, 2
 | |
|     ),
 | |
|     "Windfall Island - Lenzo's House - Become Lenzo's Assistant": TWWLocationData(
 | |
|         21, TWWFlag.LONG_SQ, "The Great Sea", 0xB, TWWLocationType.SPECL, 0, 0x803C52F0
 | |
|     ),
 | |
|     "Windfall Island - Lenzo's House - Bring Forest Firefly": TWWLocationData(
 | |
|         22, TWWFlag.LONG_SQ, "The Great Sea", 0xB, TWWLocationType.EVENT, 5, 0x803C5295
 | |
|     ),
 | |
|     "Windfall Island - House of Wealth Chest": TWWLocationData(
 | |
|         23, TWWFlag.MISCELL, "The Great Sea", 0xB, TWWLocationType.CHEST, 3
 | |
|     ),
 | |
|     "Windfall Island - Maggie's Father - Give 20 Skull Necklaces": TWWLocationData(
 | |
|         24, TWWFlag.SPOILS, "The Great Sea", 0xB, TWWLocationType.EVENT, 4, 0x803C52F1
 | |
|     ),
 | |
|     "Windfall Island - Maggie - Free Item": TWWLocationData(
 | |
|         25, TWWFlag.FREE_GF, "The Great Sea", 0xB, TWWLocationType.EVENT, 0, 0x803C5296
 | |
|     ),
 | |
|     "Windfall Island - Maggie - Delivery Reward": TWWLocationData(
 | |
|         # TODO: Where is the flag for this location. Using a temporary workaround for now.
 | |
|         26, TWWFlag.SHRT_SQ, "The Great Sea", 0xB, TWWLocationType.SPECL, 0
 | |
|     ),
 | |
|     "Windfall Island - Cafe Bar - Postman": TWWLocationData(
 | |
|         27, TWWFlag.SHRT_SQ, "The Great Sea", 0xB, TWWLocationType.EVENT, 1, 0x803C5296
 | |
|     ),
 | |
|     "Windfall Island - Kreeb - Light Up Lighthouse": TWWLocationData(
 | |
|         28, TWWFlag.SHRT_SQ, "The Great Sea", 0x0, TWWLocationType.EVENT, 5, 0x803C5247
 | |
|     ),
 | |
|     "Windfall Island - Transparent Chest": TWWLocationData(
 | |
|         29, TWWFlag.SHRT_SQ, "The Great Sea", 0x0, TWWLocationType.CHEST, 10
 | |
|     ),
 | |
|     "Windfall Island - Tott - Teach Rhythm": TWWLocationData(
 | |
|         30, TWWFlag.FREE_GF, "The Great Sea", 0x0, TWWLocationType.EVENT, 6, 0x803C5238
 | |
|     ),
 | |
|     "Windfall Island - Pirate Ship": TWWLocationData(
 | |
|         31, TWWFlag.MINIGME, "The Great Sea", 0xD, TWWLocationType.CHEST, 5
 | |
|     ),
 | |
|     "Windfall Island - 5 Rupee Auction": TWWLocationData(
 | |
|         32, TWWFlag.XPENSVE | TWWFlag.MINIGME, "The Great Sea", 0xB, TWWLocationType.EVENT, 7, 0x803C523C
 | |
|     ),
 | |
|     "Windfall Island - 40 Rupee Auction": TWWLocationData(
 | |
|         33, TWWFlag.XPENSVE | TWWFlag.MINIGME, "The Great Sea", 0xB, TWWLocationType.EVENT, 0, 0x803C523B
 | |
|     ),
 | |
|     "Windfall Island - 60 Rupee Auction": TWWLocationData(
 | |
|         34, TWWFlag.XPENSVE | TWWFlag.MINIGME, "The Great Sea", 0xB, TWWLocationType.EVENT, 6, 0x803C523C
 | |
|     ),
 | |
|     "Windfall Island - 80 Rupee Auction": TWWLocationData(
 | |
|         35, TWWFlag.XPENSVE | TWWFlag.MINIGME, "The Great Sea", 0xB, TWWLocationType.EVENT, 5, 0x803C523C
 | |
|     ),
 | |
|     "Windfall Island - Zunari - Stock Exotic Flower in Zunari's Shop": TWWLocationData(
 | |
|         36, TWWFlag.SHRT_SQ, "The Great Sea", 0x0, TWWLocationType.EVENT, 6, 0x803C5295
 | |
|     ),
 | |
|     "Windfall Island - Sam - Decorate the Town": TWWLocationData(
 | |
|         37, TWWFlag.LONG_SQ, "The Great Sea", 0x0, TWWLocationType.EVENT, 4, 0x803C5247
 | |
|     ),
 | |
|     # "Windfall Island - Kane - Place Shop Guru Statue on Gate": TWWLocationData(
 | |
|     #     38, TWWFlag.OTHER, "The Great Sea", 0x0, TWWLocationType.EVENT, 4, 0x803C5250
 | |
|     # ),
 | |
|     # "Windfall Island - Kane - Place Postman Statue on Gate": TWWLocationData(
 | |
|     #     39, TWWFlag.OTHER, "The Great Sea", 0x0, TWWLocationType.EVENT, 3, 0x803C5250
 | |
|     # ),
 | |
|     # "Windfall Island - Kane - Place Six Flags on Gate": TWWLocationData(
 | |
|     #     40, TWWFlag.OTHER, "The Great Sea", 0x0, TWWLocationType.EVENT, 2, 0x803C5250
 | |
|     # ),
 | |
|     # "Windfall Island - Kane - Place Six Idols on Gate": TWWLocationData(
 | |
|     #     41, TWWFlag.OTHER, "The Great Sea", 0x0, TWWLocationType.EVENT, 1, 0x803C5250
 | |
|     # ),
 | |
|     "Windfall Island - Mila - Follow the Thief": TWWLocationData(
 | |
|         42, TWWFlag.SHRT_SQ, "The Great Sea", 0x0, TWWLocationType.EVENT, 3, 0x803C523A
 | |
|     ),
 | |
|     "Windfall Island - Battlesquid - First Prize": TWWLocationData(
 | |
|         43, TWWFlag.SPLOOSH, "The Great Sea", 0xB, TWWLocationType.EVENT, 0, 0x803C532A
 | |
|     ),
 | |
|     "Windfall Island - Battlesquid - Second Prize": TWWLocationData(
 | |
|         44, TWWFlag.SPLOOSH, "The Great Sea", 0xB, TWWLocationType.EVENT, 1, 0x803C532A
 | |
|     ),
 | |
|     "Windfall Island - Battlesquid - Under 20 Shots Prize": TWWLocationData(
 | |
|         45, TWWFlag.SPLOOSH, "The Great Sea", 0xB, TWWLocationType.EVENT, 0, 0x803C532B
 | |
|     ),
 | |
|     "Windfall Island - Pompie and Vera - Secret Meeting Photo": TWWLocationData(
 | |
|         46, TWWFlag.SHRT_SQ, "The Great Sea", 0x0, TWWLocationType.EVENT, 2, 0x803C5295
 | |
|     ),
 | |
|     "Windfall Island - Kamo - Full Moon Photo": TWWLocationData(
 | |
|         47, TWWFlag.LONG_SQ, "The Great Sea", 0x0, TWWLocationType.EVENT, 4, 0x803C5295
 | |
|     ),
 | |
|     "Windfall Island - Minenco - Miss Windfall Photo": TWWLocationData(
 | |
|         48, TWWFlag.SHRT_SQ, "The Great Sea", 0x0, TWWLocationType.EVENT, 3, 0x803C5295
 | |
|     ),
 | |
|     "Windfall Island - Linda and Anton": TWWLocationData(
 | |
|         49, TWWFlag.LONG_SQ, "The Great Sea", 0xB, TWWLocationType.EVENT, 7, 0x803C524E
 | |
|     ),
 | |
| 
 | |
|     # Dragon Roost Island
 | |
|     "Dragon Roost Island - Wind Shrine": TWWLocationData(
 | |
|         50, TWWFlag.MISCELL, "The Great Sea", 0x0, TWWLocationType.EVENT, 3, 0x803C5253
 | |
|     ),
 | |
|     "Dragon Roost Island - Rito Aerie - Give Hoskit 20 Golden Feathers": TWWLocationData(
 | |
|         51, TWWFlag.SPOILS, "The Great Sea", 0xB, TWWLocationType.EVENT, 7, 0x803C524D
 | |
|     ),
 | |
|     "Dragon Roost Island - Chest on Top of Boulder": TWWLocationData(
 | |
|         52, TWWFlag.ISLND_P, "The Great Sea", 0x0, TWWLocationType.CHEST, 8
 | |
|     ),
 | |
|     "Dragon Roost Island - Fly Across Platforms Around Island": TWWLocationData(
 | |
|         53, TWWFlag.ISLND_P, "The Great Sea", 0x0, TWWLocationType.CHEST, 9
 | |
|     ),
 | |
|     "Dragon Roost Island - Rito Aerie - Mail Sorting": TWWLocationData(
 | |
|         54, TWWFlag.MINIGME, "The Great Sea", 0xB, TWWLocationType.EVENT, 0, 0x803C5253
 | |
|     ),
 | |
|     "Dragon Roost Island - Secret Cave": TWWLocationData(
 | |
|         55, TWWFlag.CBT_CVE, "Dragon Roost Island Secret Cave", 0xD, TWWLocationType.CHEST, 0
 | |
|     ),
 | |
| 
 | |
|     # Dragon Roost Cavern
 | |
|     "Dragon Roost Cavern - First Room": TWWLocationData(
 | |
|         56, TWWFlag.DUNGEON, "Dragon Roost Cavern", 0x3, TWWLocationType.CHEST, 0
 | |
|     ),
 | |
|     "Dragon Roost Cavern - Alcove With Water Jugs": TWWLocationData(
 | |
|         57, TWWFlag.DUNGEON, "Dragon Roost Cavern", 0x3, TWWLocationType.CHEST, 2
 | |
|     ),
 | |
|     "Dragon Roost Cavern - Water Jug on Upper Shelf": TWWLocationData(
 | |
|         58, TWWFlag.DUNGEON | TWWFlag.DG_SCRT, "Dragon Roost Cavern", 0x3, TWWLocationType.PCKUP, 1
 | |
|     ),
 | |
|     "Dragon Roost Cavern - Boarded Up Chest": TWWLocationData(
 | |
|         59, TWWFlag.DUNGEON, "Dragon Roost Cavern", 0x3, TWWLocationType.CHEST, 1
 | |
|     ),
 | |
|     "Dragon Roost Cavern - Chest Across Lava Pit": TWWLocationData(
 | |
|         60, TWWFlag.DUNGEON, "Dragon Roost Cavern", 0x3, TWWLocationType.CHEST, 13
 | |
|     ),
 | |
|     "Dragon Roost Cavern - Rat Room": TWWLocationData(
 | |
|         61, TWWFlag.DUNGEON, "Dragon Roost Cavern", 0x3, TWWLocationType.CHEST, 14
 | |
|     ),
 | |
|     "Dragon Roost Cavern - Rat Room Boarded Up Chest": TWWLocationData(
 | |
|         62, TWWFlag.DUNGEON, "Dragon Roost Cavern", 0x3, TWWLocationType.CHEST, 3
 | |
|     ),
 | |
|     "Dragon Roost Cavern - Bird's Nest": TWWLocationData(
 | |
|         63, TWWFlag.DUNGEON, "Dragon Roost Cavern", 0x3, TWWLocationType.PCKUP, 3
 | |
|     ),
 | |
|     "Dragon Roost Cavern - Dark Room": TWWLocationData(
 | |
|         64, TWWFlag.DUNGEON, "Dragon Roost Cavern", 0x3, TWWLocationType.CHEST, 4
 | |
|     ),
 | |
|     "Dragon Roost Cavern - Tingle Chest in Hub Room": TWWLocationData(
 | |
|         65, TWWFlag.TNGL_CT | TWWFlag.DUNGEON, "Dragon Roost Cavern", 0x3, TWWLocationType.CHEST, 16
 | |
|     ),
 | |
|     "Dragon Roost Cavern - Pot on Upper Shelf in Pot Room": TWWLocationData(
 | |
|         66, TWWFlag.DUNGEON | TWWFlag.DG_SCRT, "Dragon Roost Cavern", 0x3, TWWLocationType.PCKUP, 0
 | |
|     ),
 | |
|     "Dragon Roost Cavern - Pot Room Chest": TWWLocationData(
 | |
|         67, TWWFlag.DUNGEON, "Dragon Roost Cavern", 0x3, TWWLocationType.CHEST, 6
 | |
|     ),
 | |
|     "Dragon Roost Cavern - Miniboss": TWWLocationData(
 | |
|         68, TWWFlag.DUNGEON, "Dragon Roost Cavern", 0x3, TWWLocationType.CHEST, 17
 | |
|     ),
 | |
|     "Dragon Roost Cavern - Under Rope Bridge": TWWLocationData(
 | |
|         69, TWWFlag.DUNGEON, "Dragon Roost Cavern", 0x3, TWWLocationType.CHEST, 7
 | |
|     ),
 | |
|     "Dragon Roost Cavern - Tingle Statue Chest": TWWLocationData(
 | |
|         70, TWWFlag.TNGL_CT | TWWFlag.DUNGEON, "Dragon Roost Cavern", 0x3, TWWLocationType.CHEST, 15
 | |
|     ),
 | |
|     "Dragon Roost Cavern - Big Key Chest": TWWLocationData(
 | |
|         71, TWWFlag.DUNGEON, "Dragon Roost Cavern", 0x3, TWWLocationType.CHEST, 12
 | |
|     ),
 | |
|     "Dragon Roost Cavern - Boss Stairs Right Chest": TWWLocationData(
 | |
|         72, TWWFlag.DUNGEON, "Dragon Roost Cavern", 0x3, TWWLocationType.CHEST, 11
 | |
|     ),
 | |
|     "Dragon Roost Cavern - Boss Stairs Left Chest": TWWLocationData(
 | |
|         73, TWWFlag.DUNGEON, "Dragon Roost Cavern", 0x3, TWWLocationType.CHEST, 10
 | |
|     ),
 | |
|     "Dragon Roost Cavern - Boss Stairs Right Pot": TWWLocationData(
 | |
|         74, TWWFlag.DUNGEON | TWWFlag.DG_SCRT, "Dragon Roost Cavern", 0x3, TWWLocationType.PCKUP, 6
 | |
|     ),
 | |
|     "Dragon Roost Cavern - Gohma Heart Container": TWWLocationData(
 | |
|         75, TWWFlag.DUNGEON | TWWFlag.BOSS, "Gohma Boss Arena", 0x3, TWWLocationType.PCKUP, 21
 | |
|     ),
 | |
| 
 | |
|     # Forest Haven
 | |
|     "Forest Haven - On Tree Branch": TWWLocationData(
 | |
|         76, TWWFlag.ISLND_P, "The Great Sea", 0xB, TWWLocationType.PCKUP, 2
 | |
|     ),
 | |
|     "Forest Haven - Small Island Chest": TWWLocationData(
 | |
|         77, TWWFlag.ISLND_P, "The Great Sea", 0x0, TWWLocationType.CHEST, 7
 | |
|     ),
 | |
| 
 | |
|     # Forbidden Woods
 | |
|     "Forbidden Woods - First Room": TWWLocationData(
 | |
|         78, TWWFlag.DUNGEON, "Forbidden Woods", 0x4, TWWLocationType.CHEST, 0
 | |
|     ),
 | |
|     "Forbidden Woods - Inside Hollow Tree's Mouth": TWWLocationData(
 | |
|         79, TWWFlag.DUNGEON, "Forbidden Woods", 0x4, TWWLocationType.CHEST, 1
 | |
|     ),
 | |
|     "Forbidden Woods - Climb to Top Using Boko Baba Bulbs": TWWLocationData(
 | |
|         80, TWWFlag.DUNGEON, "Forbidden Woods", 0x4, TWWLocationType.CHEST, 2
 | |
|     ),
 | |
|     "Forbidden Woods - Pot High Above Hollow Tree": TWWLocationData(
 | |
|         81, TWWFlag.DUNGEON | TWWFlag.DG_SCRT, "Forbidden Woods", 0x4, TWWLocationType.PCKUP, 1
 | |
|     ),
 | |
|     "Forbidden Woods - Hole in Tree": TWWLocationData(
 | |
|         82, TWWFlag.DUNGEON, "Forbidden Woods", 0x4, TWWLocationType.CHEST, 6
 | |
|     ),
 | |
|     "Forbidden Woods - Morth Pit": TWWLocationData(
 | |
|         83, TWWFlag.DUNGEON, "Forbidden Woods", 0x4, TWWLocationType.CHEST, 8
 | |
|     ),
 | |
|     "Forbidden Woods - Vine Maze Left Chest": TWWLocationData(
 | |
|         84, TWWFlag.DUNGEON, "Forbidden Woods", 0x4, TWWLocationType.CHEST, 7
 | |
|     ),
 | |
|     "Forbidden Woods - Vine Maze Right Chest": TWWLocationData(
 | |
|         85, TWWFlag.DUNGEON, "Forbidden Woods", 0x4, TWWLocationType.CHEST, 5
 | |
|     ),
 | |
|     "Forbidden Woods - Highest Pot in Vine Maze": TWWLocationData(
 | |
|         86, TWWFlag.DUNGEON | TWWFlag.DG_SCRT, "Forbidden Woods", 0x4, TWWLocationType.PCKUP, 22
 | |
|     ),
 | |
|     "Forbidden Woods - Tall Room Before Miniboss": TWWLocationData(
 | |
|         87, TWWFlag.DUNGEON, "Forbidden Woods", 0x4, TWWLocationType.CHEST, 12
 | |
|     ),
 | |
|     "Forbidden Woods - Mothula Miniboss Room": TWWLocationData(
 | |
|         88, TWWFlag.DUNGEON, "Forbidden Woods Miniboss Arena", 0x4, TWWLocationType.CHEST, 10
 | |
|     ),
 | |
|     "Forbidden Woods - Past Seeds Hanging by Vines": TWWLocationData(
 | |
|         89, TWWFlag.DUNGEON, "Forbidden Woods", 0x4, TWWLocationType.CHEST, 3
 | |
|     ),
 | |
|     "Forbidden Woods - Chest Across Red Hanging Flower": TWWLocationData(
 | |
|         90, TWWFlag.DUNGEON, "Forbidden Woods", 0x4, TWWLocationType.CHEST, 11
 | |
|     ),
 | |
|     "Forbidden Woods - Tingle Statue Chest": TWWLocationData(
 | |
|         91, TWWFlag.TNGL_CT | TWWFlag.DUNGEON, "Forbidden Woods", 0x4, TWWLocationType.CHEST, 15
 | |
|     ),
 | |
|     "Forbidden Woods - Chest in Locked Tree Trunk": TWWLocationData(
 | |
|         92, TWWFlag.DUNGEON, "Forbidden Woods", 0x4, TWWLocationType.CHEST, 9
 | |
|     ),
 | |
|     "Forbidden Woods - Big Key Chest": TWWLocationData(
 | |
|         93, TWWFlag.DUNGEON, "Forbidden Woods", 0x4, TWWLocationType.CHEST, 4
 | |
|     ),
 | |
|     "Forbidden Woods - Double Mothula Room": TWWLocationData(
 | |
|         94, TWWFlag.DUNGEON, "Forbidden Woods", 0x4, TWWLocationType.CHEST, 14
 | |
|     ),
 | |
|     "Forbidden Woods - Kalle Demos Heart Container": TWWLocationData(
 | |
|         95, TWWFlag.DUNGEON | TWWFlag.BOSS, "Kalle Demos Boss Arena", 0x4, TWWLocationType.PCKUP, 21
 | |
|     ),
 | |
| 
 | |
|     # Greatfish Isle
 | |
|     "Greatfish Isle - Hidden Chest": TWWLocationData(
 | |
|         96, TWWFlag.ISLND_P, "The Great Sea", 0x0, TWWLocationType.CHEST, 6
 | |
|     ),
 | |
| 
 | |
|     # Tower of the Gods
 | |
|     "Tower of the Gods - Chest Behind Bombable Walls": TWWLocationData(
 | |
|         97, TWWFlag.DUNGEON, "Tower of the Gods", 0x5, TWWLocationType.CHEST, 2
 | |
|     ),
 | |
|     "Tower of the Gods - Pot Behind Bombable Walls": TWWLocationData(
 | |
|         98, TWWFlag.DUNGEON | TWWFlag.DG_SCRT, "Tower of the Gods", 0x5, TWWLocationType.PCKUP, 0
 | |
|     ),
 | |
|     "Tower of the Gods - Hop Across Floating Boxes": TWWLocationData(
 | |
|         99, TWWFlag.DUNGEON, "Tower of the Gods", 0x5, TWWLocationType.CHEST, 1
 | |
|     ),
 | |
|     "Tower of the Gods - Light Two Torches": TWWLocationData(
 | |
|         100, TWWFlag.DUNGEON, "Tower of the Gods", 0x5, TWWLocationType.CHEST, 10
 | |
|     ),
 | |
|     "Tower of the Gods - Skulls Room Chest": TWWLocationData(
 | |
|         101, TWWFlag.DUNGEON, "Tower of the Gods", 0x5, TWWLocationType.CHEST, 3
 | |
|     ),
 | |
|     "Tower of the Gods - Shoot Eye Above Skulls Room Chest": TWWLocationData(
 | |
|         102, TWWFlag.DUNGEON, "Tower of the Gods", 0x5, TWWLocationType.CHEST, 9
 | |
|     ),
 | |
|     "Tower of the Gods - Tingle Statue Chest": TWWLocationData(
 | |
|         103, TWWFlag.TNGL_CT | TWWFlag.DUNGEON, "Tower of the Gods", 0x5, TWWLocationType.CHEST, 15
 | |
|     ),
 | |
|     "Tower of the Gods - First Chest Guarded by Armos Knights": TWWLocationData(
 | |
|         104, TWWFlag.DUNGEON, "Tower of the Gods", 0x5, TWWLocationType.CHEST, 6
 | |
|     ),
 | |
|     "Tower of the Gods - Stone Tablet": TWWLocationData(
 | |
|         105, TWWFlag.DUNGEON, "Tower of the Gods", 0x5, TWWLocationType.EVENT, 4, 0x803C5251
 | |
|     ),
 | |
|     "Tower of the Gods - Darknut Miniboss Room": TWWLocationData(
 | |
|         106, TWWFlag.DUNGEON, "Tower of the Gods Miniboss Arena", 0x5, TWWLocationType.CHEST, 5
 | |
|     ),
 | |
|     "Tower of the Gods - Second Chest Guarded by Armos Knights": TWWLocationData(
 | |
|         107, TWWFlag.DUNGEON, "Tower of the Gods", 0x5, TWWLocationType.CHEST, 8
 | |
|     ),
 | |
|     "Tower of the Gods - Floating Platforms Room": TWWLocationData(
 | |
|         108, TWWFlag.DUNGEON, "Tower of the Gods", 0x5, TWWLocationType.CHEST, 4
 | |
|     ),
 | |
|     "Tower of the Gods - Top of Floating Platforms Room": TWWLocationData(
 | |
|         109, TWWFlag.DUNGEON, "Tower of the Gods", 0x5, TWWLocationType.CHEST, 11
 | |
|     ),
 | |
|     "Tower of the Gods - Eastern Pot in Big Key Chest Room": TWWLocationData(
 | |
|         110, TWWFlag.DUNGEON | TWWFlag.DG_SCRT, "Tower of the Gods", 0x5, TWWLocationType.PCKUP, 1
 | |
|     ),
 | |
|     "Tower of the Gods - Big Key Chest": TWWLocationData(
 | |
|         111, TWWFlag.DUNGEON, "Tower of the Gods", 0x5, TWWLocationType.CHEST, 0
 | |
|     ),
 | |
|     "Tower of the Gods - Gohdan Heart Container": TWWLocationData(
 | |
|         112, TWWFlag.DUNGEON | TWWFlag.BOSS, "Gohdan Boss Arena", 0x5, TWWLocationType.PCKUP, 21
 | |
|     ),
 | |
| 
 | |
|     # Hyrule
 | |
|     "Hyrule - Master Sword Chamber": TWWLocationData(
 | |
|         113, TWWFlag.DUNGEON, "Master Sword Chamber", 0x9, TWWLocationType.CHEST, 0
 | |
|     ),
 | |
| 
 | |
|     # Forsaken Fortress
 | |
|     "Forsaken Fortress - Phantom Ganon": TWWLocationData(
 | |
|         114, TWWFlag.DUNGEON, "The Great Sea", 0x0, TWWLocationType.CHEST, 16
 | |
|     ),
 | |
|     "Forsaken Fortress - Chest Outside Upper Jail Cell": TWWLocationData(
 | |
|         115, TWWFlag.DUNGEON, "The Great Sea", 0x2, TWWLocationType.CHEST, 0
 | |
|     ),
 | |
|     "Forsaken Fortress - Chest Inside Lower Jail Cell": TWWLocationData(
 | |
|         116, TWWFlag.DUNGEON, "The Great Sea", 0x2, TWWLocationType.CHEST, 3
 | |
|     ),
 | |
|     "Forsaken Fortress - Chest Guarded By Bokoblin": TWWLocationData(
 | |
|         117, TWWFlag.DUNGEON, "The Great Sea", 0x2, TWWLocationType.CHEST, 2
 | |
|     ),
 | |
|     "Forsaken Fortress - Chest on Bed": TWWLocationData(
 | |
|         118, TWWFlag.DUNGEON, "The Great Sea", 0x2, TWWLocationType.CHEST, 1
 | |
|     ),
 | |
|     "Forsaken Fortress - Helmaroc King Heart Container": TWWLocationData(
 | |
|         119, TWWFlag.DUNGEON | TWWFlag.BOSS, "Helmaroc King Boss Arena", 0x2, TWWLocationType.PCKUP, 21
 | |
|     ),
 | |
| 
 | |
|     # Mother and Child Isles
 | |
|     "Mother and Child Isles - Inside Mother Isle": TWWLocationData(
 | |
|         120, TWWFlag.MISCELL, "The Great Sea", 0x0, TWWLocationType.CHEST, 28
 | |
|     ),
 | |
| 
 | |
|     # Fire Mountain
 | |
|     "Fire Mountain - Cave - Chest": TWWLocationData(
 | |
|         121, TWWFlag.PZL_CVE | TWWFlag.CBT_CVE, "Fire Mountain Secret Cave", 0xC, TWWLocationType.CHEST, 0
 | |
|     ),
 | |
|     "Fire Mountain - Lookout Platform Chest": TWWLocationData(
 | |
|         122, TWWFlag.PLTFRMS, "The Great Sea", 0x1, TWWLocationType.CHEST, 1
 | |
|     ),
 | |
|     "Fire Mountain - Lookout Platform - Destroy the Cannons": TWWLocationData(
 | |
|         123, TWWFlag.PLTFRMS, "The Great Sea", 0x1, TWWLocationType.CHEST, 0
 | |
|     ),
 | |
|     "Fire Mountain - Big Octo": TWWLocationData(
 | |
|         124, TWWFlag.BG_OCTO, "The Great Sea", 0x0, TWWLocationType.BOCTO, 0, 0x803C51F0
 | |
|     ),
 | |
| 
 | |
|     # Ice Ring Isle
 | |
|     "Ice Ring Isle - Frozen Chest": TWWLocationData(
 | |
|         125, TWWFlag.ISLND_P, "The Great Sea", 0x0, TWWLocationType.CHEST, 18
 | |
|     ),
 | |
|     "Ice Ring Isle - Cave - Chest": TWWLocationData(
 | |
|         126, TWWFlag.PZL_CVE, "Ice Ring Isle Secret Cave", 0xC, TWWLocationType.CHEST, 1
 | |
|     ),
 | |
|     "Ice Ring Isle - Inner Cave - Chest": TWWLocationData(
 | |
|         127, TWWFlag.PZL_CVE | TWWFlag.CBT_CVE, "Ice Ring Isle Inner Cave", 0xC, TWWLocationType.CHEST, 21
 | |
|     ),
 | |
| 
 | |
|     # Headstone Island
 | |
|     "Headstone Island - Top of the Island": TWWLocationData(
 | |
|         128, TWWFlag.ISLND_P, "The Great Sea", 0x0, TWWLocationType.PCKUP, 8
 | |
|     ),
 | |
|     "Headstone Island - Submarine": TWWLocationData(
 | |
|         129, TWWFlag.SUBMRIN, "The Great Sea", 0xA, TWWLocationType.CHEST, 4
 | |
|     ),
 | |
| 
 | |
|     # Earth Temple
 | |
|     "Earth Temple - Transparent Chest In Warp Pot Room": TWWLocationData(
 | |
|         130, TWWFlag.DUNGEON, "Earth Temple", 0x6, TWWLocationType.CHEST, 0
 | |
|     ),
 | |
|     "Earth Temple - Behind Curtain In Warp Pot Room": TWWLocationData(
 | |
|         131, TWWFlag.DUNGEON | TWWFlag.DG_SCRT, "Earth Temple", 0x6, TWWLocationType.PCKUP, 0
 | |
|     ),
 | |
|     "Earth Temple - Transparent Chest in First Crypt": TWWLocationData(
 | |
|         132, TWWFlag.DUNGEON, "Earth Temple", 0x6, TWWLocationType.CHEST, 1
 | |
|     ),
 | |
|     "Earth Temple - Chest Behind Destructible Walls": TWWLocationData(
 | |
|         133, TWWFlag.DUNGEON, "Earth Temple", 0x6, TWWLocationType.CHEST, 12
 | |
|     ),
 | |
|     "Earth Temple - Chest In Three Blocks Room": TWWLocationData(
 | |
|         134, TWWFlag.DUNGEON, "Earth Temple", 0x6, TWWLocationType.CHEST, 2
 | |
|     ),
 | |
|     "Earth Temple - Chest Behind Statues": TWWLocationData(
 | |
|         135, TWWFlag.DUNGEON, "Earth Temple", 0x6, TWWLocationType.CHEST, 3
 | |
|     ),
 | |
|     "Earth Temple - Casket in Second Crypt": TWWLocationData(
 | |
|         136, TWWFlag.DUNGEON, "Earth Temple", 0x6, TWWLocationType.PCKUP, 14
 | |
|     ),
 | |
|     "Earth Temple - Stalfos Miniboss Room": TWWLocationData(
 | |
|         137, TWWFlag.DUNGEON, "Earth Temple Miniboss Arena", 0x6, TWWLocationType.CHEST, 7
 | |
|     ),
 | |
|     "Earth Temple - Tingle Statue Chest": TWWLocationData(
 | |
|         138, TWWFlag.TNGL_CT | TWWFlag.DUNGEON, "Earth Temple", 0x6, TWWLocationType.CHEST, 15
 | |
|     ),
 | |
|     "Earth Temple - End of Foggy Room With Floormasters": TWWLocationData(
 | |
|         139, TWWFlag.DUNGEON, "Earth Temple", 0x6, TWWLocationType.CHEST, 4
 | |
|     ),
 | |
|     "Earth Temple - Kill All Floormasters in Foggy Room": TWWLocationData(
 | |
|         140, TWWFlag.DUNGEON, "Earth Temple", 0x6, TWWLocationType.CHEST, 11
 | |
|     ),
 | |
|     "Earth Temple - Behind Curtain Next to Hammer Button": TWWLocationData(
 | |
|         141, TWWFlag.DUNGEON | TWWFlag.DG_SCRT, "Earth Temple", 0x6, TWWLocationType.PCKUP, 1
 | |
|     ),
 | |
|     "Earth Temple - Chest in Third Crypt": TWWLocationData(
 | |
|         142, TWWFlag.DUNGEON, "Earth Temple", 0x6, TWWLocationType.CHEST, 5
 | |
|     ),
 | |
|     "Earth Temple - Many Mirrors Room Right Chest": TWWLocationData(
 | |
|         143, TWWFlag.DUNGEON, "Earth Temple", 0x6, TWWLocationType.CHEST, 9
 | |
|     ),
 | |
|     "Earth Temple - Many Mirrors Room Left Chest": TWWLocationData(
 | |
|         144, TWWFlag.DUNGEON, "Earth Temple", 0x6, TWWLocationType.CHEST, 10
 | |
|     ),
 | |
|     "Earth Temple - Stalfos Crypt Room": TWWLocationData(
 | |
|         145, TWWFlag.DUNGEON, "Earth Temple", 0x6, TWWLocationType.CHEST, 14
 | |
|     ),
 | |
|     "Earth Temple - Big Key Chest": TWWLocationData(
 | |
|         146, TWWFlag.DUNGEON, "Earth Temple", 0x6, TWWLocationType.CHEST, 6
 | |
|     ),
 | |
|     "Earth Temple - Jalhalla Heart Container": TWWLocationData(
 | |
|         147, TWWFlag.DUNGEON | TWWFlag.BOSS, "Jalhalla Boss Arena", 0x6, TWWLocationType.PCKUP, 21
 | |
|     ),
 | |
| 
 | |
|     # Wind Temple
 | |
|     "Wind Temple - Chest Between Two Dirt Patches": TWWLocationData(
 | |
|         148, TWWFlag.DUNGEON, "Wind Temple", 0x7, TWWLocationType.CHEST, 0
 | |
|     ),
 | |
|     "Wind Temple - Behind Stone Head in Hidden Upper Room": TWWLocationData(
 | |
|         149, TWWFlag.DUNGEON | TWWFlag.DG_SCRT, "Wind Temple", 0x7, TWWLocationType.PCKUP, 0
 | |
|     ),
 | |
|     "Wind Temple - Tingle Statue Chest": TWWLocationData(
 | |
|         150, TWWFlag.TNGL_CT | TWWFlag.DUNGEON, "Wind Temple", 0x7, TWWLocationType.CHEST, 15
 | |
|     ),
 | |
|     "Wind Temple - Chest Behind Stone Head": TWWLocationData(
 | |
|         151, TWWFlag.DUNGEON, "Wind Temple", 0x7, TWWLocationType.CHEST, 3
 | |
|     ),
 | |
|     "Wind Temple - Chest in Left Alcove": TWWLocationData(
 | |
|         152, TWWFlag.DUNGEON, "Wind Temple", 0x7, TWWLocationType.CHEST, 7
 | |
|     ),
 | |
|     "Wind Temple - Big Key Chest": TWWLocationData(
 | |
|         153, TWWFlag.DUNGEON, "Wind Temple", 0x7, TWWLocationType.CHEST, 8
 | |
|     ),
 | |
|     "Wind Temple - Chest In Many Cyclones Room": TWWLocationData(
 | |
|         154, TWWFlag.DUNGEON, "Wind Temple", 0x7, TWWLocationType.CHEST, 11
 | |
|     ),
 | |
|     "Wind Temple - Behind Stone Head in Many Cyclones Room": TWWLocationData(
 | |
|         155, TWWFlag.DUNGEON | TWWFlag.DG_SCRT, "Wind Temple", 0x7, TWWLocationType.PCKUP, 1
 | |
|     ),
 | |
|     "Wind Temple - Chest In Middle Of Hub Room": TWWLocationData(
 | |
|         156, TWWFlag.DUNGEON, "Wind Temple", 0x7, TWWLocationType.CHEST, 13
 | |
|     ),
 | |
|     "Wind Temple - Spike Wall Room - First Chest": TWWLocationData(
 | |
|         157, TWWFlag.DUNGEON, "Wind Temple", 0x7, TWWLocationType.CHEST, 9
 | |
|     ),
 | |
|     "Wind Temple - Spike Wall Room - Destroy All Cracked Floors": TWWLocationData(
 | |
|         158, TWWFlag.DUNGEON, "Wind Temple", 0x7, TWWLocationType.CHEST, 10
 | |
|     ),
 | |
|     "Wind Temple - Wizzrobe Miniboss Room": TWWLocationData(
 | |
|         159, TWWFlag.DUNGEON, "Wind Temple Miniboss Arena", 0x7, TWWLocationType.CHEST, 5
 | |
|     ),
 | |
|     "Wind Temple - Chest at Top of Hub Room": TWWLocationData(
 | |
|         160, TWWFlag.DUNGEON, "Wind Temple", 0x7, TWWLocationType.CHEST, 2
 | |
|     ),
 | |
|     "Wind Temple - Chest Behind Seven Armos": TWWLocationData(
 | |
|         161, TWWFlag.DUNGEON, "Wind Temple", 0x7, TWWLocationType.CHEST, 4
 | |
|     ),
 | |
|     "Wind Temple - Kill All Enemies in Tall Basement Room": TWWLocationData(
 | |
|         162, TWWFlag.DUNGEON, "Wind Temple", 0x7, TWWLocationType.CHEST, 12
 | |
|     ),
 | |
|     "Wind Temple - Molgera Heart Container": TWWLocationData(
 | |
|         163, TWWFlag.DUNGEON | TWWFlag.BOSS, "Molgera Boss Arena", 0x7, TWWLocationType.PCKUP, 21
 | |
|     ),
 | |
| 
 | |
|     # Ganon's Tower
 | |
|     "Ganon's Tower - Maze Chest": TWWLocationData(
 | |
|         164, TWWFlag.DUNGEON, "The Great Sea", 0x8, TWWLocationType.CHEST, 0
 | |
|     ),
 | |
| 
 | |
|     # Mailbox
 | |
|     "Mailbox - Letter from Hoskit's Girlfriend": TWWLocationData(
 | |
|         165, TWWFlag.MAILBOX | TWWFlag.SPOILS, "The Great Sea", 0x0, TWWLocationType.SPECL, 0, 0x803C52DA
 | |
|     ),
 | |
|     "Mailbox - Letter from Baito's Mother": TWWLocationData(
 | |
|         166, TWWFlag.MAILBOX, "The Great Sea", 0x0, TWWLocationType.SPECL, 0, 0x803C52D8
 | |
|     ),
 | |
|     "Mailbox - Letter from Baito": TWWLocationData(
 | |
|         167, TWWFlag.MAILBOX | TWWFlag.DUNGEON, "The Great Sea", 0x0, TWWLocationType.EVENT, 0, 0x803C52A8
 | |
|     ),
 | |
|     "Mailbox - Letter from Komali's Father": TWWLocationData(
 | |
|         168, TWWFlag.MAILBOX, "The Great Sea", 0x0, TWWLocationType.EVENT, 0, 0x803C52E1
 | |
|     ),
 | |
|     "Mailbox - Letter Advertising Bombs in Beedle's Shop": TWWLocationData(
 | |
|         169, TWWFlag.MAILBOX, "The Great Sea", 0x0, TWWLocationType.EVENT, 0, 0x803C52A9
 | |
|     ),
 | |
|     "Mailbox - Letter Advertising Rock Spire Shop Ship": TWWLocationData(
 | |
|         170, TWWFlag.MAILBOX, "The Great Sea", 0x0, TWWLocationType.EVENT, 0, 0x803C52A6
 | |
|     ),
 | |
|     # "Mailbox - Beedle's Silver Membership Reward": TWWLocationData(
 | |
|     #     171, TWWFlag.OTHER, "The Great Sea"
 | |
|     # ),
 | |
|     # "Mailbox - Beedle's Gold Membership Reward": TWWLocationData(
 | |
|     #     172, TWWFlag.OTHER, "The Great Sea"
 | |
|     # ),
 | |
|     "Mailbox - Letter from Orca": TWWLocationData(
 | |
|         173, TWWFlag.MAILBOX | TWWFlag.DUNGEON, "The Great Sea", 0x0, TWWLocationType.EVENT, 0, 0x803C52A7
 | |
|     ),
 | |
|     "Mailbox - Letter from Grandma": TWWLocationData(
 | |
|         174, TWWFlag.MAILBOX, "The Great Sea", 0x0, TWWLocationType.SPECL, 0, 0x803C52C9
 | |
|     ),
 | |
|     "Mailbox - Letter from Aryll": TWWLocationData(
 | |
|         175, TWWFlag.MAILBOX | TWWFlag.DUNGEON, "The Great Sea", 0x0, TWWLocationType.EVENT, 0, 0x803C52B7
 | |
|     ),
 | |
|     "Mailbox - Letter from Tingle": TWWLocationData(
 | |
|         176,
 | |
|         TWWFlag.MAILBOX | TWWFlag.DUNGEON | TWWFlag.XPENSVE, "The Great Sea", 0x0, TWWLocationType.EVENT, 0, 0x803C52DE
 | |
|     ),
 | |
| 
 | |
|     # The Great Sea
 | |
|     "The Great Sea - Beedle's Shop Ship - 20 Rupee Item": TWWLocationData(
 | |
|         177, TWWFlag.MISCELL, "The Great Sea",  0xA, TWWLocationType.EVENT, 1, 0x803C5295
 | |
|     ),
 | |
|     "The Great Sea - Salvage Corp Gift": TWWLocationData(
 | |
|         178, TWWFlag.FREE_GF, "The Great Sea", 0x0, TWWLocationType.EVENT, 7, 0x803C5295
 | |
|     ),
 | |
|     "The Great Sea - Cyclos": TWWLocationData(
 | |
|         179, TWWFlag.MISCELL, "The Great Sea", 0x0, TWWLocationType.EVENT, 4, 0x803C5253
 | |
|     ),
 | |
|     "The Great Sea - Goron Trading Reward": TWWLocationData(
 | |
|         180, TWWFlag.LONG_SQ | TWWFlag.XPENSVE, "The Great Sea", 0x0, TWWLocationType.EVENT, 2, 0x803C526A
 | |
|     ),
 | |
|     "The Great Sea - Withered Trees": TWWLocationData(
 | |
|         181, TWWFlag.LONG_SQ, "The Great Sea", 0x0, TWWLocationType.EVENT, 5, 0x803C525A
 | |
|     ),
 | |
|     "The Great Sea - Ghost Ship": TWWLocationData(
 | |
|         182, TWWFlag.MISCELL, "The Great Sea", 0xA, TWWLocationType.CHEST, 23
 | |
|     ),
 | |
| 
 | |
|     # Private Oasis
 | |
|     "Private Oasis - Chest at Top of Waterfall": TWWLocationData(
 | |
|         183, TWWFlag.ISLND_P, "The Great Sea", 0x0, TWWLocationType.CHEST, 19
 | |
|     ),
 | |
|     "Private Oasis - Cabana Labyrinth - Lower Floor Chest": TWWLocationData(
 | |
|         184, TWWFlag.PZL_CVE, "Cabana Labyrinth", 0xC, TWWLocationType.CHEST, 22
 | |
|     ),
 | |
|     "Private Oasis - Cabana Labyrinth - Upper Floor Chest": TWWLocationData(
 | |
|         185, TWWFlag.PZL_CVE, "Cabana Labyrinth", 0xC, TWWLocationType.CHEST, 17
 | |
|     ),
 | |
|     "Private Oasis - Big Octo": TWWLocationData(
 | |
|         186, TWWFlag.BG_OCTO, "The Great Sea", 0x0, TWWLocationType.BOCTO, 0, 0x803C520A
 | |
|     ),
 | |
| 
 | |
|     # Spectacle Island
 | |
|     "Spectacle Island - Barrel Shooting - First Prize": TWWLocationData(
 | |
|         187, TWWFlag.MINIGME, "The Great Sea", 0x0, TWWLocationType.EVENT, 0, 0x803C52E3
 | |
|     ),
 | |
|     "Spectacle Island - Barrel Shooting - Second Prize": TWWLocationData(
 | |
|         188, TWWFlag.MINIGME, "The Great Sea", 0x0, TWWLocationType.EVENT, 1, 0x803C52E3
 | |
|     ),
 | |
| 
 | |
|     # Needle Rock Isle
 | |
|     "Needle Rock Isle - Chest": TWWLocationData(
 | |
|         189, TWWFlag.ISLND_P, "The Great Sea", 0x0, TWWLocationType.CHEST, 3
 | |
|     ),
 | |
|     "Needle Rock Isle - Cave": TWWLocationData(
 | |
|         190, TWWFlag.PZL_CVE, "Needle Rock Isle Secret Cave", 0xD, TWWLocationType.CHEST, 9
 | |
|     ),
 | |
|     "Needle Rock Isle - Golden Gunboat": TWWLocationData(
 | |
|         191, TWWFlag.BG_OCTO, "The Great Sea", 0x0, TWWLocationType.BOCTO, 2, 0x803C5202
 | |
|     ),
 | |
| 
 | |
|     # Angular Isles
 | |
|     "Angular Isles - Peak": TWWLocationData(
 | |
|         192, TWWFlag.ISLND_P, "The Great Sea", 0x0, TWWLocationType.CHEST, 0
 | |
|     ),
 | |
|     "Angular Isles - Cave": TWWLocationData(
 | |
|         193, TWWFlag.PZL_CVE, "Angular Isles Secret Cave", 0xD, TWWLocationType.CHEST, 6
 | |
|     ),
 | |
| 
 | |
|     # Boating Course
 | |
|     "Boating Course - Raft": TWWLocationData(
 | |
|         194, TWWFlag.PLTFRMS, "The Great Sea", 0x0, TWWLocationType.CHEST, 21
 | |
|     ),
 | |
|     "Boating Course - Cave": TWWLocationData(
 | |
|         195, TWWFlag.PZL_CVE | TWWFlag.CBT_CVE, "Boating Course Secret Cave", 0xD, TWWLocationType.CHEST, 15
 | |
|     ),
 | |
| 
 | |
|     # Stone Watcher Island
 | |
|     "Stone Watcher Island - Cave": TWWLocationData(
 | |
|         196, TWWFlag.CBT_CVE, "Stone Watcher Island Secret Cave", 0xC, TWWLocationType.CHEST, 10
 | |
|     ),
 | |
|     "Stone Watcher Island - Lookout Platform Chest": TWWLocationData(
 | |
|         197, TWWFlag.PLTFRMS, "The Great Sea", 0x1, TWWLocationType.CHEST, 18
 | |
|     ),
 | |
|     "Stone Watcher Island - Lookout Platform - Destroy the Cannons": TWWLocationData(
 | |
|         198, TWWFlag.PLTFRMS, "The Great Sea", 0x0, TWWLocationType.CHEST, 20
 | |
|     ),
 | |
| 
 | |
|     # Islet of Steel
 | |
|     "Islet of Steel - Interior": TWWLocationData(
 | |
|         199, TWWFlag.MISCELL, "The Great Sea", 0xC, TWWLocationType.CHEST, 4
 | |
|     ),
 | |
|     "Islet of Steel - Lookout Platform - Defeat the Enemies": TWWLocationData(
 | |
|         200, TWWFlag.PLTFRMS, "The Great Sea", 0x1, TWWLocationType.CHEST, 16
 | |
|     ),
 | |
| 
 | |
|     # Overlook Island
 | |
|     "Overlook Island - Cave": TWWLocationData(
 | |
|         201, TWWFlag.CBT_CVE, "Overlook Island Secret Cave", 0xC, TWWLocationType.CHEST, 11
 | |
|     ),
 | |
| 
 | |
|     # Bird's Peak Rock
 | |
|     "Bird's Peak Rock - Cave": TWWLocationData(
 | |
|         202, TWWFlag.PZL_CVE, "Bird's Peak Rock Secret Cave", 0xC, TWWLocationType.CHEST, 16
 | |
|     ),
 | |
| 
 | |
|     # Pawprint Isle
 | |
|     "Pawprint Isle - Chuchu Cave - Chest": TWWLocationData(
 | |
|         203, TWWFlag.PZL_CVE, "Pawprint Isle Chuchu Cave", 0xC, TWWLocationType.CHEST, 26
 | |
|     ),
 | |
|     "Pawprint Isle - Chuchu Cave - Behind Left Boulder": TWWLocationData(
 | |
|         204, TWWFlag.PZL_CVE, "Pawprint Isle Chuchu Cave", 0xC, TWWLocationType.CHEST, 24
 | |
|     ),
 | |
|     "Pawprint Isle - Chuchu Cave - Behind Right Boulder": TWWLocationData(
 | |
|         205, TWWFlag.PZL_CVE, "Pawprint Isle Chuchu Cave", 0xC, TWWLocationType.CHEST, 25
 | |
|     ),
 | |
|     "Pawprint Isle - Chuchu Cave - Scale the Wall": TWWLocationData(
 | |
|         206, TWWFlag.PZL_CVE, "Pawprint Isle Chuchu Cave", 0xC, TWWLocationType.CHEST, 2
 | |
|     ),
 | |
|     "Pawprint Isle - Wizzrobe Cave": TWWLocationData(
 | |
|         207, TWWFlag.CBT_CVE, "Pawprint Isle Wizzrobe Cave", 0xD, TWWLocationType.CHEST, 2
 | |
|     ),
 | |
|     "Pawprint Isle - Lookout Platform - Defeat the Enemies": TWWLocationData(
 | |
|         208, TWWFlag.PLTFRMS, "The Great Sea", 0x1, TWWLocationType.CHEST, 5
 | |
|     ),
 | |
| 
 | |
|     # Thorned Fairy Island
 | |
|     "Thorned Fairy Island - Great Fairy": TWWLocationData(
 | |
|         209, TWWFlag.GRT_FRY, "Thorned Fairy Fountain", 0xC, TWWLocationType.EVENT, 0, 0x803C525C
 | |
|     ),
 | |
|     "Thorned Fairy Island - Northeastern Lookout Platform - Destroy the Cannons": TWWLocationData(
 | |
|         210, TWWFlag.PLTFRMS, "The Great Sea", 0x1, TWWLocationType.CHEST, 14
 | |
|     ),
 | |
|     "Thorned Fairy Island - Southwestern Lookout Platform - Defeat the Enemies": TWWLocationData(
 | |
|         211, TWWFlag.PLTFRMS, "The Great Sea", 0x1, TWWLocationType.CHEST, 15
 | |
|     ),
 | |
| 
 | |
|     # Eastern Fairy Island
 | |
|     "Eastern Fairy Island - Great Fairy": TWWLocationData(
 | |
|         212, TWWFlag.GRT_FRY, "Eastern Fairy Fountain", 0xC, TWWLocationType.EVENT, 3, 0x803C525C
 | |
|     ),
 | |
|     "Eastern Fairy Island - Lookout Platform - Defeat the Cannons and Enemies": TWWLocationData(
 | |
|         213, TWWFlag.PLTFRMS, "The Great Sea", 0x1, TWWLocationType.CHEST, 10
 | |
|     ),
 | |
| 
 | |
|     # Western Fairy Island
 | |
|     "Western Fairy Island - Great Fairy": TWWLocationData(
 | |
|         214, TWWFlag.GRT_FRY, "Western Fairy Fountain", 0xC, TWWLocationType.EVENT, 1, 0x803C525C
 | |
|     ),
 | |
|     "Western Fairy Island - Lookout Platform": TWWLocationData(
 | |
|         215, TWWFlag.PLTFRMS, "The Great Sea", 0x1, TWWLocationType.CHEST, 6
 | |
|     ),
 | |
| 
 | |
|     # Southern Fairy Island
 | |
|     "Southern Fairy Island - Great Fairy": TWWLocationData(
 | |
|         216, TWWFlag.GRT_FRY, "Southern Fairy Fountain", 0xC, TWWLocationType.EVENT, 2, 0x803C525C
 | |
|     ),
 | |
|     "Southern Fairy Island - Lookout Platform - Destroy the Northwest Cannons": TWWLocationData(
 | |
|         217, TWWFlag.PLTFRMS, "The Great Sea", 0x0, TWWLocationType.CHEST, 23
 | |
|     ),
 | |
|     "Southern Fairy Island - Lookout Platform - Destroy the Southeast Cannons": TWWLocationData(
 | |
|         218, TWWFlag.PLTFRMS, "The Great Sea", 0x1, TWWLocationType.CHEST, 17
 | |
|     ),
 | |
| 
 | |
|     # Northern Fairy Island
 | |
|     "Northern Fairy Island - Great Fairy": TWWLocationData(
 | |
|         219, TWWFlag.GRT_FRY, "Northern Fairy Fountain", 0xC, TWWLocationType.EVENT, 5, 0x803C525C
 | |
|     ),
 | |
|     "Northern Fairy Island - Submarine": TWWLocationData(
 | |
|         220, TWWFlag.SUBMRIN, "The Great Sea", 0xA, TWWLocationType.CHEST, 6
 | |
|     ),
 | |
| 
 | |
|     # Tingle Island
 | |
|     "Tingle Island - Ankle - Reward for All Tingle Statues": TWWLocationData(
 | |
|         221, TWWFlag.MISCELL, "The Great Sea", 0x0, TWWLocationType.SPECL, 0
 | |
|     ),
 | |
|     "Tingle Island - Big Octo": TWWLocationData(
 | |
|         222, TWWFlag.BG_OCTO, "The Great Sea", 0x0, TWWLocationType.BOCTO, 0, 0x803C51EA
 | |
|     ),
 | |
| 
 | |
|     # Diamond Steppe Island
 | |
|     "Diamond Steppe Island - Warp Maze Cave - First Chest": TWWLocationData(
 | |
|         223, TWWFlag.PZL_CVE, "Diamond Steppe Island Warp Maze Cave", 0xC, TWWLocationType.CHEST, 23
 | |
|     ),
 | |
|     "Diamond Steppe Island - Warp Maze Cave - Second Chest": TWWLocationData(
 | |
|         224, TWWFlag.PZL_CVE, "Diamond Steppe Island Warp Maze Cave", 0xC, TWWLocationType.CHEST, 3
 | |
|     ),
 | |
|     "Diamond Steppe Island - Big Octo": TWWLocationData(
 | |
|         225, TWWFlag.BG_OCTO, "The Great Sea", 0x0, TWWLocationType.BOCTO, 0, 0x803C5210
 | |
|     ),
 | |
| 
 | |
|     # Bomb Island
 | |
|     "Bomb Island - Cave": TWWLocationData(
 | |
|         226, TWWFlag.PZL_CVE, "Bomb Island Secret Cave", 0xC, TWWLocationType.CHEST, 5
 | |
|     ),
 | |
|     "Bomb Island - Lookout Platform - Defeat the Enemies": TWWLocationData(
 | |
|         227, TWWFlag.PLTFRMS, "The Great Sea", 0x1, TWWLocationType.CHEST, 3
 | |
|     ),
 | |
|     "Bomb Island - Submarine": TWWLocationData(
 | |
|         228, TWWFlag.SUBMRIN, "The Great Sea", 0xA, TWWLocationType.CHEST, 2
 | |
|     ),
 | |
| 
 | |
|     # Rock Spire Isle
 | |
|     "Rock Spire Isle - Cave": TWWLocationData(
 | |
|         229, TWWFlag.CBT_CVE, "Rock Spire Isle Secret Cave", 0xC, TWWLocationType.CHEST, 8
 | |
|     ),
 | |
|     "Rock Spire Isle - Beedle's Special Shop Ship - 500 Rupee Item": TWWLocationData(
 | |
|         230, TWWFlag.XPENSVE, "The Great Sea", 0xA, TWWLocationType.EVENT, 5, 0x803C524C
 | |
|     ),
 | |
|     "Rock Spire Isle - Beedle's Special Shop Ship - 950 Rupee Item": TWWLocationData(
 | |
|         231, TWWFlag.XPENSVE, "The Great Sea", 0xA, TWWLocationType.EVENT, 4, 0x803C524C
 | |
|     ),
 | |
|     "Rock Spire Isle - Beedle's Special Shop Ship - 900 Rupee Item": TWWLocationData(
 | |
|         232, TWWFlag.XPENSVE, "The Great Sea", 0xA, TWWLocationType.EVENT, 3, 0x803C524C
 | |
|     ),
 | |
|     "Rock Spire Isle - Western Lookout Platform - Destroy the Cannons": TWWLocationData(
 | |
|         233, TWWFlag.PLTFRMS, "The Great Sea", 0x1, TWWLocationType.CHEST, 23
 | |
|     ),
 | |
|     "Rock Spire Isle - Eastern Lookout Platform - Destroy the Cannons": TWWLocationData(
 | |
|         234, TWWFlag.PLTFRMS, "The Great Sea", 0x1, TWWLocationType.CHEST, 24
 | |
|     ),
 | |
|     "Rock Spire Isle - Center Lookout Platform": TWWLocationData(
 | |
|         235, TWWFlag.PLTFRMS, "The Great Sea", 0x1, TWWLocationType.CHEST, 25
 | |
|     ),
 | |
|     "Rock Spire Isle - Southeast Gunboat": TWWLocationData(
 | |
|         236, TWWFlag.BG_OCTO, "The Great Sea", 0x0, TWWLocationType.BOCTO, 0, 0x803C51E8
 | |
|     ),
 | |
| 
 | |
|     # Shark Island
 | |
|     "Shark Island - Cave": TWWLocationData(
 | |
|         237, TWWFlag.CBT_CVE, "Shark Island Secret Cave", 0xD, TWWLocationType.CHEST, 22
 | |
|     ),
 | |
| 
 | |
|     # Cliff Plateau Isles
 | |
|     "Cliff Plateau Isles - Cave": TWWLocationData(
 | |
|         238, TWWFlag.PZL_CVE, "Cliff Plateau Isles Secret Cave", 0xC, TWWLocationType.CHEST, 7
 | |
|     ),
 | |
|     "Cliff Plateau Isles - Highest Isle": TWWLocationData(
 | |
|         239, TWWFlag.PZL_CVE, "Cliff Plateau Isles Inner Cave", 0x0, TWWLocationType.CHEST, 1
 | |
|     ),
 | |
|     "Cliff Plateau Isles - Lookout Platform": TWWLocationData(
 | |
|         240, TWWFlag.PLTFRMS, "The Great Sea", 0x1, TWWLocationType.CHEST, 19
 | |
|     ),
 | |
| 
 | |
|     # Crescent Moon Island
 | |
|     "Crescent Moon Island - Chest": TWWLocationData(
 | |
|         241, TWWFlag.MISCELL, "The Great Sea", 0x0, TWWLocationType.CHEST, 4
 | |
|     ),
 | |
|     "Crescent Moon Island - Submarine": TWWLocationData(
 | |
|         242, TWWFlag.SUBMRIN, "The Great Sea", 0xA, TWWLocationType.CHEST, 7
 | |
|     ),
 | |
| 
 | |
|     # Horseshoe Island
 | |
|     "Horseshoe Island - Play Golf": TWWLocationData(
 | |
|         243, TWWFlag.ISLND_P, "The Great Sea", 0x0, TWWLocationType.CHEST, 5
 | |
|     ),
 | |
|     "Horseshoe Island - Cave": TWWLocationData(
 | |
|         244, TWWFlag.CBT_CVE, "Horseshoe Island Secret Cave", 0xD, TWWLocationType.CHEST, 1
 | |
|     ),
 | |
|     "Horseshoe Island - Northwestern Lookout Platform": TWWLocationData(
 | |
|         245, TWWFlag.PLTFRMS, "The Great Sea", 0x1, TWWLocationType.CHEST, 26
 | |
|     ),
 | |
|     "Horseshoe Island - Southeastern Lookout Platform": TWWLocationData(
 | |
|         246, TWWFlag.PLTFRMS, "The Great Sea", 0x1, TWWLocationType.CHEST, 27
 | |
|     ),
 | |
| 
 | |
|     # Flight Control Platform
 | |
|     "Flight Control Platform - Bird-Man Contest - First Prize": TWWLocationData(
 | |
|         247, TWWFlag.MINIGME, "The Great Sea", 0x0, TWWLocationType.EVENT, 6, 0x803C5257
 | |
|     ),
 | |
|     "Flight Control Platform - Submarine": TWWLocationData(
 | |
|         248, TWWFlag.SUBMRIN, "The Great Sea", 0xA, TWWLocationType.CHEST, 3
 | |
|     ),
 | |
| 
 | |
|     # Star Island
 | |
|     "Star Island - Cave": TWWLocationData(
 | |
|         249, TWWFlag.CBT_CVE, "Star Island Secret Cave", 0xC, TWWLocationType.CHEST, 6
 | |
|     ),
 | |
|     "Star Island - Lookout Platform": TWWLocationData(
 | |
|         250, TWWFlag.PLTFRMS, "The Great Sea", 0x1, TWWLocationType.CHEST, 4
 | |
|     ),
 | |
| 
 | |
|     # Star Belt Archipelago
 | |
|     "Star Belt Archipelago - Lookout Platform": TWWLocationData(
 | |
|         251, TWWFlag.PLTFRMS, "The Great Sea", 0x1, TWWLocationType.CHEST, 11
 | |
|     ),
 | |
| 
 | |
|     # Five-Star Isles
 | |
|     "Five-Star Isles - Lookout Platform - Destroy the Cannons": TWWLocationData(
 | |
|         252, TWWFlag.PLTFRMS, "The Great Sea", 0x1, TWWLocationType.CHEST, 2
 | |
|     ),
 | |
|     "Five-Star Isles - Raft": TWWLocationData(
 | |
|         253, TWWFlag.PLTFRMS, "The Great Sea", 0x0, TWWLocationType.CHEST, 2
 | |
|     ),
 | |
|     "Five-Star Isles - Submarine": TWWLocationData(
 | |
|         254, TWWFlag.SUBMRIN, "The Great Sea", 0xA, TWWLocationType.CHEST, 1
 | |
|     ),
 | |
| 
 | |
|     # Seven-Star Isles
 | |
|     "Seven-Star Isles - Center Lookout Platform": TWWLocationData(
 | |
|         255, TWWFlag.PLTFRMS, "The Great Sea", 0x1, TWWLocationType.CHEST, 8
 | |
|     ),
 | |
|     "Seven-Star Isles - Northern Lookout Platform": TWWLocationData(
 | |
|         256, TWWFlag.PLTFRMS, "The Great Sea", 0x1, TWWLocationType.CHEST, 7
 | |
|     ),
 | |
|     "Seven-Star Isles - Southern Lookout Platform": TWWLocationData(
 | |
|         257, TWWFlag.PLTFRMS, "The Great Sea", 0x0, TWWLocationType.CHEST, 22
 | |
|     ),
 | |
|     "Seven-Star Isles - Big Octo": TWWLocationData(
 | |
|         258, TWWFlag.BG_OCTO, "The Great Sea", 0x0, TWWLocationType.BOCTO, 0, 0x803C51D4
 | |
|     ),
 | |
| 
 | |
|     # Cyclops Reef
 | |
|     "Cyclops Reef - Destroy the Cannons and Gunboats": TWWLocationData(
 | |
|         259, TWWFlag.EYE_RFS, "The Great Sea", 0x0, TWWLocationType.CHEST, 11
 | |
|     ),
 | |
|     "Cyclops Reef - Lookout Platform - Defeat the Enemies": TWWLocationData(
 | |
|         260, TWWFlag.PLTFRMS, "The Great Sea", 0x1, TWWLocationType.CHEST, 12
 | |
|     ),
 | |
| 
 | |
|     # Two-Eye Reef
 | |
|     "Two-Eye Reef - Destroy the Cannons and Gunboats": TWWLocationData(
 | |
|         261, TWWFlag.EYE_RFS, "The Great Sea", 0x0, TWWLocationType.CHEST, 13
 | |
|     ),
 | |
|     "Two-Eye Reef - Lookout Platform": TWWLocationData(
 | |
|         262, TWWFlag.PLTFRMS, "The Great Sea", 0x1, TWWLocationType.CHEST, 21
 | |
|     ),
 | |
|     "Two-Eye Reef - Big Octo Great Fairy": TWWLocationData(
 | |
|         263, TWWFlag.BG_OCTO | TWWFlag.GRT_FRY, "The Great Sea", 0x0, TWWLocationType.SWTCH, 52
 | |
|     ),
 | |
| 
 | |
|     # Three-Eye Reef
 | |
|     "Three-Eye Reef - Destroy the Cannons and Gunboats": TWWLocationData(
 | |
|         264, TWWFlag.EYE_RFS, "The Great Sea", 0x0, TWWLocationType.CHEST, 12
 | |
|     ),
 | |
| 
 | |
|     # Four-Eye Reef
 | |
|     "Four-Eye Reef - Destroy the Cannons and Gunboats": TWWLocationData(
 | |
|         265, TWWFlag.EYE_RFS, "The Great Sea", 0x0, TWWLocationType.CHEST, 14
 | |
|     ),
 | |
| 
 | |
|     # Five-Eye Reef
 | |
|     "Five-Eye Reef - Destroy the Cannons": TWWLocationData(
 | |
|         266, TWWFlag.EYE_RFS, "The Great Sea", 0x0, TWWLocationType.CHEST, 15
 | |
|     ),
 | |
|     "Five-Eye Reef - Lookout Platform": TWWLocationData(
 | |
|         267, TWWFlag.PLTFRMS, "The Great Sea", 0x1, TWWLocationType.CHEST, 20
 | |
|     ),
 | |
| 
 | |
|     # Six-Eye Reef
 | |
|     "Six-Eye Reef - Destroy the Cannons and Gunboats": TWWLocationData(
 | |
|         268, TWWFlag.EYE_RFS, "The Great Sea", 0x0, TWWLocationType.CHEST, 17
 | |
|     ),
 | |
|     "Six-Eye Reef - Lookout Platform - Destroy the Cannons": TWWLocationData(
 | |
|         269, TWWFlag.PLTFRMS, "The Great Sea", 0x1, TWWLocationType.CHEST, 13
 | |
|     ),
 | |
|     "Six-Eye Reef - Submarine": TWWLocationData(
 | |
|         270, TWWFlag.SUBMRIN, "The Great Sea", 0xA, TWWLocationType.CHEST, 0
 | |
|     ),
 | |
| 
 | |
|     # Sunken Treasure
 | |
|     "Forsaken Fortress Sector - Sunken Treasure": TWWLocationData(
 | |
|         271, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 8
 | |
|     ),
 | |
|     "Star Island - Sunken Treasure": TWWLocationData(
 | |
|         272, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 18
 | |
|     ),
 | |
|     "Northern Fairy Island - Sunken Treasure": TWWLocationData(
 | |
|         273, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 51
 | |
|     ),
 | |
|     "Gale Isle - Sunken Treasure": TWWLocationData(
 | |
|         274, TWWFlag.TRI_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 33
 | |
|     ),
 | |
|     "Crescent Moon Island - Sunken Treasure": TWWLocationData(
 | |
|         275, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 40
 | |
|     ),
 | |
|     "Seven-Star Isles - Sunken Treasure": TWWLocationData(
 | |
|         276, TWWFlag.TRI_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 38
 | |
|     ),
 | |
|     "Overlook Island - Sunken Treasure": TWWLocationData(
 | |
|         277, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 15
 | |
|     ),
 | |
|     "Four-Eye Reef - Sunken Treasure": TWWLocationData(
 | |
|         278, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 12
 | |
|     ),
 | |
|     "Mother and Child Isles - Sunken Treasure": TWWLocationData(
 | |
|         279, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 56
 | |
|     ),
 | |
|     "Spectacle Island - Sunken Treasure": TWWLocationData(
 | |
|         280, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 5
 | |
|     ),
 | |
|     "Windfall Island - Sunken Treasure": TWWLocationData(
 | |
|         281, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 58
 | |
|     ),
 | |
|     "Pawprint Isle - Sunken Treasure": TWWLocationData(
 | |
|         282, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 42
 | |
|     ),
 | |
|     "Dragon Roost Island - Sunken Treasure": TWWLocationData(
 | |
|         283, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 50
 | |
|     ),
 | |
|     "Flight Control Platform - Sunken Treasure": TWWLocationData(
 | |
|         284, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 13
 | |
|     ),
 | |
|     "Western Fairy Island - Sunken Treasure": TWWLocationData(
 | |
|         285, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 10
 | |
|     ),
 | |
|     "Rock Spire Isle - Sunken Treasure": TWWLocationData(
 | |
|         286, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 48
 | |
|     ),
 | |
|     "Tingle Island - Sunken Treasure": TWWLocationData(
 | |
|         287, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 0
 | |
|     ),
 | |
|     "Northern Triangle Island - Sunken Treasure": TWWLocationData(
 | |
|         288, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 11
 | |
|     ),
 | |
|     "Eastern Fairy Island - Sunken Treasure": TWWLocationData(
 | |
|         289, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 62
 | |
|     ),
 | |
|     "Fire Mountain - Sunken Treasure": TWWLocationData(
 | |
|         290, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 9
 | |
|     ),
 | |
|     "Star Belt Archipelago - Sunken Treasure": TWWLocationData(
 | |
|         291, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 17
 | |
|     ),
 | |
|     "Three-Eye Reef - Sunken Treasure": TWWLocationData(
 | |
|         292, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 49
 | |
|     ),
 | |
|     "Greatfish Isle - Sunken Treasure": TWWLocationData(
 | |
|         293, TWWFlag.TRI_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 32
 | |
|     ),
 | |
|     "Cyclops Reef - Sunken Treasure": TWWLocationData(
 | |
|         294, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 16
 | |
|     ),
 | |
|     "Six-Eye Reef - Sunken Treasure": TWWLocationData(
 | |
|         295, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 52
 | |
|     ),
 | |
|     "Tower of the Gods Sector - Sunken Treasure": TWWLocationData(
 | |
|         296, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 1
 | |
|     ),
 | |
|     "Eastern Triangle Island - Sunken Treasure": TWWLocationData(
 | |
|         297, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 57
 | |
|     ),
 | |
|     "Thorned Fairy Island - Sunken Treasure": TWWLocationData(
 | |
|         298, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 44
 | |
|     ),
 | |
|     "Needle Rock Isle - Sunken Treasure": TWWLocationData(
 | |
|         299, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 60
 | |
|     ),
 | |
|     "Islet of Steel - Sunken Treasure": TWWLocationData(
 | |
|         300, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 54
 | |
|     ),
 | |
|     "Stone Watcher Island - Sunken Treasure": TWWLocationData(
 | |
|         301, TWWFlag.TRI_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 34
 | |
|     ),
 | |
|     "Southern Triangle Island - Sunken Treasure": TWWLocationData(
 | |
|         302, TWWFlag.TRI_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 37
 | |
|     ),
 | |
|     "Private Oasis - Sunken Treasure": TWWLocationData(
 | |
|         303, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 55
 | |
|     ),
 | |
|     "Bomb Island - Sunken Treasure": TWWLocationData(
 | |
|         304, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 43
 | |
|     ),
 | |
|     "Bird's Peak Rock - Sunken Treasure": TWWLocationData(
 | |
|         305, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 6
 | |
|     ),
 | |
|     "Diamond Steppe Island - Sunken Treasure": TWWLocationData(
 | |
|         306, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 45
 | |
|     ),
 | |
|     "Five-Eye Reef - Sunken Treasure": TWWLocationData(
 | |
|         307, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 53
 | |
|     ),
 | |
|     "Shark Island - Sunken Treasure": TWWLocationData(
 | |
|         308, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 59
 | |
|     ),
 | |
|     "Southern Fairy Island - Sunken Treasure": TWWLocationData(
 | |
|         309, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 61
 | |
|     ),
 | |
|     "Ice Ring Isle - Sunken Treasure": TWWLocationData(
 | |
|         310, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 7
 | |
|     ),
 | |
|     "Forest Haven - Sunken Treasure": TWWLocationData(
 | |
|         311, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 46
 | |
|     ),
 | |
|     "Cliff Plateau Isles - Sunken Treasure": TWWLocationData(
 | |
|         312, TWWFlag.TRI_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 36
 | |
|     ),
 | |
|     "Horseshoe Island - Sunken Treasure": TWWLocationData(
 | |
|         313, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 4
 | |
|     ),
 | |
|     "Outset Island - Sunken Treasure": TWWLocationData(
 | |
|         314, TWWFlag.TRI_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 35
 | |
|     ),
 | |
|     "Headstone Island - Sunken Treasure": TWWLocationData(
 | |
|         315, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 63
 | |
|     ),
 | |
|     "Two-Eye Reef - Sunken Treasure": TWWLocationData(
 | |
|         316, TWWFlag.TRI_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 39
 | |
|     ),
 | |
|     "Angular Isles - Sunken Treasure": TWWLocationData(
 | |
|         317, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 41
 | |
|     ),
 | |
|     "Boating Course - Sunken Treasure": TWWLocationData(
 | |
|         318, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 14
 | |
|     ),
 | |
|     "Five-Star Isles - Sunken Treasure": TWWLocationData(
 | |
|         319, TWWFlag.TRE_CHT, "The Great Sea", 0x0, TWWLocationType.CHART, 47
 | |
|     ),
 | |
| 
 | |
|     # Defeat Ganondorf
 | |
|     "Defeat Ganondorf": TWWLocationData(
 | |
|         None, TWWFlag.ALWAYS, "The Great Sea", 0x8, TWWLocationType.SWTCH, 64
 | |
|     ),
 | |
| }
 | |
| 
 | |
| 
 | |
| ISLAND_NAME_TO_SALVAGE_BIT: dict[str, int] = {
 | |
|     "Forsaken Fortress Sector": 8,
 | |
|     "Star Island": 18,
 | |
|     "Northern Fairy Island": 51,
 | |
|     "Gale Isle": 33,
 | |
|     "Crescent Moon Island": 40,
 | |
|     "Seven-Star Isles": 38,
 | |
|     "Overlook Island": 15,
 | |
|     "Four-Eye Reef": 12,
 | |
|     "Mother and Child Isles": 56,
 | |
|     "Spectacle Island": 5,
 | |
|     "Windfall Island": 58,
 | |
|     "Pawprint Isle": 42,
 | |
|     "Dragon Roost Island": 50,
 | |
|     "Flight Control Platform": 13,
 | |
|     "Western Fairy Island": 10,
 | |
|     "Rock Spire Isle": 48,
 | |
|     "Tingle Island": 0,
 | |
|     "Northern Triangle Island": 11,
 | |
|     "Eastern Fairy Island": 62,
 | |
|     "Fire Mountain": 9,
 | |
|     "Star Belt Archipelago": 17,
 | |
|     "Three-Eye Reef": 49,
 | |
|     "Greatfish Isle": 32,
 | |
|     "Cyclops Reef": 16,
 | |
|     "Six-Eye Reef": 52,
 | |
|     "Tower of the Gods Sector": 1,
 | |
|     "Eastern Triangle Island": 57,
 | |
|     "Thorned Fairy Island": 44,
 | |
|     "Needle Rock Isle": 60,
 | |
|     "Islet of Steel": 54,
 | |
|     "Stone Watcher Island": 34,
 | |
|     "Southern Triangle Island": 37,
 | |
|     "Private Oasis": 55,
 | |
|     "Bomb Island": 43,
 | |
|     "Bird's Peak Rock": 6,
 | |
|     "Diamond Steppe Island": 45,
 | |
|     "Five-Eye Reef": 53,
 | |
|     "Shark Island": 59,
 | |
|     "Southern Fairy Island": 61,
 | |
|     "Ice Ring Isle": 7,
 | |
|     "Forest Haven": 46,
 | |
|     "Cliff Plateau Isles": 36,
 | |
|     "Horseshoe Island": 4,
 | |
|     "Outset Island": 35,
 | |
|     "Headstone Island": 63,
 | |
|     "Two-Eye Reef": 39,
 | |
|     "Angular Isles": 41,
 | |
|     "Boating Course": 14,
 | |
|     "Five-Star Isles": 47,
 | |
| }
 | |
| 
 | |
| 
 | |
| def split_location_name_by_zone(location_name: str) -> tuple[str, str]:
 | |
|     """
 | |
|     Split a location name into its zone name and specific name.
 | |
| 
 | |
|     :param location_name: The full name of the location.
 | |
|     :return: A tuple containing the zone and specific name.
 | |
|     """
 | |
|     if " - " in location_name:
 | |
|         zone_name, specific_location_name = location_name.split(" - ", 1)
 | |
|     else:
 | |
|         zone_name = specific_location_name = location_name
 | |
| 
 | |
|     return zone_name, specific_location_name
 |