summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/tileset_headers.asm1
-rwxr-xr-xengine/dumps/bank03.asm5716
-rw-r--r--pokegold-spaceworld.link11
-rwxr-xr-xshim.sym34
-rw-r--r--wram.asm169
5 files changed, 5869 insertions, 62 deletions
diff --git a/data/tileset_headers.asm b/data/tileset_headers.asm
index 82d3d7e..f739d1b 100644
--- a/data/tileset_headers.asm
+++ b/data/tileset_headers.asm
@@ -5,6 +5,7 @@ SECTION "data/tileset_headers.asm", ROMX
; else
; SECTION "Tileset Headers", ROMX[$4875], BANK[$03]
; endc
+Tilesets::
Tileset_00: ; 0xc88d
db $06 ; bank
diff --git a/engine/dumps/bank03.asm b/engine/dumps/bank03.asm
new file mode 100755
index 0000000..21c00ee
--- /dev/null
+++ b/engine/dumps/bank03.asm
@@ -0,0 +1,5716 @@
+include "constants.asm"
+
+SECTION "engine/dumps/bank03.asm@Functionc77d", ROMX
+
+Functionc77d: ; 03:477d
+ ld a, [wFlyDestination]
+ ld l, a
+ ld h, $00
+ add hl, hl
+ add hl, hl
+ ld de, SpawnPoints
+ add hl, de
+ ld b, [hl]
+ inc hl
+ ld c, [hl]
+ call GetWorldMapLocation
+ ld e, a
+ ret
+
+; 03:4791
+
+SECTION "engine/dumps/bank03.asm@SpawnPoints", ROMX
+; Map, Warp ID
+SpawnPoints: ; 03:47d5
+ db $01, $04
+ db $05, $05
+ db $02, $02
+ db $1b, $1d
+ db $03, $01
+ db $19, $0f
+ db $04, $03
+ db $1f, $0b
+ db $05, $07
+ db $03, $0d
+ db $06, $04
+ db $0f, $05
+ db $07, $04
+ db $07, $09
+ db $08, $02
+ db $09, $0b
+ db $09, $04
+ db $0d, $13
+ db $0a, $02
+ db $21, $15
+ db $0b, $02
+ db $31, $1f
+ db $0c, $02
+ db $05, $05
+ db $0d, $02
+ db $05, $05
+ db $0e, $01
+ db $21, $0f
+ db $0f, $01
+ db $0d, $0b
+ db $07, $01
+ db $09, $0b
+ db $07, $03
+ db $0d, $1d
+ db $10, $01
+ db $06, $06
+ db $10, $02
+ db $06, $06
+ db $10, $03
+ db $04, $10
+ db $10, $04
+ db $06, $06
+ db $10, $05
+ db $09, $0d
+ db $10, $06
+ db $17, $2f
+ db $10, $07
+ db $06, $0a
+ db $10, $08
+ db $06, $06
+ db $10, $09
+ db $06, $06
+ db $10, $0a
+ db $06, $06
+ db $10, $0b
+ db $06, $06
+ db $10, $0c
+ db $06, $06
+ db $10, $0d
+ db $06, $06
+ db $10, $0e
+ db $10, $0d
+ db $10, $0f
+ db $08, $08
+ db $10, $10
+ db $08, $08
+ db $10, $11
+ db $09, $0b
+ db $10, $12
+ db $09, $23
+ db $02, $07
+ db $06, $06
+ db $03, $11
+ db $06, $06
+ db $04, $08
+ db $06, $06
+ db $06, $0e
+ db $06, $06
+ db $07, $0d
+ db $06, $06
+ db $09, $0e
+ db $06, $06
+ db $0a, $0d
+ db $06, $06
+ db $0b, $07
+ db $06, $06
+ db $0b, $25
+ db $06, $06
+ db $01, $0f
+ db $10, $10
+ db $ff, $ff
+ db $ff, $ff
+
+; 03:488d
+
+
+SECTION "engine/dumps/bank03.asm@Functionc9c1", ROMX
+
+Functionc9c1: ; 03:49c1
+ xor a
+ ld bc, $0020
+ ld hl, wCurrMapInlineTrainers
+ call ByteFill
+ ld de, wMap2Object
+ ld a, $02
+.sub_c9d0
+ push af
+ push de
+ ld hl, $0008
+ add hl, de
+ ld a, [hl]
+ cp $00
+ jr nz, .sub_c9e7
+ ld hl, $0000
+ add hl, de
+ ld a, [hl]
+ cp $ff
+ jr z, .sub_c9e7
+ call .sub_c9f5
+.sub_c9e7
+ pop de
+ ld hl, $0010
+ add hl, de
+ ld d, h
+ ld e, l
+ pop af
+ inc a
+ cp $10
+ jr nz, .sub_c9d0
+ ret
+.sub_c9f5
+ jp CheckInlineTrainer
+
+Functionc9f8: ; 03:49f8
+ ld a, [wItemQuantity]
+ push af
+ push bc
+ push de
+ push hl
+ push hl
+ ld d, $32
+ push hl
+ ld bc, $2e62
+ add hl, bc
+ ld a, h
+ or l
+ pop hl
+ jr nz, .sub_ca0e
+ ld d, $14
+.sub_ca0e
+ ld a, [hl]
+ sub d
+ ld d, a
+ ld a, [hli]
+ and a
+ jr z, .sub_ca24
+.sub_ca15
+ ld a, [hli]
+ ld b, a
+ ld a, [wCurItem]
+ cp b
+ jp z, .sub_ca3e
+ inc hl
+ ld a, [hl]
+ cp $ff
+ jr nz, .sub_ca15
+.sub_ca24
+ pop hl
+ ld a, d
+ and a
+ jr z, .sub_ca5f
+ inc [hl]
+ ld a, [hl]
+ add a
+ dec a
+ ld c, a
+ ld b, $00
+ add hl, bc
+ ld a, [wCurItem]
+ ld [hli], a
+ ld a, [wItemQuantity]
+ ld [hli], a
+ ld [hl], $ff
+ jp .sub_ca5e
+.sub_ca3e
+ ld a, [wItemQuantity]
+ ld b, a
+ ld a, [hl]
+ add b
+ cp $64
+ jp c, .sub_ca5c
+ sub $63
+ ld [wItemQuantity], a
+ ld a, d
+ and a
+ jr z, .sub_ca58
+ ld a, $63
+ ld [hli], a
+ jp .sub_ca15
+.sub_ca58
+ pop hl
+ and a
+ jr .sub_ca5f
+.sub_ca5c
+ ld [hl], a
+ pop hl
+.sub_ca5e
+ scf
+.sub_ca5f
+ pop hl
+ pop de
+ pop bc
+ pop bc
+ ld a, b
+ ld [wItemQuantity], a
+ ret
+
+Functionca68: ; 03:4a68
+ push hl
+ inc hl
+ ld a, [wItemIndex]
+ ld e, a
+ ld d, $00
+ add hl, de
+ add hl, de
+ inc hl
+ ld a, [wItemQuantity]
+ ld e, a
+ ld a, [hl]
+ sub e
+ ld [hld], a
+ ld [wItemQuantityBuffer], a
+ and a
+ jr nz, .sub_ca9f
+ ld e, l
+ ld d, h
+ inc de
+ inc de
+.sub_ca84
+ ld a, [de]
+ inc de
+ ld [hli], a
+ cp $ff
+ jr nz, .sub_ca84
+ xor a
+ ld [wMenuScrollPosition], a
+ ld [wRegularItemsCursor], a
+ pop hl
+ ld a, [hl]
+ dec a
+ ld [hl], a
+ ld [wCurPartyLevel+1], a
+ cp $02
+ jr c, .sub_caa0
+ jr .sub_caa0
+.sub_ca9f
+ pop hl
+.sub_caa0
+ ret
+
+
+SECTION "engine/dumps/bank03.asm@Functiond41d", ROMX
+
+Functiond41d: ; 03:541d
+ push hl
+ call Functiond4b2
+ ld a, [wItemAttributeParamBuffer]
+ and a
+ jr nz, .sub_d45f
+ ld a, [wCurItem]
+ ld [wce37], a
+ call GetItemName
+ call CopyStringToStringBuffer2
+ ld hl, Textd478
+ call MenuTextBox
+ call YesNoBox
+ call CloseWindow
+ jr c, .sub_d468
+ ld a, [wItemIndex]
+ pop hl
+ call TossItem
+ ld a, [wCurItem]
+ ld [wce37], a
+ call GetItemName
+ call CopyStringToStringBuffer2
+ ld hl, Textd46b
+ call MenuTextBox
+ call CloseWindow
+ and a
+ ret
+.sub_d45f
+ ld hl, Textd491
+ call MenuTextBox
+ call CloseWindow
+.sub_d468
+ pop hl
+ scf
+ ret
+
+Textd46b: ; 03:546b
+ text_from_ram wStringBuffer1
+ text "を"
+ line "すてました!"
+ prompt
+
+Textd478: ; 03:5478
+ text_from_ram wStringBuffer2
+ text "を すてます"
+ line "ほんとに よろしいですか?"
+ prompt
+
+Textd491: ; 03:5491
+ text "それは とても たいせつなモノです"
+ line "すてることは できません!"
+ prompt
+
+Functiond4b2: ; 03:54b2
+ push hl
+ push bc
+ ld a, $01
+ ld [wItemAttributeParamBuffer], a
+ ld a, [wCurItem]
+ cp $c4
+ jr nc, .sub_d4d7
+ ld hl, ItemAttributes + 4
+ dec a
+ ld c, a
+ ld b, $00
+ add hl, bc
+ add hl, bc
+ add hl, bc
+ add hl, bc
+ add hl, bc
+ ld a, BANK(ItemAttributes)
+ call GetFarByte
+ bit 0, a
+ jr nz, .sub_d4e3
+ jr .sub_d4df
+.sub_d4d7
+ ld a, [wCurItem]
+ call IsHM
+ jr c, .sub_d4e3
+.sub_d4df
+ xor a
+ ld [wItemAttributeParamBuffer], a
+.sub_d4e3
+ pop bc
+ pop hl
+ ret
+
+Functiond4e6: ; 03:54e6
+ ld a, [wcb6e]
+ and a
+ ret z
+ bit 7, a
+ jr nz, .sub_d4f8
+ bit 6, a
+ jr nz, Functiond519
+ bit 5, a
+ jr nz, Functiond543
+ ret
+.sub_d4f8
+ jr Functiond505
+
+Functiond4fa: ; 03:54fa
+ call Functiond51e
+ ld hl, Function8261
+ ld a, BANK(Function8261)
+ call FarCall_hl
+
+Functiond505: ; 03:5505
+ ld a, $04
+ ld [wcdb2], a
+ ldh a, [hOverworldFlashlightEffect]
+ and a
+ jr nz, .sub_d514
+ call Functiond5f3
+ jr Functiond543
+.sub_d514
+ call Functiond708
+ jr Functiond543
+
+Functiond519: ; 03:5519
+ call Functiond51e
+ jr Functiond543
+
+Functiond51e: ; 03:551e
+ ld a, [wPlayerStepDirection]
+ and a
+ jr nz, .sub_d529
+ ld hl, wYCoord
+ inc [hl]
+ ret
+.sub_d529
+ cp $01
+ jr nz, .sub_d532
+ ld hl, wYCoord
+ dec [hl]
+ ret
+.sub_d532
+ cp $02
+ jr nz, .sub_d53b
+ ld hl, wXCoord
+ dec [hl]
+ ret
+.sub_d53b
+ cp $03
+ ret nz
+ ld hl, wXCoord
+ inc [hl]
+ ret
+
+Functiond543: ; 03:5543
+ call .sub_d5bf
+ ld a, [wcb6c]
+ ld d, a
+ ld a, [wcb6d]
+ ld e, a
+ call .sub_d55f
+ call .sub_d591
+ ldh a, [hSCX]
+ add d
+ ldh [hSCX], a
+ ldh a, [hSCY]
+ add e
+ ldh [hSCY], a
+ ret
+.sub_d55f
+ ld bc, wObjectStructs
+ xor a
+.sub_d563
+ ldh [hConnectionStripLength], a
+ ld hl, $0000
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .sub_d583
+ ld hl, $0004
+ add hl, bc
+ bit 7, [hl]
+ jr nz, .sub_d583
+ ld hl, $0018
+ add hl, bc
+ ld a, [hl]
+ sub d
+ ld [hl], a
+ ld hl, $0019
+ add hl, bc
+ ld a, [hl]
+ sub e
+ ld [hl], a
+.sub_d583
+ ld hl, $0028
+ add hl, bc
+ ld b, h
+ ld c, l
+ ldh a, [hConnectionStripLength]
+ inc a
+ cp $0a
+ jr nz, .sub_d563
+ ret
+.sub_d591
+ ld bc, wCmdQueue
+ ld a, $01
+.sub_d596
+ ldh [hConnectionStripLength], a
+ ld hl, $0000
+ add hl, bc
+ ld a, [wCenteredObject]
+ inc a
+ cp [hl]
+ jr z, .sub_d5b1
+ ld hl, $0004
+ add hl, bc
+ ld a, [hl]
+ sub d
+ ld [hl], a
+ ld hl, $0005
+ add hl, bc
+ ld a, [hl]
+ sub e
+ ld [hl], a
+.sub_d5b1
+ ld hl, $0010
+ add hl, bc
+ ld b, h
+ ld c, l
+ ldh a, [hConnectionStripLength]
+ inc a
+ cp $05
+ jr nz, .sub_d596
+ ret
+.sub_d5bf
+ ld hl, wcdb2
+ ld a, [hl]
+ and a
+ ret z
+ dec [hl]
+ ld a, [hl]
+ add a
+ ld e, a
+ ld d, $00
+ ld hl, Tabled5d3
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp hl
+
+Tabled5d3: ; 03:55d3
+ dw RefreshTiles
+ dw Functiond5ea
+ dw BufferScreen
+ dw Functiond5e9
+ dw Functiond5e9
+ dw Functiond5e9
+ dw Functiond5e9
+ dw Functiond5e9
+ dw Functiond5e9
+ dw Functiond5e9
+ dw Functiond5e9
+
+Functiond5e9: ; 03:55e9
+ ret
+
+Functiond5ea: ; 03:55ea
+ ld hl, Functionc9c1
+ ld a, BANK(Functionc9c1)
+ call FarCall_hl
+ ret
+
+Functiond5f3: ; 03:55f3
+ ld a, [wPlayerStepDirection]
+ and a
+ jr z, .sub_d606
+ cp $01
+ jr z, .sub_d610
+ cp $02
+ jr z, .sub_d61a
+ cp $03
+ jr z, .sub_d624
+ ret
+.sub_d606
+ call Functiond62e
+ call LoadMapPart
+ call ScheduleSouthRowRedraw
+ ret
+.sub_d610
+ call Functiond65f
+ call LoadMapPart
+ call ScheduleNorthRowRedraw
+ ret
+.sub_d61a
+ call Functiond692
+ call LoadMapPart
+ call ScheduleWestColumnRedraw
+ ret
+.sub_d624
+ call Functiond6bb
+ call LoadMapPart
+ call ScheduleEastColumnRedraw
+ ret
+
+Functiond62e: ; 03:562e
+ ld a, [wBGMapAnchor]
+ add $40
+ ld [wBGMapAnchor], a
+ jr nc, .sub_d643
+ ld a, [wBGMapAnchor+1]
+ inc a
+ and $03
+ or $98
+ ld [wBGMapAnchor+1], a
+.sub_d643
+ ld hl, wMetatileNextY
+ inc [hl]
+ ld a, [hl]
+ cp $02
+ jr nz, .sub_d651
+ ld [hl], $00
+ call .sub_d652
+.sub_d651
+ ret
+.sub_d652
+ ld hl, wOverworldMapAnchor
+ ld a, [wMapWidth]
+ add $06
+ add [hl]
+ ld [hli], a
+ ret nc
+ inc [hl]
+ ret
+
+Functiond65f: ; 03:565f
+ ld a, [wBGMapAnchor]
+ sub $40
+ ld [wBGMapAnchor], a
+ jr nc, .sub_d674
+ ld a, [wBGMapAnchor+1]
+ dec a
+ and $03
+ or $98
+ ld [wBGMapAnchor+1], a
+.sub_d674
+ ld hl, wMetatileNextY
+ dec [hl]
+ ld a, [hl]
+ cp $ff
+ jr nz, .sub_d682
+ ld [hl], $01
+ call .sub_d683
+.sub_d682
+ ret
+.sub_d683
+ ld hl, wOverworldMapAnchor
+ ld a, [wMapWidth]
+ add $06
+ ld b, a
+ ld a, [hl]
+ sub b
+ ld [hli], a
+ ret nc
+ dec [hl]
+ ret
+
+Functiond692: ; 03:5692
+ ld a, [wBGMapAnchor]
+ ld e, a
+ and $e0
+ ld d, a
+ ld a, e
+ sub $02
+ and $1f
+ or d
+ ld [wBGMapAnchor], a
+ ld hl, wMetatileNextX
+ dec [hl]
+ ld a, [hl]
+ cp $ff
+ jr nz, .sub_d6b0
+ ld [hl], $01
+ call .sub_d6b1
+.sub_d6b0
+ ret
+.sub_d6b1
+ ld hl, wOverworldMapAnchor
+ ld a, [hl]
+ sub $01
+ ld [hli], a
+ ret nc
+ dec [hl]
+ ret
+
+Functiond6bb: ; 03:56bb
+ ld a, [wBGMapAnchor]
+ ld e, a
+ and $e0
+ ld d, a
+ ld a, e
+ add $02
+ and $1f
+ or d
+ ld [wBGMapAnchor], a
+ ld hl, wMetatileNextX
+ inc [hl]
+ ld a, [hl]
+ cp $02
+ jr nz, .sub_d6d9
+ ld [hl], $00
+ call .sub_d6da
+.sub_d6d9
+ ret
+.sub_d6da
+ ld hl, wOverworldMapAnchor
+ ld a, [hl]
+ add $01
+ ld [hli], a
+ ret nc
+ inc [hl]
+ ret
+
+Functiond6e4: ; 03:56e4
+ ld a, [wcb6e]
+ and a
+ ret z
+ bit 7, a
+ jr nz, .sub_d6f7
+ bit 6, a
+ jr nz, .sub_d702
+ bit 5, a
+ jp nz, Functiond543
+ ret
+.sub_d6f7
+ ld a, $04
+ ld [wcdb2], a
+ call Functiond708
+ jp Functiond543
+.sub_d702
+ call Functiond51e
+ jp Functiond543
+
+Functiond708: ; 03:5708
+ ld a, [wPlayerStepDirection]
+ and a
+ jr z, .sub_d71b
+ cp $01
+ jr z, .sub_d727
+ cp $02
+ jr z, .sub_d733
+ cp $03
+ jr z, .sub_d73f
+ ret
+.sub_d71b
+ call Functiond62e
+ call LoadMapPart
+ ld a, $02
+ call .sub_d74b
+ ret
+.sub_d727
+ call Functiond65f
+ call LoadMapPart
+ ld a, $01
+ call .sub_d74b
+ ret
+.sub_d733
+ call Functiond692
+ call LoadMapPart
+ ld a, $03
+ call .sub_d74b
+ ret
+.sub_d73f
+ call Functiond6bb
+ call LoadMapPart
+ ld a, $04
+ call .sub_d74b
+ ret
+.sub_d74b
+ push af
+ call .sub_d758
+ call Functiond873
+ pop af
+ add $02
+ ldh [hRedrawRowOrColumnMode], a
+ ret
+.sub_d758
+ dec a
+ ld l, a
+ ld h, $00
+ add hl, hl
+ add hl, hl
+ add hl, hl
+ ldh a, [hOverworldFlashlightEffect]
+ dec a
+ swap a
+ sla a
+ ld e, a
+ ld d, $00
+ add hl, de
+ ld de, Datad7b1
+ add hl, de
+ call Functiond831
+ ld a, e
+ ld [wOverworldMapBlocksEnd], a
+ ld a, d
+ ld [wRedrawFlashlightDst0+1], a
+ call Functiond85f
+ ld a, e
+ ld [wRedrawFlashlightSrc0], a
+ ld a, d
+ ld [wRedrawFlashlightSrc0+1], a
+ call Functiond831
+ ld a, e
+ ld [wRedrawFlashlightBlackDst0], a
+ ld a, d
+ ld [wRedrawFlashlightBlackDst0+1], a
+ call Functiond831
+ ld a, e
+ ld [wRedrawFlashlightDst1], a
+ ld a, d
+ ld [wRedrawFlashlightDst1+1], a
+ call Functiond85f
+ ld a, e
+ ld [wRedrawFlashlightSrc1], a
+ ld a, d
+ ld [wRedrawFlashlightSrc1+1], a
+ call Functiond831
+ ld a, e
+ ld [wRedrawFlashlightBlackDst1], a
+ ld a, d
+ ld [wRedrawFlashlightBlackDst1+1], a
+ ret
+
+Datad7b1: ; 03:57b1
+ db $02, $03, $02, $11, $02, $02, $02, $10
+ db $02, $0e, $02, $00, $02, $0f, $02, $01
+ db $03, $02, $11, $02, $02, $02, $10, $02
+ db $0e, $02, $00, $02, $0f, $02, $01, $02
+ db $04, $05, $04, $0f, $04, $04, $04, $0e
+ db $04, $0c, $04, $02, $04, $0d, $04, $03
+ db $05, $04, $0f, $04, $04, $04, $0e, $04
+ db $0c, $04, $02, $04, $0d, $04, $03, $04
+ db $06, $07, $06, $0d, $06, $06, $06, $0c
+ db $06, $0a, $06, $04, $06, $0b, $06, $05
+ db $07, $06, $0d, $06, $06, $06, $0c, $06
+ db $0a, $06, $04, $06, $0b, $06, $05, $06
+ db $08, $09, $08, $0b, $08, $08, $08, $0a
+ db $08, $08, $08, $06, $08, $09, $08, $07
+ db $09, $08, $0b, $08, $08, $08, $0a, $08
+ db $08, $08, $06, $08, $09, $08, $07, $08
+
+Functiond831: ; 03:5831
+ ld c, [hl]
+ inc hl
+ ld b, [hl]
+ inc hl
+ push hl
+ push bc
+ ld a, [wBGMapAnchor]
+ ld e, a
+ ld a, [wBGMapAnchor+1]
+ ld d, a
+.sub_d83f
+ ld a, $20
+ add e
+ ld e, a
+ jr nc, .sub_d846
+ inc d
+.sub_d846
+ ld a, d
+ and $03
+ or $98
+ ld d, a
+ dec b
+ jr nz, .sub_d83f
+.sub_d84f
+ ld a, e
+ inc a
+ and $1f
+ ld b, a
+ ld a, e
+ and $e0
+ or b
+ ld e, a
+ dec c
+ jr nz, .sub_d84f
+ pop bc
+ pop hl
+ ret
+
+Functiond85f: ; 03:585f
+ push hl
+ ld hl, wTileMap
+ ld de, $0014
+.sub_d866
+ ld a, b
+ and a
+ jr z, .sub_d86e
+ add hl, de
+ dec b
+ jr .sub_d866
+.sub_d86e
+ add hl, bc
+ ld e, l
+ ld d, h
+ pop hl
+ ret
+
+Functiond873: ; 03:5873
+ ldh a, [hOverworldFlashlightEffect]
+ dec a
+ ld l, a
+ ld h, $00
+ ld de, Datad882
+ add hl, de
+ ld a, [hl]
+ ld [wRedrawFlashlightWidthHeight], a
+ ret
+
+Datad882: ; 03:5882
+ db $07, $05, $03, $01
+
+Functiond886: ; 03:5886
+ ld de, wPartyCount
+ ld a, [wMonType]
+ and $0f
+ jr z, .sub_d893
+ ld de, $d913
+.sub_d893
+ ld a, [de]
+ inc a
+ cp $07
+ ret nc
+ ld [de], a
+ ld a, [de]
+ ldh [hMoveMon], a
+ add e
+ ld e, a
+ jr nc, .sub_d8a1
+ inc d
+.sub_d8a1
+ ld a, [wMonDexIndex]
+ ld [de], a
+ inc de
+ ld a, $ff
+ ld [de], a
+ ld hl, wPartyMon6StatsEnd
+ ld a, [wMonType]
+ and $0f
+ jr z, Functiond8b6
+ ld hl, wOTPartyMonOT
+
+Functiond8b6: ; 03:58b6
+ ldh a, [hMoveMon]
+ dec a
+ call SkipNames
+ ld d, h
+ ld e, l
+ ld hl, wPlayerName
+ ld bc, $0006
+ call CopyBytes
+ ld a, [wMonType]
+ and a
+ jr nz, .sub_d8ea
+ ld a, [wMonDexIndex]
+ ld [wce37], a
+ call GetPokemonName
+ ld hl, wPartyMonNicknames
+ ldh a, [hMoveMon]
+ dec a
+ call SkipNames
+ ld d, h
+ ld e, l
+ ld hl, wStringBuffer1
+ ld bc, $0006
+ call CopyBytes
+.sub_d8ea
+ ld hl, wPartyMon1
+ ld a, [wMonType]
+ and $0f
+ jr z, .sub_d8f7
+ ld hl, wWildMons
+.sub_d8f7
+ ldh a, [hMoveMon]
+ dec a
+ ld bc, $0030
+ call AddNTimes
+ ld e, l
+ ld d, h
+ push hl
+ ld a, [wMonDexIndex]
+ ld [wCurSpecies], a
+ call GetMonHeader
+ ld a, [wMonHeader]
+ ld [de], a
+ inc de
+ ld a, [wBattleMode]
+ and a
+ jr z, .sub_d91b
+ ld a, [wcdda]
+ ld [de], a
+.sub_d91b
+ inc de
+ push de
+ xor a
+ ld [wFieldMoveScriptID], a
+ ld a, $2a
+ call Predef
+ pop de
+ inc de
+ inc de
+ inc de
+ inc de
+ ld a, [wce73]
+ ld [de], a
+ inc de
+ ld a, [wce74]
+ ld [de], a
+ inc de
+ push de
+ ld a, [wCurPartyLevel]
+ ld d, a
+ ld hl, Function50cd1
+ ld a, BANK(Function50cd1)
+ call FarCall_hl
+ pop de
+ ldh a, [hMultiplicand]
+ ld [de], a
+ inc de
+ ldh a, [hDividend+2]
+ ld [de], a
+ inc de
+ ldh a, [hDividend+3]
+ ld [de], a
+ inc de
+ xor a
+ ld b, $0a
+.sub_d952
+ ld [de], a
+ inc de
+ dec b
+ jr nz, .sub_d952
+ pop hl
+ push hl
+ ld a, [wMonType]
+ and $0f
+ ld a, $98
+ ld b, $88
+ jr nz, .sub_d99a
+ ld a, [wMonDexIndex]
+ ld [wce37], a
+ dec a
+ ld c, a
+ ld b, $02
+ ld hl, wPartyMonNicknamesEnd
+ push de
+ ld d, $03
+ call SmallFarFlagAction
+ pop de
+ ld a, c
+ ld a, [wce37]
+ dec a
+ ld c, a
+ ld b, $01
+ push bc
+ call SmallFarFlagAction
+ pop bc
+ ld hl, wPokedexOwnedEnd
+ call SmallFarFlagAction
+ pop hl
+ push hl
+ ld a, [wBattleMode]
+ and a
+ jr nz, .sub_d9d3
+ call Random
+ ld b, a
+ call Random
+.sub_d99a
+ ld [de], a
+ inc de
+ ld a, b
+ ld [de], a
+ inc de
+ push hl
+ push de
+ inc hl
+ inc hl
+ call FillPP
+ pop de
+ pop hl
+ inc de
+ inc de
+ inc de
+ inc de
+ ld a, $46
+ ld [de], a
+ inc de
+ inc de
+ inc de
+ inc de
+ ld a, [wCurPartyLevel]
+ ld [de], a
+ inc de
+ xor a
+ ld [de], a
+ inc de
+ ld [de], a
+ inc de
+ ld bc, $000a
+ add hl, bc
+ ld a, $01
+ ld c, a
+ xor a
+ ld b, a
+ call Functiondf91
+ ldh a, [hDividend+2]
+ ld [de], a
+ inc de
+ ldh a, [hDividend+3]
+ ld [de], a
+ inc de
+ jr .sub_da0a
+.sub_d9d3
+ ld a, [wcddf]
+ ld [de], a
+ inc de
+ ld a, [wcde0]
+ ld [de], a
+ inc de
+ push hl
+ ld hl, $cde1
+ ld b, $04
+.sub_d9e3
+ ld a, [hli]
+ ld [de], a
+ inc de
+ dec b
+ jr nz, .sub_d9e3
+ pop hl
+ ld a, $46
+ ld [de], a
+ inc de
+ inc de
+ inc de
+ inc de
+ ld a, [wCurPartyLevel]
+ ld [de], a
+ inc de
+ ld a, [wcde7]
+ ld [de], a
+ inc de
+ ld a, [wcde8]
+ ld [de], a
+ inc de
+ ld a, [wcde9]
+ ld [de], a
+ inc de
+ ld a, [wcdea]
+ ld [de], a
+ inc de
+.sub_da0a
+ ld a, [wBattleMode]
+ dec a
+ jr nz, .sub_da1c
+ ld hl, $cdeb
+ ld bc, $000c
+ call CopyBytes
+ pop hl
+ jr .sub_da26
+.sub_da1c
+ pop hl
+ ld bc, $000a
+ add hl, bc
+ ld b, $00
+ call Functiondf7d
+.sub_da26
+ scf
+ ret
+
+FillPP: ; 03:5a28
+ ld b, $04
+.sub_da2a
+ ld a, [hli]
+ and a
+ jr z, .sub_da49
+ dec a
+ push hl
+ push de
+ push bc
+ ld hl, Functiond8b6
+ ld bc, $0007
+ call AddNTimes
+ ld de, wStringBuffer1
+ ld a, $10
+ call FarCopyBytes
+ pop bc
+ pop de
+ pop hl
+ ld a, [wStringBuffer1+5]
+.sub_da49
+ ld [de], a
+ inc de
+ dec b
+ jr nz, .sub_da2a
+ ret
+
+
+Functionda4f: ; 03:5a4f
+ ld hl, wPartyCount
+ ld a, [hl]
+ cp $06
+ scf
+ ret z
+ inc a
+ ld [hl], a
+ ld c, a
+ ld b, $00
+ add hl, bc
+ ld a, [wMonDexIndex]
+ ld [hli], a
+ ld [hl], $ff
+ ld hl, wPartyMon1
+ ld a, [wPartyCount]
+ dec a
+ ld bc, $0030
+ call AddNTimes
+ ld e, l
+ ld d, h
+ ld hl, $cd7f
+ call CopyBytes
+ ld hl, wPartyMon6StatsEnd
+ ld a, [wPartyCount]
+ dec a
+ call SkipNames
+ ld d, h
+ ld e, l
+ ld hl, wOTPartyMonOT
+ ld a, [wWhichPokemon]
+ call SkipNames
+ ld bc, $0006
+ call CopyBytes
+ ld hl, wPartyMonNicknames
+ ld a, [wPartyCount]
+ dec a
+ call SkipNames
+ ld d, h
+ ld e, l
+ ld hl, $da5f
+ ld a, [wWhichPokemon]
+ call SkipNames
+ ld bc, $0006
+ call CopyBytes
+ ld a, [wMonDexIndex]
+ ld [wce37], a
+ dec a
+ ld c, a
+ ld b, $01
+ ld hl, wPartyMonNicknamesEnd
+ push bc
+ call SmallFarFlagAction
+ pop bc
+ ld hl, wPokedexOwnedEnd
+ call SmallFarFlagAction
+ and a
+ ret
+
+Functiondac8: ; 03:5ac8
+ ld a, [wcd7c]
+ and a
+ jr z, .sub_dae3
+ cp $02
+ jr z, .sub_dae3
+ cp $03
+ ld hl, wd882
+ jr z, .sub_db1f
+ ld hl, wUnknownListLengthda83
+ ld a, [hl]
+ cp $1e
+ jr nz, .sub_daed
+ jr .sub_daeb
+.sub_dae3
+ ld hl, wPartyCount
+ ld a, [hl]
+ cp $06
+ jr nz, .sub_daed
+.sub_daeb
+ scf
+ ret
+.sub_daed
+ inc a
+ ld [hl], a
+ ld c, a
+ ld b, $00
+ add hl, bc
+ ld a, [wcd7c]
+ cp $02
+ ld a, [wd882]
+ jr z, .sub_db00
+ ld a, [wMonDexIndex]
+.sub_db00
+ ld [hli], a
+ ld [hl], $ff
+ ld a, [wcd7c]
+ dec a
+ ld hl, wPartyMon1
+ ld bc, $0030
+ ld a, [wPartyCount]
+ jr nz, .sub_db1b
+ ld hl, $daa3
+ ld bc, $0020
+ ld a, [wUnknownListLengthda83]
+.sub_db1b
+ dec a
+ call AddNTimes
+.sub_db1f
+ push hl
+ ld e, l
+ ld d, h
+ ld a, [wcd7c]
+ and a
+ ld hl, $daa3
+ ld bc, $0020
+ jr z, .sub_db3b
+ cp $02
+ ld hl, wd882
+ jr z, .sub_db41
+ ld hl, wPartyMon1
+ ld bc, $0030
+.sub_db3b
+ ld a, [wWhichPokemon]
+ call AddNTimes
+.sub_db41
+ ld bc, $0020
+ call CopyBytes
+ ld a, [wcd7c]
+ cp $03
+ ld de, $d87c
+ jr z, .sub_db66
+ dec a
+ ld hl, wPartyMon6StatsEnd
+ ld a, [wPartyCount]
+ jr nz, .sub_db60
+ ld hl, $de63
+ ld a, [wUnknownListLengthda83]
+.sub_db60
+ dec a
+ call SkipNames
+ ld d, h
+ ld e, l
+.sub_db66
+ ld hl, $de63
+ ld a, [wcd7c]
+ and a
+ jr z, .sub_db79
+ ld hl, $d87c
+ cp $02
+ jr z, .sub_db7f
+ ld hl, wPartyMon6StatsEnd
+.sub_db79
+ ld a, [wWhichPokemon]
+ call SkipNames
+.sub_db7f
+ ld bc, $0006
+ call CopyBytes
+ ld a, [wcd7c]
+ cp $03
+ ld de, $d876
+ jr z, .sub_dba4
+ dec a
+ ld hl, wPartyMonNicknames
+ ld a, [wPartyCount]
+ jr nz, .sub_db9e
+ ld hl, $df17
+ ld a, [wUnknownListLengthda83]
+.sub_db9e
+ dec a
+ call SkipNames
+ ld d, h
+ ld e, l
+.sub_dba4
+ ld hl, $df17
+ ld a, [wcd7c]
+ and a
+ jr z, .sub_dbb7
+ ld hl, $d876
+ cp $02
+ jr z, .sub_dbbd
+ ld hl, wPartyMonNicknames
+.sub_dbb7
+ ld a, [wWhichPokemon]
+ call SkipNames
+.sub_dbbd
+ ld bc, $0006
+ call CopyBytes
+ pop hl
+ ld a, [wcd7c]
+ cp $01
+ jr z, .sub_dc14
+ cp $03
+ jr z, .sub_dc14
+ push hl
+ srl a
+ add $02
+ ld [wMonType], a
+ ld a, $31
+ call Predef
+ ld a, BANK(Function50caa)
+ ld hl, Function50caa
+ call FarCall_hl
+ ld a, d
+ ld [wCurPartyLevel], a
+ pop hl
+ ld b, h
+ ld c, l
+ ld hl, $001f
+ add hl, bc
+ ld [hl], a
+ ld hl, $0024
+ add hl, bc
+ ld d, h
+ ld e, l
+ ld hl, $000a
+ add hl, bc
+ push bc
+ ld b, $01
+ call Functiondf7d
+ pop bc
+ ld a, [wcd7c]
+ and a
+ jr nz, .sub_dc14
+ ld hl, $0022
+ add hl, bc
+ ld d, h
+ ld e, l
+ inc hl
+ inc hl
+ ld a, [hli]
+ ld [de], a
+ ld a, [hl]
+ inc de
+ ld [de], a
+.sub_dc14
+ and a
+ ret
+
+Functiondc16: ; 03:5c16
+ ld hl, wPartyCount
+ ld a, [hl]
+ cp $06
+ push af
+ jr nz, .sub_dc2a
+ ld hl, wUnknownListLengthda83
+ ld a, [hl]
+ cp $1e
+ jr nz, .sub_dc2a
+ pop af
+ scf
+ ret
+.sub_dc2a
+ inc a
+ ld [hl], a
+ ld c, a
+ ld b, $00
+ add hl, bc
+ ld a, [wcd7c]
+ and a
+ ld a, [wd882]
+ ld de, $d876
+ jr z, .sub_dc42
+ ld a, [wd8b1]
+ ld de, $d8a5
+.sub_dc42
+ ld [hli], a
+ ld [wCurSpecies], a
+ ld a, $ff
+ ld [hl], a
+ pop af
+ jr z, .sub_dcad
+ ld hl, wPartyMonNicknames
+ ld a, [wPartyCount]
+ dec a
+ ld bc, $0006
+ call AddNTimes
+ push hl
+ ld h, d
+ ld l, e
+ pop de
+ call CopyBytes
+ push hl
+ ld hl, wPartyMon6StatsEnd
+ ld a, [wPartyCount]
+ dec a
+ ld bc, $0006
+ call AddNTimes
+ ld d, h
+ ld e, l
+ pop hl
+ call CopyBytes
+ push hl
+ ld hl, wPartyMon1
+ ld a, [wPartyCount]
+ dec a
+ ld bc, $0030
+ call AddNTimes
+ ld d, h
+ ld e, l
+ pop hl
+ ld bc, $0020
+ call CopyBytes
+ call GetMonHeader
+ ld h, d
+ ld l, e
+ dec hl
+ ld a, [hl]
+ ld [wCurPartyLevel], a
+ inc de
+ inc de
+ push de
+ inc de
+ inc de
+ push de
+ ld bc, hFFEB
+ add hl, bc
+ ld b, $01
+ call Functiondf7d
+ pop hl
+ pop de
+ ld a, [hli]
+ ld [de], a
+ inc de
+ ld a, [hl]
+ ld [de], a
+ jr .sub_dce9
+.sub_dcad
+ ld hl, $df17
+ ld a, [wUnknownListLengthda83]
+ ld bc, $0006
+ call AddNTimes
+ push hl
+ ld h, d
+ ld l, e
+ pop de
+ call CopyBytes
+ push hl
+ ld hl, $de63
+ ld a, [wUnknownListLengthda83]
+ ld bc, $0006
+ call AddNTimes
+ ld d, h
+ ld e, l
+ pop hl
+ call CopyBytes
+ push hl
+ ld hl, $daa3
+ ld a, [wUnknownListLengthda83]
+ ld bc, $0030
+ call AddNTimes
+ ld d, h
+ ld e, l
+ pop hl
+ ld bc, $0020
+ call CopyBytes
+.sub_dce9
+ ld a, [wcd7c]
+ and a
+ ret z
+ ld hl, $d8d1
+ ld de, $d8a5
+ ld bc, $002c
+ call CopyBytes
+ and a
+ ret
+
+Functiondcfc: ; 03:5cfc
+ ld a, [wcd7c]
+ ld de, $d876
+ and a
+ jr z, .sub_dd2c
+ ld hl, $d8a5
+ ld de, $d8d1
+ ld bc, $0006
+ call CopyBytes
+ ld hl, $d8ab
+ ld de, $d8d7
+ ld bc, $0006
+ call CopyBytes
+ ld hl, wd8b1
+ ld de, $d8dd
+ ld bc, $0020
+ call CopyBytes
+ ld de, $d8a5
+.sub_dd2c
+ ld a, [wWhichPokemon]
+ ld hl, wPartyMonNicknames
+ ld bc, $0006
+ call AddNTimes
+ call CopyBytes
+ ld a, [wWhichPokemon]
+ ld hl, wPartyMon6StatsEnd
+ ld bc, $0006
+ call AddNTimes
+ call CopyBytes
+ ld a, [wWhichPokemon]
+ ld hl, wPartyMon1
+ ld bc, $0030
+ call AddNTimes
+ ld bc, $0020
+ jp CopyBytes
+
+Functiondd5c: ; 03:5d5c
+ ld de, wUnknownListLengthda83
+ ld a, [de]
+ cp $1e
+ ret nc
+ inc a
+ ld [de], a
+ ld a, [wMonDexIndex]
+ ld [wCurSpecies], a
+ ld c, a
+.sub_dd6c
+ inc de
+ ld a, [de]
+ ld b, a
+ ld a, c
+ ld c, b
+ ld [de], a
+ cp $ff
+ jr nz, .sub_dd6c
+ call GetMonHeader
+ ld hl, $de63
+ ld bc, $0006
+ ld a, [wUnknownListLengthda83]
+ dec a
+ jr z, .sub_dda9
+ dec a
+ call AddNTimes
+ push hl
+ ld bc, $0006
+ add hl, bc
+ ld d, h
+ ld e, l
+ pop hl
+ ld a, [wUnknownListLengthda83]
+ dec a
+ ld b, a
+.sub_dd96
+ push bc
+ push hl
+ ld bc, $0006
+ call CopyBytes
+ pop hl
+ ld d, h
+ ld e, l
+ ld bc, $fffa
+ add hl, bc
+ pop bc
+ dec b
+ jr nz, .sub_dd96
+.sub_dda9
+ ld hl, wPlayerName
+ ld de, $de63
+ ld bc, $0006
+ call CopyBytes
+ ld a, [wUnknownListLengthda83]
+ dec a
+ jr z, .sub_dde5
+ ld hl, $df17
+ ld bc, $0006
+ dec a
+ call AddNTimes
+ push hl
+ ld bc, $0006
+ add hl, bc
+ ld d, h
+ ld e, l
+ pop hl
+ ld a, [wUnknownListLengthda83]
+ dec a
+ ld b, a
+.sub_ddd2
+ push bc
+ push hl
+ ld bc, $0006
+ call CopyBytes
+ pop hl
+ ld d, h
+ ld e, l
+ ld bc, $fffa
+ add hl, bc
+ pop bc
+ dec b
+ jr nz, .sub_ddd2
+.sub_dde5
+ ld a, [wMonDexIndex]
+ ld [wce37], a
+ call GetPokemonName
+ ld de, $df17
+ ld hl, wStringBuffer1
+ ld bc, $0006
+ call CopyBytes
+ ld a, [wUnknownListLengthda83]
+ dec a
+ jr z, .sub_de2a
+ ld hl, $daa3
+ ld bc, $0020
+ dec a
+ call AddNTimes
+ push hl
+ ld bc, $0020
+ add hl, bc
+ ld d, h
+ ld e, l
+ pop hl
+ ld a, [wUnknownListLengthda83]
+ dec a
+ ld b, a
+.sub_de17
+ push bc
+ push hl
+ ld bc, $0020
+ call CopyBytes
+ pop hl
+ ld d, h
+ ld e, l
+ ld bc, hBGMapAddress
+ add hl, bc
+ pop bc
+ dec b
+ jr nz, .sub_de17
+.sub_de2a
+ ld hl, wcdd9
+ ld de, $daa3
+ ld bc, $0006
+ call CopyBytes
+ ld hl, wce73
+ ld a, [hli]
+ ld [de], a
+ inc de
+ ld a, [hl]
+ ld [de], a
+ inc de
+ push de
+ ld a, [wCurPartyLevel]
+ ld d, a
+ ld hl, Function50cd1
+ ld a, BANK(Function50cd1)
+ call FarCall_hl
+ pop de
+ ldh a, [hMultiplicand]
+ ld [de], a
+ inc de
+ ldh a, [hDividend+2]
+ ld [de], a
+ inc de
+ ldh a, [hDividend+3]
+ ld [de], a
+ inc de
+ xor a
+ ld b, $0a
+.sub_de5c
+ ld [de], a
+ inc de
+ dec b
+ jr nz, .sub_de5c
+ ld hl, wcddf
+ ld b, $07
+.sub_de66
+ ld a, [hli]
+ ld [de], a
+ inc de
+ dec b
+ jr nz, .sub_de66
+ xor a
+ ld [de], a
+ inc de
+ ld [de], a
+ inc de
+ ld [de], a
+ inc de
+ ld a, [wCurPartyLevel]
+ ld [de], a
+ scf
+ ret
+
+Functionde79: ; 03:5e79
+ ld a, [wPartyCount]
+ cp $06
+ jr z, .sub_de8b
+ call Functiond886
+ ld de, wPartyMonNicknames
+ ld hl, wPartyCount
+ jr .sub_dead
+.sub_de8b
+ ld a, [wUnknownListLengthda83]
+ cp $1e
+ scf
+ ret z
+ ld a, [wMonDexIndex]
+ ld [wcdd7], a
+ xor a
+ ld [wca44], a
+ ld hl, AddPokemonToBox
+ ld a, BANK(AddPokemonToBox)
+ call FarCall_hl
+ call Functiondd5c
+ ld de, $df17
+ ld hl, wUnknownListLengthda83
+.sub_dead
+ ld a, [hl]
+ push af
+ ld b, $00
+ ld c, a
+ add hl, bc
+ ld a, $fd
+ ld [hl], a
+ pop af
+ dec a
+ ld h, d
+ ld l, e
+ ld bc, $0006
+ call AddNTimes
+ ld a, $c0
+ ld [hli], a
+ ld a, $cf
+ ld [hli], a
+ ld a, $2a
+ ld [hli], a
+ ld [hl], $50
+ and a
+ ret
+
+Functiondecd: ; 03:5ecd
+ ld hl, wPartyCount
+ ld a, [wcd7c]
+ and a
+ jr z, .sub_ded9
+ ld hl, wUnknownListLengthda83
+.sub_ded9
+ ld a, [hl]
+ dec a
+ ld [hli], a
+ ld a, [wWhichPokemon]
+ ld c, a
+ ld b, $00
+ add hl, bc
+ ld e, l
+ ld d, h
+ inc de
+.sub_dee6
+ ld a, [de]
+ inc de
+ ld [hli], a
+ inc a
+ jr nz, .sub_dee6
+ ld hl, wPartyMon6StatsEnd
+ ld d, $05
+ ld a, [wcd7c]
+ and a
+ jr z, .sub_defc
+ ld hl, $de63
+ ld d, $1d
+.sub_defc
+ ld a, [wWhichPokemon]
+ call SkipNames
+ ld a, [wWhichPokemon]
+ cp d
+ jr nz, .sub_df0b
+ ld [hl], $ff
+ ret
+.sub_df0b
+ ld d, h
+ ld e, l
+ ld bc, $0006
+ add hl, bc
+ ld bc, wPartyMonNicknames
+ ld a, [wcd7c]
+ and a
+ jr z, .sub_df1d
+ ld bc, $df17
+.sub_df1d
+ call CopyDataUntil
+ ld hl, wPartyMon1
+ ld bc, $0030
+ ld a, [wcd7c]
+ and a
+ jr z, .sub_df32
+ ld hl, $daa3
+ ld bc, $0020
+.sub_df32
+ ld a, [wWhichPokemon]
+ call AddNTimes
+ ld d, h
+ ld e, l
+ ld a, [wcd7c]
+ and a
+ jr z, .sub_df49
+ ld bc, $0020
+ add hl, bc
+ ld bc, $de63
+ jr .sub_df50
+.sub_df49
+ ld bc, $0030
+ add hl, bc
+ ld bc, wPartyMon6StatsEnd
+.sub_df50
+ call CopyDataUntil
+ ld hl, wPartyMonNicknames
+ ld a, [wcd7c]
+ and a
+ jr z, .sub_df5f
+ ld hl, $df17
+.sub_df5f
+ ld bc, $0006
+ ld a, [wWhichPokemon]
+ call AddNTimes
+ ld d, h
+ ld e, l
+ ld bc, $0006
+ add hl, bc
+ ld bc, wPartyMonNicknamesEnd
+ ld a, [wcd7c]
+ and a
+ jr z, .sub_df7a
+ ld bc, $dfcb
+.sub_df7a
+ jp CopyDataUntil
+
+Functiondf7d: ; 03:5f7d
+ ld c, $00
+.sub_df7f
+ inc c
+ call Functiondf91
+ ldh a, [hDividend+2]
+ ld [de], a
+ inc de
+ ldh a, [hDividend+3]
+ ld [de], a
+ inc de
+ ld a, c
+ cp $06
+ jr nz, .sub_df7f
+ ret
+
+Functiondf91: ; 03:5f91
+ push hl
+ push de
+ push bc
+ ld a, b
+ ld d, a
+ push hl
+ ld hl, wMonHBaseHP
+ dec hl
+ ld b, $00
+ add hl, bc
+ ld a, [hl]
+ ld e, a
+ pop hl
+ push hl
+ ld a, c
+ cp $06
+ jr nz, .sub_dfa9
+ dec hl
+ dec hl
+.sub_dfa9
+ sla c
+ ld a, d
+ and a
+ jr z, .sub_dfce
+ add hl, bc
+.sub_dfb0
+ xor a
+ ldh [hMultiplicand], a
+ ldh [hDividend+2], a
+ inc b
+ ld a, b
+ cp $ff
+ jr z, .sub_dfce
+ ldh [hDividend+3], a
+ ldh [hDivisor], a
+ call Multiply
+ ld a, [hld]
+ ld d, a
+ ldh a, [hDividend+3]
+ sub d
+ ld a, [hli]
+ ld d, a
+ ldh a, [hDividend+2]
+ sbc d
+ jr c, .sub_dfb0
+.sub_dfce
+ srl c
+ pop hl
+ push bc
+ ld bc, $000b
+ add hl, bc
+ pop bc
+ ld a, c
+ cp $02
+ jr z, .sub_e00c
+ cp $03
+ jr z, .sub_e013
+ cp $04
+ jr z, .sub_e018
+ cp $05
+ jr z, .sub_e020
+ cp $06
+ jr z, .sub_e020
+ push bc
+ ld a, [hl]
+ swap a
+ and $01
+ add a
+ add a
+ add a
+ ld b, a
+ ld a, [hli]
+ and $01
+ add a
+ add a
+ add b
+ ld b, a
+ ld a, [hl]
+ swap a
+ and $01
+ add b
+ add b
+ ld b, a
+ ld a, [hl]
+ and $01
+ add b
+ pop bc
+ jr .sub_e024
+.sub_e00c
+ ld a, [hl]
+ swap a
+ and $0f
+ jr .sub_e024
+.sub_e013
+ ld a, [hl]
+ and $0f
+ jr .sub_e024
+.sub_e018
+ inc hl
+ ld a, [hl]
+ swap a
+ and $0f
+ jr .sub_e024
+.sub_e020
+ inc hl
+ ld a, [hl]
+ and $0f
+.sub_e024
+ ld d, $00
+ add e
+ ld e, a
+ jr nc, .sub_e02b
+ inc d
+.sub_e02b
+ sla e
+ rl d
+ srl b
+ srl b
+ ld a, b
+ add e
+ jr nc, .sub_e038
+ inc d
+.sub_e038
+ ldh [hDividend+3], a
+ ld a, d
+ ldh [hDividend+2], a
+ xor a
+ ldh [hMultiplicand], a
+ ld a, [wCurPartyLevel]
+ ldh [hDivisor], a
+ call Multiply
+ ldh a, [hMultiplicand]
+ ldh [hDividend], a
+ ldh a, [hDividend+2]
+ ldh [hMultiplicand], a
+ ldh a, [hDividend+3]
+ ldh [hDividend+2], a
+ ld a, $64
+ ldh [hDivisor], a
+ ld a, $03
+ ld b, a
+ call Divide
+ ld a, c
+ cp $01
+ ld a, $05
+ jr nz, .sub_e077
+ ld a, [wCurPartyLevel]
+ ld b, a
+ ldh a, [hDividend+3]
+ add b
+ ldh [hDividend+3], a
+ jr nc, .sub_e075
+ ldh a, [hDividend+2]
+ inc a
+ ldh [hDividend+2], a
+.sub_e075
+ ld a, $0a
+.sub_e077
+ ld b, a
+ ldh a, [hDividend+3]
+ add b
+ ldh [hDividend+3], a
+ jr nc, .sub_e084
+ ldh a, [hDividend+2]
+ inc a
+ ldh [hDividend+2], a
+.sub_e084
+ ldh a, [hDividend+2]
+ cp $04
+ jr nc, .sub_e094
+ cp $03
+ jr c, .sub_e09c
+ ldh a, [hDividend+3]
+ cp $e8
+ jr c, .sub_e09c
+.sub_e094
+ ld a, $03
+ ldh [hDividend+2], a
+ ld a, $e7
+ ldh [hDividend+3], a
+.sub_e09c
+ pop bc
+ pop de
+ pop hl
+ ret
+
+Function60a0: ; 03:60a0
+ ld a, [wMonDexIndex]
+ dec a
+ ld c, a
+ ld d, $00
+ ld hl, wPartyMonNicknamesEnd
+ ld b, $02
+ ld a, $0c
+ call Predef
+ push bc
+ xor a
+ ld [wMonType], a
+ call Functiond886
+ jr nc, .sub_e0d2
+ ld hl, wPartyMonNicknames
+ ld a, [wPartyCount]
+ dec a
+ ld bc, $0006
+ call AddNTimes
+ ld d, h
+ ld e, l
+ pop bc
+ ld a, c
+ ld b, $00
+ push bc
+ push de
+ jr .sub_e0e1
+.sub_e0d2
+ call Functiondd5c
+ pop bc
+ jp nc, .sub_e165
+ ld a, c
+ ld de, $df17
+ ld b, $01
+ push bc
+ push de
+.sub_e0e1
+ push af
+ ld a, [wMonDexIndex]
+ ld [wce37], a
+ call GetPokemonName
+ pop af
+ and a
+ jr nz, .sub_e10d
+ ld hl, wd41c
+ bit 4, [hl]
+ jr z, .sub_e10d
+ ld hl, Texte198
+ call PrintText
+ call ClearSprites
+ ld a, [wMonDexIndex]
+ ld [wce37], a
+ ld a, $2e
+ call Predef
+ call LoadTilesetGFX_LCDOff
+.sub_e10d
+ ld hl, Texte1bb
+ call PrintText
+ call YesNoBox
+ pop de
+ jr c, .sub_e155
+ push de
+ ld b, $00
+ ld a, BANK(Function113f4)
+ ld hl, Function113f4
+ call FarCall_hl
+ pop de
+ ld a, [de]
+ cp $50
+ jr nz, .sub_e133
+ ld hl, wStringBuffer1
+ ld bc, $0006
+ call CopyBytes
+.sub_e133
+ call ClearBGPalettes
+ ld hl, wcdaf
+ ld a, [hl]
+ push af
+ res 7, [hl]
+ set 6, [hl]
+ call RedrawPlayerSprite
+ pop af
+ ld [wcdaf], a
+ call LoadFontExtra
+ call LoadMapPart
+ call GetMemSGBLayout
+ call WaitBGMap
+ call RotateThreePalettesLeft
+.sub_e155
+ pop bc
+ ld a, b
+ and a
+ ret z
+ ld hl, Texte168
+ ld hl, Texte181
+ call PrintText
+ ld b, $01
+ ret
+.sub_e165
+ ld b, $02
+ ret
+
+Texte168: ; 03:6168
+ text_from_ram wStringBuffer1
+ text "は マサキの ところへ"
+ line "てんそうされた!"
+ prompt
+
+Texte181: ; 03:6181
+ text_from_ram wStringBuffer1
+ text "は だれかの <PC>に"
+ line "てんそうされた!"
+ prompt
+
+Texte198: ; 03:6198
+ text_from_ram wStringBuffer1
+ text "の データが あたらしく"
+ line "#ずかんに セーブされます!@"
+
+Texte1b8: ; 03:61b8
+ db "ドギ@"
+
+Texte1bb: ; 03:61bb
+ text "ゲットした @"
+
+Texte1c3: ; 03:61c3
+ text_from_ram wStringBuffer1
+ text "に"
+ line "なまえを つけますか?"
+ done
+
+Functione1d5: ; 03:61d5
+ call Functione284
+ ret c
+ call LoadStandardMenuHeader
+ call ClearTileMap
+ call LoadFontsBattleExtra
+ ld hl, vChars2 + $780
+ ld de, PokeBallsGFX
+ lb bc, BANK(PokeBallsGFX), $01
+ call Request2bpp
+ ld hl, Texte224
+ call MenuTextBox
+ ld hl, Datae22e
+ call LoadMenuHeader
+.sub_e1fa
+ call SetPalettes
+ xor a
+ ld [wActiveBackpackPocket], a
+ call OpenMenu
+ jr c, .sub_e211
+ ld a, [wMenuSelection]
+ ld hl, Tablee270
+ call CallJumptable
+ jr nc, .sub_e1fa
+.sub_e211
+ call CloseWindow
+ call CloseWindow
+ call LoadTilesetGFX
+ call Function360b
+ call LoadFontExtra
+ call CloseWindow
+ ret
+
+Texte224: ; 03:6224
+ text "なんに するん?"
+ done
+
+Datae22e: ; 03:622e
+ db $40, $00, $00, $11, $0e
+ dw Datae236
+ db $01
+
+Datae236: ; 03:6236
+ db $80, $00
+ dw Datae27c
+ db $8a, $1f
+ dw Texte23e
+
+Texte23e: ; 03:623e
+ db "#の ようすをみる@"
+
+Texte248: ; 03:6248
+ db "#を つれていく@"
+
+Texte251: ; 03:6251
+ db "#を あずける@"
+
+Texte259: ; 03:6259
+ db "#を にがす@"
+
+Texte260: ; 03:6260
+ db "ボックスを かえる@"
+
+Texte26a: ; 03:626a
+ db "さようなら@"
+
+Tablee270: ; 03:6270
+ dw Functione5c5
+ dw Functione31b
+ dw Functione2a6
+ dw Functione37b
+ dw Functione3c3
+ dw Functione2a4
+
+Datae27c: ; 03:627c
+ db $05, $00, $01, $02, $03, $04, $05, $ff
+
+Functione284: ; 03:6284
+ ld a, [wPartyCount]
+ and a
+ ret nz
+ ld hl, Texte291
+ call MenuTextBoxBackup
+ scf
+ ret
+
+Texte291: ; 03:6291
+ text "#もってへんやつは"
+ line "おことわりや!"
+ prompt
+
+Functione2a4: ; 03:62a4
+ scf
+ ret
+
+Functione2a6: ; 03:62a6
+ call Functione2b0
+ jr c, .sub_e2ae
+ call Functione2f0
+.sub_e2ae
+ and a
+ ret
+
+Functione2b0: ; 03:72b0
+ ld a, [wPartyCount]
+ and a
+ jr z, .sub_e2bc
+ cp $02
+ jr c, .sub_e2c4
+ and a
+ ret
+.sub_e2bc
+ ld hl, Texte2cc
+ call MenuTextBoxBackup
+ scf
+ ret
+.sub_e2c4
+ ld hl, Texte2dc
+ call MenuTextBoxBackup
+ scf
+ ret
+
+Texte2cc: ; 03:62cc
+ text "1ぴきも もってへんやんか!"
+ prompt
+
+Texte2dc: ; 03:62dc
+ text "それ あずけたら"
+ line "こまるんとちゃう?"
+ prompt
+
+Functione2f0: ; 03:62f0
+ call LoadStandardMenuHeader
+ ld hl, Tablee6da
+ call Functione6a4
+ call CloseWindow
+ ret c
+ ld a, [wScrollingMenuCursorPosition]
+ ld [wWhichPokemon], a
+ ld a, [wMenuSelection]
+ ld [wMonDexIndex], a
+ ld a, $01
+ ld [wcd7c], a
+ ld a, $12
+ call Predef
+ xor a
+ ld [wcd7c], a
+ call Functiondecd
+ ret
+
+Functione31b: ; 03:631b
+ call .sub_e325
+ jr c, .sub_e323
+ call Functione350
+.sub_e323
+ and a
+ ret
+.sub_e325
+ ld a, [wPartyCount]
+ cp $06
+ jr nc, .sub_e32e
+ and a
+ ret
+.sub_e32e
+ ld hl, Texte336
+ call MenuTextBoxBackup
+ scf
+ ret
+
+Texte336: ; 03:6336
+ text "それいじょう よくばったって"
+ line "# もたれへんで!"
+ prompt
+
+Functione350: ; 03:6350
+ call LoadStandardMenuHeader
+ ld hl, Datae6f8
+ call Functione6a4
+ call CloseWindow
+ ret c
+ ld a, [wScrollingMenuCursorPosition]
+ ld [wWhichPokemon], a
+ ld a, [wMenuSelection]
+ ld [wMonDexIndex], a
+ xor a
+ ld [wcd7c], a
+ ld a, $12
+ call Predef
+ ld a, $01
+ ld [wcd7c], a
+ call Functiondecd
+ ret
+
+Functione37b: ; 03:637b
+ call .sub_e380
+ and a
+ ret
+.sub_e380
+ call LoadStandardMenuHeader
+ ld hl, Datae6f8
+ call Functione6a4
+ call CloseWindow
+ ld a, [wScrollingMenuCursorPosition]
+ ld [wWhichPokemon], a
+ ld a, [wMenuSelection]
+ ld [wMonDexIndex], a
+ ret c
+ ld hl, Texte3af
+ call MenuTextBox
+ call YesNoBox
+ call CloseWindow
+ ret c
+ ld a, $01
+ ld [wcd7c], a
+ call Functiondecd
+ ret
+
+Texte3af: ; 03:63af
+ text_from_ram wStringBuffer1
+ text " をほんとうに"
+ next "にがしますか?"
+ done
+
+Functione3c3: ; 03:63c3
+ call Functione3c8
+ and a
+ ret
+
+Functione3c8: ; 03:63c8
+ call Functione3ed
+ call LoadStandardMenuHeader
+ call ClearPalettes
+ call ClearTileMap
+.sub_e3d4
+ ld hl, Datae414
+ call CopyMenuHeader
+ call ScrollingMenu
+ ld a, [wMenuJoypad]
+ cp $02
+ jr z, .sub_e3e9
+ call Functione505
+ jr .sub_e3d4
+.sub_e3e9
+ call CloseWindow
+ ret
+
+Functione3ed: ; 03:63ed
+ ld hl, $d4b9
+ ld c, $00
+.sub_e3f2
+ push hl
+ ld de, Texte40c
+ call CopyString
+ ld a, $f6
+ add c
+ dec hl
+ ld [hli], a
+ ld [hl], $50
+ pop hl
+ ld de, $0009
+ add hl, de
+ inc c
+ ld a, c
+ cp $0a
+ jr c, .sub_e3f2
+ ret
+
+Texte40c: ; 03:640c
+ db "ダミーボックス@"
+
+Datae414: ; 03:6414
+ db $40, $00, $00, $0c, $13, $1c, $64, $01
+ db $20, $04, $00, $01, $03, $2c, $64, $03
+ db $38, $64, $00, $00, $00, $03, $9d, $64
+ db $0a, $01, $02, $03, $04, $05, $06, $07
+ db $08, $09, $0a, $ff
+
+Functione438: ; 03:6438
+ push de
+ ld a, [wMenuSelection]
+ dec a
+ ld bc, $0006
+ ld hl, Texte461
+ call AddNTimes
+ ld d, h
+ ld e, l
+ pop hl
+ call PlaceString
+ push bc
+ ld a, [wMenuSelection]
+ dec a
+ ld bc, $0009
+ ld hl, $d4b9
+ call AddNTimes
+ ld d, h
+ ld e, l
+ pop hl
+ call PlaceString
+ ret
+
+Texte461: ; 03:6461
+ db "・.01 @"
+ db "・.02 @"
+ db "・.03 @"
+ db "・.04 @"
+ db "・.05 @"
+ db "・.06 @"
+ db "・.07 @"
+ db "・.08 @"
+ db "・.09 @"
+ db "・.10 @"
+
+Functione49d: ; 03:649d
+ ld h, d
+ ld l, e
+ ld de, Texte4bf
+ call PlaceString
+ ld hl, $0003
+ add hl, bc
+ push hl
+ call Functione4ce
+ pop hl
+ ld de, wStringBuffer1
+ ld [de], a
+ ld bc, $0102
+ call PrintNumber
+ ld de, Texte4ca
+ call PlaceString
+ ret
+
+Texte4bf: ; 03:64bf
+ db "あずかっている#"
+ next " @"
+
+Texte4ca: ; 03:64ca
+ db "/30@"
+
+Functione4ce: ; 03:64ce
+ ld a, [wMenuSelection]
+ dec a
+ ld c, a
+ ld b, $00
+ ld hl, Datae4e7
+ add hl, bc
+ add hl, bc
+ add hl, bc
+ ld a, [hli]
+ call OpenSRAM
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld a, [hl]
+ call CloseSRAM
+ ret
+
+Datae4e7: ; 03:64e7
+ db $02, $00, $a0
+ db $02, $48, $a5
+ db $02, $90, $aa
+ db $02, $d8, $af
+ db $02, $20, $b5
+ db $03, $00, $a0
+ db $03, $48, $a5
+ db $03, $90, $aa
+ db $03, $d8, $af
+ db $03, $20, $b5
+
+Functione505: ; 03:6505
+ ld hl, Datae5a5
+ call LoadMenuHeader
+ call VerticalMenu
+ call CloseWindow
+ ret c
+ ld a, [w2DMenuDataEnd]
+ cp $01
+ jr z, Functione53e
+ cp $02
+ jr z, Functione57e
+ and a
+ ret
+
+Functione51f: ; 03:651f
+ ld hl, Texte529
+ call MenuTextBox
+ call CloseWindow
+ ret
+
+Texte529: ; 03:6529
+ text "バンクチェンジは"
+ next "かいはつちゅうです!"
+ prompt
+
+Functione53e: ; 03:653e
+ ld hl, Texte551
+ call MenuTextBox
+ call YesNoBox
+ call CloseWindow
+ ret c
+ jr Functione51f
+
+Functione54d: ; 03:654d
+ ld a, [wMenuSelection]
+ ret
+
+Texte551: ; 03:6551
+ text "# ボックスを かえると"
+ line "どうじに レポートが かかれます"
+ para "<⋯⋯> それでも いいですか?"
+ done
+
+Functione57e: ; 03:657e
+ ld b, $04
+ ld de, wMovementBufferCount
+ ld a, BANK(Function113f4)
+ ld hl, Function113f4
+ call FarCall_hl
+ ld a, [wMovementBufferCount]
+ cp $50
+ ret z
+ ld hl, $d4b9
+ ld bc, $0009
+ ld a, [wMenuSelection]
+ dec a
+ call AddNTimes
+ ld de, wMovementBufferCount
+ call CopyString
+ ret
+
+Datae5a5: ; 03:65a5
+ db $40, $06, $00, $0e, $0e
+ dw Datae5ad
+ db $01
+
+Datae5ad: ; 03:65ad
+ db $80, $03
+ db "ボックスきりかえ@"
+ db "なまえを かえる@"
+ db "やめる@"
+
+Functione5c5: ; 03:65c5
+ call LoadStandardMenuHeader
+ call Functione5d3
+ call ClearPalettes
+ call CloseWindow
+ and a
+ ret
+
+Functione5d3: ; 03:65d3
+ call ClearBGPalettes
+ call .sub_e62a
+ call SetPalettes
+ ld hl, Datae71c
+ call CopyMenuHeader
+ ld a, [wcd3c]
+ ld [wMenuCursorBuffer], a
+ ld a, [wcd46]
+ ld [wMenuScrollPosition], a
+ call ScrollingMenu
+ ld a, [wMenuScrollPosition]
+ ld [wcd46], a
+ ld a, [w2DMenuDataEnd]
+ ld [wcd3c], a
+ call ClearPalettes
+ ld a, [wMenuJoypad]
+ cp $02
+ jr z, .sub_e60c
+ call .sub_e60d
+ jr Functione5d3
+.sub_e60c
+ ret
+.sub_e60d
+ ld a, [wScrollingMenuCursorPosition]
+ ld [wWhichPokemon], a
+ ld a, $02
+ ld [wMonType], a
+ call LoadStandardMenuHeader
+ call LowVolume
+ ld a, $3b
+ call Predef
+ call MaxVolume
+ call ExitMenu
+ ret
+.sub_e62a
+ ld hl, wce5f
+ ld a, [hl]
+ push af
+ set 4, [hl]
+ call ClearTileMap
+ ld a, [wd4b6]
+ ld hl, $d4b9
+ ld bc, $0009
+ call AddNTimes
+ ld d, h
+ ld e, l
+ ld hl, $c2b5
+ ld de, Texte679
+ call PlaceString
+ ld hl, $c2dc
+ ld a, $79
+ ld [hli], a
+ ld a, $7a
+ ld c, $13
+.sub_e655
+ ld [hli], a
+ dec c
+ jr nz, .sub_e655
+ ld de, $0014
+ ld a, $7c
+ ld c, $08
+.sub_e660
+ ld [hl], a
+ add hl, de
+ dec c
+ jr nz, .sub_e660
+ ld hl, $c2de
+ ld de, Texte687
+ call PlaceString
+ ld hl, Texte697
+ call PrintText
+ pop af
+ ld [wce5f], a
+ ret
+
+Texte679: ; 03:6679
+ db "ボックス/いまの ボックス@"
+
+Texte687: ; 03:6687
+ db "しゅるい  なまえ   レべル@"
+
+Texte697: ; 03:6697
+ text "どの#が みたいねん?"
+ done
+
+Functione6a4: ; 03:66a4
+ ld a, l
+ ld [wcd70], a
+ ld a, h
+ ld [wcd71], a
+ ld hl, $c2cc
+ ld b, $09
+ ld c, $0e
+ call DrawTextBox
+ ld hl, wcd70
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ call Function3810
+ ld a, [wMenuJoypad]
+ cp $02
+ jr z, .sub_e6ce
+ ld hl, Texte6d0
+ call MenuTextBoxBackup
+ and a
+ ret
+.sub_e6ce
+ scf
+ ret
+
+Texte6d0: ; 03:66d0
+ text "#を えらんだ!"
+ prompt
+
+Tablee6da: ; 03:66da
+ dw Datae6e0
+ dw wcd3c
+ dw wcd46
+
+Datae6e0: ; 03:66e0
+ db $40, $03, $05, $0b, $12
+ dw Datae6e8
+ db $01
+
+Datae6e8: ; 03:e6e8
+ db $00, $04
+
+Datae6ea: ; 03:66ea
+ db $08, $01, $00, $aa, $d6, $09, $a6
+ db $47, $09, $ba, $47, $00, $00, $00
+
+Datae6f8: ; 03:66f8
+ dw Datae6fe
+ dw wcd3c
+ dw wcd46
+
+Datae6fe: ; 03:66fe
+ db $40, $03, $05, $0b, $12
+ dw Datae706
+ db $01
+
+Datae706: ; 03:6706
+ db $00, $04, $08, $01, $00, $83, $da, $09
+ db $ab, $47, $09, $c1, $47, $00, $00, $00
+
+Datae716: ; 03:6716
+ dw Datae71c
+ dw wcd3c
+ dw wcd46
+
+Datae71c: ; 03:671c
+ db $40, $04, $01, $0b, $13, $24, $67, $01
+ db $00, $04, $00, $01, $00, $83, $da, $09
+ db $d8, $47, $00, $00, $00, $00, $00, $00
+
+Function6734: ; 03:6734
+ call RefreshScreen
+ call LowVolume
+ ldh a, [hMapAnims]
+ push af
+ xor a
+ ldh [hMapAnims], a
+ ld hl, wVramState
+ res 0, [hl]
+ call ClearBGPalettes
+ call ClearSprites
+ call LoadStandardMenuHeader
+ ld hl, LoadPokeDexGraphics
+ ld a, BANK(LoadPokeDexGraphics)
+ call FarCall_hl
+ call ClearTileMap
+ ld hl, Function40b07
+ ld a, BANK(Function40b07)
+ call FarCall_hl
+ call ClearBGPalettes
+ ld hl, wVramState
+ set 0, [hl]
+ call ExitMenu
+ call LoadTilesetGFX_LCDOff
+ call Function360b
+ call UpdateTimePals
+ pop af
+ ldh [hMapAnims], a
+ call MaxVolume
+ call Function1fea
+ ret
+
+_UseItem: ; 03:677f
+ ld a, [wCurItem]
+ ld [wce37], a
+ call GetItemName
+ call CopyStringToStringBuffer2
+ ld a, $01
+ ld [wFieldMoveSucceeded], a
+ ld a, [wCurItem]
+ cp $c4
+ jp nc, Functionf678
+ ld hl, Tablee7a5
+ dec a
+ ld c, a
+ ld b, $00
+ add hl, bc
+ add hl, bc
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp hl
+
+Tablee7a5: ; 03:67a5
+ dw Functione8f9
+ dw Functione8f9
+ dw Functionf66f
+ dw Functione8f9
+ dw Functione8f9
+ dw Functionec95
+ dw Functioneca4
+ dw Functioned00
+ dw Functionef02
+ dw Functionef02
+ dw Functionef02
+ dw Functionef02
+ dw Functionef02
+ dw Functionefee
+ dw Functionf05b
+ dw Functionf05b
+ dw Functionf05b
+ dw Functionf05b
+ dw Functionf2b5
+ dw Functionf2cc
+ dw Functionf4d1
+ dw Functioned00
+ dw Functioned00
+ dw Functioned00
+ dw Functionf66f
+ dw Functioned37
+ dw Functioned37
+ dw Functioned37
+ dw Functioned37
+ dw Functionf66f
+ dw Functioned37
+ dw Functionee42
+ dw Functionf2dc
+ dw Functioned00
+ dw Functionf66f
+ dw Functionf66c
+ dw Functionf2eb
+ dw Functionef02
+ dw Functionef8c
+ dw Functionef8c
+ dw Functionf2fa
+ dw Functionf2c2
+ dw Functionf2c7
+ dw Functionf309
+ dw Functionf66f
+ dw Functionf05b
+ dw Functionf05b
+ dw Functionf05b
+ dw Functionf318
+ dw Functionf66f
+ dw Functionf318
+ dw Functionf318
+ dw Functionf318
+ dw Functionf413
+ dw Functionf4ca
+ dw Functionf354
+ dw Functionf66f
+ dw Functionf437
+ dw Functionf444
+ dw Functionf66f
+ dw Functionf46e
+ dw Functionf4ca
+ dw Functionf4d1
+ dw Functionf4d1
+ dw Functionf4d1
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf65d
+ dw Functionfd45
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+ dw Functionf672
+
+Functione8f9: ; 03:68f9
+ ld a, [wBattleMode]
+ and a
+ jp z, Functionf7dd
+ dec a
+ jp nz, Functionf7ae
+ ld a, [wPartyCount]
+ cp $06
+ jr nz, .sub_e913
+ ld a, [wUnknownListLengthda83]
+ cp $1e
+ jp z, Functionf7d8
+.sub_e913
+ xor a
+ ld [wce35], a
+ call Functionec7a
+ ld hl, Textf8c6
+ call PrintText
+ ld a, [wcdfe]
+ ld b, a
+ ld a, [wCurItem]
+ cp $01
+ jp z, .sub_e9d6
+ cp $02
+ jr z, .sub_e941
+ cp $04
+ jr z, .sub_e936
+ jr .sub_e947
+.sub_e936
+ ld a, b
+ srl a
+ add b
+ ld b, a
+ jr nc, .sub_e947
+ ld b, $ff
+ jr .sub_e947
+.sub_e941
+ sla b
+ jr nc, .sub_e947
+ ld b, $ff
+.sub_e947
+ ld a, b
+ ldh [hQuotient+2], a
+ ld hl, wcde9
+ ld b, [hl]
+ inc hl
+ ld c, [hl]
+ inc hl
+ ld d, [hl]
+ inc hl
+ ld e, [hl]
+ sla c
+ rl b
+ ld h, d
+ ld l, e
+ add hl, de
+ add hl, de
+ ld d, h
+ ld e, l
+ ld a, d
+ and a
+ jr z, .sub_e978
+ srl d
+ rr e
+ srl d
+ rr e
+ srl b
+ rr c
+ srl b
+ rr c
+ ld a, c
+ and a
+ jr nz, .sub_e978
+ ld c, $01
+.sub_e978
+ ld b, e
+ push bc
+ ld a, b
+ sub c
+ ldh [hDivisor], a
+ xor a
+ ldh [hDividend], a
+ ldh [hMultiplicand], a
+ ldh [hQuotient+1], a
+ call Multiply
+ pop bc
+ ld a, b
+ ldh [hDivisor], a
+ ld b, $04
+ call Divide
+ ldh a, [hQuotient+2]
+ and a
+ jr nz, .sub_e998
+ ld a, $01
+.sub_e998
+ ld b, a
+ ld a, [wcde7]
+ and $27
+ ld c, $0a
+ jr nz, .sub_e9a9
+ and a
+ ld c, $05
+ jr nz, .sub_e9a9
+ ld c, $00
+.sub_e9a9
+ ld a, b
+ add c
+ jr nc, .sub_e9af
+ ld a, $ff
+.sub_e9af
+ ld d, a
+ push de
+ ld a, [wca03]
+ ld hl, Function37e3d
+ ld a, BANK(Function37e3d)
+ call FarCall_hl
+ ld a, b
+ cp $46
+ pop de
+ ld a, d
+ jr nz, .sub_e9c8
+ add c
+ jr nc, .sub_e9c8
+ ld a, $ff
+.sub_e9c8
+ ld b, a
+ ld [wFieldMoveScriptID], a
+ call Random
+ cp b
+ ld a, $00
+ jr z, .sub_e9d6
+ jr nc, .sub_e9d9
+.sub_e9d6
+ ld a, [wcdd9]
+.sub_e9d9
+ ld [wce35], a
+ ld c, $14
+ call DelayFrames
+ ld a, [wCurItem]
+ ld [wca5c], a
+ ld de, $0100
+ ld a, e
+ ld [wccc0], a
+ ld a, d
+ ld [wccc1], a
+ xor a
+ ldh [hBattleTurn], a
+ ld [wMapBlocksAddress], a
+ ld [wcccd], a
+ ld a, $51
+ call Predef
+ ld a, [wce35]
+ and a
+ jr nz, .sub_ea29
+ ld a, [wMapBlocksAddress]
+ cp $01
+ ld hl, Texteb98
+ jp z, .sub_eb59
+ cp $02
+ ld hl, Textebaf
+ jp z, .sub_eb59
+ cp $03
+ ld hl, Textebc3
+ jp z, .sub_eb59
+ cp $04
+ ld hl, Textebdc
+ jp z, .sub_eb59
+.sub_ea29
+ ld hl, wcde9
+ ld a, [hli]
+ push af
+ ld a, [hli]
+ push af
+ inc hl
+ ld a, [hl]
+ push af
+ push hl
+ ld hl, wcdda
+ ld a, [hl]
+ push af
+ push hl
+ ld hl, wca44
+ bit 3, [hl]
+ jr z, .sub_ea48
+ ld a, $84
+ ld [wcdd7], a
+ jr .sub_ea55
+.sub_ea48
+ set 3, [hl]
+ ld hl, $cad0
+ ld a, [wcddf]
+ ld [hli], a
+ ld a, [wcde0]
+ ld [hl], a
+.sub_ea55
+ ld a, [wcdd7]
+ ld [wMonDexIndex], a
+ ld a, [wcde6]
+ ld [wCurPartyLevel], a
+ ld hl, AddPokemonToBox
+ ld a, BANK(AddPokemonToBox)
+ call FarCall_hl
+ pop hl
+ pop af
+ ld [hl], a
+ pop hl
+ pop af
+ ld [hld], a
+ dec hl
+ pop af
+ ld [hld], a
+ pop af
+ ld [hl], a
+ ld a, [wcdd9]
+ ld [wce35], a
+ ld [wMonDexIndex], a
+ ld [wce37], a
+ ld a, [wce03]
+ dec a
+ jp z, .sub_eb56
+ ld hl, Textebf5
+ call PrintText
+ call ClearSprites
+ ld a, [wce37]
+ dec a
+ ld c, a
+ ld d, $00
+ ld hl, wPartyMonNicknamesEnd
+ ld b, $02
+ ld a, $0c
+ call Predef
+ ld a, c
+ push af
+ ld a, [wce37]
+ dec a
+ ld c, a
+ ld b, $01
+ ld a, $0c
+ call Predef
+ pop af
+ and a
+ jr nz, .sub_eac7
+ ld hl, Textec3e
+ call PrintText
+ call ClearSprites
+ ld a, [wcdd9]
+ ld [wce37], a
+ ld a, $2e
+ call Predef
+.sub_eac7
+ ld a, [wPartyCount]
+ cp $06
+ jr z, .sub_eb13
+ xor a
+ ld [wMonType], a
+ call ClearSprites
+ ld a, $10
+ call Predef
+ ld hl, Textec61
+ call PrintText
+ call YesNoBox
+ jr c, .sub_eb5f
+ ld a, [wPartyCount]
+ dec a
+ ld hl, wPartyMonNicknames
+ ld bc, $0006
+ call AddNTimes
+ ld d, h
+ ld e, l
+ ld b, $00
+ ld a, BANK(Function113f4)
+ ld hl, Function113f4
+ push de
+ call FarCall_hl
+ call RotateThreePalettesRight
+ pop de
+ ld a, [de]
+ cp $50
+ jr nz, .sub_eb5f
+ ld hl, wStringBuffer1
+ ld bc, $0006
+ call CopyBytes
+ jr .sub_eb5f
+.sub_eb13
+ call ClearSprites
+ ld a, $15
+ call Predef
+ ld hl, Textec61
+ call PrintText
+ call YesNoBox
+ jr c, .sub_eb47
+ ld de, $df17
+ ld b, $00
+ ld a, BANK(Function113f4)
+ ld hl, Function113f4
+ call FarCall_hl
+ call RotateThreePalettesRight
+ ld de, $df17
+ ld a, [de]
+ cp $50
+ jr nz, .sub_eb47
+ ld hl, wStringBuffer1
+ ld bc, $0006
+ call CopyBytes
+.sub_eb47
+ ld hl, Textec0e
+ bit 0, a
+ jr nz, .sub_eb51
+ ld hl, Textec27
+.sub_eb51
+ call PrintText
+ jr .sub_eb5f
+.sub_eb56
+ ld hl, Textebf5
+.sub_eb59
+ call PrintText
+ call ClearSprites
+.sub_eb5f
+ ld a, [wce03]
+ and a
+ ret nz
+ ld hl, wItems
+ inc a
+ ld [wItemQuantity], a
+ jp TossItem
+
+Texteb6e: ; 03:6b6e
+ text "よけられた!"
+ line "こいつは つかまりそうにないぞ!"
+ prompt
+
+Texteb87: ; 03:6b87
+ text "#に"
+ line "うまく あたらなかった!"
+ prompt
+
+Texteb98: ; 03:6b98
+ text "だめだ! #が"
+ line "ボールから でてしまった!"
+ prompt
+
+Textebaf: ; 03:6baf
+ text "ああ!"
+ line "つかまえたと おもったのに!"
+ prompt
+
+Textebc3: ; 03:6bc3
+ text "ざんねん!"
+ line "もうすこしで つかまえられたのに!"
+ prompt
+
+Textebdc: ; 03:6bdc
+ text "おしい!"
+ line "あと ちょっとの ところだったのに!"
+ prompt
+
+Textebf5: ; 03:6bf5
+ text "やったー!"
+ line "@"
+
+Textebfd: ; 03:6bfd
+ text_from_ram wBattleMonNickname
+ text "を つかまえたぞ!@"
+
+Textec0b: ; 03:6c0b
+ db "ヂギ@"
+
+Textec0e: ; 03:6c0e
+ text_from_ram wdf17
+ text "は マサキの ところへ"
+ line "てんそうされた!"
+ prompt
+
+Textec27: ; 03:6c27
+ text_from_ram wdf17
+ text "は だれかの <PC>に"
+ line "てんそうされた!"
+ prompt
+
+Textec3e: ; 03:6c3e
+ text_from_ram wBattleMonNickname
+ text "の データが あたらしく"
+ line "#ずかんに セーブされます!@"
+
+Textec5e: ; 03:6c5e
+ db "ドギ@"
+
+Textec61: ; 03:6c61
+ text "つかまえた @"
+
+Textec69: ; 03:6c69
+ text_from_ram wStringBuffer1
+ text "に"
+ line "なまえを つけますか"
+ done
+
+Functionec7a: ; 03:6c7a
+ call ClearPalettes
+ ld hl, Function3e39f
+ ld a, BANK(Function3e39f)
+ call FarCall_hl
+ call GetMemSGBLayout
+ call CloseWindow
+ call LoadStandardMenuHeader
+ call WaitBGMap
+ call SetPalettes
+ ret
+
+Functionec95: ; 03:6c95
+ ld a, [wBattleMode]
+ and a
+ jp nz, Functionf7dd
+ ld a, BANK(Function86a0)
+ ld hl, Function86a0
+ jp FarCall_hl
+
+Functioneca4: ; 03:6ca4
+ xor a
+ ld [wFieldMoveSucceeded], a
+ call .sub_ecba
+ ret c
+ ldh a, [hROMBank]
+ ld hl, Functionecd5
+ call QueueScript
+ ld a, $01
+ ld [wFieldMoveSucceeded], a
+ ret
+.sub_ecba
+ call GetMapEnvironment
+ cp $01
+ jr z, .sub_eccb
+ cp $02
+ jr z, .sub_eccb
+ cp $04
+ jr z, .sub_eccb
+ jr .sub_ecd3
+.sub_eccb
+ ld a, [wPlayerState]
+ and a
+ ret z
+ cp $01
+ ret z
+.sub_ecd3
+ scf
+ ret
+
+Functionecd5: ; 03:6cd5
+ call RefreshScreen
+ ld a, [wPlayerState]
+ cp $01
+ jr z, .sub_ece9
+ ld a, $01
+ ld [wPlayerState], a
+ ld hl, Textf8d7
+ jr .sub_ecf0
+.sub_ece9
+ xor a
+ ld [wPlayerState], a
+ ld hl, Textf8e6
+.sub_ecf0
+ call MenuTextBox
+ call CloseWindow
+ call RedrawPlayerSprite
+ call PlayMapMusic
+ call Function1fea
+ ret
+
+Functioned00: ; 03:6d00
+ ld a, [wBattleMode]
+ and a
+ jp nz, Functionf7dd
+ ld a, $05
+ call Functionf0cf
+ jr c, .sub_ed32
+ ld a, $01
+ ld [wcab9], a
+ push de
+ ld de, $0002
+ call WaitPlaySFX
+ call WaitSFX
+ pop de
+ ld hl, Function4af93
+ ld a, BANK(Function4af93)
+ call FarCall_hl
+ ld a, [wce3a]
+ and a
+ jr z, .sub_ed2f
+ jp Functionf7a2
+.sub_ed2f
+ call Functionf7e2
+.sub_ed32
+ xor a
+ ld [wFieldMoveSucceeded], a
+ ret
+
+Functioned37: ; 03:6d37
+ ld a, [wBattleMode]
+ and a
+ jp nz, Functionf7dd
+ ld a, $01
+ call Functionf0cf
+ jp c, Functionedbe
+ ld a, $00
+ call GetPartyParamLocation
+ push hl
+ ld a, [wMonDexIndex]
+ ld [wCurSpecies], a
+ ld [wce37], a
+ ld bc, $001f
+ add hl, bc
+ ld a, [hl]
+ ld [wCurPartyLevel], a
+ call GetMonHeader
+ ld a, [wWhichPokemon]
+ ld hl, wPartyMonNicknames
+ call GetNick
+ call Functionee26
+ pop hl
+ push hl
+ add hl, bc
+ ld bc, $000b
+ add hl, bc
+ ld a, [hl]
+ cp $64
+ jr nc, Functioneda1
+ add $0a
+ ld [hl], a
+ pop hl
+ call Functionedab
+ call Functionee26
+ ld hl, Tableedf7
+ add hl, bc
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld de, wHPBarTempHP
+ ld bc, $000a
+ call CopyBytes
+ ld de, $0002
+ call WaitPlaySFX
+ ld hl, Textedcb
+ call PrintText
+ jp Functionf7a2
+
+Functioneda1: ; 03:6da1
+ pop hl
+ ld hl, Textede7
+ call PrintText
+ jp ClearPalettes
+
+Functionedab: ; 03:6dab
+ push hl
+ ld bc, $0024
+ add hl, bc
+ ld d, h
+ ld e, l
+ pop hl
+ ld bc, $000a
+ add hl, bc
+ ld b, $01
+ ld a, $18
+ jp Predef
+
+Functionedbe: ; 03:6dbe
+ xor a
+ ld [wFieldMoveSucceeded], a
+ call ClearPalettes
+ call z, GetMemSGBLayout
+ jp ReloadFontAndTileset
+
+Textedcb: ; 03:6dcb
+ text_from_ram wStringBuffer1
+ text "の @"
+
+Textedd2: ; 03:6dd2
+ text_from_ram wStringBuffer2
+ text "の"
+ line "きそ ポイントが あがった!"
+ prompt
+
+
+
+Textede7: ; 03:6de7
+ text "つかっても こうかが ないよ"
+ prompt
+
+Tableedf7: ; 03:6df7
+ dw Textee01
+ dw Textee07
+ dw Textee0f
+ dw Textee17
+ dw Textee1c
+
+Textee01: ; 03:6e01
+ db "たいりょく@"
+
+Textee07: ; 03:6e07
+ db "こうげきりょく@"
+
+Textee0f: ; 03:6e0f
+ db "ぼうぎょりょく@"
+
+Textee17: ; 03:6e17
+ db "すばやさ@"
+
+Textee1c: ; 03:6e1c
+ db "とくしゅのうりょく@"
+
+Functionee26: ; 03:6e26
+ ld a, [wCurItem]
+ ld hl, Dataee38
+.sub_ee2c
+ cp [hl]
+ inc hl
+ jr z, .sub_ee33
+ inc hl
+ jr .sub_ee2c
+.sub_ee33
+ ld a, [hl]
+ ld c, a
+ ld b, $00
+ ret
+
+Dataee38: ; 03:6e38
+ db $1a, $00
+ db $1b, $02
+ db $1c, $04
+ db $1d, $06
+ db $1f, $08
+
+Functionee42: ; 03:6e42
+ ld a, [wBattleMode]
+ and a
+ jp nz, Functionf7dd
+ ld a, $01
+ call Functionf0cf
+ jp c, Functionedbe
+ ld a, $00
+ call GetPartyParamLocation
+ ld a, [wMonDexIndex]
+ ld [wCurSpecies], a
+ ld [wce37], a
+ push hl
+ ld bc, $001f
+ add hl, bc
+ ld a, [hl]
+ ld [wCurPartyLevel], a
+ call GetMonHeader
+ ld a, [wWhichPokemon]
+ ld hl, wPartyMonNicknames
+ call GetNick
+ pop hl
+ push hl
+ ld bc, $001f
+ add hl, bc
+ ld a, [hl]
+ cp $64
+ jp nc, Functioneda1
+ inc a
+ ld [hl], a
+ ld [wCurPartyLevel], a
+ push de
+ ld d, a
+ ld hl, Function50cd1
+ ld a, BANK(Function50cd1)
+ call FarCall_hl
+ pop de
+ pop hl
+ push hl
+ ld bc, $0008
+ add hl, bc
+ ldh a, [hMultiplicand]
+ ld [hli], a
+ ldh a, [hQuotient+1]
+ ld [hli], a
+ ldh a, [hQuotient+2]
+ ld [hl], a
+ pop hl
+ push hl
+ ld bc, $0024
+ add hl, bc
+ ld a, [hli]
+ ld b, a
+ ld c, [hl]
+ pop hl
+ push bc
+ push hl
+ call Functionedab
+ pop hl
+ ld bc, $0025
+ add hl, bc
+ pop bc
+ ld a, [hld]
+ sub c
+ ld c, a
+ ld a, [hl]
+ sbc b
+ ld b, a
+ dec hl
+ ld a, [hl]
+ add c
+ ld [hld], a
+ ld a, [hl]
+ adc b
+ ld [hl], a
+ ld a, $f8
+ ld [wcdb9], a
+ ld hl, Function5087e
+ ld a, BANK(Function5087e)
+ call FarCall_hl
+ xor a
+ ld [wMonType], a
+ ld a, $31
+ call Predef
+ ld d, $01
+ ld hl, Function50628
+ ld a, BANK(Function50628)
+ call FarCall_hl
+ call TextboxWaitPressAorB_BlinkCursor
+ xor a
+ ld [wMonType], a
+ ld a, [wMonDexIndex]
+ ld [wce37], a
+ ld a, $29
+ call Predef
+ xor a
+ ld [wcab9], a
+ ld hl, Function4af93
+ ld a, BANK(Function4af93)
+ call FarCall_hl
+ jp Functionf7a2
+
+Functionef02: ; 03:6f02
+ ld a, [wPartyCount]
+ and a
+ jp z, Functionf7dd
+ ld a, $01
+ call Functionf0cf
+ jp c, Functionf100
+ ld a, [wMonDexIndex]
+ ld [wCurSpecies], a
+
+Functionef17: ; 03:6f17
+ call .sub_ef61
+ ld a, $20
+ call GetPartyParamLocation
+ ld a, [hl]
+ and c
+ jp z, Functionf0fb
+ xor a
+ ld [hl], a
+ ld a, b
+ ld [wcdb9], a
+ call Functionf113
+ jr nc, .sub_ef50
+ xor a
+ ld [wca10], a
+ ld hl, wca3f
+ res 0, [hl]
+ ld hl, $ca3b
+ res 0, [hl]
+ ld a, $24
+ call GetPartyParamLocation
+ ld de, $ca14
+ ld bc, $000a
+ call CopyBytes
+ ld a, $24
+ call Predef
+.sub_ef50
+ call Functionf7a2
+ push de
+ ld de, $0002
+ call WaitPlaySFX
+ pop de
+ call Functionf0d8
+ jp Functionf104
+.sub_ef61
+ push hl
+ ld a, [wCurItem]
+ ld hl, Dataef77
+ ld bc, $0003
+.sub_ef6b
+ cp [hl]
+ jr z, .sub_ef71
+ add hl, bc
+ jr .sub_ef6b
+.sub_ef71
+ inc hl
+ ld b, [hl]
+ inc hl
+ ld c, [hl]
+ pop hl
+ ret
+
+Dataef77: ; 03:6f77
+ db $09, $f0, $08
+ db $0a, $f1, $10
+ db $0b, $f2, $20
+ db $0c, $f3, $07
+ db $0d, $f4, $40
+ db $26, $f6, $ff
+ db $ff, $00, $00
+
+Functionef8c: ; 03:6f8c
+ ld a, [wPartyCount]
+ and a
+ jp z, Functionf7dd
+ ld a, $01
+ call Functionf0cf
+ jp c, Functionf100
+ call Functionf165
+ jp nz, Functionf0fb
+ ld a, [wBattleMode]
+ and a
+ jr z, .sub_efc9
+ ld a, [wWhichPokemon]
+ ld c, a
+ ld d, $00
+ ld hl, $cada
+ ld b, $02
+ ld a, $0c
+ call Predef
+ ld a, c
+ and a
+ jr z, .sub_efc9
+ ld a, [wWhichPokemon]
+ ld c, a
+ ld hl, $ca37
+ ld b, $01
+ ld a, $0c
+ call Predef
+.sub_efc9
+ xor a
+ ld [wccc4], a
+ ld a, [wCurItem]
+ cp $27
+ jr z, .sub_efd9
+ call Functionf130
+ jr .sub_efdc
+.sub_efd9
+ call Functionf127
+.sub_efdc
+ call Functionf0b0
+ ld a, $f7
+ ld [wcdb9], a
+ call Functionf0d8
+ call Functionf7a2
+ jp Functionf104
+
+Functionefed: ; 03:6fed
+ ret
+
+Functionefee: ; 03:6fee
+ ld a, [wPartyCount]
+ and a
+ jp z, Functionf7dd
+ ld a, $01
+ call Functionf0cf
+ jp c, Functionf100
+ call Functionf165
+ jp z, Functionf0fb
+ call Functionf171
+ jr c, .sub_f01a
+ ld a, $20
+ call GetPartyParamLocation
+ ld a, [hl]
+ and a
+ jp z, Functionf0fb
+ ld a, $26
+ ld [wCurItem], a
+ jp Functionef17
+.sub_f01a
+ xor a
+ ld [wccc4], a
+ call Functionf130
+ ld a, $20
+ call GetPartyParamLocation
+ xor a
+ ld [hli], a
+ ld [hl], a
+ call Functionf113
+ jr nc, .sub_f049
+ ld hl, wca3f
+ res 0, [hl]
+ ld hl, $ca3b
+ res 0, [hl]
+ xor a
+ ld [wca10], a
+ ld a, $22
+ call GetPartyParamLocation
+ ld a, [hli]
+ ld [wca12], a
+ ld a, [hld]
+ ld [wca13], a
+.sub_f049
+ call Functionf0b0
+ ld a, $f5
+ ld [wcdb9], a
+ call Functionf0d8
+ call Functionf7a2
+ jp Functionf104
+
+Functionf05a: ; 03:705a
+ ret
+
+Functionf05b: ; 03:705b
+ ld a, [wPartyCount]
+ and a
+ jp z, Functionf7dd
+ ld a, $01
+ call Functionf0cf
+ jp c, Functionf100
+ call Functionf165
+ jp z, Functionf0fb
+ call Functionf171
+ jp nc, Functionf0fb
+ xor a
+ ld [wccc4], a
+ ld a, [wCurItem]
+ cp $0f
+ jr nz, .sub_f086
+ call Functionf130
+ jr .sub_f08c
+.sub_f086
+ call Functionf1e9
+ call Functionf13f
+.sub_f08c
+ call Functionf113
+ jr nc, .sub_f09e
+ ld a, $22
+ call GetPartyParamLocation
+ ld a, [hli]
+ ld [wca12], a
+ ld a, [hld]
+ ld [wca13], a
+.sub_f09e
+ call Functionf0b0
+ ld a, $f5
+ ld [wcdb9], a
+ call Functionf0d8
+ call Functionf7a2
+ jp Functionf104
+
+Functionf0af: ; 03:70af
+ ret
+
+Functionf0b0: ; 03:70b0
+ push de
+ ld de, $0001
+ call WaitPlaySFX
+ pop de
+ ld a, [wWhichPokemon]
+ ld hl, $c2ab
+ ld bc, $0028
+ call AddNTimes
+ ld a, $02
+ ld [wHPBarType], a
+ ld a, $17
+ call Predef
+ ret
+
+Functionf0cf: ; 03:70cf
+ ld [wcdb9], a
+ ld a, $36
+ call Predef
+ ret
+
+Functionf0d8: ; 03:70d8
+ xor a
+ ldh [hBGMapMode], a
+ ld hl, wTileMap
+ ld bc, VBlank.return
+ ld a, $7f
+ call ByteFill
+ ld hl, Function5087e
+ ld a, BANK(Function5087e)
+ call FarCall_hl
+ ld a, $01
+ ldh [hBGMapMode], a
+ ld c, $32
+ call DelayFrames
+ call TextboxWaitPressAorB_BlinkCursor
+ ret
+
+Functionf0fb: ; 03:70fb
+ call Functionf7e2
+ jr Functionf104
+
+Functionf100: ; 03:7100
+ xor a
+ ld [wFieldMoveSucceeded], a
+
+Functionf104: ; 03:7104
+ call ClearPalettes
+ call z, GetMemSGBLayout
+ ld a, [wBattleMode]
+ and a
+ ret nz
+ call ReloadFontAndTileset
+ ret
+
+Functionf113: ; 03:7113
+ ld a, [wBattleMode]
+ and a
+ ret z
+ ld a, [wWhichPokemon]
+ push hl
+ ld hl, wcd41
+ cp [hl]
+ pop hl
+ jr nz, .sub_f125
+ scf
+ ret
+.sub_f125
+ xor a
+ ret
+
+Functionf127: ; 03:7127
+ call Functionf1c5
+ srl d
+ rr e
+ jr Functionf133
+
+Functionf130: ; 03:7130
+ call Functionf1c5
+
+Functionf133: ; 03:7133
+ ld a, $22
+ call GetPartyParamLocation
+ ld [hl], d
+ inc hl
+ ld [hl], e
+ call Functionf17e
+ ret
+
+Functionf13f: ; 03:713f
+ ld a, $23
+ call GetPartyParamLocation
+ ld a, [hl]
+ add e
+ ld [hld], a
+ ld a, [hl]
+ adc d
+ ld [hl], a
+ call Functionf17e
+ ld a, $23
+ call GetPartyParamLocation
+ ld d, h
+ ld e, l
+ ld a, $25
+ call GetPartyParamLocation
+ ld a, [de]
+ sub [hl]
+ dec de
+ dec hl
+ ld a, [de]
+ sbc [hl]
+ jr c, .sub_f164
+ call Functionf130
+.sub_f164
+ ret
+
+Functionf165: ; 03:7165
+ call Functionf1b5
+ call Functionf19e
+ call Functionf1ac
+ ld a, d
+ or e
+ ret
+
+Functionf171: ; 03:7171
+ call Functionf1ac
+ ld h, d
+ ld l, e
+ call Functionf1c5
+ ld a, l
+ sub e
+ ld a, h
+ sbc d
+ ret
+
+Functionf17e: ; 03:717e
+ ld a, $22
+ call GetPartyParamLocation
+ ld a, [hli]
+ ld [wHPBarNewHP+1], a
+ ld a, [hl]
+ ld [wHPBarNewHP], a
+ ret
+
+Functionf18c: ; 03:718c
+ ld a, d
+ ld [wHPBarNewHP+1], a
+ ld a, e
+ ld [wHPBarNewHP], a
+ ret
+
+Functionf195: ; 03:7195
+ ld a, [wHPBarNewHP+1]
+ ld d, a
+ ld a, [wHPBarNewHP]
+ ld e, a
+ ret
+
+Functionf19e: ; 03:719e
+ ld a, $22
+ call GetPartyParamLocation
+ ld a, [hli]
+ ld [wReplacementBlock], a
+ ld a, [hl]
+ ld [wHPBarOldHP], a
+ ret
+
+Functionf1ac: ; 03:71ac
+ ld a, [wReplacementBlock]
+ ld d, a
+ ld a, [wHPBarOldHP]
+ ld e, a
+ ret
+
+Functionf1b5: ; 03:71b5
+ push hl
+ ld a, $24
+ call GetPartyParamLocation
+ ld a, [hli]
+ ld [wMapBlocksAddress], a
+ ld a, [hl]
+ ld [wFieldMoveScriptID], a
+ pop hl
+ ret
+
+Functionf1c5: ; 03:71c5
+ ld a, [wMapBlocksAddress]
+ ld d, a
+ ld a, [wFieldMoveScriptID]
+ ld e, a
+ ret
+
+Functionf1ce: ; 03:71ce
+ ld a, $24
+ call GetPartyParamLocation
+ ld a, [hli]
+ ldh [hDividend], a
+ ld a, [hl]
+ ldh [hQuotient], a
+ ld a, $05
+ ldh [hMultiplier], a
+ ld b, $02
+ call Divide
+ ldh a, [hQuotient+1]
+ ld d, a
+ ldh a, [hQuotient+2]
+ ld e, a
+ ret
+
+Functionf1e9: ; 03:71e9
+ push hl
+ ld a, [wCurItem]
+ ld hl, Dataf203
+ ld d, a
+.sub_f1f1
+ ld a, [hli]
+ cp $ff
+ jr z, .sub_f1fd
+ cp d
+ jr z, .sub_f1fe
+ inc hl
+ inc hl
+ jr .sub_f1f1
+.sub_f1fd
+ scf
+.sub_f1fe
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ pop hl
+ ret
+
+Dataf203: ; 03:7203
+ db $2e, $32, $00
+ db $2f, $3c, $00
+ db $30, $50, $00
+ db $10, $c8, $00
+ db $11, $32, $00
+ db $12, $14, $00
+ db $ff, $00, $00
+
+Functionf218: ; 03:7218
+ ld a, [wcd3c]
+ dec a
+ ld b, a
+.sub_f21d
+ push bc
+ ld a, $01
+ ld [wcdb9], a
+ ld a, $37
+ call Predef
+ pop bc
+ jr c, .sub_f28c
+ ld a, [wcd3c]
+ dec a
+ ld c, a
+ ld a, b
+ cp c
+ jr z, .sub_f21d
+ push bc
+ ld a, c
+ ld [wWhichPokemon], a
+ call Functionf165
+ jr z, .sub_f292
+ call Functionf171
+ jp nc, .sub_f29c
+ pop bc
+ push bc
+ ld a, b
+ ld [wWhichPokemon], a
+ call Functionf165
+ call Functionf1ce
+ push de
+ ld a, $23
+ call GetPartyParamLocation
+ ld a, [hl]
+ sub e
+ ld [hld], a
+ ld e, a
+ ld a, [hl]
+ sbc d
+ ld [hl], a
+ ld d, a
+ call Functionf18c
+ call Functionf0b0
+ pop de
+ pop bc
+ push bc
+ push de
+ ld a, c
+ ld [wWhichPokemon], a
+ call Functionf165
+ pop de
+ call Functionf13f
+ call Functionf0b0
+ xor a
+ ldh [hBGMapMode], a
+ call ClearTileMap
+ ld a, $f5
+ ld [wcdb9], a
+ ld a, $38
+ call Predef
+ ld c, $c8
+ call Function3872
+ pop bc
+.sub_f28c
+ ld a, b
+ inc a
+ ld [wcd3c], a
+ ret
+.sub_f292
+ ld hl, Textf2a6
+ call Function385a
+ pop bc
+ jp .sub_f21d
+.sub_f29c
+ ld hl, Textf2a6
+ call Function385a
+ pop bc
+ jp .sub_f21d
+
+Textf2a6: ; 03:72a6
+ text "その#には "
+ line "つかえません"
+ done
+
+Functionf2b5: ; 03:72b5
+ xor a
+ ld [wFieldMoveSucceeded], a
+ ld hl, DigFunction
+ ld a, $03
+ call FarCall_hl
+ ret
+
+Functionf2c2: ; 03:72c2
+ ld b, $c8
+ jp Functionf2ce
+
+Functionf2c7: ; 03:72c7
+ ld b, $fa
+ jp Functionf2ce
+
+Functionf2cc: ; 03:72cc
+ ld b, $64
+
+Functionf2ce: ; 03:72ce
+ ld a, [wBattleMode]
+ and a
+ jp nz, Functionf7dd
+ ld a, b
+ ld [wce2d], a
+ jp Functionf793
+
+Functionf2dc: ; 03:72dc
+ ld a, [wBattleMode]
+ and a
+ jp z, Functionf7dd
+ ld hl, wca3e
+ set 0, [hl]
+ jp Functionf793
+
+Functionf2eb: ; 03:72eb
+ ld a, [wBattleMode]
+ dec a
+ jp nz, Functionf7dd
+ ld a, $01
+ ld [wce06], a
+ jp Functionf793
+
+Functionf2fa: ; 03:72fa
+ ld a, [wBattleMode]
+ and a
+ jp z, Functionf7dd
+ ld hl, wca3e
+ set 1, [hl]
+ jp Functionf793
+
+Functionf309: ; 03:7309
+ ld a, [wBattleMode]
+ and a
+ jp z, Functionf7dd
+ ld hl, wca3e
+ set 2, [hl]
+ jp Functionf793
+
+Functionf318: ; 03:7318
+ ld a, [wBattleMode]
+ and a
+ jr nz, .sub_f327
+ call Functionf7dd
+ ld a, $02
+ ld [wFieldMoveSucceeded], a
+ ret
+.sub_f327
+ ld hl, wc9ef
+ ld a, [hli]
+ push af
+ ld a, [hl]
+ push af
+ push hl
+ ld a, [wCurItem]
+ sub $37
+ ld [hl], a
+ call Functionf793
+ ld a, $ae
+ ld [wc9ef], a
+ call ReloadTilesFromBuffer
+ call WaitBGMap
+ xor a
+ ldh [hBattleTurn], a
+ ld a, BANK(Function3e5bf)
+ ld hl, Function3e5bf
+ call FarCall_hl
+ pop hl
+ pop af
+ ld [hld], a
+ pop af
+ ld [hl], a
+ ret
+
+Functionf354: ; 03:7354
+ ret
+
+Functionf355: ; 03:7355
+ xor a
+ ld [wMovementBufferCount], a
+ ld b, $f8
+ ld hl, $d6d2
+ call Functionf397
+ ld a, [wBattleMode]
+ cp $01
+ jr z, .sub_f36e
+ ld hl, $d93b
+ call Functionf397
+.sub_f36e
+ ld hl, $ca10
+ ld a, [hl]
+ and b
+ ld [hl], a
+ ld hl, $cde7
+ ld a, [hl]
+ and b
+ ld [hl], a
+ ld a, [wMovementBufferCount]
+ and a
+ ld hl, Textf3bd
+ jp z, PrintText
+ ld hl, Textf3ec
+ call PrintText
+ ld a, [wccc4]
+ and $80
+ jr nz, .sub_f391
+.sub_f391
+ ld hl, Textf3da
+ jp PrintText
+
+Functionf397: ; 03:7397
+ ld de, $0030
+ ld c, $06
+.sub_f39c
+ ld a, [hl]
+ push af
+ and $07
+ jr z, .sub_f3a7
+ ld a, $01
+ ld [wMovementBufferCount], a
+.sub_f3a7
+ pop af
+ and b
+ ld [hl], a
+ add hl, de
+ dec c
+ jr nz, .sub_f39c
+ ret
+
+Textf3af: ; 03:73af
+ db "ぼゴべザ<ENEMY>ザぼジ9"
+
+Textf3b8: ; 03:73b8
+ db "ザブザバ9"
+
+Textf3bd: ; 03:73bd
+ text "#のふえを ふいた!"
+ para "うーん!"
+ line "すばらしい ねいろだ!"
+ prompt
+
+Textf3da: ; 03:73da
+ text "すべての #が"
+ line "めを さました!"
+ prompt
+
+Textf3ec: ; 03:73ec
+ text "<PLAYER>は"
+ line "#のふえを ふいてみた!@"
+
+Functionf3fd: ; 03:73fd
+ ld b, $08
+ ld a, [wBattleMode]
+ and a
+ jr nz, .sub_f410
+ push de
+ ld de, $0021
+ call WaitPlaySFX
+ call WaitSFX
+ pop de
+.sub_f410
+ jp Function32d0
+
+Functionf413: ; 03:7413
+ ld a, [wBattleMode]
+ and a
+ jp nz, Functionf7dd
+ ld hl, Textf424
+ call MenuTextBox
+ call CloseWindow
+ ret
+
+Textf424: ; 03:7424
+ text "あなたの コイン"
+ line "@"
+
+Textf42f: ; 03:742f
+ deciram wd15b, 2, 4
+ text "まい"
+ prompt
+
+Functionf437: ; 03:7437
+ call Functionf49f
+ jp c, Functionf7dd
+ ld bc, $0585
+ ld a, $01
+ jr Functionf478
+
+Functionf444: ; 03:7444
+ call Functionf49f
+ jp c, Functionf7dd
+.sub_f44a
+ call Random
+ srl a
+ jr c, .sub_f463
+ and $03
+ cp $02
+ jr nc, .sub_f44a
+ ld hl, Dataf46a
+ ld c, a
+ ld b, $00
+ add hl, bc
+ add hl, bc
+ ld b, [hl]
+ inc hl
+ ld c, [hl]
+ and a
+.sub_f463
+ ld a, $00
+ rla
+ xor $01
+ jr Functionf478
+
+Dataf46a: ; 03:746a
+ db $0a, $9d, $0a, $47
+
+Functionf46e: ; 03:746e
+ call Functionf49f
+ jp c, Functionf7dd
+ call Functionf9d9
+ ld a, e
+
+Functionf478: ; 03:7478
+ ld [wMovementBufferCount], a
+ dec a
+ jr nz, .sub_f48b
+ ld a, $01
+ ld [wca3a], a
+ ld a, b
+ ld [wCurPartyLevel], a
+ ld a, c
+ ld [wce01], a
+.sub_f48b
+ ld hl, wPlayerState
+ ld a, [hl]
+ push af
+ ld [hl], $00
+ push hl
+ ld a, $23
+ ld hl, PutItemInPocket.loop
+ call FarCall_hl
+ pop hl
+ pop af
+ ld [hl], a
+ ret
+
+Functionf49f: ; 03:749f
+ ld a, [wBattleMode]
+ and a
+ jr z, .sub_f4a7
+ scf
+ ret
+.sub_f4a7
+ call Functionf9d7
+ ret c
+ ld a, [wPlayerState]
+ cp $02
+ jr z, .sub_f4c8
+ call Functionfab4
+ ld hl, Textf8c6
+ call PrintText
+ ld de, $0002
+ call WaitPlaySFX
+ ld c, $50
+ call DelayFrames
+ and a
+ ret
+.sub_f4c8
+ scf
+ ret
+
+Functionf4ca: ; 03:74ca
+ ld a, [wBattleMode]
+ and a
+ jp nz, Functionf7dd
+
+Functionf4d1: ; 03:74d1
+ ld a, [wCurItem]
+ ld [wMovementBufferCount], a
+.sub_f4d7
+ ld a, $01
+ call Functionf0cf
+ jr nc, .sub_f4e1
+ jp Functionf5f3
+.sub_f4e1
+ ld a, [wMovementBufferCount]
+ cp $52
+ jp nc, Functionf5bd
+ ld a, $02
+ ld [wcac0], a
+ ld hl, Textf5ff
+ ld a, [wMovementBufferCount]
+ cp $50
+ jr c, .sub_f4fb
+ ld hl, Textf610
+.sub_f4fb
+ call PrintText
+ ld hl, Function3daa7
+ ld a, BANK(Function3daa7)
+ call FarCall_hl
+ jr nz, .sub_f4d7
+ ld hl, wPartyMon1Moves
+ ld bc, $0030
+ call Functionf9c9
+ push hl
+ ld a, [hl]
+ ld [wce37], a
+ call Unreferenced_GetMoveName
+ call CopyStringToStringBuffer2
+ pop hl
+ ld a, [wMovementBufferCount]
+ cp $50
+ jr nc, Functionf580
+ ld bc, $0015
+ add hl, bc
+ ld a, [hl]
+ cp $c0
+ jr c, .sub_f535
+ ld hl, Textf61f
+ call PrintText
+ jr .sub_f4e1
+.sub_f535
+ ld a, [hl]
+ add $40
+ ld [hl], a
+ ld a, $01
+ ld [wce37], a
+ call ApplyPPUp
+ ld hl, Textf639
+ call PrintText
+
+Functionf547: ; 03:7547
+ call ClearPalettes
+ call GetMemSGBLayout
+ jp Functionf7a2
+
+Functionf550: ; 03:7550
+ ld a, [wBattleMode]
+ and a
+ jr z, .sub_f572
+ ld a, [wWhichPokemon]
+ ld b, a
+ ld a, [wcd41]
+ cp b
+ jr nz, .sub_f572
+ ld hl, wPartyMon1PP
+ ld bc, $0030
+ call AddNTimes
+ ld de, wca0a
+ ld bc, $0004
+ call CopyBytes
+.sub_f572
+ ld de, $0002
+ call WaitPlaySFX
+ ld hl, Textf64c
+ call PrintText
+ jr Functionf547
+
+Functionf580: ; 03:7580
+ call Functionf588
+ jr nz, Functionf550
+ jp Functionf5f0
+
+Functionf588: ; 03:7588
+ xor a
+ ld [wMonType], a
+ call Functionf960
+ ld hl, wPartyMon1Moves
+ ld bc, $0030
+ call Functionf9c9
+ ld bc, $0015
+ add hl, bc
+ ld a, [wce37]
+ ld b, a
+ ld a, [wMovementBufferCount]
+ cp $51
+ jr z, .sub_f5b8
+ ld a, [hl]
+ and $3f
+ cp b
+ ret z
+ add $0a
+ cp b
+ jr nc, .sub_f5b2
+ ld b, a
+.sub_f5b2
+ ld a, [hl]
+ and $c0
+ add b
+ ld [hl], a
+ ret
+.sub_f5b8
+ ld a, [hl]
+ cp b
+ ret z
+ jr .sub_f5b2
+
+Functionf5bd: ; 03:75bd
+ ld hl, wMovementBufferCount
+ dec [hl]
+ dec [hl]
+ xor a
+ ld hl, w2DMenuDataEnd
+ ld [hli], a
+ ld [hl], a
+ ld b, $04
+.sub_f5ca
+ push bc
+ ld hl, wPartyMon1Moves
+ ld bc, $0030
+ call Functionf9c9
+ ld a, [hl]
+ and a
+ jr z, .sub_f5e1
+ call Functionf588
+ jr z, .sub_f5e1
+ ld hl, wMenuCursorX
+ inc [hl]
+.sub_f5e1
+ ld hl, w2DMenuDataEnd
+ inc [hl]
+ pop bc
+ dec b
+ jr nz, .sub_f5ca
+ ld a, [wMenuCursorX]
+ and a
+ jp nz, Functionf550
+
+Functionf5f0: ; 03:75f0
+ call Functionf7e2
+
+Functionf5f3: ; 03:75f3
+ call ClearPalettes
+ call GetMemSGBLayout
+ pop af
+ xor a
+ ld [wFieldMoveSucceeded], a
+ ret
+
+Textf5ff: ; 03:75ff
+ text "どのわざの"
+ line "ポイントをふやす?"
+ done
+
+Textf610: ; 03:7610
+ text "どのわざを"
+ line "かいふくする?"
+ done
+
+Textf61f: ; 03:761f
+ text_from_ram wStringBuffer2
+ text "は これいじょう"
+ line "ふやすことが できません"
+ prompt
+
+Textf639: ; 03:7639
+ text_from_ram wStringBuffer2
+ text "の"
+ line "わざポイントが ふえた!"
+ prompt
+
+Textf64c: ; 03:764c
+ text "わざポイントが"
+ line "かいふくした!"
+ prompt
+
+Functionf65d: ; 03:765d
+ ld a, [wBattleMode]
+ and a
+ jp nz, Functionf7dd
+ ld hl, TryTeleport
+ ld a, $0b
+ jp FarCall_hl
+
+Functionf66c: ; 03:766c
+ jp Functionf7dd
+
+Functionf66f: ; 03:766f
+ jp Functionf7dd
+
+Functionf672: ; 03:7672
+ jp Functionf7dd
+
+Functionf675: ; 03:7675
+ jp Functionfaba
+
+Functionf678: ; 03:7678
+ ld a, [wBattleMode]
+ and a
+ jp nz, Functionf7dd
+ ld a, [wCurItem]
+ sub $c9
+ push af
+ jr nc, .sub_f689
+ add $37
+.sub_f689
+ inc a
+ ld [wce37], a
+ ld a, $1b
+ call Predef
+ ld a, [wce37]
+ ld [wce32], a
+ call Unreferenced_GetMoveName
+ call CopyStringToStringBuffer2
+ pop af
+ ld hl, Textf723
+ jr nc, .sub_f6a7
+ ld hl, Textf72e
+.sub_f6a7
+ call PrintText
+ ld hl, Textf73d
+ call PrintText
+ call YesNoBox
+ jr nc, .sub_f6bb
+ ld a, $02
+ ld [wFieldMoveSucceeded], a
+ ret
+.sub_f6bb
+ ld hl, wHPBarTempHP
+ ld de, wcd11
+ ld bc, $0008
+ call CopyBytes
+ ld a, $03
+ call Functionf0cf
+ push af
+ ld hl, wcd11
+ ld de, wHPBarTempHP
+ ld bc, $0008
+ call CopyBytes
+ pop af
+ jr nc, .sub_f6ea
+ pop af
+ pop af
+ call ClearBGPalettes
+ call ClearSprites
+ call GetMemSGBLayout
+ jp ReloadTilesFromBuffer
+.sub_f6ea
+ ld a, $1a
+ call Predef
+ push bc
+ ld a, [wWhichPokemon]
+ ld hl, wPartyMonNicknames
+ call GetNick
+ pop bc
+ ld a, c
+ and a
+ jr nz, .sub_f70c
+ ld de, $0014
+ call WaitPlaySFX
+ ld hl, Textf768
+ call PrintText
+ jr .sub_f6bb
+.sub_f70c
+ call Functionfdab
+ jr c, .sub_f6bb
+ ld a, $00
+ call Predef
+ ld a, b
+ and a
+ ret z
+ ld a, [wCurItem]
+ call IsHM
+ ret c
+ jp Functionf7a2
+
+Textf723: ; 03:7723
+ text "<TM>を きどうした!"
+ prompt
+
+Textf72e: ; 03:772e
+ text "ひでんマシンを きどうした!"
+
+Textf73d: ; 03:773d
+ text "なかには @"
+
+Textf744: ; 03:7744
+ text_from_ram wStringBuffer2
+ text "が"
+ line "きろくされていた!"
+ para "@"
+
+Textf755: ; 03:7755
+ text_from_ram wStringBuffer2
+ text "を"
+ line "#に おぼえさせますか?"
+ done
+
+Textf768: ; 03:7768
+ text_from_ram wStringBuffer1
+ text "と @"
+
+Textf76f: ; 03:776f
+ text_from_ram wStringBuffer2
+ text "は"
+ line "あいしょうが わるかった!"
+ para "@"
+
+Textf784: ; 03:7784
+ text_from_ram wStringBuffer2
+ text "は おぼえられない!"
+ prompt
+
+Functionf793: ; 03:7793
+ ld hl, Textf8c6
+ call PrintText
+ ld de, $0002
+ call WaitPlaySFX
+ call TextboxWaitPressAorB_BlinkCursor
+
+Functionf7a2: ; 03:77a2
+ ld hl, wItems
+ ld a, $01
+ ld [wItemQuantity], a
+ call TossItem
+ ret
+
+Functionf7ae: ; 03:77ae
+ call Functionec7a
+ ld de, $0100
+ ld a, e
+ ld [wccc0], a
+ ld a, d
+ ld [wccc1], a
+ xor a
+ ld [wca5c], a
+ ldh [hBattleTurn], a
+ ld [wcccd], a
+ ld a, $51
+ call Predef
+ ld hl, Textf850
+ call PrintText
+ ld hl, Textf860
+ call PrintText
+ jr Functionf7a2
+
+Functionf7d8: ; 03:77d8
+ ld hl, Textf8a5
+ jr Functionf7f4
+
+Functionf7dd: ; 03:77dd
+ ld hl, Textf7fb
+ jr Functionf7f4
+
+Functionf7e2: ; 03:77e2
+ ld hl, Textf841
+ jr Functionf7f4
+
+Functionf7e7: ; 03:77e7
+ ld hl, Textf822
+ jr Functionf7f4
+
+Functionf7ec: ; 03:77ec
+ ld hl, Textf874
+ jr Functionf7f4
+
+Functionf7f1: ; 03:77f1
+ ld hl, Textf88d
+
+Functionf7f4: ; 03:77f4
+ xor a
+ ld [wFieldMoveSucceeded], a
+ jp PrintText
+
+Textf7fb: ; 03:77fb
+ text "オーキドの ことば<⋯⋯>"
+ line "<PLAYER>よ! こういうものには"
+ cont "つかいどきが あるのじゃ!"
+ prompt
+
+Textf822: ; 03:7822
+ text "たいせつな あずかりものです!"
+
+Textf832: ; 03:7832
+ db ""
+ next "つかうことは できません!"
+ prompt
+
+Textf841: ; 03:7841
+ text "つかっても こうかがないよ"
+ prompt
+
+Textf850: ; 03:7850
+ text "<TRAINER>に ボールを はじかれた!"
+ prompt
+
+Textf860: ; 03:7860
+ text "ひとの ものを とったら どろぼう!"
+ prompt
+
+Textf874: ; 03:7874
+ text "ここでは じてんしゃに"
+ next "のることは できません"
+ prompt
+
+Textf88d: ; 03:788d
+ text "ここでは@"
+
+Textf893: ; 03:7893
+ text_from_ram wStringBuffer1
+ text "に"
+ line "のることは できません"
+ prompt
+
+Textf8a5: ; 03:78a5
+ text "ボックスに あずけている #が"
+ line "いっぱいなので つかえません!"
+ prompt
+
+Textf8c6: ; 03:78c6
+ text "<PLAYER>は@"
+
+Textf8ca: ; 03:78ca
+ text_low
+ text_from_ram wStringBuffer2
+ text "を つかった!"
+ done
+
+Textf8d7: ; 03:78d7
+ text "<PLAYER>は@"
+
+Textf8db: ; 03:78db
+ text_low
+ text_from_ram wStringBuffer2
+ text "に のった"
+ prompt
+
+Textf8e6: ; 03:78e6
+ text "<PLAYER>は@"
+
+Textf8ea: ; 03:78ea
+ text_low
+ text_from_ram wStringBuffer2
+ text "から おりた"
+ prompt
+
+SECTION "engine/dumps/bank03.asm@Functionf960", ROMX
+
+Functionf960: ; 03:7960
+ ld a, [wMonType]
+ and a
+ ld hl, $d6b4
+ ld bc, $0030
+ jr z, .sub_f989
+ ld hl, $d91d
+ dec a
+ jr z, .sub_f989
+ ld hl, $daa5
+ ld bc, $0020
+ dec a
+ jr z, .sub_f989
+ ld hl, $d884
+ dec a
+ jr z, .sub_f984
+ ld hl, $ca04
+.sub_f984
+ call Functionf9cf
+ jr .sub_f98c
+.sub_f989
+ call Functionf9c9
+.sub_f98c
+ ld a, [hl]
+ dec a
+ push hl
+ ld hl, Moves
+ ld bc, $0007
+ call AddNTimes
+ ld a, BANK(Moves)
+ call GetFarByte
+ ld b, a
+ ld de, wStringBuffer1
+ ld [de], a
+ pop hl
+ push bc
+ ld bc, $0015
+ ld a, [wMonType]
+ cp $04
+ jr nz, .sub_f9b1
+ ld bc, $0006
+.sub_f9b1
+ add hl, bc
+ ld a, [hl]
+ and $c0
+ pop bc
+ or b
+ ld hl, $cd27
+ ld [hl], a
+ xor a
+ ld [wce37], a
+ call ComputeMaxPP
+ ld a, [hl]
+ and $3f
+ ld [wce37], a
+ ret
+
+Functionf9c9: ; 03:79c9
+ ld a, [wWhichPokemon]
+ call AddNTimes
+
+Functionf9cf: ; 03:79cf
+ ld a, [w2DMenuDataEnd]
+ ld c, a
+ ld b, $00
+ add hl, bc
+ ret
+
+Functionf9d7: ; 03:79d7
+ scf
+ ret
+
+Functionf9d9: ; 03:79d9
+ ld a, [wMapId]
+ ld de, $0003
+ ld hl, Datafa08
+ call FindItemInTable
+ jr c, .sub_f9ea
+ ld e, $02
+ ret
+.sub_f9ea
+ inc hl
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld b, [hl]
+ inc hl
+ ld e, $00
+.sub_f9f2
+ call Random
+ srl a
+ ret c
+ and $03
+ cp b
+ jr nc, .sub_f9f2
+ add a
+ ld c, a
+ ld b, $00
+ add hl, bc
+ ld b, [hl]
+ inc hl
+ ld c, [hl]
+ ld e, $01
+ ret
+
+Datafa08: ; 03:7a08
+ dbw $00, Datafa6c
+ dbw $01, Datafa6c
+ dbw $03, Datafa76
+ dbw $05, Datafa7d
+ dbw $06, Datafa82
+ dbw $07, Datafaab
+ dbw $08, Datafa99
+ dbw $0f, Datafa76
+ dbw $11, Datafa7d
+ dbw $15, Datafa82
+ dbw $16, Datafa7d
+ dbw $17, Datafa90
+ dbw $18, Datafa90
+ dbw $1c, Datafa90
+ dbw $1d, Datafa90
+ dbw $1e, Datafa99
+ dbw $1f, Datafa99
+ dbw $20, Datafa99
+ dbw $21, Datafa71
+ dbw $22, Datafaa2
+ dbw $23, Datafa76
+ dbw $24, Datafa76
+ dbw $41, Datafa76
+ dbw $5e, Datafa7d
+ dbw $a1, Datafa99
+ dbw $a2, Datafa99
+ dbw $d9, Datafa87
+ dbw $da, Datafa87
+ dbw $db, Datafa87
+ dbw $dc, Datafa87
+ dbw $e2, Datafaa2
+ dbw $e3, Datafaa2
+ dbw $e4, Datafaa2
+ db $ff
+
+Datafa6c: ; 03:7a6c
+ db $02, $0f, $18, $0f, $47
+
+Datafa71: ; 03:7a71
+ db $02, $0f, $9d, $0f, $47
+
+Datafa76: ; 03:7a76
+ db $03, $0f, $2f, $0f, $9d, $0f, $4e
+
+Datafa7d: ; 03:7a7d
+ db $02, $0f, $4e, $0f, $17
+
+Datafa82: ; 03:7a82
+ db $02, $17, $6e, $0f, $25
+
+Datafa87: ; 03:7a87
+ db $04, $0f, $58, $0f, $4e, $0f, $2f, $0f, $25
+
+Datafa90: ; 03:7a90
+ db $04, $05, $18, $0f, $4e, $0f, $9d, $0f, $85
+
+Datafa99: ; 03:7a99
+ db $04, $0f, $1b, $0f, $5c, $0f, $17, $0f, $9d
+
+Datafaa2: ; 03:7aa2
+ db $04, $17, $08, $17, $9e, $17, $8a, $17, $5d
+
+Datafaab: ; 03:7aab
+ db $04, $17, $9e, $0f, $4e, $0f, $9d, $0f, $85
+
+Functionfab4: ; 03:7ab4
+ call LoadMapPart
+ jp UpdateSprites
+
+Functionfaba: ; 03:7aba
+ ld a, [wd8a2]
+ cp $02
+ jr c, .sub_fade
+ cp $03
+ jp z, Functionfd03
+ cp $04
+ jr z, .sub_fade
+ call Functionfbf0
+ ld a, [wce37]
+ and a
+ jr z, .sub_fad8
+ ld a, $03
+ ld [wd8a2], a
+.sub_fad8
+ ld hl, Textfcea
+ call PrintText
+.sub_fade
+ ld hl, Textfc19
+ call PrintText
+ ld hl, Textfc30
+ call LoadMenuHeader
+ call VerticalMenu
+ push af
+ call CloseWindow
+ pop af
+ jp c, Functionfbde
+ ld a, [w2DMenuDataEnd]
+ cp $03
+ jp z, Functionfbde
+ cp $01
+ jr z, .sub_fb4c
+ ld a, [wd8a2]
+ and a
+ jr z, .sub_fb19
+ cp $02
+ jr nz, .sub_fb22
+ ld hl, Textfc64
+ call PrintText
+ call YesNoBox
+ jp c, Functionfbde
+ jr .sub_fb22
+.sub_fb19
+ ld hl, Textfc75
+ call PrintText
+ jp Functionfbde
+.sub_fb22
+ ld a, $01
+ ld [wcd7c], a
+ ld a, $14
+ call Predef
+ jp c, Functionfbea
+ ld a, [wd8a2]
+ sub $01
+ jr z, .sub_fb38
+ ld a, $01
+.sub_fb38
+ ld [wd8a2], a
+ ld a, [wd8fd]
+ srl a
+ ld [wd8fd], a
+ ld hl, Textfc89
+ call PrintText
+ jp Functionfbde
+.sub_fb4c
+ ld a, [wd8a2]
+ cp $02
+ jp nc, .sub_fbd6
+ add $06
+ call Functionf0cf
+ jp c, Functionfbde
+ ld a, [wMonDexIndex]
+ ld [wCurSpecies], a
+ call GetMonHeader
+ xor a
+ ld [wMonType], a
+ ld a, $3a
+ call Predef
+ ld a, [wd8fd]
+ rla
+ ld [wd8fd], a
+ ld a, [wWhichPokemon]
+ ld hl, wPartyMonNicknames
+ call GetNick
+ ld a, $01
+ ld [wcd7c], a
+ ld a, $13
+ call Predef
+ xor a
+ ld [wcd7c], a
+ ld hl, Functiondecd
+ ld a, BANK(Functiondecd)
+ call FarCall_hl
+ ld a, [wMonDexIndex]
+ call PlayCry
+ ld hl, Textfc48
+ call PrintText
+ ld a, [wd8a2]
+ inc a
+ ld [wd8a2], a
+ cp $02
+ jr nz, Functionfbde
+ ld hl, Textfcac
+ call PrintText
+ call Functionfbf0
+ ld a, [wce37]
+ cp $50
+ ld hl, Textfcbb
+ call z, PrintText
+ ld a, [wce37]
+ cp $14
+ ld hl, Textfcca
+ call z, PrintText
+ ld a, [wce37]
+ and a
+ ld hl, Textfcda
+ call z, PrintText
+ jr Functionfbde
+.sub_fbd6
+ ld hl, Textfc4f
+ call PrintText
+ jr Functionfbde
+
+Functionfbde: ; 03:7bde
+ call ClearBGPalettes
+ call Function360b
+ call GetMemSGBLayout
+ jp ReloadFontAndTileset
+
+Functionfbea: ; 03:7bea
+ ld hl, Textfc91
+ jp PrintText
+
+Functionfbf0: ; 03:7bf0
+ ld a, [wd8fd]
+ ld b, a
+ srl b
+ xor b
+ and $01
+ jr z, .sub_fc15
+ ld a, [wd8b7]
+ ld b, a
+ ld a, [wd8e3]
+ cp b
+ jr nz, .sub_fc13
+ ld a, [wd8b8]
+ ld b, a
+ ld a, [wd8e4]
+ cp b
+ jr nz, .sub_fc13
+ ld a, $14
+ jr .sub_fc15
+.sub_fc13
+ ld a, $50
+.sub_fc15
+ ld [wce37], a
+ ret
+
+Textfc19: ; 03:7c19
+ text "わたしは こずくりやさん"
+ line "さて どうする?"
+ done
+
+Textfc30: ; 03:7c30
+ db "パオ゛ゼジド<RED>│イ゛アエ゛あずける@"
+
+Textfc3f: ; 03:7c3f
+ db "ひきとる@"
+
+Textfc44: ; 03:7c44
+ db "やめる@"
+
+Textfc48: ; 03:7c48
+ text "あずけた!"
+ prompt
+
+Textfc4f: ; 03:7c4f
+ text "すでに 2ひきの#を"
+ line "あずかっています"
+ prompt
+
+Textfc64: ; 03:7c64
+ text "こずくりを ちゅうししますか?"
+ done
+
+Textfc75: ; 03:7c75
+ text "#は いっぴきも"
+ line "あずかってませんが"
+ prompt
+
+Textfc89: ; 03:7c89
+ text "ひきとった!"
+ prompt
+
+Textfc91: ; 03:7c91
+ text "てもちも マサキの <PC>も"
+ line "#で いっぱいのようです"
+ prompt
+
+Textfcac: ; 03:7cac
+ text "それでは こづくりします!"
+ prompt
+
+Textfcbb: ; 03:7cbb
+ text "あいしょうが いいようです"
+ prompt
+
+Textfcca: ; 03:7cca
+ text "あいしょうが わるいようです"
+ prompt
+
+Textfcda: ; 03:7cda
+ text "せいべつが あわないようです"
+ prompt
+
+Textfcea: ; 03:7cea
+ text "ざんねんながら まだ うまれて"
+ line "こないようです"
+ prompt
+
+Functionfd03: ; 03:7d03
+ ld hl, Textfd2e
+ call PrintText
+ call YesNoBox
+ jp c, Functionfbde
+ ld a, $04
+ ld [wd8a2], a
+ ld a, [wd8b1]
+ ld [wMonDexIndex], a
+ call PlayCry
+ xor a
+ ld [wMonType], a
+ ld a, $05
+ ld [wCurPartyLevel], a
+ ld a, $16
+ call Predef
+ jp Functionfbde
+
+Textfd2e: ; 03:7d2e
+ text "タマゴが うまれました!"
+ line "ひきとりますか?"
+ done
+
+Functionfd45: ; 03:7d45
+ ret
+
+Functionfd46: ; 03:7d46
+ ld a, [wMapBlocksAddress]
+ inc a
+ ld [wMapBlocksAddress], a
+ cp $04
+ jr z, .sub_fd71
+ ld a, [wce35]
+ and a
+ ld c, $00
+ ret nz
+ ld hl, Datafd7b
+ ld a, [wFieldMoveScriptID]
+ ld b, a
+.sub_fd5f
+ ld a, [hli]
+ cp b
+ jr nc, .sub_fd66
+ inc hl
+ jr .sub_fd5f
+.sub_fd66
+ ld b, [hl]
+ call Random
+ cp b
+ ld c, $00
+ ret c
+ ld c, $02
+ ret
+.sub_fd71
+ ld a, [wce35]
+ and a
+ ld c, $01
+ ret nz
+ ld c, $02
+ ret
+
+Datafd7b: ; 03:7d7b
+ db $01, $3f
+ db $02, $4b
+ db $03, $54
+ db $04, $5a
+ db $05, $5f
+ db $07, $67
+ db $0a, $71
+ db $0f, $7e
+ db $14, $86
+ db $1e, $95
+ db $28, $a0
+ db $32, $a9
+ db $3c, $b1
+ db $50, $bf
+ db $64, $c9
+ db $78, $d3
+ db $8c, $dc
+ db $a0, $e3
+ db $b4, $ea
+ db $c8, $f0
+ db $dc, $f6
+ db $f0, $fb
+ db $fe, $fd
+ db $ff, $ff
+
+Functionfdab: ; 03:7dab
+ ld a, $02
+ call GetPartyParamLocation
+ ld a, [wce32]
+ ld b, a
+ ld c, $04
+.sub_fdb6
+ ld a, [hli]
+ cp b
+ jr z, .sub_fdbf
+ dec c
+ jr nz, .sub_fdb6
+ and a
+ ret
+.sub_fdbf
+ ld hl, Textfdc7
+ call PrintText
+ scf
+ ret
+
+Textfdc7: ; 03:7dc7
+ text_from_ram wStringBuffer1
+ text "は すでに"
+ line "@"
+
+Textfdd2: ; 03:7dd2
+ text_from_ram wStringBuffer2
+ text "を おぼえています"
+ prompt
+
+Textfde0: ; 03:7de0
+ db "います"
+ prompt
+
+; NOTE: This is missing the preceeding "text_from_ram" byte
+Textfde4: ; 03:7de4
+ dw wStringBuffer2
+ text "を おぼえています"
+ prompt
+
+Datafdf1: ; 03:7df1
+ db $28, $3c
+
+Functionfdf3: ; 03:7df3
+ ld a, [wce32]
+ ld b, a
+ ld c, $04
+.sub_fdf9
+ ld a, [hli]
+ cp b
+ jr z, .sub_fe02
+ dec c
+ jr nz, .sub_fdf9
+ and a
+ ret
+.sub_fe02
+ ld hl, Textfe0a
+ call PrintText
+ scf
+ ret
+
+Textfe0a: ; 03:7e0a
+ text_from_ram wStringBuffer1
+ text "は すでに"
+ line "@"
+
+Textfe15: ; 03:7e15
+ text_from_ram wStringBuffer2
+ text "を おぼえています"
+ prompt
+
+Datafe23: ; 03:7e23
+ db $e0, $22, $47, $24, $80, $a3, $01, $50
+ db $02, $85, $b0, $09, $35, $51, $2c, $08
+ db $24, $25, $0b, $84, $84, $00, $4e, $3b
+ db $4b, $02, $60, $2a, $26, $21, $01, $40
+ db $10, $1f, $31, $44, $80, $08, $02, $3c
+ db $41, $00, $68, $49, $57, $41, $94, $00
+ db $34, $36, $9c, $e4, $01, $0c, $60, $01
+ db $81, $23, $a2, $26, $43, $05, $81, $5f
+ db $16, $a2, $80, $34, $0c, $82, $63, $91
+ db $44, $52, $02, $ce, $00, $10, $44, $01
+ db $96, $0e, $ac, $10, $23, $84, $28, $00
+ db $22, $45, $22, $55, $00, $ef, $ff, $77
+ db $5b, $fe, $87, $db, $df, $b5, $bf, $d7
+ db $1f, $d9, $fc, $e9, $fd, $df, $79, $96
+ db $7d, $af, $d7, $5e, $17, $37, $e7, $ef
+ db $3e, $ff, $f9, $d4, $7d, $bf, $fb, $df
+ db $bb, $fe, $db, $53, $fb, $cc, $d3, $fe
+ db $92, $7f, $bb, $bc, $d7, $3b, $dd, $6f
+ db $7b, $2f, $b7, $ff, $b9, $d0, $b7, $e5
+ db $7b, $e0, $c7, $bf, $dd, $df, $6d, $bb
+ db $f6, $f7, $73, $f9, $ff, $bc, $bb, $f7
+ db $fd, $bd, $db, $e7, $be, $7b, $35, $5b
+ db $f3, $98, $df, $f4, $2f, $fb, $ff, $6b
+ db $fe, $ef, $6b, $ec, $1f, $7a, $3e, $ea
+ db $9b, $dd, $df, $ed, $ff, $fe, $bf, $26
+ db $7d, $9e, $ef, $be, $ff, $77, $fb, $ff
+ db $ff, $5e, $f2, $bc, $fd, $7a, $aa, $fa
+ db $af, $9d, $ed, $f1, $fd, $10, $10, $2d
+ db $d1, $00, $21, $14, $d3, $1b, $27, $22
+ db $85, $45, $5a, $43, $0c, $b1, $74, $61
+ db $48, $40, $2f, $8c, $84, $08, $c2, $90
+ db $f7, $44, $45, $80, $90, $12, $c5, $93
+ db $1c, $11, $6e, $c8, $26, $25, $c1, $25
+ db $00, $1e, $55, $02, $54, $04, $0f, $10
+ db $20, $d7, $a2, $3c, $04, $3b, $02, $01
+ db $22, $00, $c0, $00, $13, $d2, $05, $02
+ db $48, $2a, $89, $40, $1f, $3e, $44, $12
+ db $40, $16, $d8, $91, $10, $01, $54, $87
+ db $1f, $99, $40, $d0, $79, $f8, $25, $4c
+ db $d0, $a0, $02, $13, $1c, $02, $03, $11
+ db $a0, $19, $06, $0e, $70, $97, $44, $0e
+ db $11, $24, $0f, $80, $60, $06, $09, $01
+ db $c5, $e1, $30, $13, $15, $14, $59, $02
+ db $4c, $a9, $11, $08, $04, $eb, $df, $9d
+ db $55, $ff, $b7, $57, $fb, $78, $7e, $7e
+ db $c7, $3a, $e1, $ff, $5f, $7d, $5f, $fd
+ db $5f, $f8, $6d, $2f, $bd, $75, $6f, $3f
+ db $ff, $9f, $fc, $b5, $f6, $c5, $14, $fa
+ db $d9, $ff, $9d, $fb, $7f, $f3, $ff, $6b
+ db $fb, $9f, $eb, $5f, $df, $de, $ed, $bf
+ db $7f, $59, $26, $df, $ee, $b3, $5f, $fd
+ db $f7, $ff, $ff, $ff, $5b, $f8, $db, $fa
+ db $7f, $de, $af, $5f, $df, $9f, $d8, $be
+ db $ea, $bf, $fe, $eb, $dd, $eb, $f9, $e5
+ db $bd, $f3, $ff, $fe, $ff, $f7, $f7, $d5
+ db $f5, $f9, $5f, $bf, $fd, $5e, $df, $de
+ db $ff, $bf, $bb, $93, $fc, $ff, $cc, $af
+ db $f5, $d7, $7f, $ff, $fe, $b5, $ff, $9f
+ db $95, $7a, $6b, $7b, $ff, $6f, $bb, $c7
+ db $ef, $34, $ff, $d7, $3d
diff --git a/pokegold-spaceworld.link b/pokegold-spaceworld.link
index 0320f95..2628575 100644
--- a/pokegold-spaceworld.link
+++ b/pokegold-spaceworld.link
@@ -147,12 +147,11 @@ ROMX $03
"engine/overworld/player_movement.asm@Player Movement"
"data/collision/collision_type_table.asm"
"engine/overworld/player_movement.asm@Rest of Player Movement"
- ; $477d
- org $4791
+ "engine/dumps/bank03.asm@Functionc77d"
"engine/overworld/spawn_points.asm"
- org $488d
+ "engine/dumps/bank03.asm@SpawnPoints"
"data/tileset_headers.asm"
- org $4aa1
+ "engine/dumps/bank03.asm@Functionc9c1"
"engine/items/inventory.asm@Inventory"
"engine/smallflag.asm"
"engine/pokemon/health.asm@HealParty"
@@ -161,9 +160,9 @@ ROMX $03
"engine/pokemon/health.asm@HP Bar"
"engine/events/field_moves.asm"
"engine/items/inventory.asm@_CheckTossableItem"
- ; $541d
- org $78f6
+ "engine/dumps/bank03.asm@Functiond41d"
"engine/items/item_effects.asm"
+ "engine/dumps/bank03.asm@Functionf960"
ROMX $04
org $4000
"data/maps/maps.asm"
diff --git a/shim.sym b/shim.sym
index 90b96d2..612195b 100755
--- a/shim.sym
+++ b/shim.sym
@@ -1,22 +1,3 @@
-03:477D Functionc77d
-03:47D5 SpawnPoints
-03:488D Tilesets
-03:54E6 Functiond4e6
-03:56E4 Functiond6e4
-03:5886 Functiond886
-03:5A28 FillPP
-03:5A4F Functionda4f
-03:5AC8 Functiondac8
-03:5C16 Functiondc16
-03:5CFC Functiondcfc
-03:5D5C Functiondd5c
-03:5E79 Functionde79
-03:5F7D Functiondf7d
-03:5F91 Functiondf91
-03:60A0 Function60a0
-03:6734 Function6734
-03:677F _UseItem
-
04:4743 ShrinkPic1
04:479D ShrinkPic2
04:528F Function1128f
@@ -76,12 +57,17 @@
0E:4BA0 LoadTrainerClassName.got_name
0E:4BA9 LoadTrainerClass
+0D:7E3D Function37e3d
+
0F:508C Function3d08c
0F:55CE Function3d5ce
0F:567C Function3d67c
+0F:5AA7 Function3daa7
0F:6043 AddPokemonToBox
0F:61A4 Function3e1a4
-0F:63a7 Function3e3a7
+0F:63A7 Function3e3a7
+0F:639F Function3e39f
+0F:65BF Function3e5bf
0F:6874 Function3e874
0F:691E Function3e91e
0F:6963 Function3e963
@@ -96,9 +82,11 @@
10:4000 Function40000
10:40A6 ShowPokedexMenu
10:4AC7 Function40ac7
+10:4B07 Function40b07
10:4B45 Function40b45
10:4B5C Function40b5c
10:58BB Moves
+10:5F93 Function4af93
10:5FA1 Function41fa1
10:61F8 Function421f8
10:6252 Function42252
@@ -110,15 +98,19 @@
14:4244 Function50244
14:4248 Function50248
14:42B5 Function502b5
+14:4628 Function50628
14:469E Function5069e
14:46D4 Function506d4
14:4771 Function50771
14:4774 Function50774
14:481F Function5081f
+14:487E Function5087e
14:48C4 Function508c4
14:4B92 Function50b92
14:4BCD Function50bcd
14:4BFE Function50bfe
+14:4CAA Function50caa
+14:4CD1 Function50cd1
14:4ED9 Function50ed9
23:4000 AnimateTilesetImpl
@@ -189,4 +181,4 @@
25:4907 OldCityPokecenterBattleTextPointers
25:48EB OldCityPokecenterBattleScriptLoader
25:499D OldCityPokecenterTimeMachineTextPointers
-25:497E OldCityPokecenterTimeMachineScriptLoader
+25:497E OldCityPokecenterTimeMachineScriptLoader \ No newline at end of file
diff --git a/wram.asm b/wram.asm
index fce4774..3afd66d 100644
--- a/wram.asm
+++ b/wram.asm
@@ -189,7 +189,13 @@ ENDU ; c813
ds $32
wBattleAnimEnd::
; c845
- ds $1b1 ; TODO
+
+ ds $1aa ; TODO
+
+
+wc9ef:: ds 1 ; c9ef
+
+ ds 6
wBattleMonNickname:: ds 6 ; c9f6
wEnemyMonNickname:: ds 6 ; c9fc
@@ -204,8 +210,18 @@ wca08:: ds 1 ; ca08
wca09:: ds 1 ; ca09
wca0a:: ds 1 ; ca0a
- ds $32 ; TODO
+ ds 5 ; TODO
+wca10:: ds 1 ; ca10
+wca11:: ds 1 ; ca11
+wca12:: ds 1 ; ca12
+wca13:: ds 1 ; ca13
+
+ ds $26 ; TODO
+
+wca3a:: ds 1 ; ca3a
+wca3b:: ds 1 ; ca3b
+wca3c:: ds 1 ; ca3c
wPlayerSubStatus3:: db ; ca3d
wca3e:: ds 1 ; ca3e
@@ -222,8 +238,23 @@ wca44:: db ; ca44
ds $12
wTrainerClass:: ; ca57
db
-; ca58
- ds $6b
+
+wca58:: ds 1 ; ca58
+wca59:: ds 1 ; ca59
+wca5a:: ds 1 ; ca5a
+wca5b:: ds 1 ; ca5b
+wca5c:: ds 1 ; ca5c
+
+ ds $5c
+
+wcab9:: ds 1 ; cab9
+
+ ds 6
+
+wcac0:: ds 1 ; cac0
+wcac1:: ds 1 ; cac1
+wcac2:: ds 1 ; cac2
+
wLinkBattleRNCount:: db ; cac3
ds 29
@@ -414,6 +445,12 @@ wSpriteOutputPtrCached : ds 2 ; ccba
wSpriteDecodeTable0Ptr : ds 2 ; ccbc
wSpriteDecodeTable1Ptr : ds 2 ; ccbe
+wccc0:: ds 1 ; ccc0
+wccc1:: ds 1 ; ccc1
+wccc2:: ds 1 ; ccc2
+wccc3:: ds 1 ; ccc3
+wccc4:: ds 1 ; ccc4
+
SECTION "CCC7", WRAM0[$CCC7]
wDisableVBlankOAMUpdate:: db ; ccc7
@@ -424,7 +461,7 @@ wBGP:: db ; ccca
wOBP0:: db ; cccb
wOBP1:: db ; cccc
-SECTION "CCCE", WRAM0[$CCCE]
+wcccd:: ds 1 ; cccd
wDisableVBlankWYUpdate:: db ; ccce
wSGB:: db
@@ -482,8 +519,9 @@ wStringBuffer2:: db ; How long is this? ; cd31
ENDU
-SECTION "CD3E", WRAM0[$CD3D]
+SECTION "CD3C", WRAM0[$CD3C]
+wcd3c:: db ; cd3c
wRegularItemsCursor:: db ; cd3d
wBackpackAndKeyItemsCursor:: db ;cd3e
wStartmenuCursor:: db ; cd3f
@@ -493,7 +531,9 @@ wcd42:: db ; cd42
wcd43:: db ; cd43
wRegularItemsScrollPosition:: db ; cd44
wBackpackAndKeyItemsScrollPosition:: db ; cd45
- ds 3 ; TODO
+wcd46:: ds 1 ; cd46
+wcd47:: ds 1 ; cd47
+wcd48:: ds 1 ; cd48
wMenuScrollPosition:: db ; cd49
wTextDest:: ds 2; cd4a
@@ -523,7 +563,9 @@ wcd5d:: db ; cd5d
db
wChosenStarter:: db ; cd5f
-SECTION "CD72", WRAM0[$CD72]
+SECTION "CD70", WRAM0[$CD70]
+wcd70:: ds 1 ; cd70
+wcd71:: ds 1 ; cd71
wcd72:: dw ; cd72
wcd74:: db ; cd74
wcd75:: db ; cd75
@@ -536,8 +578,7 @@ wWhichPokemon: db ; cd79
SECTION "CD7B", WRAM0[$CD7B]
wHPBarType:: db ; cd7b
-
- ds 1
+wcd7c:: ds 1 ; cd7c
wItemQuantity:: db ; cd7d
wItemQuantityBuffer:: db ; cd7e
@@ -553,7 +594,12 @@ wTalkingTargetType:: db ; cdb0
;bit 0 = has engaged NPC in dialogue
;bit 1 = has engaged sign in dialogue
-SECTION "CDBA", WRAM0[$CDBA]
+wcdb1:: ds 1 ; cdb1
+wcdb2:: ds 1 ; cdb2
+
+SECTION "CDB9", WRAM0[$CDB9]
+
+wcdb9:: ds 1 ; cdb9
wItemAttributeParamBuffer:: db ; cdba
wCurPartyLevel:: db ; cdbb
@@ -593,21 +639,38 @@ wHPBarHPDifference:: dw ; cdcb
wLinkBattleRNs:: ds 10 ; cdcd
wcdd7:: ds 1 ; cdd7
-
- ds 7
-
+wcdd8:: ds 1 ; cdd8
+wcdd9:: ds 1 ; cdd9
+wcdda:: ds 1 ; cdda
+wcddb:: ds 1 ; cddb
+wcddc:: ds 1 ; cddc
+wcddd:: ds 1 ; cddd
+wcdde:: ds 1 ; cdde
wcddf:: ds 1 ; cddf
-
-
-SECTION "CE00", WRAM0[$CE00]
-
+wcde0:: ds 1 ; cde0
+wcde1:: ds 1 ; cde1
+wcde2:: ds 1 ; cde2
+wcde3:: ds 1 ; cde3
+wcde4:: ds 1 ; cde4
+wcde5:: ds 1 ; cde5
+wcde6:: ds 1 ; cde6
+wcde7:: ds 1 ; cde7
+wcde8:: ds 1 ; cde8
+wcde9:: ds 1 ; cde9
+wcdea:: ds 1 ; cdea
+
+
+SECTION "CDFE", WRAM0[$CDFE]
+
+wcdfe:: ds 1 ; cdfe
+wcdff:: ds 1 ; cdff
wBattleMode:: db ; ce00
- db
-wce02:: db ; ce02
- ds 2
-wce05:: db ; ce05
-
-SECTION "CE07", WRAM0[$CE07]
+wce01:: ds 1 ; ce01
+wce02:: ds 1 ; ce02
+wce03:: ds 1 ; ce03
+wce04:: ds 1 ; ce04
+wce05:: ds 1 ; ce05
+wce06:: ds 1 ; ce06
wMonHeader::
@@ -672,23 +735,26 @@ wMonHLearnset:: ; ce1e
flag_array 50 + 5 ; size = 7
ds 1
-SECTION "CE2E", WRAM0[$CE2E]
-wce2e:: db ; ce2e
-wce2f:: db ; ce2f
-wce30:: db ; ce30
-wce31:: db ; ce31
-wce32:: db ; ce32
-wce33:: db ; ce33
-wce34:: db ; ce34
-wce35:: db ; ce35
-wce36:: db ; ce36
+SECTION "CE2D", WRAM0[$CE2D]
+wce2d:: ds 1 ; ce2d
+wce2e:: ds 1 ; ce2e
+wce2f:: ds 1 ; ce2f
+wce30:: ds 1 ; ce30
+wce31:: ds 1 ; ce31
+wce32:: ds 1 ; ce32
+wce33:: ds 1 ; ce33
+wce34:: ds 1 ; ce34
+wce35:: ds 1 ; ce35
+wce36:: ds 1 ; ce36
wNamedObjectIndexBuffer::
wCountSetBitsResult::
wce37:: ; ce37
db
-SECTION "CE3B", WRAM0[$CE3B]
+SECTION "CE3A", WRAM0[$CE3A]
+
+wce3a:: ds 1 ; ce3a
wVBlankSavedROMBank:: ; ce3b
db
@@ -912,6 +978,10 @@ wJoypadFlags:: db ; d4ab
SECTION "wDigWarpNumber", WRAM0[$D4B2]
wDigWarpNumber:: db ; d4b2
+wd4b3:: ds 1 ; d4b3
+wd4b4:: ds 1 ; d4b4
+wd4b5:: ds 1 ; d4b5
+wd4b6:: ds 1 ; d4b6
SECTION "Warp data", WRAM0[$D513]
@@ -1057,6 +1127,31 @@ wAnnonDex:: ds 26 ; d85a
wAnnonID:: ds 1 ; d874
+ ds 13
+
+wd882:: ds 1 ; d882
+
+SECTION "D8A2", WRAM0[$D8A2]
+
+wd8a2:: ds 1 ; d8a2
+
+SECTION "wd8b1", WRAM0[$D8B1]
+
+wd8b1:: ds 1 ; d8b1
+
+ ds 5
+
+wd8b7:: ds 1 ; d8b7
+wd8b8:: ds 1 ; d8b8
+
+SECTION "D8E3", WRAM0[$D8E3]
+
+wd8e3:: ds 1 ; d8e3
+wd8e4:: ds 1 ; d8e4
+
+SECTION "D8FD", WRAM0[$D8FD]
+
+wd8fd:: ds 1 ; d8fd
SECTION "Wild mon buffer", WRAM0[$D91B]
@@ -1072,6 +1167,10 @@ SECTION "DA83", WRAM0[$DA83]
wUnknownListLengthda83:: db ; da83
wUnknownListda84:: db ; da84
+
+SECTION "DF17", WRAM0[$DF17]
+wdf17:: ds 1 ; df17
+
SECTION "Stack Bottom", WRAM0
; Where SP is set at game init