mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-09-09 09:51:34 -07:00
941 lines
13 KiB
NASM
941 lines
13 KiB
NASM
|
SelectMonFromParty: ; 50000
|
||
|
call DisableSpriteUpdates
|
||
|
xor a
|
||
|
ld [PartyMenuActionText], a
|
||
|
call WhiteBGMap
|
||
|
call Function5003f
|
||
|
call WaitBGMap
|
||
|
call Function32f9
|
||
|
call DelayFrame
|
||
|
call PartyMenuSelect
|
||
|
call Function2b74
|
||
|
ret
|
||
|
; 5001d
|
||
|
|
||
|
|
||
|
Function5001d: ; 5001d
|
||
|
ld a, b
|
||
|
ld [PartyMenuActionText], a
|
||
|
call DisableSpriteUpdates
|
||
|
call WhiteBGMap
|
||
|
call Function5003f
|
||
|
call WaitBGMap
|
||
|
ld b, $a
|
||
|
call GetSGBLayout
|
||
|
call Function32f9
|
||
|
call DelayFrame
|
||
|
call PartyMenuSelect
|
||
|
call Function2b74
|
||
|
ret
|
||
|
; 5003f
|
||
|
|
||
|
Function5003f: ; 5003f
|
||
|
call Function5004f
|
||
|
call Function50405
|
||
|
call Function503e0
|
||
|
call WritePartyMenuTilemap
|
||
|
call PrintPartyMenuText
|
||
|
ret
|
||
|
; 5004f
|
||
|
|
||
|
Function5004f: ; 5004f
|
||
|
call LoadFontsBattleExtra
|
||
|
callab Function8ad1 ; engine/color.asm
|
||
|
callab InefficientlyClear121BytesAtwc300
|
||
|
ret
|
||
|
; 5005f
|
||
|
|
||
|
|
||
|
WritePartyMenuTilemap: ; 0x5005f
|
||
|
ld hl, Options
|
||
|
ld a, [hl]
|
||
|
push af
|
||
|
set 4, [hl] ; Disable text delay
|
||
|
xor a
|
||
|
ld [hBGMapMode], a
|
||
|
hlcoord 0, 0
|
||
|
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||
|
ld a, " "
|
||
|
call ByteFill ; blank the tilemap
|
||
|
call Function50396 ; This reads from a pointer table???
|
||
|
.loop
|
||
|
ld a, [hli]
|
||
|
cp -1
|
||
|
jr z, .asm_50084 ; 0x5007a $8
|
||
|
push hl
|
||
|
ld hl, .jumptable
|
||
|
rst JumpTable
|
||
|
pop hl
|
||
|
jr .loop ; 0x50082 $f3
|
||
|
|
||
|
.asm_50084
|
||
|
pop af
|
||
|
ld [Options], a
|
||
|
ret
|
||
|
; 0x50089
|
||
|
|
||
|
.jumptable: ; 50089
|
||
|
dw .displaynicks ; 0
|
||
|
dw .drawhpbars ; 1
|
||
|
dw Function50138 ; 2
|
||
|
dw Function50176 ; 3
|
||
|
dw Function501b2 ; 4
|
||
|
dw Function501e0 ; 5
|
||
|
dw Function5022f ; 6
|
||
|
dw Function502b1 ; 7
|
||
|
dw Function50307 ; 8
|
||
|
; 5009b
|
||
|
|
||
|
.displaynicks: ; 5009b
|
||
|
hlcoord 3, 1
|
||
|
ld a, [PartyCount]
|
||
|
and a
|
||
|
jr z, .done
|
||
|
ld c, a
|
||
|
ld b, $0
|
||
|
.loop2
|
||
|
push bc
|
||
|
push hl
|
||
|
push hl
|
||
|
ld hl, PartyMonNicknames
|
||
|
ld a, b
|
||
|
call GetNick
|
||
|
pop hl
|
||
|
call PlaceString
|
||
|
pop hl
|
||
|
ld de, $0028
|
||
|
add hl, de
|
||
|
pop bc
|
||
|
inc b
|
||
|
dec c
|
||
|
jr nz, .loop2
|
||
|
|
||
|
.done
|
||
|
rept 2
|
||
|
dec hl
|
||
|
endr
|
||
|
ld de, .cancelstring
|
||
|
call PlaceString
|
||
|
ret
|
||
|
; 500c8
|
||
|
|
||
|
.cancelstring: ; 500c8
|
||
|
db "CANCEL@"
|
||
|
; 500cf
|
||
|
|
||
|
|
||
|
.drawhpbars: ; 500cf
|
||
|
xor a
|
||
|
ld [wcda9], a
|
||
|
ld a, [PartyCount]
|
||
|
and a
|
||
|
ret z
|
||
|
ld c, a
|
||
|
ld b, $0
|
||
|
hlcoord 11, 2
|
||
|
.loop3
|
||
|
push bc
|
||
|
push hl
|
||
|
call Function50389
|
||
|
jr z, .skip
|
||
|
push hl
|
||
|
call _fillhpbar
|
||
|
pop hl
|
||
|
ld d, 6
|
||
|
ld b, 0
|
||
|
call DrawHPBar
|
||
|
ld hl, wcd9b
|
||
|
ld a, [wcda9]
|
||
|
ld c, a
|
||
|
ld b, $0
|
||
|
add hl, bc
|
||
|
call SetHPPal
|
||
|
ld b, $fc
|
||
|
call GetSGBLayout
|
||
|
|
||
|
.skip
|
||
|
ld hl, wcda9
|
||
|
inc [hl]
|
||
|
pop hl
|
||
|
ld de, $0028
|
||
|
add hl, de
|
||
|
pop bc
|
||
|
inc b
|
||
|
dec c
|
||
|
jr nz, .loop3
|
||
|
ld b, $a
|
||
|
call GetSGBLayout
|
||
|
ret
|
||
|
; 50117
|
||
|
|
||
|
_fillhpbar: ; 50117
|
||
|
ld a, b
|
||
|
ld bc, PartyMon2 - PartyMon1
|
||
|
ld hl, PartyMon1HP
|
||
|
call AddNTimes
|
||
|
ld a, [hli]
|
||
|
or [hl]
|
||
|
jr nz, .notfainted
|
||
|
xor a
|
||
|
ld e, a
|
||
|
ld c, a
|
||
|
ret
|
||
|
|
||
|
.notfainted
|
||
|
dec hl
|
||
|
ld a, [hli]
|
||
|
ld b, a
|
||
|
ld a, [hli]
|
||
|
ld c, a
|
||
|
ld a, [hli]
|
||
|
ld d, a
|
||
|
ld a, [hli]
|
||
|
ld e, a
|
||
|
predef ComputeHPBarLength
|
||
|
ret
|
||
|
; 50138
|
||
|
|
||
|
Function50138: ; 50138
|
||
|
ld a, [PartyCount]
|
||
|
and a
|
||
|
ret z
|
||
|
ld c, a
|
||
|
ld b, $0
|
||
|
hlcoord 13, 1
|
||
|
.asm_50143
|
||
|
push bc
|
||
|
push hl
|
||
|
call Function50389
|
||
|
jr z, .asm_5016b
|
||
|
push hl
|
||
|
ld a, b
|
||
|
ld bc, PartyMon2 - PartyMon1
|
||
|
ld hl, PartyMon1HP
|
||
|
call AddNTimes
|
||
|
ld e, l
|
||
|
ld d, h
|
||
|
pop hl
|
||
|
push de
|
||
|
lb bc, 2, 3
|
||
|
call PrintNum
|
||
|
pop de
|
||
|
ld a, $f3
|
||
|
ld [hli], a
|
||
|
rept 2
|
||
|
inc de
|
||
|
endr
|
||
|
lb bc, 2, 3
|
||
|
call PrintNum
|
||
|
|
||
|
.asm_5016b
|
||
|
pop hl
|
||
|
ld de, $0028
|
||
|
add hl, de
|
||
|
pop bc
|
||
|
inc b
|
||
|
dec c
|
||
|
jr nz, .asm_50143
|
||
|
ret
|
||
|
; 50176
|
||
|
|
||
|
Function50176: ; 50176
|
||
|
ld a, [PartyCount]
|
||
|
and a
|
||
|
ret z
|
||
|
ld c, a
|
||
|
ld b, 0
|
||
|
hlcoord 8, 2
|
||
|
.asm_50181
|
||
|
push bc
|
||
|
push hl
|
||
|
call Function50389
|
||
|
jr z, .asm_501a7
|
||
|
push hl
|
||
|
ld a, b
|
||
|
ld bc, PartyMon2 - PartyMon1
|
||
|
ld hl, PartyMon1Level
|
||
|
call AddNTimes
|
||
|
ld e, l
|
||
|
ld d, h
|
||
|
pop hl
|
||
|
ld a, [de]
|
||
|
cp 100 ; This is distinct from MAX_LEVEL.
|
||
|
jr nc, .asm_501a1
|
||
|
ld a, "<LV>"
|
||
|
ld [hli], a
|
||
|
ld bc, $4102
|
||
|
.asm_501a1
|
||
|
lb bc, PRINTNUM_RIGHTALIGN | 1, 3
|
||
|
call PrintNum
|
||
|
|
||
|
.asm_501a7
|
||
|
pop hl
|
||
|
ld de, SCREEN_WIDTH * 2
|
||
|
add hl, de
|
||
|
pop bc
|
||
|
inc b
|
||
|
dec c
|
||
|
jr nz, .asm_50181
|
||
|
ret
|
||
|
; 501b2
|
||
|
|
||
|
Function501b2: ; 501b2
|
||
|
ld a, [PartyCount]
|
||
|
and a
|
||
|
ret z
|
||
|
ld c, a
|
||
|
ld b, 0
|
||
|
hlcoord 5, 2
|
||
|
.asm_501bd
|
||
|
push bc
|
||
|
push hl
|
||
|
call Function50389
|
||
|
jr z, .asm_501d5
|
||
|
push hl
|
||
|
ld a, b
|
||
|
ld bc, PartyMon2 - PartyMon1
|
||
|
ld hl, PartyMon1Status
|
||
|
call AddNTimes
|
||
|
ld e, l
|
||
|
ld d, h
|
||
|
pop hl
|
||
|
call Function50d0a
|
||
|
|
||
|
.asm_501d5
|
||
|
pop hl
|
||
|
ld de, SCREEN_WIDTH * 2
|
||
|
add hl, de
|
||
|
pop bc
|
||
|
inc b
|
||
|
dec c
|
||
|
jr nz, .asm_501bd
|
||
|
ret
|
||
|
; 501e0
|
||
|
|
||
|
Function501e0: ; 501e0
|
||
|
ld a, [PartyCount]
|
||
|
and a
|
||
|
ret z
|
||
|
ld c, a
|
||
|
ld b, 0
|
||
|
hlcoord 12, 2
|
||
|
.asm_501eb
|
||
|
push bc
|
||
|
push hl
|
||
|
call Function50389
|
||
|
jr z, .asm_5020a
|
||
|
push hl
|
||
|
ld hl, PartySpecies
|
||
|
ld e, b
|
||
|
ld d, 0
|
||
|
add hl, de
|
||
|
ld a, [hl]
|
||
|
ld [CurPartySpecies], a
|
||
|
predef CanLearnTMHMMove
|
||
|
pop hl
|
||
|
call Function50215
|
||
|
call PlaceString
|
||
|
|
||
|
.asm_5020a
|
||
|
pop hl
|
||
|
ld de, SCREEN_WIDTH * 2
|
||
|
add hl, de
|
||
|
pop bc
|
||
|
inc b
|
||
|
dec c
|
||
|
jr nz, .asm_501eb
|
||
|
ret
|
||
|
; 50215
|
||
|
|
||
|
Function50215: ; 50215
|
||
|
ld a, c
|
||
|
and a
|
||
|
jr nz, .asm_5021d
|
||
|
ld de, String_50226
|
||
|
ret
|
||
|
|
||
|
.asm_5021d
|
||
|
ld de, String_50221
|
||
|
ret
|
||
|
; 50221
|
||
|
|
||
|
String_50221: ; 50221
|
||
|
db "ABLE@"
|
||
|
; 50226
|
||
|
|
||
|
String_50226: ; 50226
|
||
|
db "NOT ABLE@"
|
||
|
; 5022f
|
||
|
|
||
|
|
||
|
Function5022f: ; 5022f
|
||
|
ld a, [PartyCount]
|
||
|
and a
|
||
|
ret z
|
||
|
ld c, a
|
||
|
ld b, 0
|
||
|
hlcoord 12, 2
|
||
|
.asm_5023a
|
||
|
push bc
|
||
|
push hl
|
||
|
call Function50389
|
||
|
jr z, .asm_5025d
|
||
|
push hl
|
||
|
ld a, b
|
||
|
ld bc, PartyMon2 - PartyMon1
|
||
|
ld hl, PartyMon1Species
|
||
|
call AddNTimes
|
||
|
ld a, [hl]
|
||
|
dec a
|
||
|
ld e, a
|
||
|
ld d, 0
|
||
|
ld hl, EvosAttacksPointers
|
||
|
rept 2
|
||
|
add hl, de
|
||
|
endr
|
||
|
call Function50268
|
||
|
pop hl
|
||
|
call PlaceString
|
||
|
|
||
|
.asm_5025d
|
||
|
pop hl
|
||
|
ld de, $0028
|
||
|
add hl, de
|
||
|
pop bc
|
||
|
inc b
|
||
|
dec c
|
||
|
jr nz, .asm_5023a
|
||
|
ret
|
||
|
; 50268
|
||
|
|
||
|
Function50268: ; 50268
|
||
|
ld de, StringBuffer1
|
||
|
ld a, BANK(EvosAttacksPointers)
|
||
|
ld bc, 2
|
||
|
call FarCopyBytes
|
||
|
ld hl, StringBuffer1
|
||
|
ld a, [hli]
|
||
|
ld h, [hl]
|
||
|
ld l, a
|
||
|
ld de, StringBuffer1
|
||
|
ld a, BANK(EvosAttacks)
|
||
|
ld bc, $a
|
||
|
call FarCopyBytes
|
||
|
ld hl, StringBuffer1
|
||
|
.asm_50287
|
||
|
ld a, [hli]
|
||
|
and a
|
||
|
jr z, .asm_5029f
|
||
|
rept 2
|
||
|
inc hl
|
||
|
endr
|
||
|
cp EVOLVE_ITEM
|
||
|
jr nz, .asm_50287
|
||
|
rept 2
|
||
|
dec hl
|
||
|
endr
|
||
|
ld a, [CurItem]
|
||
|
cp [hl]
|
||
|
rept 2
|
||
|
inc hl
|
||
|
endr
|
||
|
jr nz, .asm_50287
|
||
|
ld de, String_502a3
|
||
|
ret
|
||
|
|
||
|
.asm_5029f
|
||
|
ld de, String_502a8
|
||
|
ret
|
||
|
; 502a3
|
||
|
|
||
|
String_502a3: ; 502a3
|
||
|
db "ABLE@"
|
||
|
; 502a8
|
||
|
String_502a8: ; 502a8
|
||
|
db "NOT ABLE@"
|
||
|
; 502b1
|
||
|
|
||
|
|
||
|
Function502b1: ; 502b1
|
||
|
ld a, [PartyCount]
|
||
|
and a
|
||
|
ret z
|
||
|
ld c, a
|
||
|
ld b, 0
|
||
|
hlcoord 12, 2
|
||
|
.asm_502bc
|
||
|
push bc
|
||
|
push hl
|
||
|
call Function50389
|
||
|
jr z, .asm_502e3
|
||
|
ld [CurPartySpecies], a
|
||
|
push hl
|
||
|
ld a, b
|
||
|
ld [CurPartyMon], a
|
||
|
xor a
|
||
|
ld [MonType], a
|
||
|
call GetGender
|
||
|
ld de, String_502fe
|
||
|
jr c, .asm_502df
|
||
|
ld de, String_502ee
|
||
|
jr nz, .asm_502df
|
||
|
ld de, String_502f5
|
||
|
|
||
|
.asm_502df
|
||
|
pop hl
|
||
|
call PlaceString
|
||
|
|
||
|
.asm_502e3
|
||
|
pop hl
|
||
|
ld de, $0028
|
||
|
add hl, de
|
||
|
pop bc
|
||
|
inc b
|
||
|
dec c
|
||
|
jr nz, .asm_502bc
|
||
|
ret
|
||
|
; 502ee
|
||
|
|
||
|
String_502ee: ; 502ee
|
||
|
db "♂…MALE@"
|
||
|
; 502f5
|
||
|
|
||
|
String_502f5: ; 502f5
|
||
|
db "♀…FEMALE@"
|
||
|
; 502fe
|
||
|
|
||
|
String_502fe: ; 502fe
|
||
|
db "…UNKNOWN@"
|
||
|
; 50307
|
||
|
|
||
|
|
||
|
Function50307: ; 50307
|
||
|
ld a, [PartyCount]
|
||
|
and a
|
||
|
ret z
|
||
|
ld c, a
|
||
|
ld b, 0
|
||
|
hlcoord 12, 1
|
||
|
.asm_50312
|
||
|
push bc
|
||
|
push hl
|
||
|
ld de, String_50372
|
||
|
call PlaceString
|
||
|
pop hl
|
||
|
ld de, $0028
|
||
|
add hl, de
|
||
|
pop bc
|
||
|
inc b
|
||
|
dec c
|
||
|
jr nz, .asm_50312
|
||
|
ld a, l
|
||
|
ld e, $b
|
||
|
sub e
|
||
|
ld l, a
|
||
|
ld a, h
|
||
|
sbc $0
|
||
|
ld h, a
|
||
|
ld de, String_50379
|
||
|
call PlaceString
|
||
|
ld b, $3
|
||
|
ld c, $0
|
||
|
ld hl, DefaultFlypoint
|
||
|
ld a, [hl]
|
||
|
.asm_5033b
|
||
|
push hl
|
||
|
push bc
|
||
|
hlcoord 12, 1
|
||
|
.asm_50340
|
||
|
and a
|
||
|
jr z, .asm_5034a
|
||
|
ld de, $0028
|
||
|
add hl, de
|
||
|
dec a
|
||
|
jr .asm_50340
|
||
|
|
||
|
.asm_5034a
|
||
|
ld de, String_5036b
|
||
|
push hl
|
||
|
call PlaceString
|
||
|
pop hl
|
||
|
pop bc
|
||
|
push bc
|
||
|
push hl
|
||
|
ld a, c
|
||
|
ld hl, Strings_50383
|
||
|
call GetNthString
|
||
|
ld d, h
|
||
|
ld e, l
|
||
|
pop hl
|
||
|
call PlaceString
|
||
|
pop bc
|
||
|
pop hl
|
||
|
inc hl
|
||
|
ld a, [hl]
|
||
|
inc c
|
||
|
dec b
|
||
|
ret z
|
||
|
jr .asm_5033b
|
||
|
; 5036b
|
||
|
|
||
|
String_5036b: ; 5036b
|
||
|
db " ばんめ @" ; Place
|
||
|
; 50372
|
||
|
String_50372: ; 50372
|
||
|
db "さんかしない@" ; Cancel
|
||
|
; 50379
|
||
|
String_50379: ; 50379
|
||
|
db "けってい やめる@" ; Quit
|
||
|
; 50383
|
||
|
Strings_50383: ; 50383
|
||
|
db "1@", "2@", "3@" ; 1st, 2nd, 3rd
|
||
|
; 50389
|
||
|
|
||
|
|
||
|
Function50389: ; 50389
|
||
|
ld a, PartySpecies % $100
|
||
|
add b
|
||
|
ld e, a
|
||
|
ld a, PartySpecies / $100
|
||
|
adc 0
|
||
|
ld d, a
|
||
|
ld a, [de]
|
||
|
cp EGG
|
||
|
ret
|
||
|
; 50396
|
||
|
|
||
|
Function50396: ; 50396
|
||
|
ld a, [PartyMenuActionText]
|
||
|
and $f0
|
||
|
jr nz, .override
|
||
|
ld a, [PartyMenuActionText]
|
||
|
and $f
|
||
|
ld e, a
|
||
|
ld d, 0
|
||
|
ld hl, .selectmonmenuoptions
|
||
|
rept 2
|
||
|
add hl, de
|
||
|
endr
|
||
|
ld a, [hli]
|
||
|
ld h, [hl]
|
||
|
ld l, a
|
||
|
ret
|
||
|
|
||
|
.override
|
||
|
ld hl, .default
|
||
|
ret
|
||
|
; 503b2
|
||
|
|
||
|
.selectmonmenuoptions: ; 503b2
|
||
|
dw .default
|
||
|
dw .default
|
||
|
dw .default
|
||
|
dw .unknown1
|
||
|
dw .default
|
||
|
dw .unknown2
|
||
|
dw .trade
|
||
|
dw .trade
|
||
|
dw .default
|
||
|
dw .unknown3
|
||
|
; 503c6
|
||
|
|
||
|
.default: db 0, 1, 2, 3, 4, -1
|
||
|
.unknown1: db 0, 5, 3, 4, -1
|
||
|
.unknown2: db 0, 6, 3, 4, -1
|
||
|
.trade: db 0, 7, 3, 4, -1
|
||
|
.unknown3: db 0, 8, 3, 4, -1
|
||
|
; 503e0
|
||
|
|
||
|
Function503e0: ; 503e0
|
||
|
ld hl, PartyCount
|
||
|
ld a, [hli]
|
||
|
and a
|
||
|
ret z
|
||
|
ld c, a
|
||
|
xor a
|
||
|
ld [hConnectedMapWidth], a
|
||
|
.asm_503ea
|
||
|
push bc
|
||
|
push hl
|
||
|
ld hl, Function8e83f
|
||
|
ld a, BANK(Function8e83f)
|
||
|
ld e, $0
|
||
|
rst FarCall
|
||
|
ld a, [hConnectedMapWidth]
|
||
|
inc a
|
||
|
ld [hConnectedMapWidth], a
|
||
|
pop hl
|
||
|
pop bc
|
||
|
dec c
|
||
|
jr nz, .asm_503ea
|
||
|
callab Function8cf69
|
||
|
ret
|
||
|
; 50405
|
||
|
Function50405: ; 50405
|
||
|
xor a
|
||
|
ld [wd0e3], a
|
||
|
ld de, Unknown_5044f
|
||
|
call Function1bb1
|
||
|
ld a, [PartyCount]
|
||
|
inc a
|
||
|
ld [wcfa3], a
|
||
|
dec a
|
||
|
ld b, a
|
||
|
ld a, [wd0d8]
|
||
|
and a
|
||
|
jr z, .asm_50422
|
||
|
inc b
|
||
|
cp b
|
||
|
jr c, .asm_50424
|
||
|
|
||
|
.asm_50422
|
||
|
ld a, $1
|
||
|
|
||
|
.asm_50424
|
||
|
ld [wcfa9], a
|
||
|
ld a, $3
|
||
|
ld [wcfa8], a
|
||
|
ret
|
||
|
; 5042d
|
||
|
|
||
|
Function5042d: ; 0x5042d
|
||
|
ld de, Unknown_5044f
|
||
|
call Function1bb1
|
||
|
ld a, [PartyCount]
|
||
|
ld [wcfa3], a
|
||
|
ld b, a
|
||
|
ld a, [wd0d8]
|
||
|
and a
|
||
|
jr z, .asm_50444
|
||
|
inc b
|
||
|
cp b
|
||
|
jr c, .asm_50446
|
||
|
.asm_50444
|
||
|
ld a, $1
|
||
|
.asm_50446
|
||
|
ld [wcfa9], a
|
||
|
ld a, $3
|
||
|
ld [wcfa8], a
|
||
|
ret
|
||
|
; 5044f (14:444f)
|
||
|
|
||
|
Unknown_5044f: ; 5044f
|
||
|
; cursor y
|
||
|
; cursor x
|
||
|
; list length
|
||
|
; ?
|
||
|
; bit 6: animate sprites bit 5: wrap around
|
||
|
; ?
|
||
|
; distance between items (hi: y, lo: x)
|
||
|
; allowed buttons (mask)
|
||
|
db $01, $00, $00, $01, $60, $00, $20, $00
|
||
|
; 50457
|
||
|
|
||
|
PartyMenuSelect: ; 0x50457
|
||
|
; sets carry if exitted menu.
|
||
|
call Function1bc9
|
||
|
call Function1bee
|
||
|
ld a, [PartyCount]
|
||
|
inc a
|
||
|
ld b, a
|
||
|
ld a, [wcfa9] ; menu selection?
|
||
|
cp b
|
||
|
jr z, .exitmenu ; CANCEL
|
||
|
ld [wd0d8], a
|
||
|
ld a, [hJoyLast]
|
||
|
ld b, a
|
||
|
bit 1, b
|
||
|
jr nz, .exitmenu ; B button?
|
||
|
ld a, [wcfa9]
|
||
|
dec a
|
||
|
ld [CurPartyMon], a
|
||
|
ld c, a
|
||
|
ld b, $0
|
||
|
ld hl, PartySpecies
|
||
|
add hl, bc
|
||
|
ld a, [hl]
|
||
|
ld [CurPartySpecies], a
|
||
|
|
||
|
ld de, SFX_READ_TEXT_2
|
||
|
call PlaySFX
|
||
|
call WaitSFX
|
||
|
and a
|
||
|
ret
|
||
|
|
||
|
.exitmenu
|
||
|
ld de, SFX_READ_TEXT_2
|
||
|
call PlaySFX
|
||
|
call WaitSFX
|
||
|
scf
|
||
|
ret
|
||
|
; 0x5049a
|
||
|
|
||
|
|
||
|
PrintPartyMenuText: ; 5049a
|
||
|
hlcoord 0, 14
|
||
|
ld bc, $0212
|
||
|
call TextBox
|
||
|
ld a, [PartyCount]
|
||
|
and a
|
||
|
jr nz, .haspokemon
|
||
|
ld de, YouHaveNoPKMNString
|
||
|
jr .gotstring
|
||
|
.haspokemon ; 504ae
|
||
|
ld a, [PartyMenuActionText]
|
||
|
and $f ; drop high nibble
|
||
|
ld hl, PartyMenuStrings
|
||
|
ld e, a
|
||
|
ld d, $0
|
||
|
rept 2
|
||
|
add hl, de
|
||
|
endr
|
||
|
ld a, [hli]
|
||
|
ld d, [hl]
|
||
|
ld e, a
|
||
|
.gotstring ; 504be
|
||
|
ld a, [Options]
|
||
|
push af
|
||
|
set 4, a ; disable text delay
|
||
|
ld [Options], a
|
||
|
hlcoord 1, 16 ; Coord
|
||
|
call PlaceString
|
||
|
pop af
|
||
|
ld [Options], a
|
||
|
ret
|
||
|
; 0x504d2
|
||
|
|
||
|
PartyMenuStrings: ; 0x504d2
|
||
|
dw ChooseAMonString
|
||
|
dw UseOnWhichPKMNString
|
||
|
dw WhichPKMNString
|
||
|
dw TeachWhichPKMNString
|
||
|
dw MoveToWhereString
|
||
|
dw UseOnWhichPKMNString
|
||
|
dw ChooseAMonString ; Probably used to be ChooseAFemalePKMNString
|
||
|
dw ChooseAMonString ; Probably used to be ChooseAMalePKMNString
|
||
|
dw ToWhichPKMNString
|
||
|
|
||
|
ChooseAMonString: ; 0x504e4
|
||
|
db "Choose a #MON.@"
|
||
|
UseOnWhichPKMNString: ; 0x504f3
|
||
|
db "Use on which <PK><MN>?@"
|
||
|
WhichPKMNString: ; 0x50504
|
||
|
db "Which <PK><MN>?@"
|
||
|
TeachWhichPKMNString: ; 0x5050e
|
||
|
db "Teach which <PK><MN>?@"
|
||
|
MoveToWhereString: ; 0x5051e
|
||
|
db "Move to where?@"
|
||
|
ChooseAFemalePKMNString: ; 0x5052d ; UNUSED
|
||
|
db "Choose a ♀<PK><MN>.@"
|
||
|
ChooseAMalePKMNString: ; 0x5053b ; UNUSED
|
||
|
db "Choose a ♂<PK><MN>.@"
|
||
|
ToWhichPKMNString: ; 0x50549
|
||
|
db "To which <PK><MN>?@"
|
||
|
|
||
|
YouHaveNoPKMNString: ; 0x50556
|
||
|
db "You have no <PK><MN>!@"
|
||
|
|
||
|
|
||
|
Function50566: ; 50566
|
||
|
ld a, [CurPartyMon]
|
||
|
ld hl, PartyMonNicknames
|
||
|
call GetNick
|
||
|
ld a, [PartyMenuActionText]
|
||
|
and $f
|
||
|
ld hl, Unknown_5057b
|
||
|
call Function505c1
|
||
|
ret
|
||
|
; 5057b
|
||
|
|
||
|
Unknown_5057b: ; 5057b
|
||
|
dw UnknownText_0x50594
|
||
|
dw UnknownText_0x5059e
|
||
|
dw UnknownText_0x505a3
|
||
|
dw UnknownText_0x505a8
|
||
|
dw UnknownText_0x50599
|
||
|
dw UnknownText_0x5058f
|
||
|
dw UnknownText_0x505ad
|
||
|
dw UnknownText_0x505b2
|
||
|
dw UnknownText_0x505b7
|
||
|
dw UnknownText_0x505bc
|
||
|
; 5058f
|
||
|
|
||
|
UnknownText_0x5058f: ; 0x5058f
|
||
|
; recovered @ HP!
|
||
|
text_jump UnknownText_0x1bc0a2
|
||
|
db "@"
|
||
|
; 0x50594
|
||
|
|
||
|
UnknownText_0x50594: ; 0x50594
|
||
|
; 's cured of poison.
|
||
|
text_jump UnknownText_0x1bc0bb
|
||
|
db "@"
|
||
|
; 0x50599
|
||
|
|
||
|
UnknownText_0x50599: ; 0x50599
|
||
|
; 's rid of paralysis.
|
||
|
text_jump UnknownText_0x1bc0d2
|
||
|
db "@"
|
||
|
; 0x5059e
|
||
|
|
||
|
UnknownText_0x5059e: ; 0x5059e
|
||
|
; 's burn was healed.
|
||
|
text_jump UnknownText_0x1bc0ea
|
||
|
db "@"
|
||
|
; 0x505a3
|
||
|
|
||
|
UnknownText_0x505a3: ; 0x505a3
|
||
|
; was defrosted.
|
||
|
text_jump UnknownText_0x1bc101
|
||
|
db "@"
|
||
|
; 0x505a8
|
||
|
|
||
|
UnknownText_0x505a8: ; 0x505a8
|
||
|
; woke up.
|
||
|
text_jump UnknownText_0x1bc115
|
||
|
db "@"
|
||
|
; 0x505ad
|
||
|
|
||
|
UnknownText_0x505ad: ; 0x505ad
|
||
|
; 's health returned.
|
||
|
text_jump UnknownText_0x1bc123
|
||
|
db "@"
|
||
|
; 0x505b2
|
||
|
|
||
|
UnknownText_0x505b2: ; 0x505b2
|
||
|
; is revitalized.
|
||
|
text_jump UnknownText_0x1bc13a
|
||
|
db "@"
|
||
|
; 0x505b7
|
||
|
|
||
|
UnknownText_0x505b7: ; 0x505b7
|
||
|
; grew to level @ !@ @
|
||
|
text_jump UnknownText_0x1bc14f
|
||
|
db "@"
|
||
|
; 0x505bc
|
||
|
|
||
|
UnknownText_0x505bc: ; 0x505bc
|
||
|
; came to its senses.
|
||
|
text_jump UnknownText_0x1bc16e
|
||
|
db "@"
|
||
|
; 0x505c1
|
||
|
|
||
|
Function505c1: ; 505c1
|
||
|
ld e, a
|
||
|
ld d, 0
|
||
|
rept 2
|
||
|
add hl, de
|
||
|
endr
|
||
|
ld a, [hli]
|
||
|
ld h, [hl]
|
||
|
ld l, a
|
||
|
ld a, [Options]
|
||
|
push af
|
||
|
set 4, a
|
||
|
ld [Options], a
|
||
|
call PrintText
|
||
|
pop af
|
||
|
ld [Options], a
|
||
|
ret
|
||
|
; 505da
|