pokecrystal-board/items/item_effects.asm

2733 lines
35 KiB
NASM

MasterBall:
UltraBall:
GreatBall:
PokeBall:
HeavyBall:
LevelBall:
LureBall:
FastBall:
FriendBall:
MoonBall:
LoveBall:
ParkBall: ; e8a2
ld a, [IsInBattle]
dec a
jp nz, Functionf7a0
ld a, [PartyCount]
cp 6
jr nz, .asm_e8c0
ld a, $1
call GetSRAMBank
ld a, [$ad10]
cp $14
call CloseSRAM
jp z, Functionf7dc
.asm_e8c0
xor a
ld [$c64e], a
ld a, [CurItem]
cp $b1
call nz, Functionedfa
ld hl, Options
res 4, [hl]
ld hl, UnknownText_0xf83d
call PrintText
ld a, [EnemyMonCatchRate]
ld b, a
ld a, [BattleType]
cp $3
jp z, .asm_e99c
ld a, [CurItem]
cp $1
jp z, .asm_e99c
ld a, [CurItem]
ld c, a
ld hl, Table_0xec0a
.asm_e8f2
ld a, [hli]
cp $ff
jr z, .asm_e906
cp c
jr z, .asm_e8fe
inc hl
inc hl
jr .asm_e8f2
.asm_e8fe
ld a, [hli]
ld h, [hl]
ld l, a
ld de, .asm_e906
push de
jp [hl]
.asm_e906
ld a, [CurItem]
cp LEVEL_BALL
ld a, b
jp z, .asm_e98e
ld a, b
ld [$ffb6], a
ld hl, EnemyMonHPHi
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, .asm_e940
srl d
rr e
srl d
rr e
srl b
rr c
srl b
rr c
ld a, c
and a
jr nz, .asm_e940
ld c, $1
.asm_e940
ld b, e
push bc
ld a, b
sub c
ld [hMultiplier], a
xor a
ld [hProduct], a
ld [hMultiplicand], a
ld [$ffb5], a
call Multiply
pop bc
ld a, b
ld [hMultiplier], a
ld b, $4
call Divide
ld a, [$ffb6]
and a
jr nz, .asm_e960
ld a, $1
.asm_e960
ld b, a
ld a, [EnemyMonStatus]
and 1 << FRZ | SLP
ld c, 10
jr nz, .asm_e971
and a
ld c, 5
jr nz, .asm_e971
ld c, 0
.asm_e971
ld a, b
add c
jr nc, .asm_e977
ld a, $ff
.asm_e977
ld d, a
push de
ld a, [BattleMonItem]
callba GetItem
ld a, b
cp $46
pop de
ld a, d
jr nz, .asm_e98e
add c
jr nc, .asm_e98e
ld a, $ff
.asm_e98e
ld b, a
ld [MagikarpLength], a
call Random
cp b
ld a, 0
jr z, .asm_e99c
jr nc, .asm_e99f
.asm_e99c
ld a, [EnemyMonSpecies]
.asm_e99f
ld [$c64e], a
ld c, 20
call DelayFrames
ld a, [CurItem]
cp $6
jr c, .asm_e9b0
ld a, POKE_BALL
.asm_e9b0
ld [$c689], a
ld de, ANIM_THROW_POKE_BALL
ld a, e
ld [FXAnimIDLo], a
ld a, d
ld [FXAnimIDHi], a
xor a
ld [hBattleTurn], a
ld [Buffer2], a
ld [$cfca], a
ld a, $37
call Predef
ld a, [$c64e]
and a
jr nz, .asm_e9f5
ld a, [Buffer2]
cp $1
ld hl, UnknownText_0xedb5
jp z, .asm_ebdc
cp $2
ld hl, UnknownText_0xedba
jp z, .asm_ebdc
cp $3
ld hl, UnknownText_0xedbf
jp z, .asm_ebdc
cp $4
ld hl, UnknownText_0xedc4
jp z, .asm_ebdc
.asm_e9f5
ld hl, EnemyMonStatus
ld a, [hli]
push af
inc hl
ld a, [hli]
push af
ld a, [hl]
push af
push hl
ld hl, EnemyMonItem
ld a, [hl]
push af
push hl
ld hl, EnemySubStatus5
ld a, [hl]
push af
set 3, [hl]
bit 3, a
jr nz, .asm_ea13
jr .asm_ea1a
.asm_ea13
ld a, DITTO
ld [TempEnemyMonSpecies], a
jr .asm_ea27
.asm_ea1a
set 3, [hl]
ld hl, $c6f2
ld a, [EnemyMonAtkDefDV]
ld [hli], a
ld a, [EnemyMonSpdSpclDV]
ld [hl], a
.asm_ea27
ld a, [TempEnemyMonSpecies]
ld [CurPartySpecies], a
ld a, [EnemyMonLevel]
ld [CurPartyLevel], a
callba LoadEnemyMon
pop af
ld [EnemySubStatus5], a
pop hl
pop af
ld [hl], a
pop hl
pop af
ld [hld], a
pop af
ld [hld], a
dec hl
pop af
ld [hl], a
ld hl, EnemySubStatus5
bit 3, [hl]
jr nz, .asm_ea67
ld hl, $c735
ld de, EnemyMonMove1
ld bc, $0004
call CopyBytes
ld hl, $c739
ld de, EnemyMonPPMove1
ld bc, $0004
call CopyBytes
.asm_ea67
ld a, [EnemyMonSpecies]
ld [$c64e], a
ld [CurPartySpecies], a
ld [$d265], a
ld a, [BattleType]
cp $3
jp z, .asm_ebd9
callba Function10607f
ld hl, UnknownText_0xedc9
call PrintText
call ClearSprites
ld a, [$d265]
dec a
call CheckCaughtMon
ld a, c
push af
ld a, [$d265]
dec a
call SetSeenAndCaughtMon
pop af
and a
jr nz, .asm_eab7
call Function2ead
jr z, .asm_eab7
ld hl, UnknownText_0xedf0
call PrintText
call ClearSprites
ld a, [EnemyMonSpecies]
ld [$d265], a
ld a, $43
call Predef
.asm_eab7
ld a, [BattleType]
cp $6
jp z, .asm_ebd1
cp $b
jr nz, .asm_eac8
ld hl, $d0ee
set 6, [hl]
.asm_eac8
ld a, [PartyCount]
cp 6
jr z, .asm_eb3c
xor a
ld [MonType], a
call ClearSprites
ld a, $6
call Predef
callba Function4db49
ld a, [CurItem]
cp FRIEND_BALL
jr nz, .asm_eaf8
ld a, [PartyCount]
dec a
ld hl, PartyMon1Happiness
ld bc, PartyMon2 - PartyMon1
call AddNTimes
ld a, 200
ld [hl], a
.asm_eaf8
ld hl, UnknownText_0xedf5
call PrintText
ld a, [CurPartySpecies]
ld [$d265], a
call GetPokemonName
call YesNoBox
jp c, .asm_ebe2
ld a, [PartyCount]
dec a
ld [CurPartyMon], a
ld hl, PartyMon1Nickname
ld bc, PKMN_NAME_LENGTH
call AddNTimes
ld d, h
ld e, l
push de
xor a
ld [MonType], a
ld b, 0
callba Function116c1
call Function4b6
call Functione51
pop hl
ld de, StringBuffer1
call InitName
jp .asm_ebe2
.asm_eb3c
call ClearSprites
ld a, $9
call Predef
callba Function4db83
ld a, $1
call GetSRAMBank
ld a, [$ad10]
cp $14
jr nz, .asm_eb5b
ld hl, $d0ee
set 7, [hl]
.asm_eb5b
ld a, [CurItem]
cp FRIEND_BALL
jr nz, .asm_eb67
ld a, 200
ld [$ad41], a
.asm_eb67
call CloseSRAM
ld hl, UnknownText_0xedf5
call PrintText
ld a, [CurPartySpecies]
ld [$d265], a
call GetPokemonName
call YesNoBox
jr c, .asm_ebaf
xor a
ld [CurPartyMon], a
ld a, BOXMON
ld [MonType], a
ld de, $d050
ld b, $0
callba Function116c1
ld a, $1
call GetSRAMBank
ld hl, $d050
ld de, $b082
ld bc, $000b
call CopyBytes
ld hl, $b082
ld de, StringBuffer1
call InitName
call CloseSRAM
.asm_ebaf
ld a, $1
call GetSRAMBank
ld hl, $b082
ld de, $d050
ld bc, $000b
call CopyBytes
call CloseSRAM
ld hl, UnknownText_0xedeb
call PrintText
call Function4b6
call Functione51
jr .asm_ebe2
.asm_ebd1
callba Functione6ce
jr .asm_ebe2
.asm_ebd9
ld hl, UnknownText_0xedc9
.asm_ebdc
call PrintText
call ClearSprites
.asm_ebe2
ld a, [BattleType]
cp BATTLETYPE_TUTORIAL
ret z
cp 2
ret z
cp 6
jr z, .asm_ec05
ld a, [$c64e]
and a
jr z, .asm_ebfb
call WhiteBGMap
call ClearTileMap
.asm_ebfb
ld hl, NumItems
inc a
ld [$d10c], a
jp TossItem
.asm_ec05
ld hl, $dc79
dec [hl]
ret
; ec0a
Table_0xec0a: ; ec0a
dbw ULTRA_BALL, Function_0xec29
dbw GREAT_BALL, Function_0xec2f
dbw MOON_STONE, Function_0xec2f
dbw HEAVY_BALL, Function_0xec50
dbw LEVEL_BALL, Function_0xed8c
dbw LURE_BALL, Function_0xeccc
dbw FAST_BALL, Function_0xed68
dbw MOON_BALL, Function_0xecdd
dbw LOVE_BALL, Function_0xed12
dbw PARK_BALL, Function_0xec2f
db $ff
; ec29
Function_0xec29: ; ec29
sla b
ret nc
ld b, $ff
ret
; ec2f
Function_0xec2f: ; ec2f
ld a, b
srl a
add b
ld b, a
ret nc
ld b, $ff
ret
; ec38
GetPokedexEntryBank: ; ec38
push hl
push de
ld a, [EnemyMonSpecies]
rlca
rlca
and 3
ld hl, .PokedexEntryBanks
ld d, 0
ld e, a
add hl, de
ld a, [hl]
pop de
pop hl
ret
.PokedexEntryBanks
db BANK(PokedexEntries1)
db BANK(PokedexEntries2)
db BANK(PokedexEntries3)
db BANK(PokedexEntries4)
; ec50
Function_0xec50: ; ec50
ld a, [EnemyMonSpecies]
ld hl, PokedexDataPointerTable
dec a
ld e, a
ld d, 0
add hl, de
add hl, de
ld a, BANK(PokedexDataPointerTable)
call GetFarHalfword
.SkipText
call GetPokedexEntryBank
call GetFarByte
inc hl
cp "@"
jr nz, .SkipText
call GetPokedexEntryBank
push bc
inc hl
inc hl
call GetFarHalfword
srl h
rr l
ld b, h
ld c, l
srl b
rr c
srl b
rr c
srl b
rr c
srl b
rr c
call .asm_ec99
srl b
rr c
call .asm_ec99
ld a, h
pop bc
jr .asm_eca4
.asm_ec99
push bc
ld a, b
cpl
ld b, a
ld a, c
cpl
ld c, a
inc bc
add hl, bc
pop bc
ret
.asm_eca4
ld c, a
cp $4
jr c, .asm_ecbc
ld hl, .table_ecc4
.asm_ecac
ld a, c
cp [hl]
jr c, .asm_ecb4
inc hl
inc hl
jr .asm_ecac
.asm_ecb4
inc hl
ld a, b
add [hl]
ld b, a
ret nc
ld b, $ff
ret
.asm_ecbc
ld a, b
sub 20
ld b, a
ret nc
ld b, $1
ret
.table_ecc4
db 8, 0
db 12, 20
db 16, 30
db 255, 40
; eccc
Function_0xeccc: ; eccc
ld a, [BattleType]
cp $4
ret nz
ld a, b
add a
jr c, .asm_ecd9
add b
jr nc, .asm_ecdb
.asm_ecd9
ld a, $ff
.asm_ecdb
ld b, a
ret
; ecdd
Function_0xecdd: ; ecdd
push bc
ld a, [TempEnemyMonSpecies]
dec a
ld c, a
ld b, 0
ld hl, EvosAttacksPointers
add hl, bc
add hl, bc
ld a, BANK(EvosAttacksPointers)
call GetFarHalfword
pop bc
push bc
ld a, BANK(EvosAttacks)
call GetFarByte
cp EVOLVE_ITEM
pop bc
ret nz
inc hl
inc hl
inc hl
push bc
ld a, BANK(EvosAttacks)
call GetFarByte
cp MOON_STONE + 2 ; BURN_HEAL
pop bc
ret nz
sla b
jr c, .max
sla b
jr nc, .done
.max
ld b, $ff
.done
ret
; ed12
Function_0xed12: ; ed12
ld a, [TempEnemyMonSpecies]
ld c, a
ld a, [TempBattleMonSpecies]
cp c
ret nz
push bc
ld a, [TempBattleMonSpecies]
ld [CurPartySpecies], a
xor a
ld [MonType], a
ld a, [CurBattleMon]
ld [CurPartyMon], a
callba GetGender
jr c, .asm_ed66
ld d, 0
jr nz, .asm_ed39
inc d
.asm_ed39
push de
ld a, [TempEnemyMonSpecies]
ld [CurPartySpecies], a
ld a, WILDMON
ld [MonType], a
callba GetGender
jr c, .asm_ed65
ld d, 0
jr nz, .asm_ed52
inc d
.asm_ed52
ld a, d
pop de
cp d
pop bc
ret nz
sla b
jr c, .asm_ed62
sla b
jr c, .asm_ed62
sla b
ret nc
.asm_ed62
ld b, $ff
ret
.asm_ed65
pop de
.asm_ed66
pop bc
ret
; ed68
Function_0xed68: ; ed68
ld a, [TempEnemyMonSpecies]
ld c, a
ld hl, FleeMons
ld d, 3
.loop
ld a, BANK(FleeMons)
call GetFarByte
inc hl
cp -1
jr z, .next
cp c
jr nz, .next
sla b
jr c, .max
sla b
ret nc
.max
ld b, $ff
ret
.next
dec d
jr nz, .loop
ret
; ed8c
Function_0xed8c: ; ed8c
ld a, [BattleMonLevel]
ld c, a
ld a, [EnemyMonLevel]
cp c
ret nc
sla b
jr c, .asm_eda8
srl c
cp c
ret nc
sla b
jr c, .asm_eda8
srl c
cp c
ret nc
sla b
ret nc
.asm_eda8
ld b, $ff
ret
; edab
UnknownText_0xedab: ; 0xedab
; It dodged the thrown BALL! This #MON can't be caught!
text_jump UnknownText_0x1c5a5a
db "@"
; 0xedb0
UnknownText_0xedb0: ; 0xedb0
; You missed the #MON!
text_jump UnknownText_0x1c5a90
db "@"
; 0xedb5
UnknownText_0xedb5: ; 0xedb5
; Oh no! The #MON broke free!
text_jump UnknownText_0x1c5aa6
db "@"
; 0xedba
UnknownText_0xedba: ; 0xedba
; Aww! It appeared to be caught!
text_jump UnknownText_0x1c5ac3
db "@"
; 0xedbf
UnknownText_0xedbf: ; 0xedbf
; Aargh! Almost had it!
text_jump UnknownText_0x1c5ae3
db "@"
; 0xedc4
UnknownText_0xedc4: ; 0xedc4
; Shoot! It was so close too!
text_jump UnknownText_0x1c5afa
db "@"
; 0xedc9
UnknownText_0xedc9: ; 0xedc9
; Gotcha! @ was caught!@ @
text_jump UnknownText_0x1c5b17
start_asm
; 0xedce
Functionedce: ; edce
call WaitSFX
push bc
ld de, MUSIC_NONE
call PlayMusic
call DelayFrame
ld de, MUSIC_CAPTURE
call PlayMusic
pop bc
ld hl, UnknownText_0xede6
ret
; ede6
UnknownText_0xede6: ; 0xede6
; @
text_jump UnknownText_0x1c5b35
db "@"
; 0xedeb
UnknownText_0xedeb: ; 0xedeb
; was sent to BILL's PC.
text_jump UnknownText_0x1c5b38
db "@"
; 0xedf0
UnknownText_0xedf0: ; 0xedf0
; 's data was newly added to the #DEX.@ @
text_jump UnknownText_0x1c5b53
db "@"
; 0xedf5
UnknownText_0xedf5: ; 0xedf5
; Give a nickname to @ ?
text_jump UnknownText_0x1c5b7f
db "@"
; 0xedfa
; known jump sources: e8c9 (3:68c9), f7a0 (3:77a0)
Functionedfa: ; edfa (3:6dfa)
callba Function2715c
ret
Item06: ; ee01
callba Function91ae1
ret
; ee08
Bicycle: ; ee08
callba Functiond0b3
ret
; ee0f
MoonStone:
FireStone:
Thunderstone:
WaterStone:
LeafStone:
SunStone: ; ee0f
ld b, $5
call Functionf1f9
jp c, .asm_ee38
ld a, PartyMon1Item - PartyMon1
call GetPartyParamLocation
ld a, [hl]
cp EVERSTONE
jr z, .asm_ee35
ld a, $1
ld [$d1e9], a
callba Function421d8
ld a, [$d268]
and a
jr z, .asm_ee35
jp Functionf795
.asm_ee35
call Functionf7f2
.asm_ee38
xor a
ld [$d0ec], a
ret
; ee3d
HpUp:
Protein:
Iron:
Carbos:
Calcium: ; ee3d
ld b, $1
call Functionf1f9
jp c, Functionee9f
call Functioneef5
call Functioneed9
ld a, PartyMon1StatExp - PartyMon1
call GetPartyParamLocation
add hl, bc
ld a, [hl]
cp 100
jr nc, Functionee83
add 10
ld [hl], a
call Functionee8c
call Functioneed9
ld hl, Strings_eeab
add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
ld de, StringBuffer2
ld bc, $000d
call CopyBytes
call Functionf780
ld hl, UnknownText_0xeea6
call PrintText
ld c, $2
callba ChangeHappiness
jp Functionf795
Functionee83: ; ee83
ld hl, UnknownText_0xf81f
call PrintText
jp ClearPalettes
; ee8c
Functionee8c: ; ee8c
ld a, PartyMon1MaxHP - PartyMon1
call GetPartyParamLocation
ld d, h
ld e, l
ld a, PartyMon1HPExp - 1 - PartyMon1
call GetPartyParamLocation
ld b, $1
ld a, $c
jp Predef
; ee9f
Functionee9f: ; ee9f
xor a
ld [$d0ec], a
jp ClearPalettes
; eea6
UnknownText_0xeea6: ; 0xeea6
; 's @ rose.
text_jump UnknownText_0x1c5b9a
db "@"
; 0xeeab
Strings_eeab: ; eeab
dw .health
dw .attack
dw .defense
dw .speed
dw .special
.health db "HEALTH@"
.attack db "ATTACK@"
.defense db "DEFENSE@"
.speed db "SPEED@"
.special db "SPECIAL@"
; eed9
Functioneed9: ; eed9
ld a, [CurItem]
ld hl, Table_eeeb
.next
cp [hl]
inc hl
jr z, .asm_eee6
inc hl
jr .next
.asm_eee6
ld a, [hl]
ld c, a
ld b, 0
ret
; eeeb
Table_eeeb: ; eeeb
db HP_UP, PartyMon1HPExp - PartyMon1StatExp
db PROTEIN, PartyMon1AtkExp - PartyMon1StatExp
db IRON, PartyMon1DefExp - PartyMon1StatExp
db CARBOS, PartyMon1SpdExp - PartyMon1StatExp
db CALCIUM, PartyMon1SpclExp - PartyMon1StatExp
; eef5
Functioneef5: ; eef5
ld a, [CurPartySpecies]
ld [CurSpecies], a
ld [$d265], a
ld a, PartyMon1Level - PartyMon1
call GetPartyParamLocation
ld a, [hl]
ld [CurPartyLevel], a
call GetBaseData
ld a, [CurPartyMon]
ld hl, PartyMon1Nickname
call GetNick
ret
; 0xef14
RareCandy: ; ef14
ld b, $1
call Functionf1f9
jp c, Functionee9f
call Functioneef5
ld a, PartyMon1Level - PartyMon1
call GetPartyParamLocation
ld a, [hl]
cp 100
jp nc, Functionee83
inc a
ld [hl], a
ld [CurPartyLevel], a
push de
ld d, a
callba Function50e47
pop de
ld a, $8
call GetPartyParamLocation
ld a, [hMultiplicand]
ld [hli], a
ld a, [$ffb5]
ld [hli], a
ld a, [$ffb6]
ld [hl], a
ld a, $24
call GetPartyParamLocation
ld a, [hli]
ld b, a
ld c, [hl]
push bc
call Functionee8c
ld a, $25
call GetPartyParamLocation
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
callba Function2709e
ld a, $f8
call Functionf24a
xor a
ld [MonType], a
ld a, $1f
call Predef
ld hl, $c4a9
ld b, 10
ld c, 9
call TextBox
ld hl, $c4bf
ld bc, $0004
ld a, $28
call Predef
call Functiona80
xor a
ld [MonType], a
ld a, [CurPartySpecies]
ld [$d265], a
ld a, $1a
call Predef
xor a
ld [$d1e9], a
callba Function421d8
jp Functionf795
; efad
HealPowder: ; efad
ld b, $1
call Functionf1f9
jp c, Functionf29e
call Functionefda
cp $0
jr nz, .asm_efc9
ld c, $f
callba ChangeHappiness
call Functionf7d6
ld a, $0
.asm_efc9
jp Functionf09e
; efcc
Antidote:
BurnHeal:
IceHeal:
Awakening:
ParlyzHeal:
FullHeal:
Psncureberry:
Przcureberry:
BurntBerry:
IceBerry:
MintBerry:
Miracleberry: ; efcc
ld b, $1
call Functionf1f9
jp c, Functionf29e
Functionefd4: ; efd4
call Functionefda
jp Functionf09e
; efda
; known jump sources: efb5 (3:6fb5), efd4 (3:6fd4)
Functionefda: ; efda (3:6fda)
call Functionf30d
ld a, $1
ret z
call Functionf058
ld a, $20
call GetPartyParamLocation
ld a, [hl]
and c
jr nz, .asm_eff4
call Functionf009
ld a, $1
ret nc
ld b, $f9
.asm_eff4
xor a
ld [hl], a
ld a, b
ld [PartyMenuActionText], a ; $d141
call Functionf030
call Functionf780
call Functionf279
call Functionf795
ld a, $0
ret
; known jump sources: efec (3:6fec)
Functionf009: ; f009 (3:7009)
call Functionf2a6
jr nc, .asm_f01c
ld a, [PlayerSubStatus3] ; $c66a
bit 7, a
jr z, .asm_f01c
ld a, c
cp $ff
jr nz, .asm_f01c
scf
ret
.asm_f01c
and a
ret
; known jump sources: f156 (3:7156), f1c7 (3:71c7)
Functionf01e: ; f01e (3:701e)
call Functionf2a6
ret nc
ld a, $22
call GetPartyParamLocation
ld a, [hli]
ld [BattleMonHP], a ; $c63c
ld a, [hld]
ld [$c63d], a
ret
; known jump sources: effa (3:6ffa), f153 (3:7153)
Functionf030: ; f030 (3:7030)
call Functionf2a6
ret nc
xor a
ld [BattleMonStatus], a ; $c63a
ld hl, PlayerSubStatus5 ; $c66c
res 0, [hl]
ld hl, PlayerSubStatus1 ; $c668
res 0, [hl]
call Functionf058
ld a, c
cp $ff
jr nz, .asm_f04f
ld hl, PlayerSubStatus3 ; $c66a
res 7, [hl]
.asm_f04f
push bc
callba Function0x365d7
pop bc
ret
; known jump sources: efe0 (3:6fe0), f042 (3:7042)
Functionf058: ; f058 (3:7058)
push hl
ld a, [CurItem] ; $d106
ld hl, Table_f071
ld bc, 3
.next
cp [hl]
jr z, .asm_f068
add hl, bc
jr .next
.asm_f068
inc hl
ld b, [hl]
inc hl
ld a, [hl]
ld c, a
cp %11111111
pop hl
ret
; f071 (3:7071)
Table_f071: ; f071
; item, party menu action text, status
db ANTIDOTE, $f0, 1 << PSN
db BURN_HEAL, $f1, 1 << BRN
db ICE_HEAL, $f2, 1 << FRZ
db AWAKENING, $f3, SLP
db PARLYZ_HEAL, $f4, 1 << PAR
db FULL_HEAL, $f6, %11111111
db FULL_RESTORE, $f6, %11111111
db HEAL_POWDER, $f6, %11111111
db PSNCUREBERRY, $f0, 1 << PSN
db PRZCUREBERRY, $f4, 1 << PAR
db BURNT_BERRY, $f2, 1 << FRZ
db ICE_BERRY, $f1, 1 << BRN
db MINT_BERRY, $f3, SLP
db MIRACLEBERRY, $f6, %11111111
db -1, 0, 0
; f09e
; known jump sources: efc9 (3:6fc9), efd7 (3:6fd7), f0c5 (3:70c5), f0d3 (3:70d3), f141 (3:7141), f183 (3:7183), f189 (3:7189), f1a6 (3:71a6)
Functionf09e: ; f09e (3:709e)
ld hl, Jumptable_f0a3
rst JumpTable
ret
; no known jump sources
Jumptable_f0a3: ; f0a3 (3:70a3)
dw Functionf2a2
dw Functionf299
dw Functionf29e
RevivalHerb: ; f0a9
ld b, $1
call Functionf1f9
jp c, Functionf29e
call Functionf0d6
cp 0
jr nz, .asm_f0c5
ld c, $11
callba ChangeHappiness
call Functionf7d6
ld a, 0
.asm_f0c5
jp Functionf09e
; f0c8
Revive:
MaxRevive: ; f0c8
ld b, $1
call Functionf1f9
jp c, Functionf29e
call Functionf0d6
jp Functionf09e
; f0d6
Functionf0d6: ; f0d6
call Functionf30d
ld a, 1
ret nz
ld a, [IsInBattle]
and a
jr z, .asm_f104
ld a, [CurPartyMon]
ld c, a
ld d, 0
ld hl, $c6fc
ld b, CHECK_FLAG
ld a, PREDEF_FLAG
call Predef
ld a, c
and a
jr z, .asm_f104
ld a, [CurPartyMon]
ld c, a
ld hl, $c664
ld b, SET_FLAG
ld a, PREDEF_FLAG
call Predef
.asm_f104
xor a
ld [Danger], a
ld a, [CurItem]
cp REVIVE
jr z, .asm_f114
call Functionf2c3
jr .asm_f117
.asm_f114
call Functionf2ba
.asm_f117
call Functionf1db
ld a, $f7
ld [PartyMenuActionText], a
call Functionf279
call Functionf795
ld a, 0
ret
; f128
FullRestore: ; f128
ld b, 1
call Functionf1f9
jp c, Functionf29e
call Functionf30d
jp z, Functionf299
call Functionf31b
jr c, .asm_f13e
jp Functionefd4
.asm_f13e
call Functionf144
jp Functionf09e
; f144
Functionf144: ; f144
xor a
ld [Danger], a
call Functionf2c3
ld a, PartyMon1Status - PartyMon1
call GetPartyParamLocation
xor a
ld [hli], a
ld [hl], a
call Functionf030
call Functionf01e
call Functionf1db
ld a, $f5
ld [PartyMenuActionText], a
call Functionf279
call Functionf795
ld a, 0
ret
; f16a
BitterBerry: ; f16a
ld hl, PlayerSubStatus3
bit SUBSTATUS_CONFUSED, [hl]
ld a, 1
jr z, .done
res SUBSTATUS_CONFUSED, [hl]
xor a
ld [hBattleTurn], a
call Functionf789
ld hl, ConfusedNoMoreText
call StdBattleTextBox
ld a, 0
.done
jp Functionf09e
; f186
MaxPotion:
HyperPotion:
SuperPotion:
Potion:
FreshWater:
SodaPop:
Lemonade:
MoomooMilk:
Ragecandybar:
BerryJuice:
Berry:
GoldBerry: ; f186
call Functionf1a9
jp Functionf09e
; f18c
Energypowder: ; f18c
ld c, $f
jr Functionf192
; f190
EnergyRoot: ; f190
ld c, $10
; f192
Functionf192: ; f192
push bc
call Functionf1a9
pop bc
cp 0
jr nz, .asm_f1a6
callba ChangeHappiness
call Functionf7d6
ld a, 0
.asm_f1a6
jp Functionf09e
; f1a9
; known jump sources: f186 (3:7186), f193 (3:7193)
Functionf1a9: ; f1a9 (3:71a9)
ld b, 1
call Functionf1f9
ld a, 2
ret c
call Functionf30d
ld a, 1
ret z
call Functionf31b
ld a, 1
ret nc
xor a
ld [Danger], a ; $c2a6
call Functionf395
call Functionf2d1
call Functionf01e
call Functionf1db
ld a, $f5
ld [PartyMenuActionText], a ; $d141
call Functionf279
call Functionf795
ld a, 0
ret
; known jump sources: f117 (3:7117), f159 (3:7159), f1ca (3:71ca), f3f7 (3:73f7), f408 (3:7408)
Functionf1db: ; f1db (3:71db)
push de
ld de, SFX_POTION
call WaitPlaySFX
pop de
ld a, [CurPartyMon] ; $d109
ld hl, $c4ab
ld bc, $28
call AddNTimes
ld a, $2
ld [$d10a], a
ld a, $b
jp Predef
; known jump sources: ee11 (3:6e11), ee3f (3:6e3f), ef16 (3:6f16), efaf (3:6faf), efce (3:6fce), f0ab (3:70ab), f0ca (3:70ca), f12a (3:712a), f1ab (3:71ab), f5c7 (3:75c7)
Functionf1f9: ; f1f9 (3:71f9)
call Functionf20b
ret c
ld a, [CurPartySpecies] ; $d108
cp EGG
jr nz, .asm_f209
call Functionf7e8
scf
ret
.asm_f209
and a
ret
; known jump sources: f1f9 (3:71f9)
Functionf20b: ; f20b (3:720b)
ld a, b
ld [PartyMenuActionText], a ; $d141
push hl
push de
push bc
call WhiteBGMap
call Functionf21c
pop bc
pop de
pop hl
ret
; known jump sources: f215 (3:7215), f41f (3:741f)
Functionf21c: ; f21c (3:721c)
callba Function5004f
callba Function50405
callba Function503e0
callba WritePartyMenuTilemap
callba PrintPartyMenuText
call WaitBGMap
call Function32f9
call DelayFrame
callba PartyMenuSelect
ret
; known jump sources: ef6d (3:6f6d), f28a (3:728a), f40d (3:740d)
Functionf24a: ; f24a (3:724a)
ld [PartyMenuActionText], a ; $d141
ld a, [CurPartySpecies] ; $d108
push af
ld a, [CurPartyMon] ; $d109
push af
push hl
push de
push bc
callba WritePartyMenuTilemap
callba Function50566
call WaitBGMap
call Function32f9
call DelayFrame
pop bc
pop de
pop hl
pop af
ld [CurPartyMon], a ; $d109
pop af
ld [CurPartySpecies], a ; $d108
ret
; known jump sources: f000 (3:7000), f11f (3:711f), f161 (3:7161), f1d2 (3:71d2)
Functionf279: ; f279 (3:7279)
xor a
ld [hBGMapMode], a ; $ff00+$d4
ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
ld bc, TileMapEnd - TileMap
ld a, " "
call ByteFill
ld a, [PartyMenuActionText] ; $d141
call Functionf24a
ld a, $1
ld [hBGMapMode], a ; $ff00+$d4
ld c, $32
call DelayFrames
jp Functiona80
; known jump sources: f133 (3:7133)
Functionf299: ; f299 (3:7299)
call Functionf7f2
jr Functionf2a2
; known jump sources: efb2 (3:6fb2), efd1 (3:6fd1), f0ae (3:70ae), f0cd (3:70cd), f12d (3:712d)
Functionf29e: ; f29e (3:729e)
xor a
ld [$d0ec], a
; known jump sources: f29c (3:729c)
Functionf2a2: ; f2a2 (3:72a2)
call ClearPalettes
ret
; known jump sources: f009 (3:7009), f01e (3:701e), f030 (3:7030)
Functionf2a6: ; f2a6 (3:72a6)
ld a, [IsInBattle] ; $d22d (aliases: EnemyMonEnd)
and a
ret z
ld a, [CurPartyMon] ; $d109
push hl
ld hl, CurBattleMon ; $d0d4
cp [hl]
pop hl
jr nz, .asm_f2b8
scf
ret
.asm_f2b8
xor a
ret
; known jump sources: f114 (3:7114)
Functionf2ba: ; f2ba (3:72ba)
call Functionf36f
srl d
rr e
jr asm_f2c6
; known jump sources: f10f (3:710f), f148 (3:7148), f2f5 (3:72f5)
Functionf2c3: ; f2c3 (3:72c3)
call Functionf36f
asm_f2c6: ; f2c6 (3:72c6)
ld a, $22
call GetPartyParamLocation
ld [hl], d
inc hl
ld [hl], e
jp Functionf328
; known jump sources: f1c4 (3:71c4), f405 (3:7405)
Functionf2d1: ; f2d1 (3:72d1)
ld a, $23
call GetPartyParamLocation
ld a, [hl]
add e
ld [hld], a
ld a, [hl]
adc d
ld [hl], a
jr c, .asm_f2f5
call Functionf328
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, .asm_f2f8
.asm_f2f5
call Functionf2c3
.asm_f2f8
ret
; known jump sources: f3f3 (3:73f3)
Functionf2f9: ; f2f9 (3:72f9)
ld a, $23
call GetPartyParamLocation
ld a, [hl]
sub e
ld [hld], a
ld a, [hl]
sbc d
ld [hl], a
jr nc, .asm_f309
xor a
ld [hld], a
ld [hl], a
.asm_f309
call Functionf328
ret
; known jump sources: efda (3:6fda), f0d6 (3:70d6), f130 (3:7130), f1b1 (3:71b1), f3ed (3:73ed), f402 (3:7402), f432 (3:7432)
Functionf30d: ; f30d (3:730d)
push de
call Functionf35f
call Functionf348
call Functionf356
ld a, d
or e
pop de
ret
; known jump sources: f136 (3:7136), f1b7 (3:71b7), f437 (3:7437)
Functionf31b: ; f31b (3:731b)
call Functionf356
ld h, d
ld l, e
call Functionf36f
ld a, l
sub e
ld a, h
sbc d
ret
; known jump sources: f2ce (3:72ce), f2de (3:72de), f309 (3:7309)
Functionf328: ; f328 (3:7328)
ld a, $22
call GetPartyParamLocation
ld a, [hli]
ld [$d1ef], a
ld a, [hl]
ld [$d1ee], a
ret
; f336 (3:7336)
Functionf336: ; f336
ld a, d
ld [$d1ef], a
ld a, e
ld [$d1ee], a
ret
; f33f
Functionf33f: ; f33f
ld a, [$d1ef]
ld d, a
ld a, [$d1ee]
ld e, a
ret
; f348
; known jump sources: f311 (3:7311)
Functionf348: ; f348 (3:7348)
ld a, $22
call GetPartyParamLocation
ld a, [hli]
ld [$d1ed], a
ld a, [hl]
ld [$d1ec], a
ret
; known jump sources: f314 (3:7314), f31b (3:731b)
Functionf356: ; f356 (3:7356)
ld a, [$d1ed]
ld d, a
ld a, [$d1ec]
ld e, a
ret
; known jump sources: f30e (3:730e)
Functionf35f: ; f35f (3:735f)
push hl
ld a, $24
call GetPartyParamLocation
ld a, [hli]
ld [Buffer2], a ; $d1eb (aliases: MovementType)
ld a, [hl]
ld [Buffer1], a ; $d1ea (aliases: MagikarpLength)
pop hl
ret
; known jump sources: f2ba (3:72ba), f2c3 (3:72c3), f320 (3:7320)
Functionf36f: ; f36f (3:736f)
ld a, [Buffer2] ; $d1eb (aliases: MovementType)
ld d, a
ld a, [Buffer1] ; $d1ea (aliases: MagikarpLength)
ld e, a
ret
; known jump sources: f3f0 (3:73f0), f3fb (3:73fb)
Functionf378: ; f378 (3:7378)
push bc
ld a, $24
call GetPartyParamLocation
ld a, [hli]
ld [hPastLeadingZeroes], a ; $ff00+$b3 (aliases: hDividend, hProduct)
ld a, [hl]
ld [hQuotient], a ; $ff00+$b4 (aliases: hMultiplicand)
ld a, $5
ld [hDivisor], a ; $ff00+$b7 (aliases: hMultiplier)
ld b, $2
call Divide
ld a, [$FF00+$b5]
ld d, a
ld a, [$FF00+$b6]
ld e, a
pop bc
ret
; known jump sources: f1c1 (3:71c1)
Functionf395: ; f395 (3:7395)
push hl
ld a, [CurItem] ; $d106
ld hl, Tablef3af
ld d, a
.next
ld a, [hli]
cp -1
jr z, .asm_f3a9
cp d
jr z, .done
inc hl
inc hl
jr .next
.asm_f3a9
scf
.done
ld e, [hl]
inc hl
ld d, [hl]
pop hl
ret
; f3af (3:73af)
Tablef3af: ; f3af
dbw FRESH_WATER, 50
dbw SODA_POP, 60
dbw LEMONADE, 80
dbw HYPER_POTION, 200
dbw SUPER_POTION, 50
dbw POTION, 20
dbw MAX_POTION, 999
dbw FULL_RESTORE, 999
dbw MOOMOO_MILK, 100
dbw BERRY, 10
dbw GOLD_BERRY, 30
dbw ENERGYPOWDER, 50
dbw ENERGY_ROOT, 200
dbw RAGECANDYBAR, 20
dbw BERRY_JUICE, 20
dbw -1, 0
; f3df
Functionf3df: ; f3df (3:73df)
ld a, [$d0d8]
dec a
ld b, a
call Functionf419
jr c, .asm_f413
ld a, b
ld [CurPartyMon], a ; $d109
call Functionf30d
call Functionf378
call Functionf2f9
push bc
call Functionf1db
pop bc
call Functionf378
ld a, c
ld [CurPartyMon], a ; $d109
call Functionf30d
call Functionf2d1
call Functionf1db
ld a, $f5
call Functionf24a
call Functiona36
.asm_f413
ld a, b
inc a
ld [$d0d8], a
ret
; known jump sources: f3e4 (3:73e4), f448 (3:7448)
Functionf419: ; f419 (3:7419)
push bc
ld a, $1
ld [PartyMenuActionText], a ; $d141
call Functionf21c
pop bc
jr c, .asm_f43e
ld a, [$d0d8]
dec a
ld c, a
ld a, b
cp c
jr z, .asm_f440
ld a, c
ld [CurPartyMon], a ; $d109
call Functionf30d
jr z, .asm_f440
call Functionf31b
jr nc, .asm_f440
xor a
ret
.asm_f43e
scf
ret
.asm_f440
push bc
ld hl, UnknownText_0xf44a
call Function1d67
pop bc
jr Functionf419
; f44a (3:744a)
UnknownText_0xf44a: ; 0xf44a
; That can't be used on this #MON.
text_jump UnknownText_0x1c5bac
db "@"
; 0xf44f
EscapeRope: ; f44f
xor a
ld [$d0ec], a
callba Functioncb95
ld a, [$d0ec]
cp 1
call z, Functionf795
ret
; f462
SuperRepel: ; f462
ld b, 200
jr Function_0xf46c
; f466
MaxRepel: ; f466
ld b, 250
jr Function_0xf46c
; f466
Repel: ; f46a
ld b, 100
; f46c
Function_0xf46c: ; f46c
ld a, [$dca1]
and a
ld hl, UnknownText_0xf47d
jp nz, PrintText
ld a, b
ld [$dca1], a
jp Functionf789
; f47d
UnknownText_0xf47d: ; 0xf47d
; The REPEL used earlier is still in effect.
text_jump UnknownText_0x1c5bcd
db "@"
; 0xf482
XAccuracy: ; f482
ld hl, PlayerSubStatus4
bit 0, [hl]
jp nz, Functionf7ca
set 0, [hl]
jp Functionf789
; f48f
PokeDoll: ; f48f
ld a, [IsInBattle]
dec a
jr nz, .asm_f4a6
inc a
ld [$d232], a
ld a, [$d0ee]
and $c0
or $2
ld [$d0ee], a
jp Functionf789
.asm_f4a6
xor a
ld [$d0ec], a
ret
; f4ab
GuardSpec: ; f4ab
ld hl, PlayerSubStatus4
bit 1, [hl]
jp nz, Functionf7ca
set 1, [hl]
jp Functionf789
; f4b8
DireHit: ; f4b8
ld hl, PlayerSubStatus4
bit 2, [hl]
jp nz, Functionf7ca
set 2, [hl]
jp Functionf789
; f4c5
XAttack:
XDefend:
XSpeed:
XSpecial: ; f4c5
call Functionf789
ld a, [CurItem]
ld hl, Tablef504
.asm_f4ce
cp [hl]
jr z, .asm_f4d5
inc hl
inc hl
jr .asm_f4ce
.asm_f4d5
inc hl
ld b, [hl]
xor a
ld [hBattleTurn], a
ld [AttackMissed], a
ld [$c70d], a
callba Function0x361ef
call WaitSFX
callba BattleCommand8c
callba BattleCommand8e
ld a, [CurBattleMon]
ld [CurPartyMon], a
ld c, $3
callba ChangeHappiness
ret
; f504
Tablef504: ; f504
db X_ATTACK, 0
db X_DEFEND, 1
db X_SPEED, 2
db X_SPECIAL, 3
; f50c
Item38: ; f50c
ld a, [IsInBattle]
and a
jr nz, .asm_f512
.asm_f512
xor a
ld [$d002], a
ld b, $f8
ld hl, PartyMon1Status
call .asm_f554
ld a, [IsInBattle]
cp $1
jr z, .asm_f52b
ld hl, OTPartyMon1Status
call .asm_f554
.asm_f52b
ld hl, BattleMonStatus
ld a, [hl]
and b
ld [hl], a
ld hl, EnemyMonStatus
ld a, [hl]
and b
ld [hl], a
ld a, [$d002]
and a
ld hl, UnknownText_0xf56c
jp z, PrintText
ld hl, UnknownText_0xf576
call PrintText
ld a, [Danger]
and $80
jr nz, .asm_f54e
.asm_f54e
ld hl, UnknownText_0xf571
jp PrintText
.asm_f554
ld de, $0030
ld c, $6
.asm_f559
ld a, [hl]
push af
and $7
jr z, .asm_f564
ld a, $1
ld [$d002], a
.asm_f564
pop af
and b
ld [hl], a
add hl, de
dec c
jr nz, .asm_f559
ret
; f56c
UnknownText_0xf56c: ; 0xf56c
; Played the # FLUTE. Now, that's a catchy tune!
text_jump UnknownText_0x1c5bf9
db "@"
; 0xf571
UnknownText_0xf571: ; 0xf571
; All sleeping #MON woke up.
text_jump UnknownText_0x1c5c28
db "@"
; 0xf576
UnknownText_0xf576: ; 0xf576
; played the # FLUTE.@ @
text_jump UnknownText_0x1c5c44
start_asm
; 0xf57b
Function_0xf57b: ; f57b
ld a, [IsInBattle]
and a
jr nz, .asm_f58c
push de
ld de, SFX_POKEFLUTE
call WaitPlaySFX
call WaitSFX
pop de
.asm_f58c
jp Function13e0
; f58f
BlueCard: ; f58f
ld hl, .bluecardtext
jp Function2012
.bluecardtext
text_jump UnknownText_0x1c5c5e
db "@"
; f59a
CoinCase: ; f59a
ld hl, .coincasetext
jp Function2012
.coincasetext
text_jump UnknownText_0x1c5c7b
db "@"
; f5a5
OldRod: ; f5a5
ld e, $0
jr Function_0xf5b1
; f5a9
GoodRod: ; f5a9
ld e, $1
jr Function_0xf5b1
; f5ad
SuperRod: ; f5ad
ld e, $2
jr Function_0xf5b1
; f5b1
Function_0xf5b1: ; f5b1
callba Functioncf8e
ret
; f5b8
Itemfinder: ; f5b8
callba Function12580
ret
; f5bf
MaxElixer:
PpUp:
Ether:
MaxEther:
Elixer:
Mysteryberry: ; f5bf
ld a, [CurItem]
ld [$d002], a
.asm_f5c5
ld b, $1
call Functionf1f9
jp c, Functionf6e0
.asm_f5cd
ld a, [$d002]
cp MAX_ELIXER
jp z, Functionf6af
cp ELIXER
jp z, Functionf6af
ld hl, UnknownText_0xf725
ld a, [$d002]
cp PP_UP
jr z, .asm_f5e7
ld hl, UnknownText_0xf72a
.asm_f5e7
call PrintText
ld a, [CurMoveNum]
push af
xor a
ld [CurMoveNum], a
ld a, $2
ld [$d235], a
callba Function3e4bc
pop bc
ld a, b
ld [CurMoveNum], a
jr nz, .asm_f5c5
ld hl, PartyMon1Moves
ld bc, PartyMon2 - PartyMon1
call Functionf963
push hl
ld a, [hl]
ld [$d265], a
call GetMoveName
call CopyName1
pop hl
ld a, [$d002]
cp PP_UP
jp nz, Functionf6a7
ld a, [hl]
cp $a6
jr z, .asm_f62f
ld bc, $0015
add hl, bc
ld a, [hl]
cp $c0
jr c, .asm_f637
.asm_f62f
ld hl, UnknownText_0xf72f
call PrintText
jr .asm_f5cd
.asm_f637
ld a, [hl]
add $40
ld [hl], a
ld a, $1
ld [$d265], a
call Functionf84c
call Functionf780
ld hl, UnknownText_0xf734
call PrintText
Functionf64c: ; f64c
call ClearPalettes
jp Functionf795
; f652
Functionf652: ; f652
ld a, [IsInBattle]
and a
jr z, .asm_f66c
ld a, [CurPartyMon]
ld b, a
ld a, [CurBattleMon]
cp b
jr nz, .asm_f66c
ld a, [PlayerSubStatus5]
bit 3, a
jr nz, .asm_f66c
call .asm_f677
.asm_f66c
call Functionf780
ld hl, UnknownText_0xf739
call PrintText
jr Functionf64c
.asm_f677
ld a, [CurPartyMon]
ld hl, PartyMon1Move1
ld bc, $0030
call AddNTimes
ld de, BattleMonMove1
ld b, $4
.asm_f688
ld a, [de]
and a
jr z, .asm_f6a6
cp [hl]
jr nz, .asm_f6a1
push hl
push de
push bc
inc de
inc de
inc de
inc de
inc de
inc de
ld bc, $0015
add hl, bc
ld a, [hl]
ld [de], a
pop bc
pop de
pop hl
.asm_f6a1
inc hl
inc de
dec b
jr nz, .asm_f688
.asm_f6a6
ret
; f6a7
Functionf6a7: ; f6a7
call Functionf6e8
jr nz, Functionf652
jp Functionf6dd
; f6af
Functionf6af: ; f6af
xor a
ld hl, $cfa9
ld [hli], a
ld [hl], a
ld b, $4
.asm_f6b7
push bc
ld hl, PartyMon1Move1
ld bc, $0030
call Functionf963
ld a, [hl]
and a
jr z, .asm_f6ce
call Functionf6e8
jr z, .asm_f6ce
ld hl, $cfaa
inc [hl]
.asm_f6ce
ld hl, $cfa9
inc [hl]
pop bc
dec b
jr nz, .asm_f6b7
ld a, [$cfaa]
and a
jp nz, Functionf652
Functionf6dd: ; f6dd
call Functionf7f2
Functionf6e0: ; f6e0
call ClearPalettes
xor a
ld [$d0ec], a
ret
; f6e8
Functionf6e8: ; f6e8
xor a
ld [MonType], a
call Functionf8ec
ld hl, PartyMon1PP
ld bc, $0030
call Functionf963
ld a, [$d265]
ld b, a
ld a, [hl]
and $3f
cp b
jr nc, .asm_f723
ld a, [$d002]
cp MAX_ELIXER
jr z, .asm_f71d
cp MAX_ETHER
jr z, .asm_f71d
ld c, 5
cp MYSTERYBERRY
jr z, .asm_f715
ld c, 10
.asm_f715
ld a, [hl]
and $3f
add c
cp b
jr nc, .asm_f71d
ld b, a
.asm_f71d
ld a, [hl]
and $c0
or b
ld [hl], a
ret
.asm_f723
xor a
ret
; f725
UnknownText_0xf725: ; 0xf725
; Raise the PP of which move?
text_jump UnknownText_0x1c5c8a
db "@"
; 0xf72a
UnknownText_0xf72a: ; 0xf72a
; Restore the PP of which move?
text_jump UnknownText_0x1c5ca7
db "@"
; 0xf72f
UnknownText_0xf72f: ; 0xf72f
; 's PP is maxed out.
text_jump UnknownText_0x1c5cc6
db "@"
; 0xf734
UnknownText_0xf734: ; 0xf734
; 's PP increased.
text_jump UnknownText_0x1c5cdd
db "@"
; 0xf739
UnknownText_0xf739: ; 0xf739
; PP was restored.
text_jump UnknownText_0x1c5cf1
db "@"
; 0xf73e
Squirtbottle: ; f73e
callba _Squirtbottle
ret
; f745
CardKey: ; f745
callba _CardKey
ret
; f74c
BasementKey: ; f74c
callba _BasementKey
ret
; f753
SacredAsh: ; f753
callba _SacredAsh
ld a, [$d0ec]
cp $1
ret nz
call Functionf795
ret
; f763
NormalBox: ; f763
ld c, $2c
jr Function_0xf769
; f767
GorgeousBox: ; f767
ld c, $2b
; f769
Function_0xf769: ; f769
callba Function26f02
ld hl, UnknownText_0xf778
call PrintText
jp Functionf795
; f778
UnknownText_0xf778: ; 0xf778
text_jump UnknownText_0x1c5d03
db "@"
; 0xf77d
Brightpowder:
Item19:
LuckyPunch:
MetalPowder:
Nugget:
Item2D:
Item32:
ExpShare:
SilverLeaf:
RedScale:
Secretpotion:
SSTicket:
MysteryEgg:
ClearBell:
SilverWing:
QuickClaw:
GoldLeaf:
SoftSand:
SharpBeak:
PoisonBarb:
KingsRock:
RedApricorn:
Tinymushroom:
BigMushroom:
Silverpowder:
BluApricorn:
Item5A:
AmuletCoin:
YlwApricorn:
GrnApricorn:
CleanseTag:
MysticWater:
Twistedspoon:
WhtApricorn:
Blackbelt:
BlkApricorn:
Item64:
PnkApricorn:
Blackglasses:
Slowpoketail:
PinkBow:
Stick:
SmokeBall:
Nevermeltice:
Magnet:
Pearl:
BigPearl:
Everstone:
SpellTag:
GsBall:
MiracleSeed:
ThickClub:
FocusBand:
Item78:
HardStone:
LuckyEgg:
MachinePart:
EggTicket:
LostItem:
Stardust:
StarPiece:
Pass:
Item87:
Item88:
Item89:
Charcoal:
ScopeLens:
Item8D:
Item8E:
MetalCoat:
DragonFang:
Item91:
Leftovers:
Item93:
Item94:
Item95:
DragonScale:
BerserkGene:
Item99:
Item9A:
Item9B:
FlowerMail:
ItemA2:
LightBall:
PolkadotBow:
ItemAB:
UpGrade:
ItemB0:
RainbowWing:
ItemB3: ; f77d
jp Functionf7ed
; f780