Files
dockipelago/worlds/tloz_st/data/Locations.py
Jonathan Tinney 7971961166
Some checks failed
Analyze modified files / flake8 (push) Failing after 2m28s
Build / build-win (push) Has been cancelled
Build / build-ubuntu2204 (push) Has been cancelled
ctest / Test C++ ubuntu-latest (push) Has been cancelled
ctest / Test C++ windows-latest (push) Has been cancelled
Analyze modified files / mypy (push) Has been cancelled
Build and Publish Docker Images / Push Docker image to Docker Hub (push) Successful in 5m4s
Native Code Static Analysis / scan-build (push) Failing after 5m2s
type check / pyright (push) Successful in 1m7s
unittests / Test Python 3.11.2 ubuntu-latest (push) Failing after 16m23s
unittests / Test Python 3.12 ubuntu-latest (push) Failing after 28m19s
unittests / Test Python 3.13 ubuntu-latest (push) Failing after 14m49s
unittests / Test hosting with 3.13 on ubuntu-latest (push) Successful in 5m0s
unittests / Test Python 3.13 macos-latest (push) Has been cancelled
unittests / Test Python 3.11 windows-latest (push) Has been cancelled
unittests / Test Python 3.13 windows-latest (push) Has been cancelled
add schedule I, sonic 1/frontiers/heroes, spirit island
2026-04-02 23:46:36 -07:00

4266 lines
134 KiB
Python

