diff options
-rw-r--r-- | data/tileset_headers.asm | 1 | ||||
-rwxr-xr-x | engine/dumps/bank03.asm | 5716 | ||||
-rw-r--r-- | pokegold-spaceworld.link | 11 | ||||
-rwxr-xr-x | shim.sym | 34 | ||||
-rw-r--r-- | wram.asm | 169 |
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" @@ -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 @@ -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 |