Links Awakening: Implement New Game (#1334)
Adds Link's Awakening: DX. Fully imports and forks LADXR, with permission - https://github.com/daid/LADXR
This commit is contained in:
42
worlds/ladx/LADXR/patches/madBatter.py
Normal file
42
worlds/ladx/LADXR/patches/madBatter.py
Normal file
@@ -0,0 +1,42 @@
|
||||
from ..assembler import ASM
|
||||
from ..utils import formatText
|
||||
|
||||
|
||||
def upgradeMadBatter(rom):
|
||||
# Normally the madbatter won't do anything if you have full capacity. Remove that check.
|
||||
rom.patch(0x18, 0x0F05, 0x0F1D, "", fill_nop=True)
|
||||
# Remove the code that finds which upgrade to apply,
|
||||
rom.patch(0x18, 0x0F9E, 0x0FC4, "", fill_nop=True)
|
||||
rom.patch(0x18, 0x0FD2, 0x0FD8, "", fill_nop=True)
|
||||
|
||||
# Finally, at the last step, give the item and the item message.
|
||||
rom.patch(0x18, 0x1016, 0x101B, "", fill_nop=True)
|
||||
rom.patch(0x18, 0x101E, 0x1051, ASM("""
|
||||
; Mad batter rooms are E0,E1 and E2, load the item type from a table in the rom
|
||||
; which only has 3 entries, and store it where bank 3E wants it.
|
||||
ldh a, [$F6] ; current room
|
||||
and $0F
|
||||
ld d, $00
|
||||
ld e, a
|
||||
ld hl, $4F90
|
||||
add hl, de
|
||||
ld a, [hl]
|
||||
ldh [$F1], a
|
||||
|
||||
; Give item
|
||||
ld a, $06 ; giveItemMultiworld
|
||||
rst 8
|
||||
; Message
|
||||
ld a, $0A ; showMessageMultiworld
|
||||
rst 8
|
||||
; Force the dialog at the bottom
|
||||
ld a, [$C19F]
|
||||
or $80
|
||||
ld [$C19F], a
|
||||
"""), fill_nop=True)
|
||||
# Setup the default items
|
||||
rom.patch(0x18, 0x0F90, "406060", "848586")
|
||||
|
||||
rom.texts[0xE2] = formatText("You can now carry more Magic Powder!")
|
||||
rom.texts[0xE3] = formatText("You can now carry more Bombs!")
|
||||
rom.texts[0xE4] = formatText("You can now carry more Arrows!")
|
||||
Reference in New Issue
Block a user