pokecrystal-board/text/types.asm

150 lines
2.0 KiB
NASM
Raw Normal View History

PrintMonTypes: ; 5090d
; Print one or both types of [CurSpecies]
; on the stats screen at hl.
push hl
call GetBaseData
pop hl
push hl
ld a, [BaseType1]
call .Print
; Single-typed monsters really
; have two of the same type.
ld a, [BaseType1]
ld b, a
ld a, [BaseType2]
cp b
pop hl
jr z, .hide_type_2
ld bc, SCREEN_WIDTH
add hl, bc
.Print
ld b, a
jr PrintType
.hide_type_2
; Erase any type name that was here before.
; Seems to be pointless in localized versions.
ld a, " "
ld bc, SCREEN_WIDTH - 3
add hl, bc
ld [hl], a
inc bc
add hl, bc
ld bc, 5
jp ByteFill
; 5093a
PrintMoveType: ; 5093a
; Print the type of move b at hl.
push hl
ld a, b
dec a
ld bc, MOVE_LENGTH
ld hl, Moves
call AddNTimes
ld de, StringBuffer1
ld a, BANK(Moves)
call FarCopyBytes
ld a, [StringBuffer1 + MOVE_TYPE]
pop hl
ld b, a
PrintType: ; 50953
; Print type b at hl.
ld a, b
push hl
add a
ld hl, TypeNames
ld e, a
ld d, 0
add hl, de
ld a, [hli]
ld e, a
ld d, [hl]
pop hl
jp PlaceString
; 50964
GetTypeName: ; 50964
; Copy the name of type [$d265] to StringBuffer1.
ld a, [$d265]
ld hl, TypeNames
ld e, a
ld d, 0
add hl, de
add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
ld de, StringBuffer1
ld bc, 13
jp CopyBytes
; 5097b
TypeNames: ; 5097b
dw Normal
dw Fighting
dw Flying
dw Poison
dw Ground
dw Rock
dw Bird
dw Bug
dw Ghost
dw Steel
dw Normal
dw Normal
dw Normal
dw Normal
dw Normal
dw Normal
dw Normal
dw Normal
dw Normal
dw CurseType
dw Fire
dw Water
dw Grass
dw Electric
dw Psychic
dw Ice
dw Dragon
dw Dark
Normal: db "NORMAL@"
Fighting: db "FIGHTING@"
Flying: db "FLYING@"
Poison: db "POISON@"
CurseType: db "???@"
Fire: db "FIRE@"
Water: db "WATER@"
Grass: db "GRASS@"
Electric: db "ELECTRIC@"
Psychic: db "PSYCHIC@"
Ice: db "ICE@"
Ground: db "GROUND@"
Rock: db "ROCK@"
Bird: db "BIRD@"
Bug: db "BUG@"
Ghost: db "GHOST@"
Steel: db "STEEL@"
Dragon: db "DRAGON@"
Dark: db "DARK@"
; 50a28