pokecrystal/engine/stats_screen.asm

1151 lines
17 KiB
NASM
Raw Normal View History

2015-11-20 04:38:16 +00:00
Function4dc7b: ; 4dc7b (13:5c7b)
ld a, [wLinkMode]
cp LINK_MOBILE
jr nz, StatsScreenInit
ld a, [wBattleMode] ; wd22d (aliases: EnemyMonEnd)
and a
jr z, StatsScreenInit
jr Function4dc8f
StatsScreenInit: ; 4dc8a
ld hl, StatsScreenMain
jr StatsScreenInit_gotaddress
Function4dc8f: ; 4dc8f
ld hl, StatsScreenBattle
jr StatsScreenInit_gotaddress
StatsScreenInit_gotaddress: ; 4dc94
ld a, [hMapAnims]
push af
xor a
ld [hMapAnims], a ; disable overworld tile animations
ld a, [wc2c6] ; whether sprite is to be mirrorred
push af
ld a, [wJumptableIndex]
ld b, a
ld a, [wcf64]
ld c, a
push bc
push hl
call ClearBGPalettes
call ClearTileMap
call UpdateSprites
callba Functionfb53e
pop hl
call _hl_
call ClearBGPalettes
call ClearTileMap
pop bc
; restore old values
ld a, b
ld [wJumptableIndex], a
ld a, c
ld [wcf64], a
pop af
ld [wc2c6], a
pop af
ld [hMapAnims], a
ret
; 0x4dcd2
StatsScreenMain: ; 0x4dcd2
xor a
ld [wJumptableIndex], a
; stupid interns
ld [wcf64], a
ld a, [wcf64]
and $fc
or $1
ld [wcf64], a
.loop ; 4dce3
ld a, [wJumptableIndex]
and $7f
ld hl, StatsScreenPointerTable
rst JumpTable
call Function4dd3a ; check for keys?
ld a, [wJumptableIndex]
bit 7, a
jr z, .loop
ret
; 0x4dcf7
StatsScreenBattle: ; 4dcf7
xor a
ld [wJumptableIndex], a
; stupid interns
ld [wcf64], a
ld a, [wcf64]
and $fc
or $1
ld [wcf64], a
.loop
callba Function100dd2
ld a, [wJumptableIndex]
and $7f
ld hl, StatsScreenPointerTable
rst JumpTable
call Function4dd3a
callba Function100dfd
jr c, .exit
ld a, [wJumptableIndex]
bit 7, a
jr z, .loop
.exit
ret
; 4dd2a
StatsScreenPointerTable: ; 4dd2a
dw MonStatsInit ; regular pokémon
dw EggStatsInit ; egg
dw StatsScreenWaitCry
dw Function4ddac
dw Function4ddc6
dw StatsScreenWaitCry
dw Function4ddd6
dw Function4dd6c
; 4dd3a
Function4dd3a: ; 4dd3a (13:5d3a)
ld hl, wcf64
bit 6, [hl]
jr nz, .asm_4dd49
bit 5, [hl]
jr nz, .asm_4dd56
call DelayFrame
ret
.asm_4dd49
callba Functiond00b4
jr nc, .asm_4dd56
ld hl, wcf64
res 6, [hl]
.asm_4dd56
ld hl, wcf64
res 5, [hl]
callba Function10402d
ret
Function4dd62: ; 4dd62 (13:5d62)
ld a, [wJumptableIndex]
and $80
or h
ld [wJumptableIndex], a
ret
Function4dd6c: ; 4dd6c (13:5d6c)
ld hl, wJumptableIndex
set 7, [hl]
ret
MonStatsInit: ; 4dd72 (13:5d72)
ld hl, wcf64
res 6, [hl]
call ClearBGPalettes
call ClearTileMap
callba Function10402d
call Function4ddf2
ld a, [CurPartySpecies]
cp EGG
jr z, .asm_4dd9b
call Function4deea
ld hl, wcf64
set 4, [hl]
ld h, $4
call Function4dd62
ret
.asm_4dd9b
ld h, $1
call Function4dd62
ret
EggStatsInit: ; 4dda1
call EggStatsScreen
ld a, [wJumptableIndex]
inc a
ld [wJumptableIndex], a
ret
; 0x4ddac
Function4ddac: ; 4ddac (13:5dac)
call Function4de2c
jr nc, .asm_4ddb7
ld h, $0
call Function4dd62
ret
.asm_4ddb7
bit 0, a
jr nz, .asm_4ddc0
and $c3
jp Function4de54
.asm_4ddc0
ld h, $7
call Function4dd62
ret
Function4ddc6: ; 4ddc6 (13:5dc6)
call Function4dfb6
ld hl, wcf64
res 4, [hl]
ld a, [wJumptableIndex]
inc a
ld [wJumptableIndex], a
ret
Function4ddd6: ; 4ddd6 (13:5dd6)
call Function4de2c
jr nc, .asm_4dde1
ld h, $0
call Function4dd62
ret
.asm_4dde1
and $f3
jp Function4de54
StatsScreenWaitCry: ; 4dde6 (13:5de6)
call IsSFXPlaying
ret nc
ld a, [wJumptableIndex]
inc a
ld [wJumptableIndex], a
ret
Function4ddf2: ; 4ddf2 (13:5df2)
ld a, [MonType]
cp BREEDMON
jr nz, .asm_4de10
ld a, [wd018_Mon]
ld [CurSpecies], a
call GetBaseData
ld hl, wd018_Mon
ld de, TempMon
ld bc, PARTYMON_STRUCT_LENGTH
call CopyBytes
jr .asm_4de2a
.asm_4de10
callba CopyPkmnToTempMon
ld a, [CurPartySpecies]
cp EGG
jr z, .asm_4de2a
ld a, [MonType]
cp BOXMON
jr c, .asm_4de2a
callba Function50890
.asm_4de2a
and a
ret
Function4de2c: ; 4de2c (13:5e2c)
call GetJoypad
ld a, [MonType]
cp BREEDMON
jr nz, .notbreedmon
push hl
push de
push bc
callba Functione2f95
pop bc
pop de
pop hl
ld a, [wcf73]
and $c0
jr nz, .set_carry
ld a, [wcf73]
jr .clear_flags
.notbreedmon
ld a, [hJoyPressed]
.clear_flags
and a
ret
.set_carry
scf
ret
Function4de54: ; 4de54 (13:5e54)
push af
ld a, [wcf64]
and $3
ld c, a
pop af
bit 1, a
jp nz, Function4dee4
bit 5, a
jr nz, .asm_4dec7
bit 4, a
jr nz, .asm_4debd
bit 0, a
jr nz, .asm_4deb8
bit 6, a
jr nz, .asm_4dea0
bit 7, a
jr nz, .asm_4de77
jr .asm_4dece
.asm_4de77
ld a, [MonType]
cp BOXMON
jr nc, .asm_4dece
and a
ld a, [PartyCount]
jr z, .asm_4de87
ld a, [OTPartyCount]
.asm_4de87
ld b, a
ld a, [CurPartyMon]
inc a
cp b
jr z, .asm_4dece
ld [CurPartyMon], a
ld b, a
ld a, [MonType]
and a
jr nz, .asm_4dede
ld a, b
inc a
ld [wd0d8], a
jr .asm_4dede
.asm_4dea0
ld a, [CurPartyMon]
and a
jr z, .asm_4dece
dec a
ld [CurPartyMon], a
ld b, a
ld a, [MonType]
and a
jr nz, .asm_4dede
ld a, b
inc a
ld [wd0d8], a
jr .asm_4dede
.asm_4deb8
ld a, c
cp $3
jr z, Function4dee4
.asm_4debd
inc c
ld a, $3
cp c
jr nc, .asm_4decf
ld c, $1
jr .asm_4decf
.asm_4dec7
dec c
jr nz, .asm_4decf
ld c, $3
jr .asm_4decf
.asm_4dece
ret
.asm_4decf
ld a, [wcf64]
and $fc
or c
ld [wcf64], a
ld h, $4
call Function4dd62
ret
.asm_4dede
ld h, $0
call Function4dd62
ret
Function4dee4: ; 4dee4 (13:5ee4)
ld h, $7
call Function4dd62
ret
Function4deea: ; 4deea (13:5eea)
call Function4df45
xor a
ld [hBGMapMode], a
ld a, [CurBaseData] ; wd236 (aliases: BaseDexNo)
ld [wd265], a
ld [CurSpecies], a
hlcoord 8, 0
ld [hl], "№"
inc hl
ld [hl], "."
inc hl
hlcoord 10, 0
lb bc, PRINTNUM_LEADINGZEROS | 1, 3
ld de, wd265
call PrintNum
hlcoord 14, 0
call PrintLevel
ld hl, Unknown_4df77
call Function4e528
call Function4e505
hlcoord 8, 2
call PlaceString
hlcoord 18, 0
call Function4df66
hlcoord 9, 4
ld a, "/"
ld [hli], a
ld a, [CurBaseData] ; wd236 (aliases: BaseDexNo)
ld [wd265], a
call GetPokemonName
call PlaceString
call Function4df8f
call Function4df9b
call Function4dfa6
ret
Function4df45: ; 4df45 (13:5f45)
ld hl, TempMonHP
ld a, [hli]
ld b, a
ld c, [hl]
ld hl, TempMonMaxHP
ld a, [hli]
ld d, a
ld e, [hl]
callba DrawPartyMenuHPBar
ld hl, wcda1
call SetHPPal
ld b, SCGB_03
call GetSGBLayout
call DelayFrame
ret
Function4df66: ; 4df66 (13:5f66)
push hl
callba GetGender
pop hl
ret c
ld a, "♂"
jr nz, .got_gender
ld a, "♀"
.got_gender
ld [hl], a
ret
; 4df77 (13:5f77)
Unknown_4df77: ; 4df77
dw PartyMonNicknames
dw OTPartyMonNicknames
dw sBoxMonNicknames
dw wd002
; 4df7f
Function4df7f: ; 4df7f
hlcoord 7, 0
ld bc, SCREEN_WIDTH
ld d, SCREEN_HEIGHT
.loop
ld a, $31
ld [hl], a
add hl, bc
dec d
jr nz, .loop
ret
; 4df8f
Function4df8f: ; 4df8f (13:5f8f)
hlcoord 0, 7
ld b, SCREEN_WIDTH
ld a, "_"
.loop
ld [hli], a
dec b
jr nz, .loop
ret
Function4df9b: ; 4df9b (13:5f9b)
hlcoord 12, 6
ld [hl], "◀"
hlcoord 19, 6
ld [hl], "▶"
ret
Function4dfa6: ; 4dfa6 (13:5fa6)
ld bc, TempMonDVs
callba CheckShininess
ret nc
hlcoord 19, 0
ld [hl], "<SHINY>"
ret
Function4dfb6: ; 4dfb6 (13:5fb6)
ld a, [CurBaseData] ; wd236 (aliases: BaseDexNo)
ld [wd265], a
ld [CurSpecies], a
xor a
ld [hBGMapMode], a
call Function4dfda
call Function4e002
call Function4dfed
ld hl, wcf64
bit 4, [hl]
jr nz, .asm_4dfd6
call SetPalettes
ret
.asm_4dfd6
call Function4e226
ret
Function4dfda: ; 4dfda (13:5fda)
ld a, [wcf64]
and $3
ld c, a
call Function4e4cd
hlcoord 0, 8
lb bc, 10, 20
call ClearBox
ret
Function4dfed: ; 4dfed (13:5fed)
ld a, [wcf64]
and $3
ld c, a
callba Function8c8a
call DelayFrame
ld hl, wcf64
set 5, [hl]
ret
Function4e002: ; 4e002 (13:6002)
ld a, [wcf64]
and $3
dec a
ld hl, Jumptable_4e00d
rst JumpTable
ret
Jumptable_4e00d: ; 4e00d (13:600d)
dw Function4e013
dw Function4e147
dw Function4e1ae
Function4e013: ; 4e013 (13:6013)
hlcoord 0, 9
ld b, $0
predef DrawPlayerHP
hlcoord 8, 9
ld [hl], $41
ld de, String_4e119
hlcoord 0, 12
call PlaceString
ld a, [TempMonPokerusStatus]
ld b, a
and $f
jr nz, .asm_4e055
ld a, b
and $f0
jr z, .asm_4e03d
hlcoord 8, 8
ld [hl], $e8
.asm_4e03d
ld a, [MonType]
cp $2
jr z, .asm_4e060
hlcoord 6, 13
push hl
ld de, TempMonStatus
predef PlaceStatusString
pop hl
jr nz, .asm_4e066
jr .asm_4e060
.asm_4e055
ld de, String_4e142
hlcoord 1, 13
call PlaceString
jr .asm_4e066
.asm_4e060
ld de, String_4e127
call PlaceString
.asm_4e066
hlcoord 1, 15
predef PrintMonTypes
hlcoord 9, 8
ld de, $14
ld b, $a
ld a, $31
.asm_4e078
ld [hl], a
add hl, de
dec b
jr nz, .asm_4e078
ld de, String_4e12b
hlcoord 10, 9
call PlaceString
hlcoord 17, 14
call Function4e0d3
hlcoord 13, 10
lb bc, 3, 7
ld de, TempMonExp
call PrintNum
call Function4e0e7
hlcoord 13, 13
lb bc, 3, 7
ld de, Buffer1 ; wd1ea (aliases: MagikarpLength)
call PrintNum
ld de, String_4e136
hlcoord 10, 12
call PlaceString
ld de, String_4e13f
hlcoord 14, 14
call PlaceString
hlcoord 11, 16
ld a, [TempMonLevel]
ld b, a
ld de, TempMonExp + 2
predef FillInExpBar
hlcoord 10, 16
ld [hl], $40
hlcoord 19, 16
ld [hl], $41
ret
Function4e0d3: ; 4e0d3 (13:60d3)
ld a, [TempMonLevel]
push af
cp MAX_LEVEL
jr z, .asm_4e0df
inc a
ld [TempMonLevel], a
.asm_4e0df
call PrintLevel
pop af
ld [TempMonLevel], a
ret
Function4e0e7: ; 4e0e7 (13:60e7)
ld a, [TempMonLevel]
cp MAX_LEVEL
jr z, .asm_4e111
inc a
ld d, a
callba CalcExpAtLevel
rept 2
ld hl, TempMonExp + 2
endr
ld a, [$ffb6]
sub [hl]
dec hl
ld [wd1ec], a
ld a, [$ffb5]
sbc [hl]
dec hl
ld [Buffer2], a ; wd1eb (aliases: MovementType)
ld a, [hQuotient]
sbc [hl]
ld [Buffer1], a ; wd1ea (aliases: MagikarpLength)
ret
.asm_4e111
ld hl, Buffer1 ; wd1ea (aliases: MagikarpLength)
xor a
rept 2
ld [hli], a
endr
ld [hl], a
ret
; 4e119 (13:6119)
String_4e119: ; 4e119
db "STATUS/"
next "TYPE/@"
; 4e127
String_4e127: ; 4e127
db "OK @"
; 4e12b
String_4e12b: ; 4e12b
db "EXP POINTS@"
; 4e136
String_4e136: ; 4e136
db "LEVEL UP@"
; 4e13f
String_4e13f: ; 4e13f
db "TO@"
; 4e142
String_4e142: ; 4e142
db "#RUS@"
; 4e147
Function4e147: ; 4e147 (13:6147)
ld de, String_4e1a0
hlcoord 0, 8
call PlaceString
call Function4e189
hlcoord 8, 8
call PlaceString
ld de, String_4e1a9
hlcoord 0, 10
call PlaceString
ld hl, TempMonMoves
ld de, wListMoves_MoveIndicesBuffer
ld bc, NUM_MOVES
call CopyBytes
hlcoord 8, 10
ld a, SCREEN_WIDTH * 2
ld [Buffer1], a
predef ListMoves
hlcoord 12, 11
ld a, $28
ld [Buffer1], a
predef Function50c50
ret
Function4e189: ; 4e189 (13:6189)
ld de, String_4e1a5
ld a, [TempMonItem]
and a
ret z
ld b, a
callba Function28771
ld a, b
ld [wd265], a
call GetItemName
ret
; 4e1a0 (13:61a0)
String_4e1a0: ; 4e1a0
db "ITEM@"
; 4e1a5
String_4e1a5: ; 4e1a5
db "---@"
; 4e1a9
String_4e1a9: ; 4e1a9
db "MOVE@"
; 4e1ae
Function4e1ae: ; 4e1ae (13:61ae)
call Function4e1cc
hlcoord 10, 8
ld de, $14
ld b, $a
ld a, $31
.asm_4e1bb
ld [hl], a
add hl, de
dec b
jr nz, .asm_4e1bb
hlcoord 11, 8
ld bc, $6
predef PrintTempMonStats
ret
Function4e1cc: ; 4e1cc (13:61cc)
ld de, IDNoString
hlcoord 0, 9
call PlaceString
ld de, OTString
hlcoord 0, 12
call PlaceString
hlcoord 2, 10
lb bc, PRINTNUM_LEADINGZEROS | 2, 5
ld de, TempMonID
call PrintNum
ld hl, Unknown_4e216
call Function4e528
call Function4e505
callba CheckNickErrors
hlcoord 2, 13
call PlaceString
ld a, [TempMonCaughtGender]
and a
jr z, .asm_4e215
cp $7f
jr z, .asm_4e215
and $80
ld a, "♂"
jr z, .asm_4e211
ld a, "♀"
.asm_4e211
hlcoord 9, 13
ld [hl], a
.asm_4e215
ret
; 4e216 (13:6216)
Unknown_4e216: ; 4e216
dw PartyMonOT
dw OTPartyMonOT
dw sBoxMonOT
dw wd00d
; 4e21e
IDNoString: ; 4e21e
db $73, "№.@"
OTString: ; 4e222
db "OT/@"
; 4e226
Function4e226: ; 4e226 (13:6226)
ld hl, TempMonDVs
predef GetUnownLetter
call Function4e2ad
jr c, .asm_4e238
and a
jr z, .asm_4e23f
jr .asm_4e246
.asm_4e238
call Function4e271
call SetPalettes
ret
.asm_4e23f
call Function4e253
call SetPalettes
ret
.asm_4e246
call SetPalettes
call Function4e253
ld a, [CurPartySpecies]
call PlayCry2
ret
Function4e253: ; 4e253 (13:6253)
ld hl, wcf64
set 5, [hl]
ld a, [CurPartySpecies]
cp UNOWN
jr z, .asm_4e266
hlcoord 0, 0
call PrepMonFrontpic
ret
.asm_4e266
xor a
ld [wc2c6], a
hlcoord 0, 0
call _PrepMonFrontpic
ret
Function4e271: ; 4e271 (13:6271)
ld a, [CurPartySpecies]
cp UNOWN
jr z, .asm_4e281
ld a, $1
ld [wc2c6], a
call Function4e289
ret
.asm_4e281
xor a
ld [wc2c6], a
call Function4e289
ret
Function4e289: ; 4e289 (13:6289)
ld a, [CurPartySpecies]
call IsAPokemon
ret c
call Function4e307
ld de, VTiles2 tile $00
predef Function5108b
hlcoord 0, 0
ld d, $0
ld e, $2
predef LoadMonAnimation
ld hl, wcf64
set 6, [hl]
ret
Function4e2ad: ; 4e2ad (13:62ad)
ld a, [MonType]
ld hl, .Jumptable
rst JumpTable
ret
.Jumptable: ; 4e2b5 (13:62b5)
dw Function4e2bf
dw Function4e2cf
dw Function4e2d1
dw Function4e2ed
dw Function4e301
Function4e2bf: ; 4e2bf (13:62bf)
ld a, [CurPartyMon]
ld hl, PartyMons ; wdcdf (aliases: PartyMon1, PartyMon1Species)
ld bc, PARTYMON_STRUCT_LENGTH
call AddNTimes
ld b, h
ld c, l
jr Function4e2f2
Function4e2cf: ; 4e2cf (13:62cf)
xor a
ret
Function4e2d1: ; 4e2d1 (13:62d1)
ld hl, sBoxMons
ld bc, PARTYMON_STRUCT_LENGTH
ld a, [CurPartyMon]
call AddNTimes
ld b, h
ld c, l
ld a, BANK(sBoxMons)
call GetSRAMBank
call Function4e2f2
push af
call CloseSRAM
pop af
ret
Function4e2ed: ; 4e2ed (13:62ed)
ld bc, TempMonSpecies ; wd10e (aliases: TempMon)
jr Function4e2f2 ; utterly pointless
Function4e2f2: ; 4e2f2 (13:62f2)
ld a, [CurPartySpecies]
cp EGG
jr z, .egg
call CheckFaintedFrzSlp
jr c, Function4e305
.egg
xor a
scf
ret
Function4e301: ; 4e301 (13:6301)
ld a, $1
and a
ret
Function4e305: ; 4e305 (13:6305)
xor a
ret
Function4e307: ; 4e307 (13:6307)
nop
push hl
push de
push bc
push af
call DelayFrame
ld a, [rVBK]
push af
ld a, $1
ld [rVBK], a
ld de, TextBoxSpaceGFX
lb bc, BANK(TextBoxSpaceGFX), 1
ld hl, VTiles2 tile $7f
call Get2bpp
pop af
ld [rVBK], a
pop af
pop bc
pop de
pop hl
ret
; 4e32a (13:632a)
Unknown_4e32a: ; 4e32a
; A blank tile?
ds 16
; 4e33a
EggStatsScreen: ; 4e33a
xor a
ld [hBGMapMode], a
ld hl, wcda1
call SetHPPal
ld b, SCGB_03
call GetSGBLayout
call Function4df8f
ld de, EggString
hlcoord 8, 1
call PlaceString
ld de, IDNoString
hlcoord 8, 3
call PlaceString
ld de, OTString
hlcoord 8, 5
call PlaceString
ld de, FiveQMarkString
hlcoord 11, 3
call PlaceString
ld de, FiveQMarkString
hlcoord 11, 5
call PlaceString
ld a, [TempMonHappiness] ; egg status
ld de, EggSoonString
cp $6
jr c, .picked
ld de, EggCloseString
cp $b
jr c, .picked
ld de, EggMoreTimeString
cp $29
jr c, .picked
ld de, EggALotMoreTimeString
.picked
hlcoord 1, 9
call PlaceString
ld hl, wcf64
set 5, [hl]
call SetPalettes ; pals
call DelayFrame
hlcoord 0, 0
call PrepMonFrontpic
callba Function10402d
call Function4e497
ld a, [TempMonHappiness]
cp 6
ret nc
ld de, SFX_2_BOOPS
call PlaySFX
ret
; 0x4e3c0
EggString: ; 4e3c0
db "EGG@"
FiveQMarkString: ; 4e3c4
db "?????@"
EggSoonString: ; 0x4e3ca
db "It's making sounds"
next "inside. It's going"
next "to hatch soon!@"
EggCloseString: ; 0x4e3fd
db "It moves around"
next "inside sometimes."
next "It must be close"
next "to hatching.@"
EggMoreTimeString: ; 0x4e43d
db "Wonder what's"
next "inside? It needs"
next "more time, though.@"
EggALotMoreTimeString: ; 0x4e46e
db "This EGG needs a"
next "lot more time to"
next "hatch.@"
; 0x4e497
Function4e497: ; 4e497 (13:6497)
call Function4e2ad
ret nc
ld a, [TempMonHappiness]
ld e, $7
cp $6
jr c, .asm_4e4ab
ld e, $8
cp $b
jr c, .asm_4e4ab
ret
.asm_4e4ab
push de
ld a, $1
ld [wc2c6], a
call Function4e307
ld de, VTiles2 tile $00
predef Function5108b
pop de
hlcoord 0, 0
ld d, $0
predef LoadMonAnimation
ld hl, wcf64
set 6, [hl]
ret
Function4e4cd: ; 4e4cd (13:64cd)
hlcoord 13, 5
ld a, $36
call .load_square
hlcoord 15, 5
ld a, $36
call .load_square
hlcoord 17, 5
ld a, $36
call .load_square
ld a, c
cp $2
ld a, $3a
hlcoord 13, 5
jr c, .load_square
hlcoord 15, 5
jr z, .load_square
hlcoord 17, 5
.load_square: ; 4e4f7 (13:64f7)
push bc
ld [hli], a
inc a
ld [hld], a
ld bc, SCREEN_WIDTH
add hl, bc
inc a
ld [hli], a
inc a
ld [hl], a
pop bc
ret
Function4e505: ; 4e505 (13:6505)
ld de, StringBuffer1
ld bc, PKMN_NAME_LENGTH
jr .okay ; uuterly pointless
.okay
ld a, [MonType]
cp BOXMON
jr nz, .partymon
ld a, BANK(sBoxMonNicknames)
call GetSRAMBank
push de
call CopyBytes
pop de
call CloseSRAM
ret
.partymon
push de
call CopyBytes
pop de
ret
Function4e528: ; 4e528 (13:6528)
ld a, [MonType]
add a
ld c, a
ld b, 0
add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
ld a, [MonType]
cp $3
ret z
ld a, [CurPartyMon]
jp SkipNames
CheckFaintedFrzSlp: ; 4e53f
ld hl, MON_HP
add hl, bc
ld a, [hli]
or [hl]
jr z, .fainted_frz_slp
ld hl, MON_STATUS
add hl, bc
ld a, [hl]
and (1 << FRZ) | SLP
jr nz, .fainted_frz_slp
and a
ret
.fainted_frz_slp
scf
ret
; 4e554