mirror of
https://github.com/pret/pokered.git
synced 2024-10-24 07:25:21 +00:00
960 lines
13 KiB
NASM
Executable file
960 lines
13 KiB
NASM
Executable file
Func_5317: ; 5317 (1:5317)
|
|
ld c, $50
|
|
call DelayFrames
|
|
call ClearScreen
|
|
call UpdateSprites
|
|
call LoadFontTilePatterns
|
|
call LoadHpBarAndStatusTilePatterns
|
|
call LoadTrainerInfoTextBoxTiles
|
|
FuncCoord 3, 8 ; $c443
|
|
ld hl, Coord
|
|
ld b, $2
|
|
ld c, $c
|
|
call Func_5ab3
|
|
FuncCoord 4, 10 ; $c46c
|
|
ld hl, Coord
|
|
ld de, PleaseWaitString ; $550f
|
|
call PlaceString
|
|
ld hl, W_NUMHITS ; $d074
|
|
xor a
|
|
ld [hli], a
|
|
ld [hl], $50
|
|
|
|
Func_5345: ; 5345
|
|
ld hl, $d152
|
|
ld a, $fd
|
|
ld b, $6
|
|
.asm_534c
|
|
ld [hli], a
|
|
dec b
|
|
jr nz, .asm_534c
|
|
ld hl, $d141
|
|
ld a, $fd
|
|
ld b, $7
|
|
.asm_5357
|
|
ld [hli], a
|
|
dec b
|
|
jr nz, .asm_5357
|
|
ld b, $a
|
|
.asm_535d
|
|
call Random
|
|
cp $fd
|
|
jr nc, .asm_535d
|
|
ld [hli], a
|
|
dec b
|
|
jr nz, .asm_535d
|
|
ld hl, wTileMapBackup
|
|
ld a, $fd
|
|
ld [hli], a
|
|
ld [hli], a
|
|
ld [hli], a
|
|
ld b, $c8
|
|
xor a
|
|
.asm_5373
|
|
ld [hli], a
|
|
dec b
|
|
jr nz, .asm_5373
|
|
ld hl, W_GRASSRATE ; $d887
|
|
ld bc, $1a9
|
|
.asm_537d
|
|
xor a
|
|
ld [hli], a
|
|
dec bc
|
|
ld a, b
|
|
or c
|
|
jr nz, .asm_537d
|
|
ld hl, W_PARTYMONEND ; $d16a
|
|
ld de, $c512
|
|
ld bc, $0
|
|
.asm_538d
|
|
inc c
|
|
ld a, c
|
|
cp $fd
|
|
jr z, .asm_53a9
|
|
ld a, b
|
|
dec a
|
|
jr nz, .asm_539c
|
|
ld a, c
|
|
cp $d
|
|
jr z, .asm_53b2
|
|
.asm_539c
|
|
inc hl
|
|
ld a, [hl]
|
|
cp $fe
|
|
jr nz, .asm_538d
|
|
ld a, c
|
|
ld [de], a
|
|
inc de
|
|
ld [hl], $ff
|
|
jr .asm_538d
|
|
.asm_53a9
|
|
ld a, $ff
|
|
ld [de], a
|
|
inc de
|
|
ld bc, $100
|
|
jr .asm_538d
|
|
.asm_53b2
|
|
ld a, $ff
|
|
ld [de], a
|
|
call Func_227f
|
|
ld a, [$ffaa]
|
|
cp $2
|
|
jr nz, .asm_53d2
|
|
call Delay3
|
|
xor a
|
|
ld [$ffac], a
|
|
ld a, $81
|
|
ld [$ff02], a
|
|
call DelayFrame
|
|
xor a
|
|
ld [$ffac], a
|
|
ld a, $81
|
|
ld [$ff02], a
|
|
.asm_53d2
|
|
call Delay3
|
|
ld a, $8
|
|
ld [rIE], a ; $ffff
|
|
ld hl, $d141
|
|
ld de, wTileMapBackup2
|
|
ld bc, $11
|
|
call Func_216f
|
|
ld a, $fe
|
|
ld [de], a
|
|
ld hl, $d152
|
|
ld de, $d893
|
|
ld bc, $1a8
|
|
call Func_216f
|
|
ld a, $fe
|
|
ld [de], a
|
|
ld hl, wTileMapBackup
|
|
ld de, $c5d0
|
|
ld bc, $c8
|
|
call Func_216f
|
|
ld a, $d
|
|
ld [rIE], a ; $ffff
|
|
ld a, $ff
|
|
call PlaySound
|
|
ld a, [$ffaa]
|
|
cp $2
|
|
jr z, .asm_5431
|
|
ld hl, wTileMapBackup2
|
|
.asm_5415
|
|
ld a, [hli]
|
|
and a
|
|
jr z, .asm_5415
|
|
cp $fd
|
|
jr z, .asm_5415
|
|
cp $fe
|
|
jr z, .asm_5415
|
|
dec hl
|
|
ld de, $d148
|
|
ld c, $a
|
|
.asm_5427
|
|
ld a, [hli]
|
|
cp $fe
|
|
jr z, .asm_5427
|
|
ld [de], a
|
|
inc de
|
|
dec c
|
|
jr nz, .asm_5427
|
|
.asm_5431
|
|
ld hl, $d896
|
|
.asm_5434
|
|
ld a, [hli]
|
|
and a
|
|
jr z, .asm_5434
|
|
cp $fd
|
|
jr z, .asm_5434
|
|
cp $fe
|
|
jr z, .asm_5434
|
|
dec hl
|
|
ld de, W_GRASSRATE ; $d887
|
|
ld c, $b
|
|
.asm_5446
|
|
ld a, [hli]
|
|
cp $fe
|
|
jr z, .asm_5446
|
|
ld [de], a
|
|
inc de
|
|
dec c
|
|
jr nz, .asm_5446
|
|
ld de, wEnemyPartyCount ; $d89c
|
|
ld bc, $194
|
|
.asm_5456
|
|
ld a, [hli]
|
|
cp $fe
|
|
jr z, .asm_5456
|
|
ld [de], a
|
|
inc de
|
|
dec bc
|
|
ld a, b
|
|
or c
|
|
jr nz, .asm_5456
|
|
ld de, wTileMapBackup
|
|
ld hl, W_PARTYMON1_NUM ; $d16b (aliases: W_PARTYMON1DATA)
|
|
ld c, $2
|
|
.asm_546a
|
|
ld a, [de]
|
|
inc de
|
|
and a
|
|
jr z, .asm_546a
|
|
cp $fd
|
|
jr z, .asm_546a
|
|
cp $fe
|
|
jr z, .asm_546a
|
|
cp $ff
|
|
jr z, .asm_5489
|
|
push hl
|
|
push bc
|
|
ld b, $0
|
|
dec a
|
|
ld c, a
|
|
add hl, bc
|
|
ld a, $fe
|
|
ld [hl], a
|
|
pop bc
|
|
pop hl
|
|
jr .asm_546a
|
|
.asm_5489
|
|
ld hl, W_PARTYMON6DATA + W_PARTYMON1_MOVE4PP - W_PARTYMON1DATA ; $d267
|
|
dec c
|
|
jr nz, .asm_546a
|
|
ld de, $c5d0
|
|
ld hl, W_WATERRATE ; $d8a4
|
|
ld c, $2
|
|
.asm_5497
|
|
ld a, [de]
|
|
inc de
|
|
and a
|
|
jr z, .asm_5497
|
|
cp $fd
|
|
jr z, .asm_5497
|
|
cp $fe
|
|
jr z, .asm_5497
|
|
cp $ff
|
|
jr z, .asm_54b6
|
|
push hl
|
|
push bc
|
|
ld b, $0
|
|
dec a
|
|
ld c, a
|
|
add hl, bc
|
|
ld a, $fe
|
|
ld [hl], a
|
|
pop bc
|
|
pop hl
|
|
jr .asm_5497
|
|
.asm_54b6
|
|
ld hl, $d9a0
|
|
dec c
|
|
jr nz, .asm_5497
|
|
ld a, $ac
|
|
ld [$cf8d], a
|
|
ld a, $d9
|
|
ld [$cf8e], a
|
|
xor a
|
|
ld [$cc38], a
|
|
ld a, $ff
|
|
call PlaySound
|
|
ld a, [$ffaa]
|
|
cp $2
|
|
ld c, $42
|
|
call z, DelayFrames
|
|
ld a, [W_ISLINKBATTLE] ; $d12b
|
|
cp $3
|
|
ld a, $32
|
|
ld [W_ISLINKBATTLE], a ; $d12b
|
|
jr nz, .asm_5506
|
|
ld a, $4
|
|
ld [W_ISLINKBATTLE], a ; $d12b
|
|
ld a, SONY1 + $c8
|
|
ld [W_CUROPPONENT], a ; $d059
|
|
call ClearScreen
|
|
call Delay3
|
|
ld hl, W_OPTIONS ; $d355
|
|
res 7, [hl]
|
|
ld a, $2c
|
|
call Predef ; indirect jump to InitOpponent (3ef18 (f:6f18))
|
|
ld a, $7
|
|
call Predef ; indirect jump to HealParty (f6a5 (3:76a5))
|
|
jp Func_577d
|
|
.asm_5506
|
|
ld c, BANK(Music_GameCorner)
|
|
ld a, MUSIC_GAME_CORNER
|
|
call PlayMusic
|
|
jr Func_551c
|
|
|
|
PleaseWaitString: ; 550f (1:550f)
|
|
db "PLEASE WAIT!@"
|
|
|
|
Func_551c:
|
|
ld hl, PointerTable_5a5b ; $5a5b
|
|
ld b, $0
|
|
ld a, [$cc38]
|
|
cp $ff
|
|
jp z, LoadTitlescreenGraphics
|
|
add a
|
|
ld c, a
|
|
add hl, bc
|
|
ld a, [hli]
|
|
ld h, [hl]
|
|
ld l, a
|
|
jp [hl]
|
|
|
|
TradeCenter_SelectMon:
|
|
call ClearScreen
|
|
call LoadTrainerInfoTextBoxTiles
|
|
call Func_57f2
|
|
call Func_57a2
|
|
xor a
|
|
ld hl, $cc3d
|
|
ld [hli], a
|
|
ld [hli], a
|
|
ld [hli], a
|
|
ld [hl], a
|
|
ld [$cc37], a
|
|
ld [$cc26], a
|
|
ld [$cc2a], a
|
|
ld [$cc34], a
|
|
inc a
|
|
ld [$cc42], a
|
|
jp .asm_55dc
|
|
.asm_5557
|
|
xor a
|
|
ld [$cc37], a
|
|
inc a
|
|
ld [$cc49], a
|
|
ld a, $a1
|
|
ld [$cc29], a
|
|
ld a, [$d89c]
|
|
ld [$cc28], a
|
|
ld a, $9
|
|
ld [$cc24], a
|
|
ld a, $1
|
|
ld [$cc25], a
|
|
.asm_5574
|
|
ld hl, $fff6
|
|
set 1, [hl]
|
|
call HandleMenuInput
|
|
ld hl, $fff6
|
|
res 1, [hl]
|
|
and a
|
|
jp z, .asm_565b
|
|
bit 0, a
|
|
jr z, .asm_55b0 ; 0x5587 $27
|
|
ld a, [$cc28]
|
|
ld c, a
|
|
ld a, [$cc26]
|
|
cp c
|
|
jr c, .asm_559a ; 0x5591 $7
|
|
ld a, [$cc28]
|
|
dec a
|
|
ld [$cc26], a
|
|
.asm_559a
|
|
ld a, $1
|
|
ld [$d11b], a
|
|
callab Func_39bd5
|
|
ld hl, wEnemyMons
|
|
call Func_57d6
|
|
jp .asm_565b
|
|
.asm_55b0
|
|
bit 5, a
|
|
jr z, .asm_55d4 ; 0x55b2 $20
|
|
xor a
|
|
ld [$cc49], a
|
|
ld a, [$cc30]
|
|
ld l, a
|
|
ld a, [$cc31]
|
|
ld h, a
|
|
ld a, [$cc27]
|
|
ld [hl], a
|
|
ld a, [$cc26]
|
|
ld b, a
|
|
ld a, [$d163]
|
|
dec a
|
|
cp b
|
|
jr nc, .asm_55dc ; 0x55cd $d
|
|
ld [$cc26], a
|
|
jr .asm_55dc ; 0x55d2 $8
|
|
.asm_55d4
|
|
bit 7, a
|
|
jp z, .asm_565b
|
|
jp .asm_572f
|
|
.asm_55dc
|
|
xor a
|
|
ld [$cc49], a
|
|
ld [$cc37], a
|
|
ld a, $91
|
|
ld [$cc29], a
|
|
ld a, [$d163]
|
|
ld [$cc28], a
|
|
ld a, $1
|
|
ld [$cc24], a
|
|
ld a, $1
|
|
ld [$cc25], a
|
|
ld hl, $c3b5
|
|
ld bc, $0601
|
|
call ClearScreenArea
|
|
.asm_5601
|
|
ld hl, $fff6
|
|
set 1, [hl]
|
|
call HandleMenuInput
|
|
ld hl, $fff6
|
|
res 1, [hl]
|
|
and a
|
|
jr nz, .asm_5614 ; 0x560f $3
|
|
jp .asm_565b
|
|
.asm_5614
|
|
bit 0, a
|
|
jr z, .asm_562e ; 0x5616 $16
|
|
jp .asm_5665
|
|
ld a, $4
|
|
ld [$d11b], a
|
|
callab Func_39bd5
|
|
call Func_57d6
|
|
jp .asm_565b
|
|
.asm_562e
|
|
bit 4, a
|
|
jr z, .asm_5654 ; 0x5630 $22
|
|
ld a, $1
|
|
ld [$cc49], a
|
|
ld a, [$cc30]
|
|
ld l, a
|
|
ld a, [$cc31]
|
|
ld h, a
|
|
ld a, [$cc27]
|
|
ld [hl], a
|
|
ld a, [$cc26]
|
|
ld b, a
|
|
ld a, [$d89c]
|
|
dec a
|
|
cp b
|
|
jr nc, .asm_5651 ; 0x564c $3
|
|
ld [$cc26], a
|
|
.asm_5651
|
|
jp .asm_5557
|
|
.asm_5654
|
|
bit 7, a
|
|
jr z, .asm_565b ; 0x5656 $3
|
|
jp .asm_572f
|
|
.asm_565b
|
|
ld a, [$cc49]
|
|
and a
|
|
jp z, .asm_5601
|
|
jp .asm_5574
|
|
.asm_5665
|
|
call SaveScreenTilesToBuffer1
|
|
call PlaceUnfilledArrowMenuCursor
|
|
ld a, [$cc28]
|
|
ld c, a
|
|
ld a, [$cc26]
|
|
cp c
|
|
jr c, .asm_5679 ; 0x5673 $4
|
|
ld a, [$cc28]
|
|
dec a
|
|
.asm_5679
|
|
push af
|
|
ld hl, $c4b8
|
|
ld b, $2
|
|
ld c, $12
|
|
call Func_5ab3
|
|
ld hl, $c4e2
|
|
ld de, .statsTrade
|
|
call PlaceString
|
|
xor a
|
|
ld [$cc26], a
|
|
ld [$cc2a], a
|
|
ld [$cc34], a
|
|
ld [$cc28], a
|
|
ld a, $10
|
|
ld [$cc24], a
|
|
.asm_569f
|
|
ld a, $7f
|
|
ld [$c4eb], a
|
|
ld a, $13
|
|
ld [$cc29], a
|
|
ld a, $1
|
|
ld [$cc25], a
|
|
call HandleMenuInput
|
|
bit 4, a
|
|
jr nz, .asm_56c3 ; 0x56b3 $e
|
|
bit 1, a
|
|
jr z, .asm_56df ; 0x56b7 $26
|
|
.asm_56b9
|
|
pop af
|
|
ld [$cc26], a
|
|
call LoadScreenTilesFromBuffer1
|
|
jp .asm_55dc
|
|
.asm_56c3
|
|
ld a, $7f
|
|
ld [$c4e1], a
|
|
ld a, $23
|
|
ld [$cc29], a
|
|
ld a, $b
|
|
ld [$cc25], a
|
|
call HandleMenuInput
|
|
bit 5, a
|
|
jr nz, .asm_569f ; 0x56d7 $c6
|
|
bit 1, a
|
|
jr nz, .asm_56b9 ; 0x56db $dc
|
|
jr .asm_56f9 ; 0x56dd $1a
|
|
.asm_56df
|
|
pop af
|
|
ld [$cc26], a
|
|
ld a, $4
|
|
ld [$d11b], a
|
|
callab Func_39bd5
|
|
call Func_57d6
|
|
call LoadScreenTilesFromBuffer1
|
|
jp .asm_55dc
|
|
.asm_56f9
|
|
call PlaceUnfilledArrowMenuCursor
|
|
pop af
|
|
ld [$cc26], a
|
|
ld [$cd3d], a
|
|
ld [$cc42], a
|
|
call Func_226e
|
|
ld a, [$cc3d]
|
|
cp $f
|
|
jp z, Func_551c
|
|
ld [$cd3e], a
|
|
call Func_57c7
|
|
ld a, $1
|
|
ld [$cc38], a
|
|
jp Func_551c
|
|
.statsTrade
|
|
db "STATS TRADE@"
|
|
.asm_572f
|
|
ld a, [$cc26]
|
|
ld b, a
|
|
ld a, [$cc28]
|
|
cp b
|
|
jp nz, .asm_565b
|
|
ld a, [$cc30]
|
|
ld l, a
|
|
ld a, [$cc31]
|
|
ld h, a
|
|
ld a, $7f
|
|
ld [hl], a
|
|
.asm_5745
|
|
ld a, $ed
|
|
ld [$c4e1], a
|
|
.asm_574a
|
|
call JoypadLowSensitivity
|
|
ld a, [$ffb5]
|
|
and a
|
|
jr z, .asm_574a ; 0x5750 $f8
|
|
bit 0, a
|
|
jr nz, .asm_5769 ; 0x5754 $13
|
|
bit 6, a
|
|
jr z, .asm_574a ; 0x5758 $f0
|
|
ld a, $7f
|
|
ld [$c4e1], a
|
|
ld a, [$d163]
|
|
dec a
|
|
ld [$cc26], a
|
|
jp .asm_55dc
|
|
.asm_5769
|
|
ld a, $ec
|
|
ld [$c4e1], a
|
|
ld a, $f
|
|
ld [$cc42], a
|
|
call Func_226e
|
|
ld a, [$cc3d]
|
|
cp $f
|
|
jr nz, .asm_5745 ; 0x577b $c8
|
|
|
|
Func_577d: ; 577d (1:577d)
|
|
call GBPalWhiteOutWithDelay3
|
|
ld hl, $cfc4
|
|
ld a, [hl]
|
|
push af
|
|
push hl
|
|
res 0, [hl]
|
|
xor a
|
|
ld [$d72d], a
|
|
dec a
|
|
ld [$d42f], a
|
|
call LoadMapData
|
|
callba Func_c335
|
|
pop hl
|
|
pop af
|
|
ld [hl], a
|
|
call GBFadeIn2
|
|
ret
|
|
|
|
Func_57a2:
|
|
ld hl, $c4d7
|
|
ld a, $7e
|
|
ld bc, $0031
|
|
call FillMemory
|
|
ld hl, $c4cc
|
|
ld b, $1
|
|
ld c, $9
|
|
call Func_5ab3
|
|
ld hl, $c4e2
|
|
ld de, CancelTextString
|
|
jp PlaceString
|
|
|
|
CancelTextString:
|
|
db "CANCEL@"
|
|
|
|
Func_57c7:
|
|
ld a, [$cc3d]
|
|
ld hl, $c455
|
|
ld bc, $0014
|
|
call AddNTimes
|
|
ld [hl], $ec
|
|
ret
|
|
|
|
Func_57d6:
|
|
ld a, [$cc26]
|
|
ld [wWhichPokemon], a
|
|
ld a, $36
|
|
call Predef
|
|
ld a, $37
|
|
call Predef
|
|
call GBPalNormal
|
|
call LoadTrainerInfoTextBoxTiles
|
|
call Func_57f2
|
|
jp Func_57a2
|
|
|
|
Func_57f2:
|
|
ld hl, wTileMap
|
|
ld b, $6
|
|
ld c, $12
|
|
call Func_5ab3
|
|
ld hl, $c440
|
|
ld b, $6
|
|
ld c, $12
|
|
call Func_5ab3
|
|
ld hl, $c3a5
|
|
ld de, W_PLAYERNAME
|
|
call PlaceString
|
|
ld hl, $c445
|
|
ld de, $d887
|
|
call PlaceString
|
|
ld hl, $c3b6
|
|
ld de, $d164
|
|
call Func_5827
|
|
ld hl, $c456
|
|
ld de, $d89d
|
|
|
|
Func_5827:
|
|
ld c, $0
|
|
.asm_5829
|
|
ld a, [de]
|
|
cp $ff
|
|
ret z
|
|
ld [$d11e], a
|
|
push bc
|
|
push hl
|
|
push de
|
|
push hl
|
|
ld a, c
|
|
ld [$ff95], a
|
|
call GetMonName
|
|
pop hl
|
|
call PlaceString
|
|
pop de
|
|
inc de
|
|
pop hl
|
|
ld bc, $0014
|
|
add hl, bc
|
|
pop bc
|
|
inc c
|
|
jr .asm_5829 ; 0x5847 $e0
|
|
|
|
TradeCenter_Trade:
|
|
ld c, $64
|
|
call DelayFrames
|
|
xor a
|
|
ld [$cc43], a
|
|
ld [$cc3e], a
|
|
ld [$cc37], a
|
|
ld [$cc34], a
|
|
ld hl, $c490
|
|
ld b, $4
|
|
ld c, $12
|
|
call Func_5ab3
|
|
ld a, [$cd3d]
|
|
ld hl, $d164
|
|
ld c, a
|
|
ld b, $0
|
|
add hl, bc
|
|
ld a, [hl]
|
|
ld [$d11e], a
|
|
call GetMonName
|
|
ld hl, $cd6d
|
|
ld de, $cd3f
|
|
ld bc, $000b
|
|
call CopyData
|
|
ld a, [$cd3e]
|
|
ld hl, $d89d
|
|
ld c, a
|
|
ld b, $0
|
|
add hl, bc
|
|
ld a, [hl]
|
|
ld [$d11e], a
|
|
call GetMonName
|
|
ld hl, WillBeTradedText
|
|
ld bc, $c4b9
|
|
call TextCommandProcessor
|
|
call SaveScreenTilesToBuffer1
|
|
ld hl, $c436
|
|
ld bc, $080b
|
|
ld a, $5
|
|
ld [$d12c], a
|
|
ld a, $14
|
|
ld [$d125], a
|
|
call DisplayTextBoxID
|
|
call LoadScreenTilesFromBuffer1
|
|
ld a, [$cc26]
|
|
and a
|
|
jr z, .asm_58d9 ; 0x58b9 $1e
|
|
ld a, $1
|
|
ld [$cc42], a
|
|
ld hl, $c490
|
|
ld b, $4
|
|
ld c, $12
|
|
call Func_5ab3
|
|
ld hl, $c4b9
|
|
ld de, TradeCanceled
|
|
call PlaceString
|
|
call Func_226e
|
|
jp Func_5a18
|
|
.asm_58d9
|
|
ld a, $2
|
|
ld [$cc42], a
|
|
call Func_226e
|
|
ld a, [$cc3d]
|
|
dec a
|
|
jr nz, .asm_58fd ; 0x58e5 $16
|
|
ld hl, $c490
|
|
ld b, $4
|
|
ld c, $12
|
|
call Func_5ab3
|
|
ld hl, $c4b9
|
|
ld de, TradeCanceled
|
|
call PlaceString
|
|
jp Func_5a18
|
|
.asm_58fd
|
|
ld a, [$cd3d]
|
|
ld hl, W_PARTYMON1OT ; OT names of player
|
|
call SkipFixedLengthTextEntries
|
|
ld de, $cd41
|
|
ld bc, $000b
|
|
call CopyData
|
|
ld hl, $d16b
|
|
ld a, [$cd3d]
|
|
ld bc, $002c
|
|
call AddNTimes
|
|
ld bc, $000c
|
|
add hl, bc
|
|
ld a, [hli]
|
|
ld [$cd4c], a
|
|
ld a, [hl]
|
|
ld [$cd4d], a
|
|
ld a, [$cd3e]
|
|
ld hl, W_ENEMYMON1OT ; OT names of other player
|
|
call SkipFixedLengthTextEntries
|
|
ld de, $cd4e
|
|
ld bc, $000b
|
|
call CopyData
|
|
ld hl, wEnemyMons
|
|
ld a, [$cd3e]
|
|
ld bc, $002c
|
|
call AddNTimes
|
|
ld bc, $000c
|
|
add hl, bc
|
|
ld a, [hli]
|
|
ld [$cd59], a
|
|
ld a, [hl]
|
|
ld [$cd5a], a
|
|
ld a, [$cd3d]
|
|
ld [wWhichPokemon], a
|
|
ld hl, $d164
|
|
ld b, $0
|
|
ld c, a
|
|
add hl, bc
|
|
ld a, [hl]
|
|
ld [$cd3d], a
|
|
xor a
|
|
ld [$cf95], a
|
|
call RemovePokemon
|
|
ld a, [$cd3e]
|
|
ld c, a
|
|
ld [wWhichPokemon], a
|
|
ld hl, $d89d
|
|
ld d, $0
|
|
ld e, a
|
|
add hl, de
|
|
ld a, [hl]
|
|
ld [$cf91], a
|
|
ld hl, wEnemyMons
|
|
ld a, c
|
|
ld bc, $002c
|
|
call AddNTimes
|
|
ld de, $cf98
|
|
ld bc, $002c
|
|
call CopyData
|
|
call AddEnemyMonToPlayerParty
|
|
ld a, [$d163]
|
|
dec a
|
|
ld [wWhichPokemon], a
|
|
ld a, $1
|
|
ld [$ccd4], a
|
|
ld a, [$cd3e]
|
|
ld hl, $d89d
|
|
ld b, $0
|
|
ld c, a
|
|
add hl, bc
|
|
ld a, [hl]
|
|
ld [$cd3e], a
|
|
ld a, $a
|
|
ld [wMusicHeaderPointer], a
|
|
ld a, $2
|
|
ld [$c0f0], a
|
|
ld a, MUSIC_SAFARI_ZONE
|
|
ld [$c0ee], a
|
|
call PlaySound
|
|
ld c, $64
|
|
call DelayFrames
|
|
call ClearScreen
|
|
call LoadHpBarAndStatusTilePatterns
|
|
xor a
|
|
ld [$cc5b], a
|
|
ld a, [$ffaa]
|
|
cp $1
|
|
jr z, .asm_59d9 ; 0x59d0 $7
|
|
ld a, $38
|
|
call Predef
|
|
jr .asm_59de ; 0x59d7 $5
|
|
.asm_59d9
|
|
ld a, $2f
|
|
call Predef
|
|
.asm_59de
|
|
callab Func_3ad0e
|
|
call ClearScreen
|
|
call LoadTrainerInfoTextBoxTiles
|
|
call Func_226e
|
|
ld c, $28
|
|
call DelayFrames
|
|
ld hl, $c490
|
|
ld b, $4
|
|
ld c, $12
|
|
call Func_5ab3
|
|
ld hl, $c4b9
|
|
ld de, TradeCompleted
|
|
call PlaceString
|
|
ld a, $50
|
|
call Predef
|
|
ld c, $32
|
|
call DelayFrames
|
|
xor a
|
|
ld [$cc38], a
|
|
jp Func_5345
|
|
|
|
Func_5a18:
|
|
ld c, $64
|
|
call DelayFrames
|
|
xor a
|
|
ld [$cc38], a
|
|
jp Func_551c
|
|
|
|
WillBeTradedText: ; 5a24 (1:5a24)
|
|
TX_FAR _WillBeTradedText
|
|
db "@"
|
|
|
|
TradeCompleted:
|
|
db "Trade completed!@"
|
|
|
|
TradeCanceled:
|
|
db "Too bad! The trade"
|
|
next "was canceled!@"
|
|
|
|
PointerTable_5a5b: ; 5a5b (1:5a5b)
|
|
dw TradeCenter_SelectMon
|
|
dw TradeCenter_Trade
|
|
|
|
Func_5a5f: ; 5a5f (1:5a5f)
|
|
ld a, [W_ISLINKBATTLE] ; $d12b
|
|
cp $2
|
|
jr z, .asm_5a75
|
|
cp $3
|
|
jr z, .asm_5a75
|
|
cp $5
|
|
ret nz
|
|
ld a, $4d
|
|
call Predef ; indirect jump to Func_5aaf (5aaf (1:5aaf))
|
|
jp Init
|
|
.asm_5a75
|
|
call Func_5317
|
|
ld hl, Club_GFX
|
|
ld a, h
|
|
ld [$d52f], a
|
|
ld a, l
|
|
ld [$d52e], a
|
|
ld a, Bank(Club_GFX)
|
|
ld [$d52b], a
|
|
ld hl, Club_Coll
|
|
ld a, h
|
|
ld [$d531], a
|
|
ld a, l
|
|
ld [$d530], a
|
|
xor a
|
|
ld [W_GRASSRATE], a ; $d887
|
|
inc a
|
|
ld [W_ISLINKBATTLE], a ; $d12b
|
|
ld [$ffb5], a
|
|
ld a, $a
|
|
ld [wMusicHeaderPointer], a
|
|
ld a, BANK(Music_Celadon)
|
|
ld [$c0f0], a
|
|
ld a, MUSIC_CELADON
|
|
ld [$c0ee], a
|
|
jp PlaySound
|
|
|
|
Func_5aaf: ; 5aaf (1:5aaf)
|
|
ret
|
|
|
|
Func_5ab0:
|
|
call GetPredefRegisters
|
|
|
|
Func_5ab3: ; 5ab3 (1:5ab3)
|
|
push hl
|
|
ld a, $78
|
|
ld [hli], a
|
|
inc a
|
|
call Func_5ae0
|
|
inc a
|
|
ld [hl], a
|
|
pop hl
|
|
ld de, $14
|
|
add hl, de
|
|
.asm_5ac2
|
|
push hl
|
|
ld a, $7b
|
|
ld [hli], a
|
|
ld a, $7f
|
|
call Func_5ae0
|
|
ld [hl], $77
|
|
pop hl
|
|
ld de, $14
|
|
add hl, de
|
|
dec b
|
|
jr nz, .asm_5ac2
|
|
ld a, $7c
|
|
ld [hli], a
|
|
ld a, $76
|
|
call Func_5ae0
|
|
ld [hl], $7d
|
|
ret
|
|
|
|
Func_5ae0: ; 5ae0 (1:5ae0)
|
|
ld d, c
|
|
.asm_5ae1
|
|
ld [hli], a
|
|
dec d
|
|
jr nz, .asm_5ae1
|
|
ret
|