forked from mirror/Archipelago
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
4266 lines
134 KiB
Python
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) |