from .Constants import ITEM_GROUPS, LOCATION_GROUPS
from .Addresses import STAddr
# TODO: Add sram data for saveslot 2
# TODO: Add the rest of sram data in bulk
LOCATIONS_DATA = {
#Outset Village
"Outset Clear Rocks": {
"region_id": "outset village",
"vanilla_item": "Red Rupee (20)",
"stage_id": 0x2F,
"room_id": 0,
"address": STAddr.adv_flags_2f,
"value": 0x20,
"location_groups": ["Outset Village"],
"x_min": -5000,
"z_min": 10000,
"x_max": 25000
},
"Outset Bee Tree": {
"region_id": "outset village",
"vanilla_item": ITEM_GROUPS["Common Treasures"],
"item_override": "Cannon",
"stage_id": 0x2F,
"room_id": 0,
"x_min": 34192,
"x_max": 52960,
"z_min": -34890,
"z_max": -10024,
"location_groups": ["Outset Village"],
},
"Outset Stamp Station": {
"region_id": "outset village stamp station",
"vanilla_item": "Stamp: Outset Village",
"stage_id": 0x2F,
"room_id": 0,
"stamp": 2,
"require_item": ["Stamp Book"],
"location_groups": ["Outset Village"],
"conditional": True
},
"Ouset Beach Tree Burried Chest": {
"region_id": "outset village trees",
"vanilla_item": ITEM_GROUPS["Uncommon Treasures"],
"stage_id": 0x2F,
"room_id": 0,
"x_min": 27449,
"x_max": 43663,
"z_min": 11490,
"z_max": 33968,
"location_groups": ["Outset Village"],
},
"Outset Niko's House Tree Burried Chest": {
"region_id": "outset village trees",
"vanilla_item": ITEM_GROUPS["Uncommon Treasures"],
"stage_id": 0x2F,
"room_id": 0,
"x_min": -60427,
"x_max": -41317,
"z_min": 10523,
"z_max": 28762,
"location_groups": ["Outset Village"],
},
"Outset Niko Stamp Book": {
"region_id": "outset village stamp book",
"vanilla_item": "Stamp Book",
"stage_id": 0x2F,
"room_id": 0x0A,
"address": STAddr.adv_flags_25,
"value": 0x2,
"location_groups": ["Outset Village", "Niko"],
},
"Outset Niko 10 Stamps Reward": {
"region_id": "outset 10 stamps",
"vanilla_item": "Ancient Shield",
"item_override": "Nothing!",
"stage_id": 0x2F,
"room_id": 0x0A,
"address": STAddr.adv_flags_25,
"value": 0x4,
"location_groups": ["Outset Village", "Niko"],
"conditional": True,
},
"Outset Niko 15 Stamps Reward": {
"region_id": "outset 15 stamps",
"vanilla_item": "Engineer's Clothes",
"item_override": "Nothing!",
"stage_id": 0x2F,
"room_id": 0x0A,
"address": STAddr.adv_flags_25,
"value": 0x8,
"location_groups": ["Outset Village", "Niko"],
"conditional": True,
},
"Outset Niko 20 Stamps Reward": {
"region_id": "outset 20 stamps",
"vanilla_item": "Great Spin Scroll",
"item_override": "Nothing!",
"stage_id": 0x2F,
"room_id": 0x0A,
"address": STAddr.adv_flags_25,
"value": 0x10,
"location_groups": ["Outset Village", "Niko"],
"conditional": True,
},
# Castle Town
"Castle Town Stamp Station": {
"region_id": "castle town stamp station",
"stage_id": 0x29,
"room_id": 0,
"stamp": 1,
"vanilla_item": "Stamp: Castle Town",
"location_groups": ["Castle Town"],
"conditional": True
},
"Castle Town Left Wall Chest": {
"region_id": "castle town wall",
"vanilla_item": "Red Rupee (20)",
"stage_id": 0x29,
"room_id": 0,
"x_min": -48215,
"x_max": -34406,
"z_min": 46694,
"z_max": 59802,
"location_groups": ["Castle Town"],
},
"Castle Town Right Wall Chest": {
"region_id": "castle town wall",
"vanilla_item": "Red Rupee (20)",
"stage_id": 0x29,
"room_id": 0,
"x_min": 34406,
"x_max": 49328,
"z_min": 46694,
"z_max": 59802,
"location_groups": ["Castle Town"],
},
"Castle Town Minigame Roof": {
"region_id": "castle town cuccos",
"vanilla_item": ITEM_GROUPS["Uncommon Treasures"],
"stage_id": 0x29,
"room_id": 0,
"x_min": 69100,
"x_max": 74138,
"z_min": 13914,
"z_max": 24835,
"location_groups": ["Castle Town"],
},
"Castle Town Ramp House Chest": {
"region_id": "castle town cuccos",
"vanilla_item": ITEM_GROUPS["Common Treasures"],
"stage_id": 0x29,
"room_id": 0,
"x_min": -76411,
"x_max": -66503,
"z_min": 18672,
"z_max": 28116,
"location_groups": ["Castle Town"],
},
"Castle Town Empty House Roof Chest": {
"region_id": "castle town cuccos",
"vanilla_item": ITEM_GROUPS["Rare Treasures"],
"stage_id": 0x29,
"room_id": 0,
"x_min": -43484,
"x_max": -32916,
"z_min": -43563,
"z_max": -33114,
"location_groups": ["Castle Town"],
},
"Castle Town Take 'em All On Level 1": {
"region_id": "teao 1",
"vanilla_item": "Heart Container",
"minigame": [1, 3, 4],
"conditional": True,
"stage_id": 0x29,
"room_id": 0xB,
"address": STAddr.adv_flags_2a,
"value": 0x4,
"location_groups": ["Castle Town", "Take 'em All On"],
"slot_data": [("randomize_minigames", [1, 3, 4])],
"from_entrances": [1], # Only load if the current entrance matches
},
"Castle Town Take 'em All On Level 2": {
"region_id": "teao 2",
"vanilla_item": "Bombs (Progressive)",
"minigame": [2, 3, 4],
"conditional": True,
"stage_id": 0x29,
"room_id": 0xB,
"address": STAddr.adv_flags_2a,
"value": 8,
"location_groups": ["Castle Town", "Take 'em All On"],
"slot_data": [("randomize_minigames", [2, 3, 4])],
"from_entrances": [1],
},
"Castle Town Take 'em All On Level 3": {
"region_id": "teao 3",
"vanilla_item": ITEM_GROUPS["Rare Treasures"],
"minigame": [4, 5],
"conditional": True,
"stage_id": 0x29,
"room_id": 0xB,
"address": STAddr.adv_flags_2a,
"value": 0x10,
"location_groups": ["Castle Town", "Take 'em All On"],
"slot_data": [("randomize_minigames", [4, 5])],
"ut_connect": "EVENT: Complete Take 'em All On 3",
"from_entrances": [1],
},
"Castle Town Take 'em All On Level 3 Capbone Chest": {
"region_id": "teao 3",
"vanilla_item": ITEM_GROUPS["Uncommon Treasures"],
"minigame": [4, 5],
"conditional": True,
"stage_id": 0x4F,
"room_id": 0x1,
"location_groups": ["Castle Town", "Take 'em All On"],
},
# Hyrule Castle
"Hyrule Castle Exterior NW Chest": {
"region_id": "hyrule castle",
"vanilla_item": ITEM_GROUPS["Common Treasures"],
"stage_id": 0x28,
"room_id": 0,
"entrance_id": 6,
"y": 9830,
"x_max": -70000,
"location_groups": ["Hyrule Castle"],
},
"Hyrule Castle 2F Indoors Chest": {
"region_id": "hyrule castle",
"vanilla_item": "Red Rupee (20)",
"stage_id": 0x28,
"room_id": 2,
"location_groups": ["Hyrule Castle"],
},
"Hyrule Castle 1F Back Chest": {
"region_id": "hyrule castle",
"vanilla_item": "Red Rupee (20)",
"stage_id": 0x28,
"room_id": 1,
"entrance_id": 7,
"x_min": 20640,
"x_max": 40000,
"z_min": -55000,
"z_max": -35000,
"location_groups": ["Hyrule Castle"],
},
"Hyrule Castle 1F Spirit Flute": {
"region_id": "hyrule castle",
"vanilla_item": "Spirit Flute",
"stage_id": 0x28,
"room_id": 5,
"address": STAddr.adv_flags_6,
"value": 0x10,
"location_groups": ["Hyrule Castle"],
},
"Hyrule Castle 1F Sword Minigame 60 Points": {
"region_id": "hyrule castle sword minigame",
"vanilla_item": "Heart Container",
"minigame": [1, 2, 3, 4, 5],
"conditional": True,
"stage_id": 0x28,
"room_id": 0x7,
"address": STAddr.adv_flags_24,
"value": 0x40,
"location_groups": ["Hyrule Castle", "Sword Minigame", "Hyrule Castle Sword Minigame"],
},
# Tunnel to Tower
"Tunnel to ToS 1F Block Chest": {
"region_id": "tower tunnel block chest",
"vanilla_item": "Small Key (Tunnel to ToS)",
"stage_id": 0x18,
"room_id": 0,
'dungeon': "Tunnel to ToS",
},
"Tunnel to ToS 2F Chest": {
"region_id": "tower tunnel 2f chest",
"vanilla_item": "Red Rupee (20)",
"stage_id": 0x18,
"room_id": 1,
'dungeon': "Tunnel to ToS",
},
# # ========== Tower of Spirits ==============
"ToS 1F N Tear of Light":{
"region_id": "tos 1f",
"vanilla_item": "Tear of Light (ToS 1)",
"stage_id": 0x13,
"room_id": 0,
"x_min": -10000,
"x_max": 10000,
"z_min": -75000,
"z_max": -55000,
'dungeon': "ToS",
"conditional": "tears",
"delay_pickup": "ToS 1F Chest",
"tos_section": 1
},
"ToS 1F W Tear of Light": {
"region_id": "tos 1f",
"vanilla_item": "Tear of Light (ToS 1)",
"stage_id": 0x13,
"room_id": 0,
'dungeon': "ToS",
"tos_section": 1,
"x_max": -45000,
"conditional": "tears",
},
"ToS 1F E Tear of Light": {
"region_id": "tos 1f switch",
"vanilla_item": "Tear of Light (ToS 1)",
"stage_id": 0x13,
"room_id": 0,
'dungeon': "ToS",
"tos_section": 1,
"x_min": 50000,
"conditional": "tears",
},
"ToS 1F Chest": {
"region_id": "tos 1f chest",
"vanilla_item": ITEM_GROUPS["Rare Treasures"],
"stage_id": 0x13,
"room_id": 0,
"x_min": -6554,
"x_max": 6554,
"z_min": -72090,
"z_max": -59101,
'dungeon': "ToS",
"delay_pickup": "Tear 1F Top",
"tos_section": 1
},
"ToS 2F Raised Chest": {
"region_id": "tos 2f raised chests",
"vanilla_item": ITEM_GROUPS["Rare Treasures"],
"stage_id": 0x13,
"room_id": 1,
"x_min": -5786,
"x_max": 10650,
"z_min": -39322,
"z_max": -29710,
'dungeon': "ToS",
"tos_section": 1
},
"ToS 2F Whirlwind Chest": {
"region_id": "tos 2f raised chests",
"vanilla_item": ITEM_GROUPS["Rare Treasures"],
"stage_id": 0x13,
"room_id": 1,
"x_min": 21028,
"x_max": 40042,
"z_min": -63898,
"z_max": -54886,
'dungeon': "ToS",
"tos_section": 1
},
"ToS 2F Bomb Wall Chest": {
"region_id": "tos 2f bomb wall",
"vanilla_item": ITEM_GROUPS["Rare Treasures"],
"stage_id": 0x13,
"room_id": 0x28,
"x_min": -14760,
"x_max": 14760,
"z_min": -18842,
"z_max": 10650,
'dungeon': "ToS",
"tos_section": 1
},
"ToS 3F Forest Rail Glyph": {
"region_id": "tos 3f rail map",
"vanilla_item": "Forest Glyph",
"stage_id": 0x13,
"room_id": 2,
"goal": "GOAL: Reach ToS 3F",
"x_min": -6390,
"x_max": 6390,
"z_min": -8438,
"z_max": 4506,
'dungeon': "ToS",
"ut_connect": "EVENT: Reach ToS 3F",
"tos_section": 1
},
# ToS 2
"ToS 4F Central Chest": {
"region_id": "tos 4f",
"vanilla_item": ITEM_GROUPS["Uncommon Treasures"],
"stage_id": 0x13,
"room_id": 3,
"x_min": -10000,
"x_max": 6560,
"z_min": 1600,
"z_max": 10670,
'dungeon': "ToS",
"tos_section": 2
},
"ToS 4F Lava Tear": {
"region_id": "tos 4f whirlwind",
"vanilla_item": "Tear of Light (ToS 2)",
"stage_id": 0x13,
"room_id": 3,
'dungeon': "ToS",
"tos_section": 2,
"x_min": -75000,
"x_max": -10000,
"conditional": "tears",
},
"ToS 4F W Tear of Light": {
"region_id": "tos 4f",
"vanilla_item": "Tear of Light (ToS 2)",
"stage_id": 0x13,
"room_id": 3,
'dungeon': "ToS",
"tos_section": 2,
"x_max": -75000,
"conditional": "tears",
},
"ToS 4F E Tear of Light": {
"region_id": "tos 4f",
"vanilla_item": "Tear of Light (ToS 2)",
"stage_id": 0x13,
"room_id": 3,
'dungeon': "ToS",
"tos_section": 2,
"x_min": -10000,
"z_max": -20000,
"x_max": 10000,
"conditional": "tears",
},
"ToS 4F NE Chest": {
"region_id": "tos 4f ne chest",
"vanilla_item": ITEM_GROUPS["Rare Treasures"],
"stage_id": 0x13,
"room_id": 3,
"entrance_id": 2,
"x_min": 38520,
"x_max": 51177,
"z_min": -55720,
"z_max": -42600,
'dungeon': "ToS",
"tos_section": 2
},
"ToS 5F Island Chest": {
"region_id": "tos 5f phantom",
"vanilla_item": "Big Green Rupee (100)",
"stage_id": 0x13,
"room_id": 4,
"x_min": -35240,
"x_max": -22990,
"z_min": 42350,
"z_max": 52230,
'dungeon': "ToS",
"tos_section": 2
},
"ToS 5F Spinnit Key": {
"region_id": "tos 5f spinnit key",
"vanilla_item": "Small Key (ToS)",
"item_override": "Small Key (ToS 2)",
"stage_id": 0x13,
"room_id": 4,
"x_max": -45000,
"z_min": 0,
'dungeon': "ToS",
"tos_section": 2
},
"ToS 5F Bomb Wall Chest": {
"region_id": "tos 5f secret chest",
"vanilla_item": ITEM_GROUPS["Rare Treasures"],
"stage_id": 0x13,
"room_id": 0x29,
"x_min": -8965,
"x_max": 9061,
"z_min": -17693,
"z_max": 8481,
'dungeon': "ToS",
"tos_section": 2
},
"ToS 6F Enemy Chest 1": {
"region_id": "tos 6f chests",
"vanilla_item": ITEM_GROUPS["Common Treasures"],
"stage_id": 0x13,
"room_id": 5,
"entrance_id": 2,
"x_min": 34420,
"x_max": 48753,
"z_min": -10660,
"z_max": -4354,
"delay_pickup": ["ToS 6F Enemy Big Chest"],
'dungeon': "ToS",
"tos_section": 2
},
"ToS 6F Enemy Chest 2": {
"region_id": "tos 6f chests",
"vanilla_item": ITEM_GROUPS["Common Treasures"],
"stage_id": 0x13,
"room_id": 5,
"entrance_id": 2,
"x_min": 60910,
"x_max": 80112,
"z_min": -4151,
"z_max": 6570,
'dungeon': "ToS",
"tos_section": 2
},
"ToS 6F Enemy Chest 3": {
"region_id": "tos 6f chests",
"vanilla_item": ITEM_GROUPS["Common Treasures"],
"stage_id": 0x13,
"room_id": 5,
"entrance_id": 2,
"x_min": 63492,
"x_max": 80310,
"z_min": -10660,
"z_max": -4152,
'dungeon': "ToS",
"tos_section": 2
},
"ToS 6F Enemy Big Chest": {
"region_id": "tos 6f chests",
"vanilla_item": ITEM_GROUPS["Rare Treasures"],
"item_override": "Refill: Arrows",
"stage_id": 0x13,
"room_id": 5,
"entrance_id": 2,
"x_min": 41795,
"x_max": 57985,
"z_min": -10660,
"z_max": 6560,
"delay_pickup": ["ToS 6F Enemy Chest 1"],
'dungeon': "ToS",
"tos_section": 2
},
"ToS 6F Key": {
"region_id": "tos 6f key",
"vanilla_item": "Small Key (ToS)",
"item_override": "Small Key (ToS 2)",
"stage_id": 0x13,
"room_id": 5,
"x_min": 20000,
"x_max": 80290,
"z_min": 26220,
"z_max": 68000,
'dungeon': "ToS",
"tos_section": 2
},
"ToS 7F Snow Rail Glyph": {
"region_id": "tos 7f rail map",
"vanilla_item": "Snow Glyph",
"stage_id": 0x13,
"room_id": 6,
"x_min": -6400,
"x_max": 6400,
"z_min": -8450,
"z_max": 4515,
'dungeon': "ToS",
"goal": "GOAL: Reach ToS 7F",
"ut_connect": "EVENT: Reach ToS 7F",
"tos_section": 2
},
# ToS 3
"ToS 8F N Bombable Wall Chest": {
"stage_id": 0x13,
"room_id": 0x15,
"vanilla_item": ITEM_GROUPS["Rare Treasures"],
"region_id": "tos 8f",
'dungeon': "ToS",
"tos_section": 3,
},
"ToS 8F S Bombable Wall Chest": {
"stage_id": 0x13,
"room_id": 0x2A,
"vanilla_item": ITEM_GROUPS["Rare Treasures"],
"region_id": "tos 8f bombs",
'dungeon': "ToS",
"tos_section": 3,
},
"ToS 9F NE Tear of Light": {
"stage_id": 0x13,
"room_id": 0x8,
"vanilla_item": "Tear of Light (ToS 3)",
"x_min": 35000,
"z_max": -5000,
"x_max": 55000,
"z_min": -25000,
"region_id": "tos 8f",
'dungeon': "ToS",
"tos_section": 3,
"conditional": "tears",
},
"ToS 9F NW Tear of Light": {
"stage_id": 0x13,
"room_id": 0x8,
"vanilla_item": "Tear of Light (ToS 3)",
"region_id": "tos 8f",
'dungeon': "ToS",
"tos_section": 3,
"conditional": "tears",
"x_max": -60000,
"x_min": -78000,
"z_max": -10000,
"z_min": -30000
},
"ToS 9F NE Bombable Wall Tear": {
"stage_id": 0x13,
"room_id": 0x16,
"vanilla_item": "Tear of Light (ToS 3)",
"region_id": "tos 8f",
'dungeon': "ToS",
"tos_section": 3,
"conditional": "tears",
},
"ToS 9F NW Secret Chest": {
"stage_id": 0x13,
"room_id": 0x8,
"vanilla_item": ITEM_GROUPS["Rare Treasures"],
"x_max": -65000,
"z_max": -40000,
"region_id": "tos 9f nw",
'dungeon': "ToS",
"tos_section": 3,
},
"ToS 10F NW Chest": {
"stage_id": 0x13,
"room_id": 0x9,
"vanilla_item": ITEM_GROUPS["Uncommon Treasures"],
"x_max": -75000,
"z_max": -25000,
"region_id": "tos 9f phantom",
'dungeon': "ToS",
"tos_section": 3,
},
"ToS 10F Boss Key": {
"vanilla_item": "Boss Key (ToS 3)",
"region_id": "tos 9f phantom",
'dungeon': "ToS",
"tos_section": 3,
"conditional": True
},
"ToS 11F Chest": {
"stage_id": 0x13,
"room_id": 0xA,
"vanilla_item": ITEM_GROUPS["Rare Treasures"],
"region_id": "tos 11f",
'dungeon': "ToS",
"tos_section": 3,
},
"ToS 12F Ocean Rail Glyph": {
"stage_id": 0x13,
"room_id": 0xB,
"vanilla_item": "Ocean Glyph",
"region_id": "tos 11f",
'dungeon': "ToS",
"goal": "GOAL: Reach ToS 12F",
"tos_section": 3,
"ut_connect": "EVENT: Reach ToS 12F",
},
# ToS 4
"ToS 13F SE Tear of Light": {
"stage_id": 0x13,
"room_id": 0xC,
"vanilla_item": "Tear of Light (ToS 4)",
"region_id": "tos 13f",
'dungeon': "ToS",
"tos_section": 4,
"conditional": "tears",
"x_min": 50000,
"y": 0,
"z_min": 5000,
},
"ToS 13F Central Tear of Light": {
"stage_id": 0x13,
"room_id": 0xC,
"vanilla_item": "Tear of Light (ToS 4)",
"region_id": "tos 13f whip",
'dungeon': "ToS",
"tos_section": 4,
"conditional": "tears",
"x_max": -20000,
"z_min": -25000,
"z_max": -15000,
"x_min": -45000,
"y": 4915
},
"ToS 13F SW Raised Chest": {
"stage_id": 0x13,
"room_id": 0xC,
"vanilla_item": "Small Key (ToS)",
"item_override": "Small Key (ToS 4)",
"region_id": "tos 13f whip",
'dungeon': "ToS",
"tos_section": 4,
"y": 9830
},
"ToS 13F N Chest": {
"stage_id": 0x13,
"room_id": 0xC,
"vanilla_item": "Small Key (ToS)",
"item_override": "Small Key (ToS 4)",
"region_id": "tos 13f boomerang",
'dungeon': "ToS",
"tos_section": 4,
"x_min": 15000,
"z_max": -20000,
"x_max": 35000,
"y": 0
},
"ToS 14F Tear of Light": {
"stage_id": 0x13,
"room_id": 0xD,
"vanilla_item": "Tear of Light (ToS 4)",
"region_id": "tos 14f east",
'dungeon': "ToS",
"tos_section": 4,
"conditional": "tears",
"z_max": -50000,
"x_min": 30000,
},
"ToS 14F SE Chest": {
"stage_id": 0x13,
"room_id": 0xD,
"vanilla_item": ITEM_GROUPS["Rare Treasures"],
"region_id": "tos 14f phantom",
'dungeon': "ToS",
"tos_section": 4,
"conditional": "tears",
"z_min": 15000,
"x_min": 50000,
},
"ToS 13F SE Raised Chest": {
"stage_id": 0x13,
"room_id": 0xC,
"vanilla_item": ITEM_GROUPS["Rare Treasures"],
"region_id": "tos 13f phantom",
'dungeon': "ToS",
"tos_section": 4,
"x_min": 3000,
"z_min": 25000,
"x_max": 50000,
"y": 4915
},
"ToS 13F E Swing Chest": {
"stage_id": 0x13,
"room_id": 0xC,
"vanilla_item": ITEM_GROUPS["Rare Treasures"],
"region_id": "tos 13f phantom whip",
'dungeon': "ToS",
"tos_section": 4,
"x_min": 85000,
"z_max": -10000,
"y": 4915
},
"ToS 15F NE Chest": {
"stage_id": 0x13,
"room_id": 0xE,
"vanilla_item": "Small Key (ToS)",
"item_override": "Small Key (ToS 4)",
"region_id": "tos 15f",
'dungeon': "ToS",
"tos_section": 4,
"x_min": 65000,
"z_max": -45000,
},
"ToS 16F Bombable Wall Chest": {
"stage_id": 0x13,
"room_id": 0x2B,
"vanilla_item": ITEM_GROUPS["Rare Treasures"],
"region_id": "tos 16f bombs",
'dungeon': "ToS",
"tos_section": 4,
},
"ToS 17F Fire Rail Glyph": {
"stage_id": 0x13,
"room_id": 0xF,
"vanilla_item": "Fire Glyph",
"region_id": "tos 16f",
'dungeon': "ToS",
"tos_section": 4,
"ut_connect": "EVENT: Reach ToS 17F",
"goal": "GOAL: Reach ToS 17F",
},
# ToS 5
"ToS 18F N Chest": {
"stage_id": 0x13,
"room_id": 0x11,
"vanilla_item": "Small Key (ToS)",
"item_override": "Small Key (ToS 5)",
"region_id": "tos 18f whip",
'dungeon': "ToS",
"tos_section": 5,
"z_max": -50000,
"x_min": 10000
},
"ToS 18F SE Tear of Light": {
"stage_id": 0x13,
"room_id": 0x11,
"vanilla_item": "Tear of Light (ToS 5)",
"region_id": "tos 18f",
'dungeon': "ToS",
"conditional": "tears",
"tos_section": 5,
"z_min": -60000,
"x_min": 75000,
},
"ToS 19F S Tear of Light": {
"stage_id": 0x13,
"room_id": 0x12,
"vanilla_item": "Tear of Light (ToS 5)",
"region_id": "tos 19f south",
'dungeon': "ToS",
"conditional": "tears",
"tos_section": 5,
"z_min": 30000,
"x_max": 70000,
"x_min": -15000,
},
"ToS 20F SW Tear of Light": {
"stage_id": 0x13,
"room_id": 0x13,
"vanilla_item": "Tear of Light (ToS 5)",
"region_id": "tos 20f tear",
'dungeon': "ToS",
"tos_section": 5,
"conditional": "tears",
"z_max": 10000,
"x_max": -60000,
"z_min": -10000,
"x_min": -75000,
},
"ToS 19F Center W Chest": {
"stage_id": 0x13,
"room_id": 0x12,
"vanilla_item": ITEM_GROUPS["Rare Treasures"],
"region_id": "tos 19f center chest",
'dungeon': "ToS",
"tos_section": 5,
"z_max": 15000,
"x_max": 10000,
"z_min": -15000,
"x_min": -5000,
},
"ToS 18F Center Chest": {
"stage_id": 0x13,
"room_id": 0x11,
"vanilla_item": "Small Key (ToS)",
"item_override": "Small Key (ToS 5)",
"region_id": "tos 19f center",
'dungeon': "ToS",
"tos_section": 5,
"z_max": 40000,
"x_max": 0,
"z_min": 20000,
"x_min": -15000,
},
"ToS 18F SW Chest": {
"stage_id": 0x13,
"room_id": 0x11,
"vanilla_item": ITEM_GROUPS["Rare Treasures"],
"region_id": "tos 18f phantom",
'dungeon': "ToS",
"tos_section": 5,
"x_max": -15000,
"z_min": -55000,
"x_min": -35000,
},
"ToS 19F Center E Chest": {
"stage_id": 0x13,
"room_id": 0x12,
"vanilla_item": ITEM_GROUPS["Rare Treasures"],
"region_id": "tos 19f center 2",
'dungeon': "ToS",
"tos_section": 5,
"z_max": 15000,
"x_max": 35000,
"z_min": -15000,
"x_min": 10000,
},
"ToS 22F Boss Key": {
"vanilla_item": "Boss Key (ToS 5)",
"region_id": "tos 19f center 2",
'dungeon': "ToS",
"tos_section": 5,
"conditional": True,
},
"ToS 23F Defeat Staven": {
"stage_id": 0x23,
"room_id": 0x0,
"region_id": "tos staven",
"address": STAddr.adv_flags_20,
"value": 0x1,
"ut_connect": "EVENT: Defeat Staven",
"goal": "Defeat Staven",
'dungeon': "ToS",
"tos_section": 5,
"no_model": True
},
"ToS Summit Stamp Station": {
"vanilla_item": "Stamp: Tower of Spirits",
"stage_id": 0x15,
"room_id": 0x0,
"region_id": "tos stamp stand",
'dungeon': "ToS",
"tos_section": "summit",
"stamp": 0,
"conditional": True
},
# ToS 6
"ToS 30F W Chest": {
"stage_id": 0x13,
"room_id": 0x1E,
"vanilla_item": ITEM_GROUPS["Rare Treasures"],
"region_id": "tos 30f bomb wall",
'dungeon': "ToS",
"tos_section": 6,
"x_max": -90000,
"z_max": 25000
},
"ToS 28F W Raised Chest": {
"stage_id": 0x13,
"room_id": 0x20,
"region_id": "tos 29f sand wand",
"vanilla_item": ITEM_GROUPS["Rare Treasures"],
'dungeon': "ToS",
"tos_section": 6,
"x_max": -80000,
"z_min": 40000
},
"ToS 28F E Raised Chest": {
"stage_id": 0x13,
"room_id": 0x20,
"region_id": "tos 29f sand wand",
"vanilla_item": "Small Key (ToS)",
"item_override": "Small Key (ToS 6)",
'dungeon': "ToS",
"tos_section": 6,
"x_max": -20000,
"x_min": -40000,
"z_min": 25000
},
"ToS 29F SE Chest": {
"stage_id": 0x13,
"room_id": 0x1F,
"region_id": "tos 29f se",
"vanilla_item": "Small Key (ToS)",
"item_override": "Small Key (ToS 6)",
'dungeon': "ToS",
"tos_section": 6,
"x_min": 80000,
"z_min": 20000
},
"ToS 30F SE Wrecker Chest": {
"stage_id": 0x13,
"room_id": 0x1E,
"region_id": "tos 29f se",
"vanilla_item": "Small Key (ToS)",
"item_override": "Small Key (ToS 6)",
'dungeon': "ToS",
"tos_section": 6,
"x_min": 60000,
"z_min": 5000,
"z_max": 25000
},
"ToS 24F Final Chest": {
"stage_id": 0x13,
"room_id": 0x23,
"region_id": "tos 24f",
"vanilla_item": "Compass of Light",
'dungeon': "ToS",
"tos_section": 6,
"ut_connect": "EVENT: Reach ToS 24F",
"goal": "GOAL: Reach ToS 24F"
},
# =============================================
# Mayscore
"Mayscore Stamp Station": {
"region_id": "mayscore stamp station",
"vanilla_item": "Stamp: Mayscore",
"stage_id": 0x38,
"room_id": 0,
"stamp": 3,
"require_item": ["Stamp Book"],
"location_groups": ["Mayscore"],
"conditional": True
},
"Mayscore Whip Chest": {
"region_id": "mayscore whip chest",
"vanilla_item": ITEM_GROUPS["Uncommon Treasures"],
"stage_id": 0x38,
"room_id": 0,
"x_min": -63898,
"x_max": -46389,
"z_min": -59335,
"z_max": -41068,
"location_groups": ["Mayscore"],
},
"Mayscore Whip Race 1:15-1:30": {
"region_id": "mayscore whip game",
"vanilla_item": "Bombs (Progressive)",
"minigame": [1, 3, 4],
"conditional": True,
"stage_id": 0x38,
"room_id": 0,
"address": STAddr.adv_flags_26,
"value": 1,
"location_groups": ["Mayscore""Mayscore Whip Race", "Mayscore Whip Game",
"Mayscore Whip Game Easy", "Mayscore Whip Race Easy"],
"slot_data": [("randomize_minigames", [1, 3, 4])],
"x_min": 55000,
"z_max": -45000,
},
"Mayscore Whip Race 1:05-1:15": {
"region_id": "mayscore whip game",
"vanilla_item": "Heart Container",
"minigame": [2, 3, 4],
"conditional": True,
"stage_id": 0x38,
"room_id": 0,
"address": STAddr.adv_flags_26,
"value": 2,
"location_groups": ["Mayscore", "Mayscore Whip Race", "Mayscore Whip Game",
"Mayscore Whip Game Hard", "Mayscore Whip Race Hard"],
"slot_data": [("randomize_minigames", [2, 3, 4])],
"x_min": 55000,
"z_max": -45000,
},
"Mayscore Whip Race Sub 1:05": {
"region_id": "mayscore whip game",
"vanilla_item": ITEM_GROUPS["Super Rare Treasures"],
"minigame": [4, 5],
"conditional": True,
"stage_id": 0x38,
"room_id": 0,
"address": STAddr.adv_flags_10,
"delay_reset": True,
"value": 0x80,
"location_groups": ["Mayscore""Mayscore Whip Race", "Mayscore Whip Game",
"Mayscore Whip Game Expert", "Mayscore Whip Race Expert"],
"slot_data": [("randomize_minigames", [4, 5])],
"x_min": 55000,
"z_max": -45000,
},
# Woodland Sanctuary
"Woodland Sanctuary Stamp Station": {
"region_id": "fos stamp station",
"vanilla_item": "Stamp: Woodland Sanctuary",
"stage_id": 0x30,
"room_id": 0,
"stamp": 4,
"location_groups": ["Woodland Sanctuary"],
"conditional": True
},
"Woodland Sanctuary Song Statue": {
"region_id": "fos song statue",
"vanilla_item": "Song of Awakening",
"stage_id": 0x30,
"room_id": 0,
"x_min": -32764,
"x_max": -18104,
"z_min": 5734,
"z_max": 18842,
"location_groups": ["Woodland Sanctuary", "Song Statue"],
},
"Woodland Sanctuary Chest": {
"region_id": "fos chest",
"vanilla_item": "Big Red Rupee (200)",
"x_min": 9228,
"x_max": 18778,
"z_min": 39028,
"z_max": 52120,
"stage_id": 0x30,
"room_id": 0,
"location_groups": ["Woodland Sanctuary"],
},
"Woodland Sanctuary Song of Restoration": {
"stage_id": 0x30,
"room_id": 0x1,
"region_id": "fos song statue",
"address": STAddr.rail_restorations,
"value": 2,
"minigame": [1, 2, 3, 4, 5, 6],
"conditional": True,
"location_groups": ["Woodland Sanctuary", "Restoration Duets"],
},
# Wooded Temple
"Wooded Temple Song Statue": {
"region_id": "wt song statue",
"vanilla_item": "Song of Healing",
"stage_id": 0x19,
"room_id": 0x0A,
"x_min": -35240,
"x_max": -14885,
"z_min": -51620,
"z_max": -39275,
"dungeon": "Wooded Temple",
"location_groups": ["Song Statue"]
},
"Wooded Temple 1F Stamp Station": {
"region_id": "wt stamp station",
"vanilla_item": "Stamp: Wooded Temple",
"stage_id": 0x19,
"room_id": 0,
"stamp": 0xc,
"dungeon": "Wooded Temple",
"conditional": True
},
"Wooded Temple 1F Enemy Chest": {
"region_id": "wt 1f enemy chest",
"vanilla_item": "Big Green Rupee (100)",
"stage_id": 0x19,
"room_id": 0,
"x_min": 22118,
"x_max": 34012,
"z_min": 30310,
"z_max": 39600,
"dungeon": "Wooded Temple",
},
"Wooded Temple 1F Key": {
"region_id": "wt 1f key",
"vanilla_item": "Small Key (Wooded Temple)",
"stage_id": 0x19,
"room_id": 0,
"x_max": -13926,
"z_min": -63898,
"z_max": -20000,
"dungeon": "Wooded Temple",
},
"Wooded Temple 1F Switch Chest": {
"region_id": "wt 1f switch chest",
"vanilla_item": "Big Green Rupee (100)",
"stage_id": 0x19,
"room_id": 0,
"x_min": 30327,
"x_max": 43418,
"z_min": -39322,
"z_max": -30077,
"dungeon": "Wooded Temple",
},
"Wooded Temple 2F Enemy Chest": {
"region_id": "wt 2f enemy chest",
"vanilla_item": "Whirlwind",
"stage_id": 0x19,
"room_id": 1,
"x_min": 63078,
"z_max": -53204,
"dungeon": "Wooded Temple",
},
"Wooded Temple 2F Poison Chest": {
"region_id": "wt 2f poison chest",
"vanilla_item": ITEM_GROUPS["Common Treasures"],
"stage_id": 0x19,
"room_id": 1,
"x_min": 42450,
"x_max": 55113,
"z_min": -14900,
"z_max": -258,
"dungeon": "Wooded Temple",
},
"Wooded Temple 3F Chestnut Chest": {
"region_id": "wt 3f chestnut chest",
"vanilla_item": "Small Key (Wooded Temple)",
"stage_id": 0x19,
"room_id": 2,
"x_min": -47514,
"x_max": -42598,
"z_min": -59820,
"z_max": -52296,
"dungeon": "Wooded Temple",
},
"Wooded Temple 3F SE Chest": {
"region_id": "wt 3f se chest",
"vanilla_item": ITEM_GROUPS["Common Treasures"],
"stage_id": 0x19,
"room_id": 2,
"x_min": 42646,
"x_max": 55982,
"z_min": -2458,
"z_max": 7485,
"dungeon": "Wooded Temple",
},
"Wooded Temple 3F Boss Key": {
"region_id": "wt 3f bk",
"vanilla_item": "Boss Key (Wooded Temple)",
"dungeon": "Wooded Temple",
"conditional": True,
},
"Wooded Temple Boss Heart Container": {
"region_id": "wt stagnox",
"vanilla_item": "Heart Container",
"stage_id": 0x1E,
"room_id": 0,
"dungeon": "Wooded Temple",
"location_groups": ["Stagnox"],
},
"Wooded Temple Dungeon Reward": {
"region_id": "wt stagnox",
"vanilla_item": "Forest Source",
"address": STAddr.adv_flags_0,
"value": 0x10,
"stage_id": 0x1E,
"room_id": 0,
"dungeon": "Wooded Temple",
"goal": True,
"ut_connect": "EVENT: Defeat Stagnox",
"location_groups": ["Stagnox"],
"no_model": True
},
# Rabbit Haven
"Rabbit Haven Net Gift": {
"region_id": "rabbit haven",
# "item_override": "Rabbit Net",
"vanilla_item": "Nothing!",
"stage_id": 0x3E,
"room_id": 0,
"address": STAddr.adv_flags_1a,
"value": 0x40,
"location_groups": ["Rabbit Haven"],
"x_max": -35000
},
"Rabbit Haven Island Chest": {
"region_id": "rabbit haven",
"vanilla_item": ITEM_GROUPS["Uncommon Treasures"],
"stage_id": 0x3E,
"room_id": 0,
"x_min": 11447,
"x_max": 23070,
"z_min": -18940,
"z_max": -9020,
"location_groups": ["Rabbit Haven"],
},
"Rabbit Haven Rescue 5 Rabbits": {
"region_id": "rabbit haven 5 rabbits",
"vanilla_item": "Heart Container",
"stage_id": 0x3E,
"room_id": 0,
'address': STAddr.adv_flags_51,
'value': 0x8,
"conditional": True,
"location_groups": ["Rabbit Haven", "Rabbit Rewards"],
"x_max": -35000
},
"Rabbit Haven Rescue 1 of Each Rabbit": {
"region_id": "rabbit haven 1 of each rabbits",
"vanilla_item": ITEM_GROUPS["Rare Treasures"],
"stage_id": 0x3E,
"room_id": 0,
'address': STAddr.adv_flags_51,
'value': 0x10,
"conditional": True,
"location_groups": ["Rabbit Haven", "Rabbit Rewards"],
"x_max": -35000
},
"Rabbit Haven Rescue 10 Grass Rabbits": {
"region_id": "rabbit haven 10 forest rabbits",
"vanilla_item": ITEM_GROUPS["Rare Treasures"],
"stage_id": 0x3E,
"room_id": 0,
'address': STAddr.adv_flags_51,
'value': 0x20,
"conditional": True,
"location_groups": ["Rabbit Haven", "Rabbit Rewards"],
"x_max": -35000
},
"Rabbit Haven Rescue 10 Snow Rabbits": {
"region_id": "rabbit haven 10 snow rabbits",
"vanilla_item": ITEM_GROUPS["Rare Treasures"],
"stage_id": 0x3E,
"room_id": 0,
'address': STAddr.adv_flags_51,
'value': 0x40,
"conditional": True,
"location_groups": ["Rabbit Haven", "Rabbit Rewards"],
"x_max": -35000
},
"Rabbit Haven Rescue 10 Ocean Rabbits": {
"region_id": "rabbit haven 10 ocean rabbits",
"vanilla_item": ITEM_GROUPS["Rare Treasures"],
"stage_id": 0x3E,
"room_id": 0,
'address': STAddr.adv_flags_51,
'value': 0x80,
"conditional": True,
"location_groups": ["Rabbit Haven", "Rabbit Rewards"],
"x_max": -35000
},
"Rabbit Haven Rescue 10 Mountain Rabbits": {
"region_id": "rabbit haven 10 mountain rabbits",
"vanilla_item": ITEM_GROUPS["Rare Treasures"],
"stage_id": 0x3E,
"room_id": 0,
'address': STAddr.adv_flags_52,
'value': 0x1,
"conditional": True,
"location_groups": ["Rabbit Haven", "Rabbit Rewards"],
"x_max": -35000
},
"Rabbit Haven Rescue 10 Sand Rabbits": {
"region_id": "rabbit haven 10 sand rabbits",
"vanilla_item": ITEM_GROUPS["Rare Treasures"],
"stage_id": 0x3E,
"room_id": 0,
'address': STAddr.adv_flags_52,
'value': 0x2,
"conditional": True,
"location_groups": ["Rabbit Haven", "Rabbit Rewards"],
"x_max": -35000
},
"Rabbit Haven Rescue 10 of Each Rabbit": {
"region_id": "rabbit haven 50 rabbits",
"vanilla_item": "Sword Beam Scroll",
"item_override": "Nothing!",
"stage_id": 0x3E,
"room_id": 0,
'address': STAddr.adv_flags_53,
'value': 0x8,
"conditional": True,
"location_groups": ["Rabbit Haven", "Rabbit Rewards"],
"x_max": -35000
},
# Trading Post
"Trading Post Stamp Station": {
"region_id": "trading post stamp station",
"vanilla_item": "Stamp: Trading Post",
"stage_id": 0x37,
"room_id": 0x01,
"stamp": 0x12,
"location_groups": ["Trading Post"],
"conditional": True
},
"Trading Post Song Statue": {
"region_id": "trading post light song statue",
"vanilla_item": "Song of Light",
"stage_id": 0x37,
"room_id": 0,
"x_min": -64094,
"x_max": -45666,
"z_min": -55626,
"z_max": -35679,
"location_groups": ["Trading Post", "Song Statue"],
},
"Trading Post Burried Chest": {
"region_id": "trading post chest",
"vanilla_item": "Treasure: Regal Ring",
"stage_id": 0x37,
"room_id": 0x02,
"address": STAddr.adv_flags_3e,
"value": 0x10,
"location_groups": ["Trading Post"],
},
# Anouki Village
"Anouki Village Pair Villagers": {
"region_id": "anouki village",
"vanilla_item": "Red Rupee (20)",
"item_override": "Snowfall Sanctuary Cave Key",
"stage_id": 0x2B,
"room_id": 1,
"location_groups": ["Anouki Village"],
},
"Anouki Village Stamp Station": {
"region_id": "anouki village stamp station",
"vanilla_item": "Stamp: Anouki Village",
"stage_id": 0x2B,
"room_id": 0,
"stamp": 5,
"location_groups": ["Anouki Village"],
"conditional": True
},
"Anouki Village Song Statue": {
"region_id": "anouki village song statue",
"vanilla_item": "Song of Discovery",
"stage_id": 0x2B,
"room_id": 0,
"x_min": -10000,
"x_max": 10000,
"z_min": -60000,
"z_max": -40000,
"delay_pickup": ["Anouki Village Song Statue Chest"],
"location_groups": ["Anouki Village", "Song Statue"],
},
"Anouki Village Song Statue Chest": { #TODO check if consistently sending check
"region_id": "anouki village song statue",
"vanilla_item": ["Red Potion", "Big Green Rupee (100)"],
"stage_id": 0x2B,
"room_id": 0,
"x_min": -10000,
"x_max": 10000,
"z_min": -60000,
"z_max": -40000,
"delay_pickup": ["Anouki Village Song Statue"],
"location_groups": ["Anouki Village"],
},
"Anouki Village Bomb Cave Chest": {
"region_id": "anouki village bomb cave chest",
"vanilla_item": "Big Red Rupee (200)",
"stage_id": 0x2B,
"room_id": 0x07,
"x_min": 10380,
"x_max": 23020,
"z_min": -42922,
"z_max": -19997,
"location_groups": ["Anouki Village"],
},
"Anouki Village Lake Chest": {
"region_id": "anouki village lake chest",
"vanilla_item": "Big Green Rupee (100)",
"stage_id": 0x2B,
"room_id": 0,
"x_min": -96434,
"x_max": -83560,
"z_min": -55900,
"z_max": -47180,
"location_groups": ["Anouki Village"],
},
# Snowfall Sanctuary
"Snowfall Sanctuary Stamp Station": {
"region_id": "ss stamp station",
"vanilla_item": "Stamp: Snowfall Sanctuary",
"stage_id": 0x31,
"room_id": 0,
"stamp": 6,
"location_groups": ["Snowfall Sanctuary"],
"conditional": True
},
"Snowfall Sanctuary Song of Restoration": {
"stage_id": 0x31,
"room_id": 0x2,
"address": STAddr.rail_restorations,
"value": 4,
"minigame": [1, 2, 3, 4, 5, 6],
"conditional": True,
"region_id": "ss song",
"location_groups": ["Snowfall Sanctuary","Restoration Duets"],
},
"Snowfall Sanctuary Steem Gift With Snow Source": {
"region_id": "steem gift",
"vanilla_item": "Big Green Rupee (100)",
"stage_id": 0x31,
"room_id": 2,
"address": STAddr.adv_flags_1a,
"value": 0x20,
"location_groups": ["Snowfall Sanctuary"],
},
# Blizzard Temple
"Blizzard Temple B1 SE Chest": {
"region_id": "bt b1 se",
"vanilla_item": "Red Rupee (20)",
"stage_id": 0x1A,
"room_id": 1,
"x_min": 35000,
"x_max": 55000,
"z_min": 35000,
"z_max": 50000,
"dungeon": "Blizzard Temple",
},
"Blizzard Temple B1 E Enemy Chest": {
"region_id": "bt b1 e enemy chest",
"vanilla_item": ITEM_GROUPS["Uncommon Treasures"],
"stage_id": 0x1A,
"room_id": 1,
"x_min": 73520,
"x_max": 92474,
"z_min": -28212,
"z_max": -13300,
"dungeon": "Blizzard Temple",
},
"Blizzard Temple B1 NE Enemy Chest": {
"region_id": "bt b1 ne enemy chest",
"vanilla_item": "Boomerang",
"stage_id": 0x1A,
"room_id": 1,
"x_min": 11761,
"x_max": 28782,
"z_min": -72090,
"z_max": -53453,
"dungeon": "Blizzard Temple",
},
"Blizzard Temple 1F NE Chest": {
"region_id": "bt 1f ne chest",
"vanilla_item": ITEM_GROUPS["Uncommon Treasures"],
"stage_id": 0x1A,
"room_id": 0,
"x_min": 74030,
"x_max": 88474,
"z_min": -68000,
"z_max": -58982,
"dungeon": "Blizzard Temple",
},
"Blizzard Temple B1 SW Chest": {
"region_id": "bt b1 sw chest",
"vanilla_item": "Small Key (Blizzard Temple)",
"stage_id": 0x1A,
"room_id": 1,
"x_min": -17527,
"x_max": -1638,
"z_min": 51643,
"z_max": 72090,
"dungeon": "Blizzard Temple",
},
"Blizzard Temple B1 Stamp Station": {
"region_id": "bt stamp station",
"vanilla_item": "Stamp: Blizzard Temple",
"stage_id": 0x1A,
"room_id": 1,
"stamp": 0xd,
"dungeon": "Blizzard Temple",
"conditional": True
},
"Blizzard Temple B1 NW Enemy Chest": {
"region_id": "bt west",
"vanilla_item": "Big Green Rupee (100)",
"stage_id": 0x1A,
"room_id": 1,
"x_min": -88490,
"x_max": -72624,
"z_min": -62715,
"z_max": -42615,
"dungeon": "Blizzard Temple",
},
"Blizzard Temple 1F NW Chest": {
"region_id": "bt west",
"vanilla_item": "Red Rupee (20)",
"stage_id": 0x1A,
"room_id": 0,
"x_min": -50967,
"x_max": -38600,
"z_min": -68000,
"z_max": -56082,
"dungeon": "Blizzard Temple",
},
"Blizzard Temple 1F Torch Chest": {
"region_id": "bt west",
"vanilla_item": "Red Rupee (20)",
"stage_id": 0x1A,
"room_id": 0,
"x_min": -8700,
"x_max": 8172,
"z_min": -68020,
"z_max": -58982,
"dungeon": "Blizzard Temple",
},
"Blizzard Temple 2F Boss Key": {
"region_id": "bt west",
"vanilla_item": "Boss Key (Blizzard Temple)",
"dungeon": "Blizzard Temple",
"conditional": True
},
"Blizzard Temple Boss Heart Container": {
"region_id": "bt fraaz",
"vanilla_item": "Heart Container",
"stage_id": 0x1F,
"room_id": 0,
"dungeon": "Blizzard Temple",
"location_groups": ["Fraaz"],
},
"Blizzard Temple Dungeon Reward": {
"region_id": "bt fraaz",
"vanilla_item": "Snow Source", #TODO tracks did not get removed, and check sent on room entry
"address": STAddr.adv_flags_0,
"value": 0x20,
"stage_id": 0x1F,
"room_id": 0,
"dungeon": "Blizzard Temple",
"goal": True,
"ut_connect": "EVENT: Defeat Fraaz",
"location_groups": ["Fraaz"],
"no_model": True
},
# Icy Spring
"Icy Spring Whip Chest": {
"region_id": "icyspring whip chest",
"vanilla_item": "Big Green Rupee (100)",
"stage_id": 0x35,
"room_id": 0,
"x_min": 50054,
"x_max": 64770,
"z_min": -58730,
"z_max": -42650,
"location_groups": ["Icy Spring"],
},
"Icy Spring Stamp Station": {
"region_id": "icyspring stamp station",
"vanilla_item": "Stamp: Icy Spring",
"stage_id": 0x35,
"room_id": 0,
"stamp": 0x13,
"location_groups": ["Icy Spring"],
"conditional": True
},
# Snowdrift Station
"Snowdrift Station Puzzle Reward": {
"region_id": "snowdrift reward",
"vanilla_item": ITEM_GROUPS["Super Rare Treasures"],
"stage_id": 0x3F,
"room_id": 1,
"x_min": -10650,
"x_max": 10650,
"z_min": -55800,
"z_max": -38083,
"location_groups": ["Snowdrift Station"],
},
# Slippery Station
"Slippery Station Amateur Reward": {
"region_id": "slippery amateur",
"vanilla_item": "Gold Rupee (300)",
"minigame": [1, 3, 4],
"conditional": True,
"stage_id": 0x3F,
"room_id": 0x06,
"x_min": -1930,
"x_max": 14746,
"z_min": -68303,
"z_max": -50810,
"location_groups": ["Slippery Station"],
"slot_data": [("randomize_minigames", [1, 3, 4])],
},
"Slippery Station Pro Reward": {
"region_id": "slippery pro",
"vanilla_item": ITEM_GROUPS["Rare Treasures"],
"stage_id": 0x3F,
"room_id": 0x06,
"x_min": 87833,
"x_max": 104858,
"z_min": -65036,
"z_max": -46800,
"minigame": [2, 3, 4],
"conditional": True,
"location_groups": ["Slippery Station"],
"slot_data": [("randomize_minigames", [2, 3, 4])],
},
"Slippery Station Champion Reward": {
"region_id": "slippery champion",
"vanilla_item": ITEM_GROUPS["Super Rare Treasures"],
"stage_id": 0x3F,
"room_id": 0x06,
"x_min": 72800,
"x_max": 88000,
"z_min": 45579,
"z_max": 64500,
"minigame": [4, 5],
"conditional": True,
"location_groups": ["Slippery Station"],
"slot_data": [("randomize_minigames", [4, 5])],
},
# Bridge Worker's Home
"Bridge Worker's Home Burried Chest": {
"region_id": "bridge workers chest",
"vanilla_item": "Big Green Rupee (100)",
"stage_id": 0x36,
"room_id": 0,
"x_min": 63278,
"x_max": 72232,
"z_min": -43618,
"z_max": -28439,
"location_groups": ["Bridge Worker's House"],
},
# ========== Ocean Realm ============
# Island Sanctuary
"Island Sanctuary Stamp Station": {
"region_id": "ocs stamp station",
"vanilla_item": "Stamp: Island Sanctuary",
"stage_id": 0x32,
"room_id": 2,
"stamp": 8,
"require_item": ["Stamp Book", "Song of Birds", "Whip"],
"location_groups": ["Island Sanctuary"],
"conditional": True
},
"Island Sanctuary Cucco Chest": {
"region_id": "ocs north",
"vanilla_item": ITEM_GROUPS["Uncommon Treasures"],
"stage_id": 0x32,
"room_id": 2,
"x_min": 65000,
"z_min": 15000,
"location_groups": ["Island Sanctuary"],
"require_item": ["Boomerang"], #Possibly also need whirlwind
},
"Island Sanctuary S Island Chest": {
"region_id": "ocs S island chest",
"vanilla_item": ITEM_GROUPS["Common Treasures"],
"stage_id": 0x32,
"room_id": 0,
"y": 9830,
"require_item": ["Song of Birds", "Whip"],
"location_groups": ["Island Sanctuary"],
},
"Island Sanctuary NW Chest": {
"region_id": "ocs nw chest",
"vanilla_item": ITEM_GROUPS["Common Treasures"],
"stage_id": 0x32,
"room_id": 2,
"x_max": -90000,
"z_max": -40000,
"require_item": ["Song of Birds", "Whip"],
"location_groups": ["Island Sanctuary"],
},
"Island Sanctuary Song of Restoration": {
"stage_id": 0x32,
"room_id": 0x4,
"region_id": "ocs song",
#"vanilla_item": "Marine Temple Tracks",
"address": STAddr.rail_restorations,
"value": 0x8,
"minigame": [1, 2, 3, 4, 5, 6],
"conditional": True,
"location_groups": ["Island Sanctuary", "Restoration Duets"],
},
# Papuzia (Papuchia) Village
"Papuzia Village Song Statue": {
"region_id": "papuchia village song statue",
"vanilla_item": "Song of Birds",
"stage_id": 0x2C,
"room_id": 0,
"x_min": 10000,
"x_max": 30000,
"z_min": 40000,
"require_item": ["Spirit Flute", "Song of Discovery"],
"location_groups": ["Papuzia Village", "Song Statue"],
},
"Papuzia Village Stamp Station": {
"region_id": "papuchia village stamp station",
"vanilla_item": "Stamp: Papuzia Village",
"stage_id": 0x39,
"room_id": 0,
"stamp": 7,
"require_item": ["Stamp Book", "Song of Birds", "Whip"],
"location_groups": ["Papuzia Village"],
"conditional": True
},
"Papuzia Village NE Chest": {
"region_id": "papuchia village",
"vanilla_item": ITEM_GROUPS["Common Treasures"],
"stage_id": 0x2C,
"room_id": 0,
"x_min": 15000,
"x_max": 40000,
"z_max": -25000,
"location_groups": ["Papuzia Village"],
},
"Papuzia Village SW Chest": {
"region_id": "papuchia village south",
"vanilla_item": ITEM_GROUPS["Uncommon Treasures"],
"stage_id": 0x39,
"room_id": 0,
"x_max": -40000,
"z_min": -20000,
"z_max": 15000,
"require_item": ["Spirit Flute", "Song of Birds", "Whip"],
"location_groups": ["Papuzia Village"],
},
"Papuzia Village S Center Chest": {
"region_id": "papuchia village south",
"vanilla_item": "Big Green Rupee (100)",
"stage_id": 0x39,
"room_id": 0,
"x_min": 5000,
"x_max": 40000,
"z_max": -45000,
"require_item": ["Spirit Flute", "Song of Birds", "Whip"],
"location_groups": ["Papuzia Village"],
},
# Marine (Ocean) Temple
"Marine Temple Song Statue": {
"region_id": "oct song statue",
"vanilla_item": "Song of Healing",
"item_override": "Nothing!",
"stage_id": 0x1B,
"room_id": 0xA,
"x_max": -16000,
"z_max": -35000,
"dungeon": "Marine Temple",
"location_groups": ["Song Statue"]
},
"Marine Temple 3F Whip Chest": {
"region_id": "oct whip chest",
"vanilla_item": "Whip",
"stage_id": 0x1B,
"room_id": 2,
"x_min": -250000,
"x_max": 25000,
"z_min": -25000,
"z_max": 25000,
"dungeon": "Marine Temple",
"require_item": [],
},
"Marine Temple 2F Log Chest": {
"region_id": "oct whip",
"vanilla_item": ITEM_GROUPS["Common Treasures"],
"stage_id": 0x1B,
"room_id": 1,
"x_min": -40000,
"z_min": 50000,
"dungeon": "Marine Temple",
"require_item": ["Whip"],
},
"Marine Temple 1F Vines Chest": {
"region_id": "oct whip",
"vanilla_item": ITEM_GROUPS["Common Treasures"],
"stage_id": 0x1B,
"room_id": 0,
"x_min": 55000,
"z_min": -10000,
"dungeon": "Marine Temple",
"require_item": ["Whip"],
},
"Marine Temple 1F Lever Chest": {
"region_id": "oct whip",
"vanilla_item": ITEM_GROUPS["Uncommon Treasures"],
"stage_id": 0x1B,
"room_id": 0,
"x_min": 0,
"z_max": -45000,
"dungeon": "Marine Temple",
"require_item": ["Whip"],
},
"Marine Temple 2F Stamp Station": {
"region_id": "oct stamp station",
"vanilla_item": "Stamp: Marine Temple",
"stage_id": 0x1B,
"room_id": 7,
"stamp": 0xE,
"dungeon": "Marine Temple",
"require_item": ["Stamp Book", "Whip"],
"conditional": True
},
"Marine Temple 3F Puzzle Chest": {
"region_id": "oct 3f whip",
"vanilla_item": "Small Key (Marine Temple)",
"stage_id": 0x1B,
"room_id": 2,
"x_max": -30000,
"z_min": 30000,
"dungeon": "Marine Temple",
"require_item": ["Whip"],
},
"Marine Temple 3F NE Chest": {
"region_id": "oct 3f whip",
"vanilla_item": ITEM_GROUPS["Uncommon Treasures"],
"stage_id": 0x1B,
"room_id": 2,
"x_min": 50000,
"z_max": -40000,
"dungeon": "Marine Temple",
"require_item": ["Whip"],
},
"Marine Temple 6F E Chest": {
"region_id": "oct 6f chest",
"vanilla_item": "Small Key (Marine Temple)",
"stage_id": 0x1B,
"room_id": 5,
"x_min": 75000,
"z_max": -5000,
"dungeon": "Marine Temple",
"require_item": ["Whip"],
},
"Marine Temple 6F W Chest": {
"region_id": "oct 6f chest",
"vanilla_item": ITEM_GROUPS["Uncommon Treasures"],
"stage_id": 0x1B,
"room_id": 5,
"x_max": -50000,
"z_max": -5000,
"dungeon": "Marine Temple",
"require_item": ["Whip"],
},
"Marine Temple 6F Boss Key": {
"region_id": "oct bk loc",
"vanilla_item": "Boss Key (Marine Temple)",
"dungeon": "Marine Temple",
"conditional": True
},
"Marine Temple Heart Container": {
"region_id": "oct phytops",
"vanilla_item": "Heart Container",
"stage_id": 0x20,
"room_id": 0,
"y": 88472,
"dungeon": "Marine Temple",
"require_item": ["Whip", "Sword (Progressive)", "Small Key (Ocean Temple)"],
"location_groups": ["Cactops"],
},
"Marine Temple Dungeon Reward": {
"region_id": "oct phytops",
"vanilla_item": "Ocean Source",
"address": STAddr.adv_flags_0,
"value": 0x40,
"stage_id": 0x20,
"room_id": 0,
"dungeon": "Marine Temple",
"require_item": ["Whip", "Sword (Progressive)", "Small Key (Ocean Temple)"],
"goal": True,
"location_groups": ["Cactops"],
"ut_connect": "EVENT: Defeat Cactops",
"no_model": True
},
# Pirate Hideout
"Pirate Hideout Stamp Station": {
"region_id": "pirate hideout stamp station",
"vanilla_item": "Stamp: Pirate Hideout",
"stage_id": 0x3A,
"room_id": 0,
"stamp": 0x11,
"require_item": ["Stamp Book", "Whip", "Song of Birds"],
"location_groups": ["Pirate Hideout"],
"conditional": True
},
"Pirate Hideout Secret Cave Left Treasure": {
"region_id": "pirate hideout secret cave",
"vanilla_item": ITEM_GROUPS["Common Treasures"],
"stage_id": 0x3A,
"room_id": 1,
"x_max": -3800,
"location_groups": ["Pirate Hideout"],
},
"Pirate Hideout Secret Cave Mid Treasure": {
"region_id": "pirate hideout secret cave",
"vanilla_item": ITEM_GROUPS["Uncommon Treasures"],
"stage_id": 0x3A,
"room_id": 1,
"x_min": -3800,
"x_max": 10000,
"location_groups": ["Pirate Hideout"],
},
"Pirate Hideout Secret Cave Right Treasure": {
"region_id": "pirate hideout secret cave",
"vanilla_item": ITEM_GROUPS["Rare Treasures"],
"stage_id": 0x3A,
"room_id": 1,
"x_min": 10000,
},
"Pirate Hideout Minigame 3000-4000": {
"region_id": "pirate hideout minigame",
"vanilla_item": "Bow (Progressive)",
"stage_id": 0x3A,
"room_id": 0,
"conditional": True,
"minigame": [1, 3, 4],
"require_item": ["Bow (Progressive)"],
"address": STAddr.adv_flags_56,
"value": 0x10,
"location_groups": ["Pirate Hideout", "Pirate Hideout Minigame",
"Pirate Hideout Easy", "Pirate Hideout Minigame Easy"],
"slot_data": [("randomize_minigames", [1, 3, 4])],
},
"Pirate Hideout Minigame 4000-5000": {
"region_id": "pirate hideout minigame", # First time playing gives Wadatsumi, an NPC for NPC Rando lol,
"vanilla_item": "Heart Container", # This is going to be really complicated, have fun ;3
"stage_id": 0x3A,
"room_id": 0,
"conditional": True,
"minigame": [2, 3, 4],
"require_item": ["Bow (Progressive)]"], # Pirate hideout gives a free bow, decide if we want that or not.
"address": STAddr.adv_flags_56,
"value": 0x20,
"location_groups": ["Pirate Hideout", "Pirate Hideout Minigame",
"Pirate Hideout Hard", "Pirate Hideout Minigame Hard"],
"slot_data": [("randomize_minigames", [2, 3, 4])],
},
"Pirate Hideout Minigame 5000+": {
"region_id": "pirate hideout minigame",
"vanilla_item": ITEM_GROUPS["Rare Treasures"] | ITEM_GROUPS["Super Rare Treasures"],
"stage_id": 0x3A,
"room_id": 0,
"conditional": True,
"delay_reset": True,
"minigame": [4, 5],
"address": STAddr.adv_flags_4e,
"value": 0x40,
"location_groups": ["Pirate Hideout", "Pirate Hideout Minigame",
"Pirate Hideout Expert", "Pirate Hideout Minigame Expert"],
"slot_data": [("randomize_minigames", [4, 5])],
},
# Lost at Sea Station
"Lost at Sea Burried Chest": {
"region_id": "las outside chest",
"vanilla_item": ITEM_GROUPS["Rare Treasures"],
"stage_id": 0x39,
"room_id": 0xA,
"x_min": 0,
"z_min": 10000,
"x_max": 25000,
"z_max": 40000,
"require_item": ["Song of Discovery"], # Song of Light recommended for all checks
},
"Lost at Sea Plain Phantom Chest": {
"region_id": "las 1st room chest",
"vanilla_item": ITEM_GROUPS["Common Treasures"],
"stage_id": 0x42,
"room_id": 0x2,
"x_max": -55000,
"farmable": True,
"require_item": ["Song of Birds", "Song of Awakening", "Whip"],
},
"Lost at Sea Torch Phantom Chest": {
"region_id": "las 2nd room chest",
"vanilla_item": ITEM_GROUPS["Uncommon Treasures"],
"stage_id": 0x42,
"room_id": 0x3,
"x_min": 50000,
"require_item": ["Song of Birds", "Song of Awakening", "Whip", "Boomerang"],
},
"Lost at Sea Warp Phantom Chest": {
"region_id": "las 3rd room chest",
"vanilla_item": ITEM_GROUPS["Uncommon Treasures"],
"stage_id": 0x42,
"room_id": 4,
"x_min": -45000,
"z_max": -15000,
"farmable": True,
"require_item": ["Song of Birds", "Song of Awakening", "Whip", "Boomerang", "Whirlwind"],
},
"Lost at Sea Wrecker Phantom SW Chest": {
"region_id": "las 4th room chest",
"vanilla_item": ITEM_GROUPS["Common Treasures"],
"stage_id": 0x42,
"room_id": 5,
"x_max": -85000,
"farmable": True,
"require_item": ["Song of Birds", "Song of Awakening", "Whip", "Boomerang", "Whirlwind"],
},
"Lost at Sea Wrecker Phantom NE Chest": {
"region_id": "las 4th room chest",
"vanilla_item": ITEM_GROUPS["Uncommon Treasures"],
"stage_id": 0x42,
"room_id": 5,
"x_min": 85000,
"farmable": True,
"require_item": ["Song of Birds", "Song of Awakening", "Whip", "Boomerang", "Whirlwind"],
},
"Lost at Sea Final Challenge SE Chest": {
"region_id": "las 5th room",
"vanilla_item": ITEM_GROUPS["Uncommon Treasures"],
"stage_id": 0x42,
"room_id": 6,
"x_min": 40000,
"z_min": 20000,
"farmable": True,
"require_item": ["Song of Birds", "Song of Awakening", "Whip", "Boomerang", "Whirlwind"],
# bombs recommended for 5th room chests
},
"Lost at Sea Final Challenge NE Chest": {
"region_id": "las 5th room",
"vanilla_item": ITEM_GROUPS["Uncommon Treasures"],
"stage_id": 0x42,
"room_id": 6,
"x_min": 40000,
"z_max": -20000,
"farmable": True,
"require_item": ["Song of Birds", "Song of Awakening", "Whip", "Boomerang", "Whirlwind"],
},
"Lost at Sea Final Challenge SW Chest": {
"region_id": "las 5th room",
"vanilla_item": ITEM_GROUPS["Common Treasures"],
"stage_id": 0x42,
"room_id": 6,
"z_min": 5000,
"x_max": -30000,
"farmable": True,
"require_item": ["Song of Birds", "Song of Awakening", "Whip", "Boomerang", "Whirlwind"],
},
"Lost at Sea Final Challenge NW Chest": {
"region_id": "las 5th room",
"vanilla_item": ITEM_GROUPS["Common Treasures"],
"stage_id": 0x42,
"room_id": 6,
"x_max": -40000,
"z_max": -20000,
"farmable": True,
"require_item": ["Song of Birds", "Song of Awakening", "Whip", "Boomerang", "Whirlwind"],
},
"Lost at Sea Final Chest": {
"region_id": "las 5th room",
"vanilla_item": "Treasure: Regal Ring",
"stage_id": 0x42,
"room_id": 7,
"farmable": True,
"ut_connect": "EVENT: Complete Lost at Sea Dungeon",
"require_item": ["Song of Birds", "Song of Awakening", "Whip", "Boomerang", "Whirlwind"],
},
# ========= Fire Realm ==========
# Goron Villaga
"Goron Village West Steel Chest": { # Used for a delay pickup to make sure the key gets removed
"stage_id": 0x2D,
"room_id": 0x3,
"z_max": 20000,
"z_min": 0,
"x_min": 50000,
"vanilla_item": ITEM_GROUPS["Common Treasures"],
"region_id": "goron village",
"location_groups": ["Goron Village"],
},
"Goron Village West Stamp Station": {
"stage_id": 0x2D,
"room_id": 0x3,
"stamp": 0x9,
"region_id": "goron village stamp",
"vanilla_item": "Stamp: Goron Village",
"conditional": True,
"location_groups": ["Goron Village"],
},
"Goron Village West NE Chest": {
"stage_id": 0x2D,
"room_id": 0x3,
"z_max": -55000,
"x_min": 95000,
"region_id": "goron whip",
"vanilla_item": ITEM_GROUPS["Uncommon Treasures"],
"location_groups": ["Goron Village"],
},
"Goron Village West Center Chest": {
"stage_id": 0x2D,
"room_id": 0x3,
"z_min": 15000,
"x_max": 20000,
"x_min": 5000,
"region_id": "goron whip",
"vanilla_item": ITEM_GROUPS["Uncommon Treasures"],
"location_groups": ["Goron Village"],
},
"Goron Village Get Wagon": {
"stage_id": 0x2E,
"room_id": 0x0,
"address": STAddr.adv_flags_21,
"value": 8, # Spawn kagoron during cutscene lol
"region_id": "goron whip",
"vanilla_item": "Wagon",
"item_override": "Nothing!",
"slot_data": [("randomize_cargo", [1, 2, 3])],
"conditional": True,
"location_groups": ["Goron Village"],
"no_model": True
},
"Goron Village Chest Above Elder's House": {
"stage_id": 0x2E,
"room_id": 0x0,
"y": 14746,
"x_max": -45000,
"region_id": "goron ice event",
"vanilla_item": ITEM_GROUPS["Uncommon Treasures"],
"location_groups": ["Goron Village"],
},
# Valley Sanc
"Tunnel to Valley Sanctuary Chest": {
"stage_id": 0x2E,
"room_id": 0x1,
"y": 4915,
"x_max": -15000,
"x_min": -35000,
"region_id": "valley sanc tunnel",
"vanilla_item": ITEM_GROUPS["Uncommon Treasures"],
"location_groups": ["Valley Sanctuary", "Goron Village"],
},
"Valley Sanctuary NW Chest": {
"stage_id": 0x33,
"room_id": 0x0,
"x_max": -85000,
"z_max": -50000,
"region_id": "valley sanc",
"vanilla_item": ITEM_GROUPS["Uncommon Treasures"],
"location_groups": ["Valley Sanctuary"],
},
"Valley Sanctuary Stamp Station": {
"stage_id": 0x33,
"room_id": 0x0,
"stamp": 0xA,
"conditional": True,
"region_id": "valley sanc stamp",
"vanilla_item": "Stamp: Valley Sanctuary",
"location_groups": ["Valley Sanctuary"],
},
"Valley Sanctuary Song of Restoration": {
"stage_id": 0x33,
"room_id": 0x3,
"region_id": "valley sanc song",
"vanilla_item": "Mountain Temple Tracks",
"address": STAddr.rail_restorations,
"value": 0x10,
"minigame": [1, 2, 3, 4, 5, 6],
"conditional": True,
"location_groups": ["Valley Sanctuary", "Restoration Duets"],
},
# Snurglars
"Snurglars Purple Key": {
"region_id": "snurglars",
"vanilla_item": "Purple Snurglar Key",
"item_override": "Mountain Temple Snurglar Key",
"value": 0x04,
"location_groups": ["Snurglars"],
},
"Snurglars Orange Key": {
"region_id": "snurglars",
"vanilla_item": "Orange Snurglar Key",
"item_override": "Mountain Temple Snurglar Key",
"value": 0x02,
"location_groups": ["Snurglars"],
},
"Snurglars Gold Key": {
"region_id": "snurglars",
"vanilla_item": "Gold Snurglar Key",
"item_override": "Mountain Temple Snurglar Key",
"value": 0x08,
"location_groups": ["Snurglars"],
},
# Mountain Temple
"Mountain Temple Song Statue": {
"stage_id": 0x1C,
"room_id": 0xa,
"region_id": "mtt song statue",
"vanilla_item": "Song of Healing",
"item_override": "Nothing!",
"dungeon": "Mountain Temple"
},
"Mountain Temple 2F Left Chest": {
"stage_id": 0x1C,
"room_id": 0x6,
"region_id": "mtt left",
"vanilla_item": "Small Key (Mountain Temple)",
"x_max": -55000,
"z_min": -45000,
"dungeon": "Mountain Temple"
},
"Mountain Temple 1F Right Maze Chest": {
"stage_id": 0x1C,
"room_id": 0x0,
"region_id": "mtt right",
"vanilla_item": ["Red Potion", "Big Green Rupee (100)"],
"x_min": -50000,
"z_min": 60000,
"dungeon": "Mountain Temple"
},
"Mountain Temple 2F Center Chest": {
"stage_id": 0x1C,
"room_id": 0x6,
"region_id": "mtt 2f right",
"vanilla_item": ITEM_GROUPS["Common Treasures"],
"x_min": -10000,
"x_max": 0,
"z_min": -15000,
"dungeon": "Mountain Temple"
},
"Mountain Temple 2F NW Chest": {
"stage_id": 0x1C,
"room_id": 0x6,
"region_id": "mtt 2f right",
"vanilla_item": "Small Key (Mountain Temple)",
"x_max": -45000,
"z_max": -55000,
"dungeon": "Mountain Temple"
},
"Mountain Temple 2F Heatoise Chest": {
"stage_id": 0x1C,
"room_id": 0x6,
"region_id": "mtt heatoise",
"vanilla_item": "Bow (Progressive)",
"item_override": "Nothing!",
"x_min": -10000,
"z_max": -55000,
"dungeon": "Mountain Temple"
},
"Mountain Temple 1F NE Chest": {
"stage_id": 0x1C,
"room_id": 0,
"region_id": "mtt 1f ne",
"vanilla_item": ITEM_GROUPS["Uncommon Treasures"],
"x_min": 60000,
"z_max": -40000,
"dungeon": "Mountain Temple"
},
"Mountain Temple B2 NE Chest": {
"stage_id": 0x1C,
"room_id": 3,
"region_id": "mtt b2",
"vanilla_item": ITEM_GROUPS["Common Treasures"],
"x_min": 80000,
"z_max": -50000,
"dungeon": "Mountain Temple"
},
"Mountain Temple B2 SE Chest": {
"stage_id": 0x1C,
"room_id": 3,
"region_id": "mtt b2",
"vanilla_item": ITEM_GROUPS["Uncommon Treasures"],
"x_min": 50000,
"z_min": 50000,
"dungeon": "Mountain Temple"
},
"Mountain Temple B1 Heatoise Chest": {
"stage_id": 0x1C,
"room_id": 2,
"region_id": "mtt b1 arena",
"vanilla_item": ITEM_GROUPS["Uncommon Treasures"],
"z_min": 10000,
"y": 0,
"dungeon": "Mountain Temple"
},
"Mountain Temple B2 NW Chest": {
"stage_id": 0x1C,
"room_id": 3,
"region_id": "mtt b1 arena",
"vanilla_item": "Small Key (Mountain Temple)",
"x_max": -80000,
"z_max": -50000,
"dungeon": "Mountain Temple"
},
"Mountain Temple B1 Stamp Station": {
"stage_id": 0x1C,
"room_id": 2,
"region_id": "mtt stamp",
"vanilla_item": "Stamp: Mountain Temple",
"stamp": 0xF,
"dungeon": "Mountain Temple"
},
"Mountain Temple B3 N Chest": {
"stage_id": 0x1C,
"room_id": 4,
"region_id": "mtt b1 cart",
"vanilla_item": ITEM_GROUPS["Uncommon Treasures"],
"x_max": 25000,
"z_max": -60000,
"dungeon": "Mountain Temple"
},
"Mountain Temple B3 Boss Key": {
"region_id": "mtt bk",
"vanilla_item": "Boss Key (Mountain Temple)",
"dungeon": "Mountain Temple",
"conditional": True,
"no_model": True
},
"Mountain Temple Boss Heart Container": {
"stage_id": 0x21,
"region_id": "mtt boss",
"vanilla_item": "Heart Container",
"dungeon": "Mountain Temple",
},
"Mountain Temple Dungeon Reward": {
"address": STAddr.adv_flags_0,
"value": 0x80,
"stage_id": 0x21,
"region_id": "mtt boss",
"vanilla_item": "Fire Source",
"ut_connect": "EVENT: Defeat Vulcano",
"dungeon": "Mountain Temple",
"no_model": True
},
# Goron Target Range
"Goron Target Range": {
"region_id": "gtr",
"stage_id": 0x3C,
"room_id": 1,
"vanilla_item": ITEM_GROUPS["Uncommon Treasures"] | ITEM_GROUPS["Rare Treasures"] | {"Red Rupee (20)"} | ITEM_GROUPS["Big Rupees"],
"minigame": [1, 2, 3, 4, 5],
"location_groups": ["Goron Target Range"],
"conditional": True
},
# Disorientation Station
"Disorientation Station Bird Chest": {
"stage_id": 0x40,
"region_id": "disorientation bird",
"x_min": -60000,
"x_max": -35000,
"z_min": 5000,
"vanilla_item": ITEM_GROUPS["Uncommon Treasures"],
"location_groups": ["Disorientation Station"],
},
"Disorientation Station Climb Chest": {
"stage_id": 0x40,
"region_id": "disorientation bird",
"x_max": -85000,
"z_min": -10000,
"vanilla_item": "Red Rupee (20)",
"location_groups": ["Disorientation Station"],
},
"Disorientation Station Cliff Chest": {
"stage_id": 0x40,
"region_id": "disorientation bird",
"x_min": 55000,
"z_max": -40000,
"vanilla_item": "Big Green Rupee (100)",
"location_groups": ["Disorientation Station"],
},
"Disorientation Station Maze Chest": {
"stage_id": 0x40,
"room_id": 0x9,
"region_id": "disorientation sod",
"vanilla_item": "Treasure: Priceless Stone",
"location_groups": ["Disorientation Station"],
},
"Disorientation Station Guard Gift": {
"stage_id": 0x40,
"x_max": -55000,
"z_max": -30000,
"region_id": "disorientation sod",
"vanilla_item": "Big Green Rupee (100)",
"location_groups": ["Disorientation Station"],
},
# Ends of the Earth
"Ends of the Earth Master Big Chest": {
"stage_id": 0x41,
"room_id": 0x4,
"region_id": "eote puzzles",
"vanilla_item": ITEM_GROUPS["Rare Treasures"],
"location_groups": ["Ends of the Earth"],
"minigame": [1, 3, 4],
"conditional": True,
"slot_data": [("randomize_minigames", [1, 3, 4])],
},
"Ends of the Earth Master Small Chest": {
"stage_id": 0x41,
"room_id": 0x1,
"region_id": "eote puzzles",
"vanilla_item": "Big Green Rupee (100)",
"location_groups": ["Ends of the Earth"],
"minigame": [1, 3, 4],
"conditional": True,
"slot_data": [("randomize_minigames", [1, 3, 4])],
},
"Ends of the Earth Tempered Big Chest": {
"stage_id": 0x41,
"room_id": 0x8,
"region_id": "eote puzzles",
"vanilla_item": "Heart Container",
"location_groups": ["Ends of the Earth"],
"minigame": [2, 3, 4],
"conditional": True,
"slot_data": [("randomize_minigames", [2, 3, 4])],
},
"Ends of the Earth Tempered Small Chest": {
"stage_id": 0x41,
"room_id": 0x5,
"region_id": "eote puzzles",
"vanilla_item": "Big Green Rupee (100)",
"location_groups": ["Ends of the Earth"],
"minigame": [2, 3, 4],
"conditional": True,
"slot_data": [("randomize_minigames", [2, 3, 4])],
},
"Ends of the Earth Golden Big Chest": {
"stage_id": 0x41,
"room_id": 0xC,
"region_id": "eote puzzles",
"vanilla_item": "Treasure: Regal Ring",
"location_groups": ["Ends of the Earth"],
"minigame": [4, 5],
"conditional": True,
"slot_data": [("randomize_minigames", [4, 5])],
},
"Ends of the Earth Golden Small Chest": {
"stage_id": 0x41,
"room_id": 0x9,
"region_id": "eote puzzles",
"vanilla_item": "Big Green Rupee (100)",
"location_groups": ["Ends of the Earth"],
"minigame": [4, 5],
"conditional": True,
"slot_data": [("randomize_minigames", [4, 5])],
},
# ========= Sand Realm ==========
"Dune Sanctuary Song of Restoration": {
"stage_id": 0x34,
"room_id": 0x2,
"region_id": "sand sanc song",
"address": STAddr.rail_restorations,
"value": 0x20,
"minigame": [1, 2, 3, 4, 5, 6],
"conditional": True,
"location_groups": ["Dune Sanctuary", "Restoration Duets"],
},
"Dune Sanctuary Stamp Station": {
"stage_id": 0x34,
"region_id": "sand sanc stamp stand",
"vanilla_item": "Stamp: Dune Sanctuary",
"stamp": 0xB,
"location_groups": ["Dune Sanctuary"],
"conditional": True
},
# Dark Ore Mine
"Dark Ore Mine Burried Chest": {
"stage_id": 0x3D,
"room_id": 0x1,
"z_max": -15000,
"x_min": 50000,
"vanilla_item": ITEM_GROUPS["Rare Treasures"],
"region_id": "dark ore mine sod",
"location_groups": ["Dark Ore Mine"],
},
# ========= Desert Temple ==========
"Desert Temple 1F Entrance Chest": {
"stage_id": 0x1D,
"room_id": 0x0,
"z_max": 10000,
"x_max": 15000,
"x_min": -10000,
"z_min": -5000,
"vanilla_item": ITEM_GROUPS["Rare Treasures"],
"region_id": "dt sw",
"dungeon": "Desert Temple",
},
"Desert Temple 1F NW Gerune Chest": {
"stage_id": 0x1D,
"room_id": 0x0,
"z_max": -60000,
"x_max": -25000,
"x_min": -50000,
"vanilla_item": "Red Rupee (20)",
"region_id": "dt 1f nw",
"dungeon": "Desert Temple",
},
"Desert Temple 1F N Trap Chest": {
"stage_id": 0x1D,
"room_id": 0x0,
"z_max": -60000,
"x_max": 30000,
"x_min": 0,
"vanilla_item": "Green Rupee (1)",
"region_id": "dt 1f n",
"dungeon": "Desert Temple",
},
"Desert Temple 1F N Arena Chest": {
"stage_id": 0x1D,
"room_id": 0x0,
"z_max": -50000,
"x_max": 30000,
"x_min": 0,
"vanilla_item": "Small Key (Desert Temple)",
"region_id": "dt 1f n",
"dungeon": "Desert Temple",
"delay_pickup": ["Desert Temple 1F N Arena Stalfos Skull"]
},
"Desert Temple 3F Chest": {
"stage_id": 0x1D,
"room_id": 0x2,
"vanilla_item": "Sand Wand",
"region_id": "dt 3f",
"y": 9830,
"dungeon": "Desert Temple",
},
"Desert Temple 2F Left Chest": {
"stage_id": 0x1D,
"room_id": 0x1,
"x_max": 10000,
"x_min": -10000,
"vanilla_item": "Red Rupee (20)",
"region_id": "dt 2f sw",
"dungeon": "Desert Temple",
},
"Desert Temple 2F Right Chest": {
"stage_id": 0x1D,
"room_id": 0x1,
"x_min": 35000,
"vanilla_item": ITEM_GROUPS["Rare Treasures"],
"region_id": "dt 2f sw",
"dungeon": "Desert Temple",
},
"Desert Temple 1F N Ergtorok Chest": {
"stage_id": 0x1D,
"room_id": 0x0,
"x_max": 0,
"x_min": -20000,
"z_max": -60000,
"vanilla_item": "Red Rupee (20)",
"region_id": "dt 1f n earthquake",
"dungeon": "Desert Temple",
},
"Desert Temple 1F N Burried Key": {
"stage_id": 0x1D,
"room_id": 0x0,
"x_max": 0,
"x_min": -20000,
"z_max": -30000,
"z_min": -60000,
"vanilla_item": "Small Key (Desert Temple)",
"region_id": "dt 1f n earthquake",
"dungeon": "Desert Temple",
},
"Desert Temple B1 Stamp Station": {
"stage_id": 0x1D,
"room_id": 0x3,
"stamp": 0x10,
"region_id": "dt stamp stand",
"vanilla_item": "Stamp: Desert Temple",
"dungeon": "Desert Temple",
"conditional": True
},
"Desert Temple B1 Near Boss Door Chest": {
"stage_id": 0x1D,
"room_id": 0x3,
"x_min": 35000,
"x_max": 50000,
"z_min": -15000,
"z_max": 0,
"vanilla_item": "Red Rupee (20)",
"region_id": "dt b1 2",
"dungeon": "Desert Temple",
},
"Desert Temple B1 SW Stalfos Chest": {
"stage_id": 0x1D,
"room_id": 0x3,
"x_max": -75000,
"z_min": 45000,
"vanilla_item": ITEM_GROUPS["Uncommon Treasures"],
"region_id": "dt b1 damage",
"dungeon": "Desert Temple",
},
"Desert Temple B1 NW Buried Rupee": {
"stage_id": 0x1D,
"room_id": 0x3,
"x_max": -90000,
"z_max": -60000,
"vanilla_item": "Big Green Rupee (100)",
"region_id": "dt b1 damage",
"dungeon": "Desert Temple",
},
"Desert Temple B1 Boss Key": {
"vanilla_item": "Boss Key (Desert Temple)",
"region_id": "dt b1 damage",
"dungeon": "Desert Temple",
"conditional": True
},
"Desert Temple Boss Heart Container": {
"stage_id": 0x22,
"room_id": 0x1,
"vanilla_item": "Heart Container",
"dungeon": "Desert Temple",
"region_id": "skeldritch",
"location_groups": ["Skeldritch"],
},
"Desert Temple Dungeon Reward": {
"stage_id": 0x22,
"room_id": 0x1,
"vanilla_item": "Sand Source",
"address": STAddr.adv_flags_1a,
"value": 0x1,
"region_id": "skeldritch",
"location_groups": ["Skeldritch"],
"ut_connect": "EVENT: Defeat Skeldritch",
"dungeon": "Desert Temple",
"no_model": True
},
"Desert Temple Bow of Light Chest": {
"stage_id": 0x1D,
"room_id": 0x5,
"y": 9830,
"vanilla_item": "Bow of Light",
"item_override": "Nothing!",
"region_id": "skeldritch",
"dungeon": "Desert Temple",
"location_groups": ["Skeldritch"],
},
# ========= Rabbits ==========
"Rabbit Near Castle Town": {
"region_id": "forest realm rabbits",
"vanilla_item": "Grass Rabbit",
"stage_id": 0x04,
"address": STAddr.rabbits_0,
"value": 1,
"rabbit": True,
"location_groups": ["Unique Grass Rabbits"]
},
"Rabbit Near Ocean Shortcut": {
"region_id": "forest ocean shortcut rabbit",
"vanilla_item": "Grass Rabbit",
"stage_id": 0x04,
"address": STAddr.rabbits_0,
"value": 2,
"rabbit": True,
"location_groups": ["Unique Grass Rabbits"]
},
"Rabbit E Mayscore": {
"region_id": "e mayscore rabbits",
"vanilla_item": "Grass Rabbit",
"stage_id": 0x04,
"address": STAddr.rabbits_0,
"value": 4,
"rabbit": True,
"location_groups": ["Unique Grass Rabbits"]
},
"Rabbit SW Trading Post": {
"region_id": "sw trading post rabbit",
"vanilla_item": "Grass Rabbit",
"stage_id": 0x04,
"address": STAddr.rabbits_0,
"value": 8,
"rabbit": True,
"location_groups": ["Unique Grass Rabbits"]
},
"Rabbit E Outset": {
"region_id": "forest realm rabbits",
"vanilla_item": "Grass Rabbit",
"stage_id": 0x04,
"address": STAddr.rabbits_0,
"value": 0x10,
"rabbit": True,
"location_groups": ["Unique Grass Rabbits"]
},
"Rabbit SW Rabbit Haven": {
"region_id": "s rabbit haven rabbits",
"vanilla_item": "Grass Rabbit",
"stage_id": 0x04,
"address": STAddr.rabbits_0,
"value": 0x20,
"rabbit": True,
"location_groups": ["Unique Grass Rabbits"]
},
"Rabbit Near Wooded Temple": {
"region_id": "wt rabbit",
"vanilla_item": "Grass Rabbit",
"stage_id": 0x04,
"address": STAddr.rabbits_0,
"value": 0x40,
"rabbit": True,
"location_groups": ["Unique Grass Rabbits"]
},
"Rabbit Near Rabbit Haven": {
"region_id": "nr rabbit haven rabbit",
"vanilla_item": "Grass Rabbit",
"stage_id": 0x04,
"address": STAddr.rabbits_0,
"value": 0x80,
"rabbit": True,
"location_groups": ["Unique Grass Rabbits"]
},
"Rabbit Past Wooden Bridge": {
"region_id": "e mayscore rabbits",
"vanilla_item": "Grass Rabbit",
"stage_id": 0x04,
"address": STAddr.rabbits_1,
"value": 1,
"rabbit": True,
"location_groups": ["Unique Grass Rabbits"]
},
"Rabbit S Rabbit Haven": {
"region_id": "s rabbit haven rabbits",
"vanilla_item": "Grass Rabbit",
"stage_id": 0x04,
"address": STAddr.rabbits_1,
"value": 2,
"rabbit": True,
"location_groups": ["Unique Grass Rabbits"]
},
"Rabbit NE Blizzard": {
"region_id": "snow realm early blizzard rabbits",
"vanilla_item": "Snow Rabbit",
"stage_id": 0x05,
"address": STAddr.rabbits_1,
"value": 4,
"rabbit": True,
"location_groups": ["Unique Snow Rabbits"]
},
"Rabbit SE Blizzard": {
"region_id": "snow realm blizzard rabbits",
"vanilla_item": "Snow Rabbit",
"stage_id": 0x05,
"address": STAddr.rabbits_1,
"value": 8,
"rabbit": True,
"location_groups": ["Unique Snow Rabbits"]
},
"Rabbit W Anouki Village": {
"region_id": "snow realm rabbits",
"vanilla_item": "Snow Rabbit",
"stage_id": 0x05,
"address": STAddr.rabbits_1,
"value": 0x10,
"rabbit": True,
"location_groups": ["Unique Snow Rabbits"]
},
"Rabbit SW Blizzard": {
"region_id": "snow realm blizzard rabbits",
"vanilla_item": "Snow Rabbit",
"stage_id": 0x05,
"address": STAddr.rabbits_1,
"value": 0x20,
"rabbit": True,
"location_groups": ["Unique Snow Rabbits"]
},
"Rabbit E Anouki Village": {
"region_id": "blizzard temple tracks rabbits",
"vanilla_item": "Snow Rabbit",
"stage_id": 0x05,
"address": STAddr.rabbits_1,
"value": 0x40,
"rabbit": True,
"location_groups": ["Unique Snow Rabbits"]
},
"Rabbit Near Snowdrift Station": {
"region_id": "snowdrift station rabbit",
"vanilla_item": "Snow Rabbit",
"stage_id": 0x05,
"address": STAddr.rabbits_1,
"value": 0x80,
"rabbit": True,
"location_groups": ["Unique Snow Rabbits"]
},
"Rabbit W Icy Spring Station": {
"region_id": "icyspring rabbits",
"vanilla_item": "Snow Rabbit",
"stage_id": 0x05,
"address": STAddr.rabbits_2,
"value": 1,
"rabbit": True,
"location_groups": ["Unique Snow Rabbits"]
},
"Rabbit N Icy Spring Station": {
"region_id": "icyspring rabbits",
"vanilla_item": "Snow Rabbit",
"stage_id": 0x05,
"address": STAddr.rabbits_2,
"value": 2,
"rabbit": True,
"location_groups": ["Unique Snow Rabbits"]
},
"Rabbit NW Blizzard": {
"region_id": "snow realm early blizzard rabbits",
"vanilla_item": "Snow Rabbit",
"stage_id": 0x05,
"address": STAddr.rabbits_2,
"value": 4,
"rabbit": True,
"location_groups": ["Unique Snow Rabbits"]
},
"Rabbit Central Blizzard": {
"region_id": "snow realm early blizzard rabbits",
"vanilla_item": "Snow Rabbit",
"stage_id": 0x05,
"address": STAddr.rabbits_2,
"value": 8,
"rabbit": True,
"location_groups": ["Unique Snow Rabbits"]
},
# Ocean Rabbits
"Rabbit E Lost at Sea": {
"region_id": "las rabbit",
"vanilla_item": "Ocean Rabbit",
"stage_id": 0x06,
"address": STAddr.rabbits_2,
"value": 0x80,
"rabbit": True,
"location_groups": ["Unique Ocean Rabbits"]
},
"Rabbit Near Island Sanctuary": {
"region_id": "ocean rabbits",
"vanilla_item": "Ocean Rabbit",
"stage_id": 0x06,
"address": STAddr.rabbits_2,
"value": 0x40,
"rabbit": True,
"location_groups": ["Unique Ocean Rabbits"]
},
"Rabbit E Pirate Hideout": {
"region_id": "ocean source rabbits",
"vanilla_item": "Ocean Rabbit",
"stage_id": 0x06,
"address": STAddr.rabbits_2,
"value": 0x20,
"rabbit": True,
"location_groups": ["Unique Ocean Rabbits"]
},
"Rabbit W Pirate Hideout": {
"region_id": "forest ocean shortcut rabbit",
"vanilla_item": "Ocean Rabbit",
"stage_id": 0x06,
"address": STAddr.rabbits_2,
"value": 0x10,
"rabbit": True,
"location_groups": ["Unique Ocean Rabbits"]
},
"Rabbit N Marine Temple": {
"region_id": "ocean rabbits",
"vanilla_item": "Ocean Rabbit",
"stage_id": 0x06,
"address": STAddr.rabbits_3,
"value": 0x20,
"rabbit": True,
"location_groups": ["Unique Ocean Rabbits"]
},
"Rabbit N Undersea Entrance": {
"region_id": "ocean rabbits",
"vanilla_item": "Ocean Rabbit",
"stage_id": 0x06,
"address": STAddr.rabbits_3,
"value": 0x10,
"rabbit": True,
"location_groups": ["Unique Ocean Rabbits"]
},
"Rabbit Near Ocean Portal": {
"region_id": "ocean portal rabbits",
"vanilla_item": "Ocean Rabbit",
"stage_id": 0x06,
"address": STAddr.rabbits_3,
"value": 0x8,
"rabbit": True,
"location_groups": ["Unique Ocean Rabbits"]
},
"Rabbit S Undersea Entrance": {
"region_id": "ocean rabbits",
"vanilla_item": "Ocean Rabbit",
"stage_id": 0x06,
"address": STAddr.rabbits_3,
"value": 0x4,
"rabbit": True,
"location_groups": ["Unique Ocean Rabbits"]
},
"Rabbit E Ocean": {
"region_id": "ocean rabbits",
"vanilla_item": "Ocean Rabbit",
"stage_id": 0x06,
"address": STAddr.rabbits_3,
"value": 0x2,
"rabbit": True,
"location_groups": ["Unique Ocean Rabbits"]
},
"Rabbit N Lost at Sea": {
"region_id": "ocean rabbits",
"vanilla_item": "Ocean Rabbit",
"stage_id": 0x06,
"address": STAddr.rabbits_3,
"value": 0x1,
"rabbit": True,
"location_groups": ["Unique Ocean Rabbits"]
},
# Mountain Rabbits
"Rabbit Near ToS Fire Realm": {
"region_id": "fire source rabbits",
"vanilla_item": "Mountain Rabbit",
"stage_id": 0x07,
"address": STAddr.rabbits_4,
"value": 0x80,
"rabbit": True,
"location_groups": ["Unique Mountain Rabbits"]
},
"Rabbit Near Disorientation Station": {
"region_id": "disorientation rabbits",
"vanilla_item": "Mountain Rabbit",
"stage_id": 0x07,
"address": STAddr.rabbits_4,
"value": 0x40,
"rabbit": True,
"location_groups": ["Unique Mountain Rabbits"]
},
"Rabbit Near Ends of the Earth": {
"region_id": "eote rabbits",
"vanilla_item": "Mountain Rabbit",
"stage_id": 0x07,
"address": STAddr.rabbits_4,
"value": 0x20,
"rabbit": True,
"location_groups": ["Unique Mountain Rabbits"]
},
"Rabbit NE Mountain": {
"region_id": "mountain rabbits",
"vanilla_item": "Mountain Rabbit",
"stage_id": 0x07,
"address": STAddr.rabbits_4,
"value": 0x10,
"rabbit": True,
"location_groups": ["Unique Mountain Rabbits"]
},
"Rabbit NW Mountain": {
"region_id": "mountain rabbits",
"vanilla_item": "Mountain Rabbit",
"stage_id": 0x07,
"address": STAddr.rabbits_4,
"value": 0x8,
"rabbit": True,
"location_groups": ["Unique Mountain Rabbits"]
},
"Rabbit N Mountain": {
"region_id": "mountain rabbits",
"vanilla_item": "Mountain Rabbit",
"stage_id": 0x07,
"address": STAddr.rabbits_4,
"value": 0x4,
"rabbit": True,
"location_groups": ["Unique Mountain Rabbits"]
},
"Rabbit S Mountain": {
"region_id": "s mountain temple rabbit",
"vanilla_item": "Mountain Rabbit",
"stage_id": 0x07,
"address": STAddr.rabbits_4,
"value": 2,
"rabbit": True,
"location_groups": ["Unique Mountain Rabbits"]
},
"Rabbit SE Mountain": {
"region_id": "mountain rabbits",
"vanilla_item": "Mountain Rabbit",
"stage_id": 0x07,
"address": STAddr.rabbits_4,
"value": 0x1,
"rabbit": True,
"location_groups": ["Unique Mountain Rabbits"]
},
"Rabbit N Fire Glyph": {
"region_id": "fire realm rabbits",
"vanilla_item": "Mountain Rabbit",
"stage_id": 0x07,
"address": STAddr.rabbits_3,
"value": 0x80,
"rabbit": True,
"location_groups": ["Unique Mountain Rabbits"]
},
"Rabbit Near Goron Target Range": {
"region_id": "fire realm rabbits",
"vanilla_item": "Mountain Rabbit",
"stage_id": 0x07,
"address": STAddr.rabbits_3,
"value": 0x40,
"rabbit": True,
"location_groups": ["Unique Mountain Rabbits"]
},
# Sand Rabbits
"Rabbit E Sand Realm": {
"region_id": "sand realm rabbits",
"vanilla_item": "Sand Rabbit",
"stage_id": 0x06,
"address": STAddr.rabbits_5,
"value": 0x8,
"rabbit": True,
"location_groups": ["Unique Sand Rabbits"]
},
"Rabbit N Sand Realm": {
"region_id": "sand realm rabbits",
"vanilla_item": "Sand Rabbit",
"stage_id": 0x06,
"address": STAddr.rabbits_5,
"value": 0x2,
"rabbit": True,
"location_groups": ["Unique Sand Rabbits"]
},
"Rabbit S Sand Realm": {
"region_id": "sand realm rabbits",
"vanilla_item": "Sand Rabbit",
"stage_id": 0x06,
"address": STAddr.rabbits_5,
"value": 0x4,
"rabbit": True,
"location_groups": ["Unique Sand Rabbits"]
},
"Rabbit W Sand Realm": {
"region_id": "sand realm rabbits",
"vanilla_item": "Sand Rabbit",
"stage_id": 0x06,
"address": STAddr.rabbits_5,
"value": 0x1,
"rabbit": True,
"location_groups": ["Unique Sand Rabbits"]
},
"Rabbit W Desert Temple": {
"region_id": "sand restoration rabbits",
"vanilla_item": "Sand Rabbit",
"stage_id": 0x06,
"address": STAddr.rabbits_5,
"value": 0x10,
"rabbit": True,
"location_groups": ["Unique Sand Rabbits"]
},
"Rabbit E Desert Temple": {
"region_id": "sand restoration rabbits",
"vanilla_item": "Sand Rabbit",
"stage_id": 0x06,
"address": STAddr.rabbits_5,
"value": 0x20,
"rabbit": True,
"location_groups": ["Unique Sand Rabbits"]
},
"Rabbit E Sand Maze": {
"region_id": "sand restoration rabbits",
"vanilla_item": "Sand Rabbit",
"stage_id": 0x07,
"address": STAddr.rabbits_6,
"value": 0x2,
"rabbit": True,
"location_groups": ["Unique Sand Rabbits"]
},
"Rabbit Mid Sand Maze": {
"region_id": "sand restoration rabbits",
"vanilla_item": "Sand Rabbit",
"stage_id": 0x07,
"address": STAddr.rabbits_6,
"value": 0x1,
"rabbit": True,
"location_groups": ["Unique Sand Rabbits"]
},
"Rabbit W Sand Maze": {
"region_id": "sand restoration rabbits",
"vanilla_item": "Sand Rabbit",
"stage_id": 0x07,
"address": STAddr.rabbits_5,
"value": 0x80,
"rabbit": True,
"location_groups": ["Unique Sand Rabbits"]
},
"Rabbit Sand Valley": {
"region_id": "sand connection rabbit",
"vanilla_item": "Sand Rabbit",
"stage_id": 0x07,
"address": STAddr.rabbits_5,
"value": 0x40,
"rabbit": True,
"location_groups": ["Unique Sand Rabbits"]
},
}
LOCATIONS_DATA |= {
f"Catch 1 {realm} Rabbit": {
"region_id": f"{realm} Rabbit Count 1",
"rabbit": True,
"count": 1,
"location_groups": [f"Total {realm} Rabbits"]
} for realm in ["Grass", "Snow", "Ocean", "Mountain", "Sand"]}
LOCATIONS_DATA |= {
f"Catch {count} {realm} Rabbits": {
"region_id": f"{realm} Rabbit Count {count}",
"rabbit": True,
"count": count,
"location_groups": [f"Total {realm} Rabbits"]
} for count in range(2, 11) for realm in ["Grass", "Snow", "Ocean", "Mountain", "Sand"]}
LOCATIONS_DATA |= {
# Portal Checks
"Forest Realm Shoot Cave Portal": {
"stage_id": 0x04,
"region_id": "forest cave portal",
"address": STAddr.activate_portals,
"value": 0x40,
"location_groups": ["Portal Checks"],
"conditional": True
},
"Forest Realm Shoot SE Portal": {
"stage_id": 0x04,
"region_id": "trading post portal",
"address": STAddr.activate_portals,
"value": 0x20,
"location_groups": ["Portal Checks"],
"conditional": True
},
"Snow Realm Shoot SW Portal": {
"stage_id": 0x05,
"region_id": "anouki portal",
"address": STAddr.activate_portals,
"value": 0x8,
"location_groups": ["Portal Checks"],
"conditional": True
},
"Snow Realm Shoot Bridge Portal": {
"stage_id": 0x05,
"region_id": "snow bridge portal",
"address": STAddr.activate_portals,
"value": 0x10,
"location_groups": ["Portal Checks"],
"conditional": True
},
"Snow Realm Shoot N Portal": {
"stage_id": 0x05,
"region_id": "icyspring portal",
"address": STAddr.adv_flags_31,
"value": 0x2,
"location_groups": ["Portal Checks"],
"conditional": True
},
"Ocean Realm Shoot W Portal": {
"stage_id": 0x06,
"region_id": "ocean portal",
"address": STAddr.adv_flags_31,
"value": 0x4,
"location_groups": ["Portal Checks"],
"conditional": True
},
"Sand Realm Shoot Temple Portal": {
"stage_id": 0x06,
"region_id": "sand restoration portal",
"address": STAddr.adv_flags_31,
"value": 0x1,
"location_groups": ["Portal Checks"],
"conditional": True,
"from_entrances": [0xFB, 0xB, 0x7], # Only load when in right bit of track
},
"Fire Realm Shoot Sand Portal": {
"stage_id": 0x07,
"region_id": "sand connection portal",
"address": STAddr.adv_flags_30,
"value": 0x80,
"location_groups": ["Portal Checks"],
"conditional": True,
},
# Shops
"Snowfall Supermarket Heart Container": {
"stage_id": 0x31,
"room_id": 3,
"vanilla_item": "Heart Container",
"region_id": "snow sanc shop",
"address": STAddr.adv_flags_21,
"value": 0x40,
"location_groups": ["Shop Unique Locations", "Snowfall Sanctuary", "Snowfall Supermarket"],
"conditional": True,
"slot_data": [("shopsanity", "uniques")],
},
"Snowfall Supermarket Red Potion": {
"region_id": "snow sanc shop",
"vanilla_item": "Red Potion",
"location_groups": ["Shop Potion Locations", "Snowfall Sanctuary", "Snowfall Supermarket"],
"conditional": True,
"slot_data": [("shopsanity", "potions")],
},
"Snowfall Supermarket Purple Potion": {
"region_id": "snow sanc shop",
"vanilla_item": "Purple Potion",
"location_groups": ["Shop Potion Locations", "Snowfall Sanctuary", "Snowfall Supermarket"],
"conditional": True,
"slot_data": [("shopsanity", "potions")],
},
"Snowfall Supermarket Shield": {
"stage_id": 0x31,
"room_id": 0x3,
"address": STAddr.items_2,
"value": 1,
"region_id": "snow sanc shop",
"vanilla_item": "Shield",
"location_groups": ["Shop Shield Locations", "Snowfall Sanctuary", "Snowfall Supermarket"],
"conditional": True,
"slot_data": [("shopsanity", "shields")],
},
"Snowfall Supermarket Treasure": {
"region_id": "snow sanc shop",
"location_groups": ["Shop Treasure Locations", "Snowfall Sanctuary", "Snowfall Supermarket", "Shop Restock Locations"],
"conditional": True,
"slot_data": [("shopsanity", "treasure"), ("shopsanity", "uniques", "not")],
},
"Beedle Shop Bomb Bag": {
"stage_id": 0x45,
"room_id": 3,
"region_id": "beedle shop",
"address": STAddr.adv_flags_22,
"vanilla_item": "Bombs (Progressive)",
"value": 0x2,
"location_groups": ["Shop Unique Locations", "Beedle"],
"conditional": True,
"delay_reset": True,
"slot_data": [("shopsanity", "uniques")],
},
"Beedle Shop Uncommon Treasure": {
"region_id": "beedle shop",
# "vanilla_item": ITEM_GROUPS["Uncommon Treasures"],
"location_groups": ["Shop Treasure Locations", "Beedle"],
"conditional": True,
"slot_data": [("shopsanity", "treasure")],
},
"Beedle Shop Rare Treasure": {
"region_id": "beedle shop",
# "vanilla_item": ITEM_GROUPS["Rare Treasures"],
"location_groups": ["Shop Treasure Locations", "Beedle"],
"conditional": True,
"slot_data": [("shopsanity", "treasure")],
},
"Beedle Shop Red Potion": {
"region_id": "beedle shop",
"vanilla_item": "Red Potion",
"location_groups": ["Shop Potion Locations", "Beedle"],
"conditional": True,
"slot_data": [("shopsanity", "potions")]
},
"Beedle Shop Purple Potion": {
"region_id": "beedle shop",
"vanilla_item": "Purple Potion",
"location_groups": ["Shop Potion Locations", "Beedle", "Shop Restock Locations"],
"conditional": True,
"slot_data": [("shopsanity", "potions"), ("shopsanity", "uniques", "not")],
},
"Mayscore Shop Treasure 1": {
"region_id": "mayscore shop",
"hidden_vanilla_item": ITEM_GROUPS["Common Treasures"],
"location_groups": ["Shop Treasure Locations", "Mayscore", "Mayscore Shop"],
"conditional": True,
"slot_data": [("shopsanity", "treasure")],
"priority": 1
},
"Mayscore Shop Treasure 2": {
"region_id": "mayscore shop",
"hidden_vanilla_item": ITEM_GROUPS["Common Treasures"],
"location_groups": ["Shop Treasure Locations", "Mayscore", "Mayscore Shop"],
"conditional": True,
"slot_data": [("shopsanity", "treasure")],
"priority": 2
},
"Mayscore Shop Red Potion": {
"region_id": "mayscore shop",
"vanilla_item": "Red Potion",
"location_groups": ["Shop Potion Locations", "Mayscore", "Mayscore Shop"],
"conditional": True,
"slot_data": [("shopsanity", "potions")],
},
"Mayscore Shop Shield": {
"stage_id": 0x2a,
"room_id": 0x5,
"address": STAddr.items_2,
"value": 1,
"region_id": "mayscore shop",
"vanilla_item": "Shield",
"location_groups": ["Shop Shield Locations", "Mayscore", "Mayscore Shop"],
"conditional": True,
"slot_data": [("shopsanity", "shields")],
},
"Castle Town Shop Treasure 1": {
"region_id": "castle town shop",
"hidden_vanilla_item": ITEM_GROUPS["Uncommon Treasures"],
"location_groups": ["Shop Treasure Locations", "Castle Town", "Castle Town Shop"],
"conditional": True,
"slot_data": [("shopsanity", "treasure")],
"priority": 1
},
"Castle Town Shop Treasure 2": {
"region_id": "castle town shop",
"hidden_vanilla_item": ITEM_GROUPS["Uncommon Treasures"],
"location_groups": ["Shop Treasure Locations", "Castle Town", "Castle Town Shop"],
"conditional": True,
"slot_data": [("shopsanity", "treasure")],
"priority": 2,
},
"Castle Town Shop Red Potion": {
"region_id": "castle town shop",
"vanilla_item": "Red Potion",
"location_groups": ["Shop Potion Locations", "Castle Town", "Castle Town Shop"],
"conditional": True,
"slot_data": [("shopsanity", "potions")],
},
"Castle Town Shop Shield": {
"stage_id": 0x29,
"room_id": 0xa,
"address": STAddr.items_2,
"value": 1,
"region_id": "castle town shop",
"vanilla_item": "Shield",
"location_groups": ["Shop Shield Locations", "Castle Town", "Castle Town Shop"],
"conditional": True,
"slot_data": [("shopsanity", "shields")],
},
"Mayscore Shop Postcards": {
"stage_id": 0x2a,
"room_id": 0x5,
"address": STAddr.postcard_count,
"value": 10,
"region_id": "mayscore shop",
"vanilla_item": "Prize Postcards (10)",
"location_groups": ["Shop Postcard Locations", "Mayscore", "Mayscore Shop"],
"conditional": True,
"slot_data": [("shopsanity", "postcards")],
},
"Castle Town Shop Postcards": {
"stage_id": 0x29,
"room_id": 0xa,
"address": STAddr.postcard_count,
"value": 10,
"region_id": "castle town shop",
"vanilla_item": "Prize Postcards (10)",
"location_groups": ["Shop Postcard Locations", "Castle Town", "Castle Town Shop"],
"conditional": True,
"slot_data": [("shopsanity", "postcards")],
},
"Snowfall Supermarket Postcards": {
"stage_id": 0x31,
"room_id": 0x3,
"address": STAddr.postcard_count,
"value": 10,
"region_id": "snow sanc shop",
"vanilla_item": "Prize Postcards (10)",
"location_groups": ["Shop Postcard Locations", "Snowfall Sanctuary", "Snowfall Supermarket"],
"conditional": True,
"slot_data": [("shopsanity", "postcards")],
},
"Papuzia Shop Purple Potion": {
"region_id": "papuzia shop",
"vanilla_item": "Purple Potion",
"location_groups": ["Shop Potion Locations", "Papuzia Shop", "Papuzia Village"],
"conditional": True,
"slot_data": [("shopsanity", "potions")]
},
"Papuzia Shop Yellow Potion": {
"region_id": "papuzia shop",
"vanilla_item": "Yellow Potion",
"location_groups": ["Shop Potion Locations", "Papuzia Shop", "Papuzia Village"],
"conditional": True,
"slot_data": [("shopsanity", "potions")]
},
"Papuzia Shop Postcards": {
"stage_id": 0x2c,
"room_id": 0x2,
"address": STAddr.postcard_count,
"value": 10,
"region_id": "papuzia shop",
"vanilla_item": "Prize Postcards (10)",
"location_groups": ["Shop Postcard Locations", "Papuzia Village", "Papuzia Shop"],
"conditional": True,
"slot_data": [("shopsanity", "postcards")],
},
"Papuzia Shop Bombs": {
"stage_id": 0x2c,
"room_id": 0x2,
"address": STAddr.bomb_count,
"value": 10,
"region_id": "papuzia shop bombs",
"vanilla_item": "Refill: Bombs",
"location_groups": ["Shop Ammo Locations", "Papuzia Village", "Papuzia Shop"],
"conditional": True,
"slot_data": [("shopsanity", "ammo")],
},
"Papuzia Shop Arrows": {
"stage_id": 0x2c,
"room_id": 0x2,
"address": STAddr.arrow_count,
"value": 10,
"region_id": "papuzia shop arrows",
"vanilla_item": "Refill: Arrows",
"location_groups": ["Shop Ammo Locations", "Papuzia Village", "Papuzia Shop"],
"conditional": True,
"slot_data": [("shopsanity", "ammo")],
},
"Beedle Shop Bomb Refill": {
"stage_id": 0x45,
"room_id": 0x3,
"address": STAddr.bomb_count,
"value": 10,
"region_id": "beedle shop bombs",
"vanilla_item": "Refill: Bombs",
"location_groups": ["Shop Ammo Locations", "Beedle"],
"conditional": True,
"slot_data": [("shopsanity", "ammo")],
},
"Trading Post Buy Shield": {
"stage_id": 0x37,
"room_id": 0xa,
"address": STAddr.items_2,
"value": 1,
"region_id": "trading post shield",
"vanilla_item": "Shield",
"location_groups": ["Shop Shield Locations", "Trading Post"],
"conditional": True,
"slot_data": [("shopsanity", "shields")],
},
# Goron Shop
"Goron Shop Bomb Refill": {
"stage_id": 0x2E,
"room_id": 0x6,
"address": STAddr.bomb_count,
"value": 10,
"region_id": "goron shop bombs",
"vanilla_item": "Refill: Bombs",
"location_groups": ["Shop Ammo Locations", "Goron Shop", "Goron Village"],
"conditional": True,
"slot_data": [("shopsanity", "ammo")],
},
"Goron Shop Shield": {
"stage_id": 0x2E,
"room_id": 0x6,
"address": STAddr.items_2,
"value": 1,
"region_id": "goron shop",
"vanilla_item": "Shield",
"location_groups": ["Shop Shield Locations", "Goron Town", "Goron Shop"],
"conditional": True,
"slot_data": [("shopsanity", "shields")],
},
"Goron Shop Purple Potion": {
"region_id": "goron shop",
"vanilla_item": "Purple Potion",
"location_groups": ["Shop Potion Locations", "Goron Shop", "Goron Village"],
"conditional": True,
"slot_data": [("shopsanity", "potions")]
},
"Goron Shop Yellow Potion": {
"region_id": "goron shop",
"vanilla_item": "Yellow Potion",
"location_groups": ["Shop Potion Locations", "Goron Shop", "Goron Village"],
"conditional": True,
"slot_data": [("shopsanity", "potions")]
},
"Goron Shop Quiver": {
"stage_id": 0x2E,
"room_id": 0x6,
"vanilla_item": "Bow (Progressive)",
"region_id": "goron shop bow",
"address": STAddr.adv_flags_22,
"value": 0x1,
"location_groups": ["Shop Unique Locations", "Goron Shop", "Goron Village"],
"conditional": True,
"delay_reset": True,
"slot_data": [("shopsanity", "uniques")],
},
"Goron Shop Postcards": {
"stage_id": 0x2e,
"room_id": 0x6,
"address": STAddr.postcard_count,
"value": 10,
"region_id": "goron shop",
"vanilla_item": "Prize Postcards (10)",
"location_groups": ["Shop Postcard Locations", "Goron Village", "Goron Shop", "Shop Restock Locations"],
"conditional": True,
"slot_data": [("shopsanity", "postcards"), ("shopsanity", "uniques", "not")],
},
# Passenger locations
# ===== Buy Cargo =====
"Icy Spring Buy Mega Ice": {
"stage_id": 0x35,
"room_id": 0x0,
"address": STAddr.cargo_count_0,
"value": 20,
"vanilla_item": "Cargo: Mega Ice",
"location_groups": ["Icy Spring", "Buy Cargo"],
"slot_data": [("randomize_cargo", [0, 2, 3])],
"conditional": True,
"persistent": True,
"exact_read": True,
"region_id": "icyspring ice",
"no_model": True
},
"Mayscore Buy Lumber": {
"stage_id": 0x2a,
"room_id": 0x0,
"address": STAddr.cargo_0,
"value": 1,
"vanilla_item": "Cargo: Lumber",
"location_groups": ["Mayscore", "Buy Cargo"],
"slot_data": [("randomize_cargo", [0, 2, 3])],
"conditional": True,
"persistent": True,
"exact_read": True,
"region_id": "mayscore lumber",
"no_model": True
},
"Castle Town Buy Cuccos": {
"stage_id": 0x29,
"room_id": 0x0,
"address": STAddr.cargo_0,
"value": 4,
"vanilla_item": "Cargo: Cuccos",
"location_groups": ["Castle Town", "Buy Cargo"],
"slot_data": [("randomize_cargo", [0, 2, 3])],
"conditional": True,
"persistent": True,
"exact_read": True,
"region_id": "castle town buy cuccos",
"no_model": True
},
"Papuzia Village Buy Fish": {
"stage_id": 0x2C,
"room_id": 0x0,
"address": STAddr.cargo_0,
"value": 3,
"vanilla_item": "Cargo: Fish",
"location_groups": ["Papuzia Village", "Buy Cargo"],
"slot_data": [("randomize_cargo", [0, 2, 3])],
"conditional": True,
"persistent": True,
"exact_read": True,
"region_id": "papuzia buy cargo",
"no_model": True
},
"Papuzia Village Buy Vessel": {
"stage_id": 0x2C,
"room_id": 0x4,
"address": STAddr.cargo_0,
"value": 5,
"vanilla_item": "Cargo: Vessel",
"location_groups": ["Papuzia Village", "Buy Cargo"],
"slot_data": [("randomize_cargo", [0, 2, 3])],
"conditional": True,
"persistent": True,
"exact_read": True,
"region_id": "papuzia buy cargo",
"no_model": True
},
"Goron Village West Buy Steel": {
"stage_id": 0x2D,
"room_id": 0x3,
"address": STAddr.cargo_0,
"value": 2,
"vanilla_item": "Cargo: Goron Steel",
"location_groups": ["Goron Village", "Buy Cargo"],
"slot_data": [("randomize_cargo", [0, 2, 3])],
"conditional": True,
"persistent": True,
"exact_read": True,
"region_id": "goron steel",
"no_model": True
},
"Dark Ore Mine Buy Ore": {
"stage_id": 0x3D,
"room_id": 0x1,
"address": STAddr.cargo_0,
"value": 6,
"vanilla_item": "Cargo: Dark Ore",
"location_groups": ["Dark Ore Mine", "Buy Cargo"],
"slot_data": [("randomize_cargo", [0, 2, 3])],
"conditional": True,
"persistent": True,
"exact_read": True,
"region_id": "dark ore mine ore",
"no_model": True
},
# ===== Quests =====
"Bridge Worker's Home Pick Up Kenzo": {
"stage_id": 0x36,
"room_id": 0x1,
"address": STAddr.adv_flags_18,
"value": 0x20,
"vanilla_item": "Passenger: Kenzo",
"location_groups": ["Bridge Worker's House", "Pick Up Passengers"],
"slot_data": [("randomize_passengers", [2, 3])],
"conditional": True,
"region_id": "pick up bridge worker"
},
"Trading Post Repair Bridge": {
"stage_id": 0x37,
"room_id": 0x0,
"address": STAddr.adv_flags_18,
"value": 0x80,
"vanilla_item": "Passenger: Kenzo",
"item_override": "Nothing!",
"location_groups": ["Trading Post", "Deliver Passengers"],
"slot_data": [("randomize_passengers", [1, 2, 3])],
"conditional": True,
"region_id": "trading post bridge worker",
"no_model": True
},
"Trading Post Pick Up Kenzo": {
"stage_id": 0x37,
"room_id": 0x0,
"address": STAddr.adv_flags_3c,
"value": 0x10,
"vanilla_item": "Passenger: Kenzo 2",
"item_override": "Nothing!", # Only 1 kenzo in pool
"location_groups": ["Trading Post", "Pick Up Passengers"],
"slot_data": [("randomize_passengers", 3)],
"conditional": True,
"region_id": "trading post pick up kenzo",
"no_model": True
},
"Anouki Village Pick Up Noko": {
"stage_id": 0x2B,
"room_id": 0x0,
"address": STAddr.passenger_tag_0,
"value": 0x594B4350, # Passenger Ascii tag
"vanilla_item": "Passenger: Noko",
"location_groups": ["Anouki Village", "Pick Up Passengers"],
"slot_data": [("randomize_passengers", [2, 3])],
"conditional": True,
"exact_read": True,
"region_id": "av noko",
"no_model": True
},
"Icy Spring Noko's Force Gem": {
"stage_id": 0x35,
"room_id": 0x0,
"address": STAddr.adv_flags_e,
"value": 0x4,
"vanilla_item": "Snow Realm Bridge Tracks",
"location_groups": ["Icy Spring", "Deliver Passengers"],
"slot_data": [("randomize_passengers", [1, 2, 3])],
"conditional": True,
"region_id": "icyspring noko"
},
"Anouki Village Repair Fence": {
"stage_id": 0x2B,
"room_id": 0x0,
"address": STAddr.adv_flags_e,
"value": 0x2,
"vanilla_item": "Snowdrift Station Tracks",
"location_groups": ["Anouki Village", "Deliver Passengers", "Deliver Cargo"],
"conditional": True,
"region_id": "av fence"
},
"Anouki Village Fence Progress Gift": {
"stage_id": 0x2B,
"room_id": 0x0,
"x_max": -10000,
"z_max": 35000,
"x_min": -50000,
"vanilla_item": ITEM_GROUPS["Uncommon Treasures"],
"location_groups": ["Anouki Village", "Deliver Passengers", "Deliver Cargo"],
"slot_data": [("randomize_cargo", [1, 2, 3]), ("randomize_passengers", [1, 2, 3])],
"conditional": True,
"region_id": "av kenzo"
},
"Castle Town Pick Up Mona": {
"stage_id": 0x29,
"room_id": 0xc,
"address": STAddr.adv_flags_3b,
"value": 0x20,
"region_id": "castle town mona", # Same Req
"vanilla_item": "Passenger: Mona",
"location_groups": ["Castle Town", "Pick Up Passengers"],
"slot_data": [("randomize_passengers", [2, 3])],
"conditional": True,
"no_model": True
},
"Rabbit Haven Mona's Force Gem": {
"stage_id": 0x3e,
"room_id": 0x0,
"address": STAddr.adv_flags_3f,
"value": 0x40,
"vanilla_item": "W Forest Realm Tracks",
"location_groups": ["Rabbit Haven", "Deliver Passengers"],
"slot_data": [("randomize_passengers", [1, 2, 3])],
"conditional": True,
"region_id": "rabbit haven mona"
},
"Castle Town Pick Up Alfonzo": {
"stage_id": 0x29,
"room_id": 0x0,
"address": STAddr.adv_flags_11,
"value": 0x40,
"region_id": "pick up alfonzo",
"vanilla_item": "Passenger: Alfonzo",
"location_groups": ["Castle Town", "Pick Up Passengers"],
"slot_data": [("randomize_passengers", [2, 3])],
"conditional": True,
"no_model": True
},
"Outset Pick Up Joe": {
"stage_id": 0x2F,
"room_id": 0x0,
"address": STAddr.adv_flags_3c,
"value": 0x2,
"region_id": "outset joe",
"vanilla_item": "Passenger: Joe",
"location_groups": ["Outset Village", "Pick Up Passengers"],
"slot_data": [("randomize_passengers", [2, 3])],
"conditional": True,
"no_model": True
},
"Beedle Joe's Force Gem": {
"stage_id": 0x45,
"room_id": 0x3,
"address": STAddr.adv_flags_3c,
"value": 0x08,
"vanilla_item": "W Castle Town Tracks",
"location_groups": ["Beedle", "Deliver Passengers"],
"slot_data": [("randomize_passengers", [1, 2, 3])],
"conditional": True,
"region_id": "beedle joe"
},
"Outset Deliver Cuccos": {
"stage_id": 0x2F,
"room_id": 0x0,
"address": STAddr.adv_flags_d,
"value": 0x40,
"vanilla_item": "Forest Realm SW Cave Tracks",
"location_groups": ["Outset Village", "Deliver Cargo"],
"slot_data": [("randomize_cargo", [1, 2, 3])],
"conditional": True,
"region_id": "outset cuccos",
"x_max": -45000,
"z_max": -5000,
},
"Mayscore Pick Up Dovok": {
"stage_id": 0x2A,
"room_id": 0x4,
"address": STAddr.adv_flags_36,
"value": 0x4,
"region_id": "mayscore dovok",
"vanilla_item": "Passenger: Dovok",
"location_groups": ["Mayscore", "Pick Up Passengers"],
"slot_data": [("randomize_passengers", [2, 3])],
"conditional": True,
"no_model": True
},
"Papuzia Village Orca's Force Gem": {
"stage_id": 0x2C,
"room_id": 0x3,
"address": STAddr.adv_flags_d,
"value": 0x2,
"vanilla_item": "E Mayscore Bridge Tracks",
"location_groups": ["Papuzia Village", "Deliver Passengers"],
"slot_data": [("randomize_passengers", [1, 2, 3])],
"conditional": True,
"region_id": "pv dovok",
},
"Papuzia Village Pick Up Carben":{
"stage_id": 0x2C,
"room_id": 0,
"address": STAddr.passenger_tag_0,
"value": 0x53595741,
"exact_read": True,
"region_id": "pv carben",
"vanilla_item": "Passenger: Carben",
"location_groups": ["Papuzia Village", "Pick Up Passengers"],
"slot_data": [("randomize_passengers", [0, 2, 3])],
"conditional": True,
"no_model": True
},
"Island Sanctuary Carben's Force Gem": {
"stage_id": 0x32,
"room_id": 0,
"address": STAddr.adv_flags_d,
"value": 0x4,
"vanilla_item": "Forest Realm SE Portal Tracks",
"location_groups": ["Island Sanctuary", "Deliver Passengers"],
"slot_data": [("randomize_passengers", [1, 2, 3])],
"conditional": True,
"region_id": "ocs carben",
},
"Pirate Hideout Pick Up Wadatsumi": {
"stage_id": 0x3a,
"room_id": 0,
"address": STAddr.passenger_tag_0,
"value": 0x57414D41,
"exact_read": True,
"region_id": "pirate wadatsumi",
"vanilla_item": "Passenger: Wadatsumi",
"location_groups": ["Pirate Hideout", "Pick Up Passengers"],
"slot_data": [("randomize_passengers", [2, 3])],
"conditional": True,
"no_model": True
},
"Papuzia Village Wadatsumi's Force Gem":{
"stage_id": 0x2C,
"room_id": 0,
"address": STAddr.adv_flags_e,
"value": 0x40,
"vanilla_item": "Ocean Portal Tracks",
"location_groups": ["Papuzia Village", "Deliver Passengers"],
"slot_data": [("randomize_passengers", [1, 2, 3])],
"conditional": True,
"region_id": "pv wadatsumi",
"z_max": -15000
},
"Castle Town Deliver Fish": {
"stage_id": 0x29,
"room_id": [0x0, 0xe],
"address": STAddr.adv_flags_d,
"value": 0x01,
"vanilla_item": "Forest Realm Ocean Shortcut Tracks",
"location_groups": ["Castle Town", "Deliver Cargo"],
"slot_data": [("randomize_cargo", [1, 2, 3])],
"conditional": True,
"region_id": "castle town fish"
},
"Mayscore Deliver Steel": {
"stage_id": 0x2A,
"room_id": 0x0,
"address": STAddr.adv_flags_d,
"value": 0x80,
"vanilla_item": "W Wooded Temple Tracks",
"location_groups": ["Mayscore", "Deliver Cargo"],
"slot_data": [("randomize_cargo", [1, 2, 3])],
"conditional": True,
"region_id": "mayscore steel"
},
"Snowfall Sanctuary Deliver Vessel": {
"stage_id": 0x31,
"room_id": 0x2,
"address": STAddr.adv_flags_e,
"value": 0x10,
"vanilla_item": "Slippery Station Tracks",
"location_groups": ["Snowfall Sanctuary", "Deliver Cargo"],
"slot_data": [("randomize_cargo", [1, 2, 3])],
"conditional": True,
"region_id": "snow sanc vessel"
},
"Papuzia Village Deliver Ice": {
"stage_id": 0x2c,
"room_id": 0x0,
"address": STAddr.adv_flags_e,
"value": 0x80,
"vanilla_item": "Pirate Hideout Tracks",
"location_groups": ["Papuzia Village", "Deliver Cargo"],
"slot_data": [("randomize_cargo", [1, 2, 3])],
"conditional": True,
"region_id": "papuzia ice",
"x_max": -50000
},
"Trading Post Deliver Dark Ore": {
"stage_id": 0x37,
"room_id": 0xa,
"address": STAddr.adv_flags_e,
"value": 0x20,
"vanilla_item": "Lost at Sea Station Tracks",
"location_groups": ["Trading Post", "Deliver Cargo"],
"slot_data": [("randomize_cargo", [1, 2, 3])],
"conditional": True,
"region_id": "linebeck dark ore"
},
"Dune Sanctuary Deliver Cuccos": {
"stage_id": 0x34,
"room_id": 0x0,
"address": STAddr.adv_flags_d,
"value": 0x8,
"vanilla_item": "Ends of the Earth Tracks",
"location_groups": ["Dune Sanctuary", "Deliver Cargo"],
"slot_data": [("randomize_cargo", [0, 1, 2, 3])],
"conditional": True,
"region_id": "sand sanc cuccos"
},
"Desert Temple 1F N Arena Stalfos Skull": { # Used for a delay pickup to make sure the key gets removed
"stage_id": 0x1D,
"room_id": 0x0,
"z_max": -50000,
"x_max": 30000,
"x_min": 0,
"vanilla_item": "Treasure: Stalfos Skull",
"region_id": "dt 1f n",
"conditional": True,
"no_model": True
},
"Goron Village Deliver Ice Force Gem": {
"stage_id": 0x2E,
"room_id": 0x0,
"address": STAddr.adv_flags_f,
"value": 0x1,
"vanilla_item": "Fire Realm Sand Portal Tracks",
"location_groups": ["Goron Village", "Deliver Cargo"],
"slot_data": [("randomize_cargo", [1, 2, 3])],
"conditional": True,
"region_id": "goron ice 2"
},
"Goron Village Pick Up Snow Goron": {
"stage_id": 0x2e,
"room_id": 0x0,
"address": STAddr.passenger_tag_0,
"value": 0x474F5250,
"vanilla_item": "Passenger: Snow Goron",
"location_groups": ["Goron Village", "Pick Up Passengers"],
"slot_data": [("randomize_passengers", [2, 3])],
"conditional": True,
"exact_read": True,
"region_id": "pick up gorons",
"no_model": True
},
"Goron Village Pick Up City Goron": {
"stage_id": 0x2e,
"room_id": 0x0,
"address": STAddr.adv_flags_3a,
"value": 0x1,
"vanilla_item": "Passenger: City Goron",
"location_groups": ["Goron Village", "Pick Up Passengers"],
"slot_data": [("randomize_passengers", [2, 3])],
"conditional": True,
"region_id": "goron ice event",
"no_model": True
},
"Castle Town Goron Force Gem": {
"stage_id": 0x29,
"room_id": 0x0,
"address": STAddr.adv_flags_f,
"value": 0x8,
"vanilla_item": "Disorientation Station Tracks",
"location_groups": ["Castle Town", "Deliver Passengers"],
"slot_data": [("randomize_passengers", [1, 2, 3])],
"conditional": True,
"region_id": "castle town goron"
},
"Castle Town Pick Up Teacher": {
"stage_id": 0x29,
"room_id": 0x0,
"address": STAddr.passenger_tag_0,
"value": 0x4F4C4453,
"vanilla_item": "Passenger: Teacher",
"location_groups": ["Castle Town", "Pick Up Passengers"],
"slot_data": [("randomize_passengers", [2, 3])],
"conditional": True,
# "delay_reset": True,
"exact_read": True,
"region_id": "castle town teacher",
"no_model": True
},
"Anouki Village Goron Force Gem": {
"stage_id": 0x2b,
"room_id": 0x0,
"address": STAddr.adv_flags_e,
"value": 0x8,
"vanilla_item": "N Icy Spring Tracks",
"location_groups": ["Anouki Village", "Deliver Passengers"],
"slot_data": [("randomize_passengers", [1, 2, 3])],
"conditional": True,
"region_id": "av goron"
},
"Anouki Village Pick Up Kofu": {
"stage_id": 0x2b,
"room_id": 0x1,
"address": STAddr.passenger_tag_0,
"value": 0x594B4150,
"vanilla_item": "Passenger: Kofu",
"location_groups": ["Anouki Village", "Pick Up Passengers"],
"slot_data": [("randomize_passengers", [2, 3])],
"conditional": True,
"exact_read": True,
"region_id": "av kofu",
"no_model": True
},
"Goron Village Kofu Force Gem": {
"stage_id": 0x2e,
"room_id": 0x0,
"address": STAddr.adv_flags_f,
"value": 0x4,
"vanilla_item": "Snow Realm Gorge Tracks",
"location_groups": ["Goron Village", "Deliver Passengers"],
"slot_data": [("randomize_passengers", [1, 2, 3])],
"conditional": True,
"region_id": "gv kofu"
},
"Snow Realm Pick Up Ferrus": {
"stage_id": 0x5,
"address": STAddr.passenger_tag_0,
"value": 0x544D4E51, # bitand of the two ferrus IDs
# "exact_read": True,
"vanilla_item": "Passenger: Ferrus",
"location_groups": ["Pick Up Passengers"],
"slot_data": [("randomize_passengers", [2, 3])],
"conditional": True,
"region_id": "snow realm ferrus"
},
"Outset Ferrus Force Gem": {
"stage_id": 0x2F,
"room_id": 0xb,
"address": STAddr.adv_flags_e,
"value": 0x1,
"vanilla_item": "N Castle Town Tracks",
"location_groups": ["Goron Village", "Deliver Passengers"],
"slot_data": [("randomize_passengers", [1, 2, 3])],
"conditional": True,
"region_id": "outset ferrus"
},
"Fire Realm Pick Up Ferrus": {
"stage_id": 0x7,
"address": STAddr.passenger_tag_0,
"value": 0x544D4E51, # bitand of the two ferrus IDs
# "exact_read": True,
"vanilla_item": "Passenger: Ferrus",
"item_override": "Nothing!",
"location_groups": ["Pick Up Passengers"],
"slot_data": [("randomize_passengers", [2, 3])],
"conditional": True,
"region_id": "fire realm ferrus"
},
"Marine Temple Ferrus Force Gem": {
"stage_id": 0x1B,
"room_id": 0xa,
"address": STAddr.adv_flags_f,
"value": 0x2,
"vanilla_item": "Dark Ore Mine Tracks",
"location_groups": ["Deliver Passengers"],
"slot_data": [("randomize_passengers", [1, 2, 3])],
"conditional": True,
"dungeon": "Marine Temple", # Yas allow it to have local dungeon items!
"region_id": "oct ferrus"
},
"Forest Realm Ferrus Gift": {
"stage_id": 0x45,
"room_id": 0x2,
"vanilla_item": ITEM_GROUPS["Rare Treasures"] | ITEM_GROUPS["Uncommon Treasures"],
"slot_data": [("randomize_passengers", [1, 2, 3])],
"location_groups": ["Misc Passengers"],
"conditional": True,
"region_id": "forest ferrus"
},
"Mayscore Pick Up Morris": {
"stage_id": 0x2A,
"room_id": 0x3,
"address": STAddr.adv_flags_35,
"value": 0x80,
"region_id": "mayscore dovok",
"vanilla_item": "Passenger: Morris",
"location_groups": ["Mayscore", "Pick Up Passengers"],
"slot_data": [("randomize_passengers", [2, 3])],
"conditional": True,
"no_model": True
},
"Mayscore Pick Up Yamahiko": {
"stage_id": 0x2A,
"room_id": 0x0,
"address": STAddr.adv_flags_35,
"value": 0x40,
"region_id": "mayscore dovok",
"vanilla_item": "Passenger: Yamahiko",
"location_groups": ["Mayscore", "Pick Up Passengers"],
"slot_data": [("randomize_passengers", [2, 3])],
"conditional": True,
"no_model": True
},
"Mayscore Pick Up Mash": {
"stage_id": 0x2A,
"room_id": 0x0,
"address": STAddr.adv_flags_36,
"value": 0x1,
"region_id": "mayscore dovok",
"vanilla_item": "Passenger: Mash",
"location_groups": ["Mayscore", "Pick Up Passengers"],
"slot_data": [("randomize_passengers", [2, 3])],
"conditional": True,
"no_model": True
},
"Mayscore Pick Up Wood": {
"stage_id": 0x38,
"room_id": 0x0,
"address": STAddr.adv_flags_36,
"value": 0x2,
"region_id": "mayscore wood",
"vanilla_item": "Passenger: Mash",
"location_groups": ["Mayscore", "Pick Up Passengers"],
"slot_data": [("randomize_passengers", [2, 3])],
"conditional": True,
"no_model": True
},
"ToS 21F Bomb Wall Chest": {
"stage_id": 0x13,
"room_id": 0x2E,
"vanilla_item": ITEM_GROUPS["Rare Treasures"],
"region_id": "tos 21f bombs",
'dungeon': "ToS",
"tos_section": 5,
},
}
# Create location groups from loc data
for i, loc_data in enumerate(LOCATIONS_DATA.items()):
name, data = loc_data
LOCATIONS_DATA[name]["name"] = name
LOCATIONS_DATA[name]["id"] = i+1
loc_groups = data.get("location_groups", [])
dungeon = data.get("dungeon", None)
if dungeon == "ToS":
loc_groups.append(f"ToS {data['tos_section']}")
loc_groups.append("Tower of Spirits")
elif dungeon:
loc_groups.append(dungeon)
if data.get("minigame", False):
loc_groups.append("Minigames")
if data.get("conditional", False) == "tears":
loc_groups.append("Tear Locations")
if data.get("stamp", None) is not None:
loc_groups.append("Stamp Stands")
for loc_group in loc_groups:
LOCATION_GROUPS.setdefault(loc_group, set()).add(name)
# Combo groups
# LOCATION_GROUPS["Tower of Spirits"] = {loc for i in range(1, 7) for loc in LOCATION_GROUPS[f"ToS {i}"] }
LOCATION_GROUPS["Castle Station"] = LOCATION_GROUPS[f"Castle Town"] | LOCATION_GROUPS[f"Hyrule Castle"] | LOCATION_GROUPS[f"Tunnel to ToS"]
LOCATION_GROUPS["Shop Locations"] = (LOCATION_GROUPS["Shop Treasure Locations"] |
LOCATION_GROUPS["Shop Unique Locations"] |
LOCATION_GROUPS["Shop Potion Locations"] |
LOCATION_GROUPS["Shop Shield Locations"] |
LOCATION_GROUPS["Shop Ammo Locations"] |
LOCATION_GROUPS["Shop Postcard Locations"])
LOCATION_GROUPS["Unique Rabbits"] = LOCATION_GROUPS["Unique Grass Rabbits"] | LOCATION_GROUPS["Unique Snow Rabbits"] | LOCATION_GROUPS["Unique Mountain Rabbits"] | LOCATION_GROUPS["Unique Sand Rabbits"]
LOCATION_GROUPS["Total Rabbits"] = LOCATION_GROUPS["Total Grass Rabbits"] | LOCATION_GROUPS["Total Snow Rabbits"] | LOCATION_GROUPS["Total Mountain Rabbits"] | LOCATION_GROUPS["Total Sand Rabbits"]
LOCATION_GROUPS["Grass Rabbits"] = LOCATION_GROUPS["Total Grass Rabbits"] | LOCATION_GROUPS["Unique Grass Rabbits"]
LOCATION_GROUPS["Snow Rabbits"] = LOCATION_GROUPS["Total Snow Rabbits"] | LOCATION_GROUPS["Unique Snow Rabbits"]
LOCATION_GROUPS["Mountain Rabbits"] = LOCATION_GROUPS["Total Mountain Rabbits"] | LOCATION_GROUPS["Unique Mountain Rabbits"]
LOCATION_GROUPS["Sand Rabbits"] = LOCATION_GROUPS["Total Sand Rabbits"] | LOCATION_GROUPS["Unique Sand Rabbits"]
LOCATION_GROUPS["Rabbit Locations"] = LOCATION_GROUPS["Unique Rabbits"] | LOCATION_GROUPS["Total Rabbits"]
LOCATION_GROUPS["Passenger Locations"] = LOCATION_GROUPS["Pick Up Passengers"] | LOCATION_GROUPS["Deliver Passengers"] | LOCATION_GROUPS["Misc Passengers"]
LOCATION_GROUPS["Cargo Locations"] = LOCATION_GROUPS["Buy Cargo"] | LOCATION_GROUPS["Deliver Cargo"]
# print(f"Location Groups:")
# for group, locs in LOCATION_GROUPS.items():
# print(f"\t{group}: {locs}")
# print(LOCATION_GROUPS["Tower of Spirits"])
if __name__ == "__main__":
tos = list(LOCATION_GROUPS["Tower of Spirits"])
tos.sort(key=lambda _: f"0{loc.split()[1]}"[-3:])
for loc in LOCATION_GROUPS["Tower of Spirits"]:
print(loc)
# for location, data in LOCATIONS_DATA.items():
# # print(f"{location} | {data['region_id']} | id: {data['id']} | stage: {data['stage_id']} | room: {data['room_id']}")
# print(location)