mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-08-27 07:16:57 -04:00
590 lines
15 KiB
YAML
590 lines
15 KiB
YAML
# Patches for NPC text flows
|
|
|
|
0: # zel_00.bmg
|
|
# Change the following indices of Midna's flows to jump to our custom choices
|
|
# instead. These are all the flow jumps that normally determine which "Talk to Midna"
|
|
# text is displayed.
|
|
- index:
|
|
- 0x1
|
|
- 0x9
|
|
- 0xC
|
|
- 0x8F
|
|
- 0x192
|
|
- 0x1A4
|
|
- 0x18F
|
|
- 0x197
|
|
- 0x1BC
|
|
- 0x1C9
|
|
type: event
|
|
event: no-op
|
|
parameters: 0x00000000
|
|
next: Custom Midna Call Begin
|
|
|
|
1: # zel_01.bmg - Ordon Village
|
|
# Patch the flow in Bo's house that normally prevents us from leaving without
|
|
# Having the iron boots. Patch it so we take the flow which allows us to leave
|
|
# no matter what
|
|
- index: 0x8F
|
|
type: branch
|
|
query: item owned
|
|
parameters: 0x0045
|
|
results:
|
|
- 0x90
|
|
- 0x90
|
|
|
|
2: # zel_02.bmg
|
|
# Patch Barnes to use the randomizer purchase flag instead of counting bomb bags.
|
|
- index: 0x47C
|
|
type: branch
|
|
query: randomizer event flag
|
|
parameters: 0x004D
|
|
results:
|
|
- 0x47D
|
|
- 0x485
|
|
|
|
# Change the flow of buying the red potion item in Kak Malo Mart to not check for an empty bottle first
|
|
# if the item is randomized. Change both branch paths to lead to the same next node
|
|
- only if: Shop_Items == On
|
|
index: 0x43F
|
|
type: branch
|
|
query: empty bottles
|
|
parameters: 0x00000001
|
|
results:
|
|
- 0x440
|
|
- 0x440
|
|
|
|
# Change the flow of buying the red potion item in Kak Malo Mart to set the sold out flag if shop
|
|
# items are randomized
|
|
- only if: Shop_Items == On
|
|
index: 0x445
|
|
type: event
|
|
event: remove rupees
|
|
parameters: 0x0000001E
|
|
next: Kakariko Malo Mart Red Potion Sold Out
|
|
|
|
# Change the flow of buying the wooden shield in Kak Malo Mart to set the sold out flag if shop
|
|
# items are randomized
|
|
- only if: Shop_Items == On
|
|
index: 0x417
|
|
type: event
|
|
event: remove rupees
|
|
parameters: 0x00000032
|
|
next: Kakariko Malo Mart Wooden Shield Sold Out
|
|
|
|
#3: # zel_03.bmg
|
|
4: # zel_04.bmg - Castle Town
|
|
# Patch Charlo to check for 100 rupees instead of 30
|
|
- index: 0x34A
|
|
type: branch
|
|
query: rupees
|
|
parameters: 0x0064
|
|
results:
|
|
- 0x34E
|
|
- 0x342
|
|
|
|
# Patch Charlo to take 100 rupees from Link instead of 30
|
|
- index: 0x34E
|
|
type: event
|
|
event: add donation
|
|
parameters: 0x00000064
|
|
next: 0x357
|
|
|
|
# Patch Charlo to add 100 rupees to his counter instead of 30
|
|
- index: 0x357
|
|
type: event
|
|
event: remove rupees
|
|
parameters: 0x00000064
|
|
next: 0x350
|
|
|
|
# Patch Malo Mart door person to not check for time of day.
|
|
# Change from branch node that checks time of day to event node
|
|
# that does nothing.
|
|
- index: 0x1A5
|
|
type: event
|
|
event: no-op
|
|
parameters: 0x00000000
|
|
next: 0x1A4
|
|
|
|
# Patch Jovani flow so that we can turn in poe souls before completing MDH
|
|
- index: 0x832
|
|
type: branch
|
|
query: event flag
|
|
parameters: 0x01C8
|
|
results:
|
|
- 0x834 # Skip over 0x833 and go directly to 0x834
|
|
- 0x84E
|
|
|
|
# Patch Jovani to skip checking whether we've received the first
|
|
# or second reward and skip straight to the second reward if we're
|
|
# talking to him for the first time with 60 souls
|
|
- index: 0x844
|
|
type: message
|
|
message: 0x322
|
|
next: 0x851
|
|
|
|
# Patch Jovani to check if we've received the 20 reward yet at
|
|
# the end of the 60 reward sequence.
|
|
- index: 0x81F
|
|
type: event
|
|
event: set switch
|
|
parameters: 0x00000063
|
|
next: Jovani Check 20 Reward Obtained
|
|
|
|
# Patch the flow of showing the Doctor the Invoice to call our custom
|
|
# event which calls offWarashibeItem instead of setWarashibeItem
|
|
- index: 0x2D7
|
|
type: event
|
|
event: randomizer remove trade item
|
|
parameters: 0x00000081
|
|
next: 0x2D8
|
|
|
|
5: # zel_05.bmg
|
|
# Patch Yeta flow to always give the map check even if the player has obtained the Ordon Cheese
|
|
- index: 0x8
|
|
type: event
|
|
event: no-op
|
|
parameters: 0x00000000
|
|
next: 0x6
|
|
|
|
# Patch Yeta flow to always give the map check even if the player has obtained the Ordon Cheese
|
|
- index: 0x5
|
|
type: event
|
|
event: no-op
|
|
parameters: 0x00000000
|
|
next: 0xC
|
|
|
|
# Patch Gor Liggs to not set the flag for the third key shard.
|
|
- index: 0x258
|
|
type: event
|
|
event: no-op
|
|
parameters: 0x00000000
|
|
next: 0x248
|
|
|
|
# Patch Cave of Ordeals Great Fairy to skip over the check
|
|
# for an empty bottle the first time
|
|
- index: 0x850
|
|
type: message
|
|
message: 0x25B
|
|
next: 0x202
|
|
|
|
#6: # zel_06.bmg
|
|
#7: # zel_07.bmg
|
|
8: # zel_08.bmg - HF, Outside CT, LH, UZR, Zora's River, KB2, Title Screen
|
|
# Skip over the node which deletes auru's memo from the inventory after showing it to Fyer
|
|
- index: 0x53
|
|
type: message
|
|
message: 0xA7
|
|
next: 0x54 # Go directly to 0x54 instead of 0x5D
|
|
|
|
# Custom Flow Nodes
|
|
custom:
|
|
# Start of custom midna call tree. Begin by checking if we can change time
|
|
# of day to see if we show that choice
|
|
- name: Custom Midna Call Begin
|
|
group: 0
|
|
type: branch
|
|
query: randomizer change time
|
|
parameters: 0x0000
|
|
results:
|
|
- Custom Midna Call 3 Choice Select Setup # Can change time of day
|
|
- Custom Midna Call 2 Choice Select Setup # Can not change time of day
|
|
|
|
#################################################
|
|
# CUSTOM MIDNA CALL 2 CHOICE FLOW #
|
|
#################################################
|
|
|
|
- name: Custom Midna Call 2 Choice Select Setup
|
|
group: 0
|
|
type: event
|
|
event: select vertical
|
|
parameters: 0x00000003
|
|
next: Custom Midna Call 2 Choice Intro
|
|
|
|
- name: Custom Midna Call 2 Choice Intro
|
|
group: 0
|
|
type: message
|
|
message: Custom Midna Call Need Something Text
|
|
next: Custom Midna Call 2 Choice
|
|
|
|
- name: Custom Midna Call 2 Choice
|
|
group: 0
|
|
type: message
|
|
message: Custom Midna Call 2 Choice Text
|
|
next: Custom Midna Call 2 Choice Branch
|
|
|
|
- name: Custom Midna Call 2 Choice Branch
|
|
group: 0
|
|
type: branch
|
|
query: select 2 cancel
|
|
parameters: 0x0000
|
|
results:
|
|
- Custom Midna Call Hints # Hints
|
|
- Custom Midna Call Return to Spawn Branch # Return to Spawn
|
|
- 0xFFFF # (B button pressed)
|
|
|
|
#################################################
|
|
# CUSTOM MIDNA CALL 3 CHOICE FLOW #
|
|
#################################################
|
|
|
|
- name: Custom Midna Call 3 Choice Select Setup
|
|
group: 0
|
|
type: event
|
|
event: select vertical
|
|
parameters: 0x00000004
|
|
next: Custom Midna Call 3 Choice Intro
|
|
|
|
- name: Custom Midna Call 3 Choice Intro
|
|
group: 0
|
|
type: message
|
|
message: Custom Midna Call Need Something Text
|
|
next: Custom Midna Call 3 Choice
|
|
|
|
- name: Custom Midna Call 3 Choice
|
|
group: 0
|
|
type: message
|
|
message: Custom Midna Call 3 Choice Text
|
|
next: Custom Midna Call 3 Choice Branch
|
|
|
|
- name: Custom Midna Call 3 Choice Branch
|
|
group: 0
|
|
type: branch
|
|
query: select 3 cancel
|
|
parameters: 0x0000
|
|
results:
|
|
- Custom Midna Call Hints # Hints
|
|
- Custom Midna Call Change Time # Change time of day
|
|
- Custom Midna Call Return to Spawn Branch # Return to Spawn
|
|
- 0xFFFF # (B button pressed)
|
|
|
|
#################################################
|
|
# CUSTOM MIDNA CALL CHOICE OPTIONS #
|
|
#################################################
|
|
|
|
- name: Custom Midna Call Hints
|
|
group: 0
|
|
type: message
|
|
message: Custom Midna Call Hints Text
|
|
next: 0xFFFF
|
|
|
|
- name: Custom Midna Call Change Time
|
|
group: 0
|
|
type: event
|
|
event: randomizer change time
|
|
parameters: 0x00000000
|
|
next: 0xFFFF
|
|
|
|
- name: Custom Midna Call Return to Spawn Branch
|
|
group: 0
|
|
type: branch
|
|
query: randomizer return to spawn
|
|
parameters: 0x0000
|
|
results:
|
|
- Return to Spawn Dungeon Choice Select Setup
|
|
- Return to Spawn Dungeon No Choice Select Setup
|
|
- Return to Base Spawn
|
|
|
|
#################################################
|
|
# RETURN TO SPAWN DUNGEON CHOICE FLOW #
|
|
#################################################
|
|
|
|
- name: Return to Spawn Dungeon Choice Select Setup
|
|
group: 0
|
|
type: event
|
|
event: select vertical
|
|
parameters: 0x00000004
|
|
next: Return to Spawn Dungeon Choice Intro
|
|
|
|
- name: Return to Spawn Dungeon Choice Intro
|
|
group: 0
|
|
type: message
|
|
message: Return to Spawn Dungeon Intro Text
|
|
next: Return to Spawn Dungeon Choice
|
|
|
|
- name: Return to Spawn Dungeon Choice
|
|
group: 0
|
|
type: message
|
|
message: Return to Spawn Dungeon Choice Text
|
|
next: Return to Spawn Dungeon Choice Branch
|
|
|
|
- name: Return to Spawn Dungeon Choice Branch
|
|
group: 0
|
|
type: branch
|
|
query: select 3 cancel
|
|
parameters: 0x0000
|
|
results:
|
|
- Return to Dungeon Spawn # Dungeon entrance
|
|
- 0xFFFF # Nevermind
|
|
- Return to Base Spawn # Spawn
|
|
- 0xFFFF # (B button pressed)
|
|
|
|
#################################################
|
|
# RETURN TO SPAWN DUNGEON NO CHOICE FLOW #
|
|
#################################################
|
|
|
|
- name: Return to Spawn Dungeon No Choice Select Setup
|
|
group: 0
|
|
type: event
|
|
event: select vertical
|
|
parameters: 0x00000003
|
|
next: Return to Spawn Dungeon No Choice Intro
|
|
|
|
- name: Return to Spawn Dungeon No Choice Intro
|
|
group: 0
|
|
type: message
|
|
message: Return to Spawn Dungeon Intro Text
|
|
next: Return to Spawn Dungeon No Choice
|
|
|
|
- name: Return to Spawn Dungeon No Choice
|
|
group: 0
|
|
type: message
|
|
message: Return to Spawn Dungeon No Choice Text
|
|
next: Return to Spawn Dungeon No Choice Branch
|
|
|
|
- name: Return to Spawn Dungeon No Choice Branch
|
|
group: 0
|
|
type: branch
|
|
query: select 2 cancel
|
|
parameters: 0x0000
|
|
results:
|
|
- 0xFFFF # Nevermind
|
|
- Return to Base Spawn # Spawn
|
|
- 0xFFFF # (B button pressed)
|
|
|
|
#################################################
|
|
# RETURN TO SPAWN EVENTS #
|
|
#################################################
|
|
|
|
# A non-zero parameter uses the current stage's place override when one exists.
|
|
- name: Return to Dungeon Spawn
|
|
group: 0
|
|
type: event
|
|
event: randomizer return to spawn
|
|
parameters: 0x00000001
|
|
next: 0xFFFF
|
|
|
|
# A zero parameter always returns to the starting spawn.
|
|
- name: Return to Base Spawn
|
|
group: 0
|
|
type: event
|
|
event: randomizer return to spawn
|
|
parameters: 0x00000000
|
|
next: 0xFFFF
|
|
|
|
#################################################
|
|
# KAKARIKO MALO MART #
|
|
#################################################
|
|
|
|
# Set the shop sold-out flag.
|
|
- name: Kakariko Malo Mart Red Potion Sold Out
|
|
only if: Shop_Items == On
|
|
group: 2
|
|
type: event
|
|
event: shop sold out
|
|
parameters: 0x00000000
|
|
next: 0x449
|
|
|
|
# Set the shop sold-out flag.
|
|
- name: Kakariko Malo Mart Wooden Shield Sold Out
|
|
only if: Shop_Items == On
|
|
group: 2
|
|
type: event
|
|
event: shop sold out
|
|
parameters: 0x00000000
|
|
next: 0x41C
|
|
|
|
#################################################
|
|
# JOVANI #
|
|
#################################################
|
|
|
|
# Check to see if we've obtained the 20 Poe Soul Reward.
|
|
# If we haven't then branch to giving the reward
|
|
- name: Jovani Check 20 Reward Obtained
|
|
group: 4
|
|
type: branch
|
|
query: event flag
|
|
parameters: 0x0272
|
|
results:
|
|
- 0xFFFF # Yes, we've obtained the reward, do nothing
|
|
- Jovani Give 20 Reward
|
|
|
|
- name: Jovani Give 20 Reward
|
|
group: 4
|
|
type: event
|
|
event: start event
|
|
parameters: 0x00010075
|
|
next: 0x851
|
|
|
|
#################################################
|
|
# HINT SIGNS #
|
|
#################################################
|
|
|
|
- name: Ordon Hint Sign
|
|
type: message
|
|
message: Ordon Hint Sign Text
|
|
next: 0xFFFF
|
|
|
|
- name: South Faron Woods Hint Sign
|
|
type: message
|
|
message: South Faron Woods Hint Sign Text
|
|
next: 0xFFFF
|
|
|
|
- name: Sacred Grove Hint Sign
|
|
type: message
|
|
message: Sacred Grove Hint Sign Text
|
|
next: 0xFFFF
|
|
|
|
- name: Faron Field Hint Sign
|
|
type: message
|
|
message: Faron Field Hint Sign Text
|
|
next: 0xFFFF
|
|
|
|
- name: Kakariko Gorge Hint Sign
|
|
type: message
|
|
message: Kakariko Gorge Hint Sign Text
|
|
next: 0xFFFF
|
|
|
|
- name: Kakariko Village Hint Sign
|
|
type: message
|
|
message: Kakariko Village Hint Sign Text
|
|
next: 0xFFFF
|
|
|
|
- name: Kakariko Graveyard Hint Sign
|
|
type: message
|
|
message: Kakariko Graveyard Hint Sign Text
|
|
next: 0xFFFF
|
|
|
|
- name: Eldin Field Hint Sign
|
|
type: message
|
|
message: Eldin Field Hint Sign Text
|
|
next: 0xFFFF
|
|
|
|
- name: North Eldin Field Hint Sign
|
|
type: message
|
|
message: North Eldin Field Hint Sign Text
|
|
next: 0xFFFF
|
|
|
|
- name: Hidden Village Hint Sign
|
|
type: message
|
|
message: Hidden Village Hint Sign Text
|
|
next: 0xFFFF
|
|
|
|
- name: Lanayru Field Hint Sign
|
|
type: message
|
|
message: Lanayru Field Hint Sign Text
|
|
next: 0xFFFF
|
|
|
|
- name: Beside Castle Town Hint Sign
|
|
type: message
|
|
message: Beside Castle Town Hint Sign Text
|
|
next: 0xFFFF
|
|
|
|
- name: Castle Town Center Hint Sign
|
|
type: message
|
|
message: Castle Town Center Hint Sign Text
|
|
next: 0xFFFF
|
|
|
|
- name: Outside South Castle Town Hint Sign
|
|
type: message
|
|
message: Outside South Castle Town Hint Sign Text
|
|
next: 0xFFFF
|
|
|
|
- name: Lake Hylia Bridge Hint Sign
|
|
type: message
|
|
message: Lake Hylia Bridge Hint Sign Text
|
|
next: 0xFFFF
|
|
|
|
- name: Lake Hylia Hint Sign
|
|
type: message
|
|
message: Lake Hylia Hint Sign Text
|
|
next: 0xFFFF
|
|
|
|
- name: Lanayru Spring Hint Sign
|
|
type: message
|
|
message: Lanayru Spring Hint Sign Text
|
|
next: 0xFFFF
|
|
|
|
- name: Lake Lantern Cave Hint Sign
|
|
type: message
|
|
message: Lake Lantern Cave Hint Sign Text
|
|
next: 0xFFFF
|
|
|
|
- name: Fishing Hole Hint Sign
|
|
type: message
|
|
message: Fishing Hole Hint Sign Text
|
|
next: 0xFFFF
|
|
|
|
- name: Zoras Domain Hint Sign
|
|
type: message
|
|
message: Zoras Domain Hint Sign Text
|
|
next: 0xFFFF
|
|
|
|
- name: Snowpeak Hint Sign
|
|
type: message
|
|
message: Snowpeak Hint Sign Text
|
|
next: 0xFFFF
|
|
|
|
- name: Gerudo Desert Hint Sign
|
|
type: message
|
|
message: Gerudo Desert Hint Sign Text
|
|
next: 0xFFFF
|
|
|
|
- name: Bulblin Camp Hint Sign
|
|
type: message
|
|
message: Bulblin Camp Hint Sign Text
|
|
next: 0xFFFF
|
|
|
|
- name: Forest Temple Hint Sign
|
|
type: message
|
|
message: Forest Temple Hint Sign Text
|
|
next: 0xFFFF
|
|
|
|
- name: Goron Mines Hint Sign
|
|
type: message
|
|
message: Goron Mines Hint Sign Text
|
|
next: 0xFFFF
|
|
|
|
- name: Lakebed Temple Hint Sign
|
|
type: message
|
|
message: Lakebed Temple Hint Sign Text
|
|
next: 0xFFFF
|
|
|
|
- name: Arbiters Grounds Hint Sign
|
|
type: message
|
|
message: Arbiters Grounds Hint Sign Text
|
|
next: 0xFFFF
|
|
|
|
- name: Snowpeak Ruins Hint Sign
|
|
type: message
|
|
message: Snowpeak Ruins Hint Sign Text
|
|
next: 0xFFFF
|
|
|
|
- name: Temple of Time First Hint Sign
|
|
type: message
|
|
message: Temple of Time First Hint Sign Text
|
|
next: 0xFFFF
|
|
|
|
- name: Temple of Time Second Hint Sign
|
|
type: message
|
|
message: Temple of Time Second Hint Sign Text
|
|
next: 0xFFFF
|
|
|
|
- name: City in the Sky Hint Sign
|
|
type: message
|
|
message: City in the Sky Hint Sign Text
|
|
next: 0xFFFF
|
|
|
|
- name: Palace of Twilight Hint Sign
|
|
type: message
|
|
message: Palace of Twilight Hint Sign Text
|
|
next: 0xFFFF
|
|
|
|
- name: Hyrule Castle Hint Sign
|
|
type: message
|
|
message: Hyrule Castle Hint Sign Text
|
|
next: 0xFFFF
|
|
|
|
- name: Cave of Ordeals Hint Sign
|
|
type: message
|
|
message: Cave of Ordeals Hint Sign Text
|
|
next: 0xFFFF
|