jep-hack/engine/events/catch_tutorial.asm
Llinos Evans a4044f0929 Naming mother restored!
The act of naming your mother was restored by adding a name substitution system to WRAM, thus allowing the Dude to occupy a slot naturally. I believe Red and Blue's names are unused too, but just to be safe, I left them alone. Using this means we can technically have battles that substitute names all the time, so this is really neat.

Reworked the first rival encounter scene to have him treat you like an idiot, blurt out what you name your mother, tease you, and piss you off. Arguably flows better than the original and makes more sense. Also, now the mother's name is placed in various spots.

Only concern really is seeing the default name in the phone contact. Feel free to change that if you want, but it's hard to place due to situations where the player leaves without talking to her, so take care!
2024-07-29 14:23:59 +01:00

82 lines
1.2 KiB
NASM

CatchTutorial::
ld a, [wBattleType]
dec a
ld c, a
ld hl, .dw
ld b, 0
add hl, bc
add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
jp hl
.dw
dw .DudeTutorial
dw .DudeTutorial
dw .DudeTutorial
.DudeTutorial:
; Back up your name to a substitute slot, preserving the mother's name.
ld hl, wPlayerName
ld de, wSubstituteName
ld bc, NAME_LENGTH
call CopyBytes
; Copy Dude's name to your name
ld hl, .Dude
ld de, wPlayerName
ld bc, NAME_LENGTH
call CopyBytes
call .LoadDudeData
xor a
ldh [hJoyDown], a
ldh [hJoyPressed], a
ld a, [wOptions]
push af
and ~TEXT_DELAY_MASK
add TEXT_DELAY_MED
ld [wOptions], a
ld hl, .AutoInput
ld a, BANK(.AutoInput)
call StartAutoInput
callfar StartBattle
call StopAutoInput
pop af
ld [wOptions], a
ld hl, wSubstituteName
ld de, wPlayerName
ld bc, NAME_LENGTH
call CopyBytes
ret
.LoadDudeData:
ld hl, wDudeNumItems
ld [hl], 1
inc hl
ld [hl], POTION
inc hl
ld [hl], 1
inc hl
ld [hl], -1
ld hl, wDudeNumKeyItems
ld [hl], 0
inc hl
ld [hl], -1
ld hl, wDudeNumBalls
ld a, 1
ld [hli], a
ld a, POKE_BALL
ld [hli], a
ld [hli], a
ld [hl], -1
ret
.Dude:
db "DUDE@"
.AutoInput:
db NO_INPUT, $ff ; end