34 lines
1.0 KiB
Python
34 lines
1.0 KiB
Python
from ..assembler import ASM
|
|
from ..utils import formatText
|
|
|
|
|
|
def setStartHealth(rom, amount):
|
|
rom.patch(0x01, 0x0B1C, ASM("ld [hl], $03"), ASM("ld [hl], $%02X" % (amount))) # max health of new save
|
|
rom.patch(0x01, 0x0B14, ASM("ld [hl], $18"), ASM("ld [hl], $%02X" % (amount * 8))) # current health of new save
|
|
|
|
|
|
def upgradeHealthContainers(rom):
|
|
# Reuse 2 unused shop messages for the heart containers.
|
|
rom.texts[0x2A] = formatText("You found a {HEART_CONTAINER}!")
|
|
rom.texts[0x2B] = formatText("You lost a heart!")
|
|
|
|
rom.patch(0x03, 0x19DC, ASM("""
|
|
ld de, $59D8
|
|
call $3BC0
|
|
"""), ASM("""
|
|
ld a, $05 ; renderHeartPiece
|
|
rst 8
|
|
"""), fill_nop=True)
|
|
rom.patch(0x03, 0x19F0, ASM("""
|
|
ld hl, $DB5B
|
|
inc [hl]
|
|
ld hl, $DB93
|
|
ld [hl], $FF
|
|
"""), ASM("""
|
|
ld a, $06 ; giveItemMultiworld
|
|
rst 8
|
|
ld a, $0A ; messageForItemMultiworld
|
|
rst 8
|
|
skip:
|
|
"""), fill_nop=True) # add heart->remove heart on heart container
|