mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-11-16 11:27:33 -08:00
32ed487a47
# Conflicts: # audio/engine.asm # constants/gfx_constants.asm # constants/map_data_constants.asm # constants/pokemon_data_constants.asm # constants/sprite_constants.asm # constants/wram_constants.asm # data/maps/data.asm # engine/battle/ai/scoring.asm # engine/battle/core.asm # engine/battle/effect_commands.asm # engine/battle/misc.asm # engine/battle_anims/getpokeballwobble.asm # engine/breeding.asm # engine/buy_sell_toss.asm # engine/decorations.asm # engine/events/battle_tower/battle_tower.asm # engine/events/battle_tower/rules.asm # engine/events/buena.asm # engine/events/bug_contest/contest_2.asm # engine/events/daycare.asm # engine/events/dratini.asm # engine/events/halloffame.asm # engine/events/happiness_egg.asm # engine/events/kurt.asm # engine/events/lucky_number.asm # engine/events/magnet_train.asm # engine/events/overworld.asm # engine/events/pokerus/pokerus.asm # engine/events/print_unown.asm # engine/events/print_unown_2.asm # engine/events/unown_walls.asm # engine/item_effects.asm # engine/link.asm # engine/mon_menu.asm # engine/player_object.asm # engine/routines/playslowcry.asm # engine/scripting.asm # engine/search.asm # engine/search2.asm # engine/specials.asm # engine/start_menu.asm # engine/timeset.asm # home/battle_vars.asm # home/map.asm # maps/GoldenrodUndergroundSwitchRoomEntrances.asm # maps/IlexForest.asm # maps/KrissHouse2F.asm # maps/Route39Barn.asm # mobile/mobile_12_2.asm # mobile/mobile_40.asm # mobile/mobile_5f.asm # wram.asm
933 lines
13 KiB
NASM
933 lines
13 KiB
NASM
SelectMonFromParty: ; 50000
|
||
call DisableSpriteUpdates
|
||
xor a
|
||
ld [wPartyMenuActionText], a
|
||
call ClearBGPalettes
|
||
call InitPartyMenuLayout
|
||
call WaitBGMap
|
||
call SetPalettes
|
||
call DelayFrame
|
||
call PartyMenuSelect
|
||
call ReturnToMapWithSpeechTextbox
|
||
ret
|
||
; 5001d
|
||
|
||
|
||
SelectTradeOrDayCareMon: ; 5001d
|
||
ld a, b
|
||
ld [wPartyMenuActionText], a
|
||
call DisableSpriteUpdates
|
||
call ClearBGPalettes
|
||
call InitPartyMenuLayout
|
||
call WaitBGMap
|
||
ld b, SCGB_PARTY_MENU
|
||
call GetSGBLayout
|
||
call SetPalettes
|
||
call DelayFrame
|
||
call PartyMenuSelect
|
||
call ReturnToMapWithSpeechTextbox
|
||
ret
|
||
; 5003f
|
||
|
||
InitPartyMenuLayout: ; 5003f
|
||
call LoadPartyMenuGFX
|
||
call InitPartyMenuWithCancel
|
||
call InitPartyMenuGFX
|
||
call WritePartyMenuTilemap
|
||
call PrintPartyMenuText
|
||
ret
|
||
; 5004f
|
||
|
||
LoadPartyMenuGFX: ; 5004f
|
||
call LoadFontsBattleExtra
|
||
callfar InitPartyMenuPalettes ; engine/color.asm
|
||
callfar ClearSpriteAnims2
|
||
ret
|
||
; 5005f
|
||
|
||
|
||
WritePartyMenuTilemap: ; 0x5005f
|
||
ld hl, wOptions
|
||
ld a, [hl]
|
||
push af
|
||
set NO_TEXT_SCROLL, [hl]
|
||
xor a
|
||
ld [hBGMapMode], a
|
||
hlcoord 0, 0
|
||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||
ld a, " "
|
||
call ByteFill ; blank the tilemap
|
||
call GetPartyMenuQualityIndexes
|
||
.loop
|
||
ld a, [hli]
|
||
cp -1
|
||
jr z, .end
|
||
push hl
|
||
ld hl, .Jumptable
|
||
rst JumpTable
|
||
pop hl
|
||
jr .loop
|
||
.end
|
||
pop af
|
||
ld [wOptions], a
|
||
ret
|
||
; 0x50089
|
||
|
||
.Jumptable: ; 50089
|
||
; entries correspond to PARTYMENUQUALITY_* constants
|
||
dw PlacePartyNicknames
|
||
dw PlacePartyHPBar
|
||
dw PlacePartyMenuHPDigits
|
||
dw PlacePartyMonLevel
|
||
dw PlacePartyMonStatus
|
||
dw PlacePartyMonTMHMCompatibility
|
||
dw PlacePartyMonEvoStoneCompatibility
|
||
dw PlacePartyMonGender
|
||
dw PlacePartyMonMobileBattleSelection
|
||
; 5009b
|
||
|
||
PlacePartyNicknames: ; 5009b
|
||
hlcoord 3, 1
|
||
ld a, [wPartyCount]
|
||
and a
|
||
jr z, .end
|
||
ld c, a
|
||
ld b, $0
|
||
.loop
|
||
push bc
|
||
push hl
|
||
push hl
|
||
ld hl, wPartyMonNicknames
|
||
ld a, b
|
||
call GetNick
|
||
pop hl
|
||
call PlaceString
|
||
pop hl
|
||
ld de, 2 * SCREEN_WIDTH
|
||
add hl, de
|
||
pop bc
|
||
inc b
|
||
dec c
|
||
jr nz, .loop
|
||
|
||
.end
|
||
dec hl
|
||
dec hl
|
||
ld de, .CANCEL
|
||
call PlaceString
|
||
ret
|
||
; 500c8
|
||
|
||
.CANCEL: ; 500c8
|
||
db "CANCEL@"
|
||
; 500cf
|
||
|
||
|
||
PlacePartyHPBar: ; 500cf
|
||
xor a
|
||
ld [wSGBPals], a
|
||
ld a, [wPartyCount]
|
||
and a
|
||
ret z
|
||
ld c, a
|
||
ld b, $0
|
||
hlcoord 11, 2
|
||
.loop
|
||
push bc
|
||
push hl
|
||
call PartyMenuCheckEgg
|
||
jr z, .skip
|
||
push hl
|
||
call PlacePartymonHPBar
|
||
pop hl
|
||
ld d, $6
|
||
ld b, $0
|
||
call DrawBattleHPBar
|
||
ld hl, wHPPals
|
||
ld a, [wSGBPals]
|
||
ld c, a
|
||
ld b, $0
|
||
add hl, bc
|
||
call SetHPPal
|
||
ld b, SCGB_PARTY_MENU_HP_PALS
|
||
call GetSGBLayout
|
||
.skip
|
||
ld hl, wSGBPals
|
||
inc [hl]
|
||
pop hl
|
||
ld de, 2 * SCREEN_WIDTH
|
||
add hl, de
|
||
pop bc
|
||
inc b
|
||
dec c
|
||
jr nz, .loop
|
||
ld b, SCGB_PARTY_MENU
|
||
call GetSGBLayout
|
||
ret
|
||
; 50117
|
||
|
||
PlacePartymonHPBar: ; 50117
|
||
ld a, b
|
||
ld bc, PARTYMON_STRUCT_LENGTH
|
||
ld hl, wPartyMon1HP
|
||
call AddNTimes
|
||
ld a, [hli]
|
||
or [hl]
|
||
jr nz, .not_fainted
|
||
xor a
|
||
ld e, a
|
||
ld c, a
|
||
ret
|
||
|
||
.not_fainted
|
||
dec hl
|
||
ld a, [hli]
|
||
ld b, a
|
||
ld a, [hli]
|
||
ld c, a
|
||
ld a, [hli]
|
||
ld d, a
|
||
ld a, [hli]
|
||
ld e, a
|
||
predef ComputeHPBarPixels
|
||
ret
|
||
; 50138
|
||
|
||
PlacePartyMenuHPDigits: ; 50138
|
||
ld a, [wPartyCount]
|
||
and a
|
||
ret z
|
||
ld c, a
|
||
ld b, $0
|
||
hlcoord 13, 1
|
||
.loop
|
||
push bc
|
||
push hl
|
||
call PartyMenuCheckEgg
|
||
jr z, .next
|
||
push hl
|
||
ld a, b
|
||
ld bc, PARTYMON_STRUCT_LENGTH
|
||
ld hl, wPartyMon1HP
|
||
call AddNTimes
|
||
ld e, l
|
||
ld d, h
|
||
pop hl
|
||
push de
|
||
lb bc, 2, 3
|
||
call PrintNum
|
||
pop de
|
||
ld a, "/"
|
||
ld [hli], a
|
||
inc de
|
||
inc de
|
||
lb bc, 2, 3
|
||
call PrintNum
|
||
|
||
.next
|
||
pop hl
|
||
ld de, 2 * SCREEN_WIDTH
|
||
add hl, de
|
||
pop bc
|
||
inc b
|
||
dec c
|
||
jr nz, .loop
|
||
ret
|
||
; 50176
|
||
|
||
PlacePartyMonLevel: ; 50176
|
||
ld a, [wPartyCount]
|
||
and a
|
||
ret z
|
||
ld c, a
|
||
ld b, 0
|
||
hlcoord 8, 2
|
||
.loop
|
||
push bc
|
||
push hl
|
||
call PartyMenuCheckEgg
|
||
jr z, .next
|
||
push hl
|
||
ld a, b
|
||
ld bc, PARTYMON_STRUCT_LENGTH
|
||
ld hl, wPartyMon1Level
|
||
call AddNTimes
|
||
ld e, l
|
||
ld d, h
|
||
pop hl
|
||
ld a, [de]
|
||
cp 100 ; This is distinct from MAX_LEVEL.
|
||
jr nc, .ThreeDigits
|
||
ld a, "<LV>"
|
||
ld [hli], a
|
||
lb bc, PRINTNUM_RIGHTALIGN | 1, 2
|
||
; jr .okay
|
||
.ThreeDigits:
|
||
lb bc, PRINTNUM_RIGHTALIGN | 1, 3
|
||
; .okay
|
||
call PrintNum
|
||
|
||
.next
|
||
pop hl
|
||
ld de, SCREEN_WIDTH * 2
|
||
add hl, de
|
||
pop bc
|
||
inc b
|
||
dec c
|
||
jr nz, .loop
|
||
ret
|
||
; 501b2
|
||
|
||
PlacePartyMonStatus: ; 501b2
|
||
ld a, [wPartyCount]
|
||
and a
|
||
ret z
|
||
ld c, a
|
||
ld b, 0
|
||
hlcoord 5, 2
|
||
.loop
|
||
push bc
|
||
push hl
|
||
call PartyMenuCheckEgg
|
||
jr z, .next
|
||
push hl
|
||
ld a, b
|
||
ld bc, PARTYMON_STRUCT_LENGTH
|
||
ld hl, wPartyMon1Status
|
||
call AddNTimes
|
||
ld e, l
|
||
ld d, h
|
||
pop hl
|
||
call PlaceStatusString
|
||
|
||
.next
|
||
pop hl
|
||
ld de, SCREEN_WIDTH * 2
|
||
add hl, de
|
||
pop bc
|
||
inc b
|
||
dec c
|
||
jr nz, .loop
|
||
ret
|
||
; 501e0
|
||
|
||
PlacePartyMonTMHMCompatibility: ; 501e0
|
||
ld a, [wPartyCount]
|
||
and a
|
||
ret z
|
||
ld c, a
|
||
ld b, 0
|
||
hlcoord 12, 2
|
||
.loop
|
||
push bc
|
||
push hl
|
||
call PartyMenuCheckEgg
|
||
jr z, .next
|
||
push hl
|
||
ld hl, wPartySpecies
|
||
ld e, b
|
||
ld d, 0
|
||
add hl, de
|
||
ld a, [hl]
|
||
ld [wCurPartySpecies], a
|
||
predef CanLearnTMHMMove
|
||
pop hl
|
||
call .PlaceAbleNotAble
|
||
call PlaceString
|
||
|
||
.next
|
||
pop hl
|
||
ld de, SCREEN_WIDTH * 2
|
||
add hl, de
|
||
pop bc
|
||
inc b
|
||
dec c
|
||
jr nz, .loop
|
||
ret
|
||
; 50215
|
||
|
||
.PlaceAbleNotAble: ; 50215
|
||
ld a, c
|
||
and a
|
||
jr nz, .able
|
||
ld de, .string_not_able
|
||
ret
|
||
|
||
.able
|
||
ld de, .string_able
|
||
ret
|
||
; 50221
|
||
|
||
.string_able ; 50221
|
||
db "ABLE@"
|
||
; 50226
|
||
|
||
.string_not_able ; 50226
|
||
db "NOT ABLE@"
|
||
; 5022f
|
||
|
||
|
||
PlacePartyMonEvoStoneCompatibility: ; 5022f
|
||
ld a, [wPartyCount]
|
||
and a
|
||
ret z
|
||
ld c, a
|
||
ld b, 0
|
||
hlcoord 12, 2
|
||
.loop
|
||
push bc
|
||
push hl
|
||
call PartyMenuCheckEgg
|
||
jr z, .next
|
||
push hl
|
||
ld a, b
|
||
ld bc, PARTYMON_STRUCT_LENGTH
|
||
ld hl, wPartyMon1Species
|
||
call AddNTimes
|
||
ld a, [hl]
|
||
dec a
|
||
ld e, a
|
||
ld d, 0
|
||
ld hl, EvosAttacksPointers
|
||
add hl, de
|
||
add hl, de
|
||
call .DetermineCompatibility
|
||
pop hl
|
||
call PlaceString
|
||
|
||
.next
|
||
pop hl
|
||
ld de, 2 * SCREEN_WIDTH
|
||
add hl, de
|
||
pop bc
|
||
inc b
|
||
dec c
|
||
jr nz, .loop
|
||
ret
|
||
; 50268
|
||
|
||
.DetermineCompatibility: ; 50268
|
||
ld de, wStringBuffer1
|
||
ld a, BANK(EvosAttacksPointers)
|
||
ld bc, 2
|
||
call FarCopyBytes
|
||
ld hl, wStringBuffer1
|
||
ld a, [hli]
|
||
ld h, [hl]
|
||
ld l, a
|
||
ld de, wStringBuffer1
|
||
ld a, BANK(EvosAttacks)
|
||
ld bc, 10
|
||
call FarCopyBytes
|
||
ld hl, wStringBuffer1
|
||
.loop2
|
||
ld a, [hli]
|
||
and a
|
||
jr z, .nope
|
||
inc hl
|
||
inc hl
|
||
cp EVOLVE_ITEM
|
||
jr nz, .loop2
|
||
dec hl
|
||
dec hl
|
||
ld a, [wCurItem]
|
||
cp [hl]
|
||
inc hl
|
||
inc hl
|
||
jr nz, .loop2
|
||
ld de, .string_able
|
||
ret
|
||
|
||
.nope
|
||
ld de, .string_not_able
|
||
ret
|
||
; 502a3
|
||
|
||
.string_able ; 502a3
|
||
db "ABLE@"
|
||
; 502a8
|
||
.string_not_able ; 502a8
|
||
db "NOT ABLE@"
|
||
; 502b1
|
||
|
||
|
||
PlacePartyMonGender: ; 502b1
|
||
ld a, [wPartyCount]
|
||
and a
|
||
ret z
|
||
ld c, a
|
||
ld b, 0
|
||
hlcoord 12, 2
|
||
.loop
|
||
push bc
|
||
push hl
|
||
call PartyMenuCheckEgg
|
||
jr z, .next
|
||
ld [wCurPartySpecies], a
|
||
push hl
|
||
ld a, b
|
||
ld [wCurPartyMon], a
|
||
xor a
|
||
ld [wMonType], a
|
||
call GetGender
|
||
ld de, .unknown
|
||
jr c, .got_gender
|
||
ld de, .male
|
||
jr nz, .got_gender
|
||
ld de, .female
|
||
|
||
.got_gender
|
||
pop hl
|
||
call PlaceString
|
||
|
||
.next
|
||
pop hl
|
||
ld de, 2 * SCREEN_WIDTH
|
||
add hl, de
|
||
pop bc
|
||
inc b
|
||
dec c
|
||
jr nz, .loop
|
||
ret
|
||
; 502ee
|
||
|
||
.male ; 502ee
|
||
db "♂…MALE@"
|
||
; 502f5
|
||
|
||
.female ; 502f5
|
||
db "♀…FEMALE@"
|
||
; 502fe
|
||
|
||
.unknown ; 502fe
|
||
db "…UNKNOWN@"
|
||
; 50307
|
||
|
||
|
||
PlacePartyMonMobileBattleSelection: ; 50307
|
||
ld a, [wPartyCount]
|
||
and a
|
||
ret z
|
||
ld c, a
|
||
ld b, 0
|
||
hlcoord 12, 1
|
||
.loop
|
||
push bc
|
||
push hl
|
||
ld de, .String_Sanka_Shinai
|
||
call PlaceString
|
||
pop hl
|
||
ld de, 2 * SCREEN_WIDTH
|
||
add hl, de
|
||
pop bc
|
||
inc b
|
||
dec c
|
||
jr nz, .loop
|
||
ld a, l
|
||
ld e, MON_NAME_LENGTH
|
||
sub e
|
||
ld l, a
|
||
ld a, h
|
||
sbc $0
|
||
ld h, a
|
||
ld de, .String_Kettei_Yameru
|
||
call PlaceString
|
||
ld b, $3
|
||
ld c, $0
|
||
ld hl, wd002
|
||
ld a, [hl]
|
||
.loop2
|
||
push hl
|
||
push bc
|
||
hlcoord 12, 1
|
||
.loop3
|
||
and a
|
||
jr z, .done
|
||
ld de, 2 * SCREEN_WIDTH
|
||
add hl, de
|
||
dec a
|
||
jr .loop3
|
||
|
||
.done
|
||
ld de, .String_Banme
|
||
push hl
|
||
call PlaceString
|
||
pop hl
|
||
pop bc
|
||
push bc
|
||
push hl
|
||
ld a, c
|
||
ld hl, .Strings_1_2_3
|
||
call GetNthString
|
||
ld d, h
|
||
ld e, l
|
||
pop hl
|
||
call PlaceString
|
||
pop bc
|
||
pop hl
|
||
inc hl
|
||
ld a, [hl]
|
||
inc c
|
||
dec b
|
||
ret z
|
||
jr .loop2
|
||
; 5036b
|
||
|
||
.String_Banme: ; 5036b
|
||
db " ばんめ @" ; Place
|
||
; 50372
|
||
.String_Sanka_Shinai: ; 50372
|
||
db "さんかしない@" ; Cancel
|
||
; 50379
|
||
.String_Kettei_Yameru: ; 50379
|
||
db "けってい やめる@" ; Quit
|
||
; 50383
|
||
.Strings_1_2_3: ; 50383
|
||
db "1@", "2@", "3@" ; 1st, 2nd, 3rd
|
||
; 50389
|
||
|
||
|
||
PartyMenuCheckEgg: ; 50389
|
||
ld a, LOW(wPartySpecies)
|
||
add b
|
||
ld e, a
|
||
ld a, HIGH(wPartySpecies)
|
||
adc 0
|
||
ld d, a
|
||
ld a, [de]
|
||
cp EGG
|
||
ret
|
||
; 50396
|
||
|
||
GetPartyMenuQualityIndexes: ; 50396
|
||
ld a, [wPartyMenuActionText]
|
||
and $f0
|
||
jr nz, .skip
|
||
ld a, [wPartyMenuActionText]
|
||
and $f
|
||
ld e, a
|
||
ld d, 0
|
||
ld hl, PartyMenuQualityPointers
|
||
add hl, de
|
||
add hl, de
|
||
ld a, [hli]
|
||
ld h, [hl]
|
||
ld l, a
|
||
ret
|
||
|
||
.skip
|
||
ld hl, PartyMenuQualityPointers.Default
|
||
ret
|
||
; 503b2
|
||
|
||
INCLUDE "data/party_menu_qualities.asm"
|
||
|
||
|
||
InitPartyMenuGFX: ; 503e0
|
||
ld hl, wPartyCount
|
||
ld a, [hli]
|
||
and a
|
||
ret z
|
||
ld c, a
|
||
xor a
|
||
ld [hObjectStructIndexBuffer], a
|
||
.loop
|
||
push bc
|
||
push hl
|
||
ld hl, LoadMenuMonIcon
|
||
ld a, BANK(LoadMenuMonIcon)
|
||
ld e, $0
|
||
rst FarCall
|
||
ld a, [hObjectStructIndexBuffer]
|
||
inc a
|
||
ld [hObjectStructIndexBuffer], a
|
||
pop hl
|
||
pop bc
|
||
dec c
|
||
jr nz, .loop
|
||
callfar PlaySpriteAnimations
|
||
ret
|
||
; 50405
|
||
|
||
InitPartyMenuWithCancel: ; 50405
|
||
; with cancel
|
||
xor a
|
||
ld [wSwitchMon], a
|
||
ld de, PartyMenuAttributes
|
||
call SetMenuAttributes
|
||
ld a, [wPartyCount]
|
||
inc a
|
||
ld [w2DMenuNumRows], a ; list length
|
||
dec a
|
||
ld b, a
|
||
ld a, [wPartyMenuCursor]
|
||
and a
|
||
jr z, .skip
|
||
inc b
|
||
cp b
|
||
jr c, .done
|
||
|
||
.skip
|
||
ld a, 1
|
||
|
||
.done
|
||
ld [wMenuCursorY], a
|
||
ld a, A_BUTTON | B_BUTTON
|
||
ld [wMenuJoypadFilter], a
|
||
ret
|
||
; 5042d
|
||
|
||
InitPartyMenuNoCancel: ; 0x5042d
|
||
; no cancel
|
||
ld de, PartyMenuAttributes
|
||
call SetMenuAttributes
|
||
ld a, [wPartyCount]
|
||
ld [w2DMenuNumRows], a ; list length
|
||
ld b, a
|
||
ld a, [wPartyMenuCursor]
|
||
and a
|
||
jr z, .skip
|
||
inc b
|
||
cp b
|
||
jr c, .done
|
||
.skip
|
||
ld a, 1
|
||
.done
|
||
ld [wMenuCursorY], a
|
||
ld a, A_BUTTON | B_BUTTON
|
||
ld [wMenuJoypadFilter], a
|
||
ret
|
||
; 5044f (14:444f)
|
||
|
||
PartyMenuAttributes: ; 5044f
|
||
; cursor y
|
||
; cursor x
|
||
; num rows
|
||
; num cols
|
||
; bit 6: animate sprites bit 5: wrap around
|
||
; ?
|
||
; distance between items (hi: y, lo: x)
|
||
; allowed buttons (mask)
|
||
db 1, 0
|
||
db 0, 1
|
||
db $60, $00
|
||
dn 2, 0
|
||
db 0
|
||
; 50457
|
||
|
||
PartyMenuSelect: ; 0x50457
|
||
; sets carry if exitted menu.
|
||
call StaticMenuJoypad
|
||
call PlaceHollowCursor
|
||
ld a, [wPartyCount]
|
||
inc a
|
||
ld b, a
|
||
ld a, [wMenuCursorY] ; menu selection?
|
||
cp b
|
||
jr z, .exitmenu ; CANCEL
|
||
ld [wPartyMenuCursor], a
|
||
ld a, [hJoyLast]
|
||
ld b, a
|
||
bit B_BUTTON_F, b
|
||
jr nz, .exitmenu ; B button
|
||
ld a, [wMenuCursorY]
|
||
dec a
|
||
ld [wCurPartyMon], a
|
||
ld c, a
|
||
ld b, $0
|
||
ld hl, wPartySpecies
|
||
add hl, bc
|
||
ld a, [hl]
|
||
ld [wCurPartySpecies], a
|
||
|
||
ld de, SFX_READ_TEXT_2
|
||
call PlaySFX
|
||
call WaitSFX
|
||
and a
|
||
ret
|
||
|
||
.exitmenu
|
||
ld de, SFX_READ_TEXT_2
|
||
call PlaySFX
|
||
call WaitSFX
|
||
scf
|
||
ret
|
||
; 0x5049a
|
||
|
||
|
||
PrintPartyMenuText: ; 5049a
|
||
hlcoord 0, 14
|
||
lb bc, 2, 18
|
||
call TextBox
|
||
ld a, [wPartyCount]
|
||
and a
|
||
jr nz, .haspokemon
|
||
ld de, YouHaveNoPKMNString
|
||
jr .gotstring
|
||
.haspokemon ; 504ae
|
||
ld a, [wPartyMenuActionText]
|
||
and $f ; drop high nibble
|
||
ld hl, PartyMenuStrings
|
||
ld e, a
|
||
ld d, $0
|
||
add hl, de
|
||
add hl, de
|
||
ld a, [hli]
|
||
ld d, [hl]
|
||
ld e, a
|
||
.gotstring ; 504be
|
||
ld a, [wOptions]
|
||
push af
|
||
set 4, a ; disable text delay
|
||
ld [wOptions], a
|
||
hlcoord 1, 16 ; Coord
|
||
call PlaceString
|
||
pop af
|
||
ld [wOptions], a
|
||
ret
|
||
; 0x504d2
|
||
|
||
PartyMenuStrings: ; 0x504d2
|
||
dw ChooseAMonString
|
||
dw UseOnWhichPKMNString
|
||
dw WhichPKMNString
|
||
dw TeachWhichPKMNString
|
||
dw MoveToWhereString
|
||
dw UseOnWhichPKMNString
|
||
dw ChooseAMonString ; Probably used to be ChooseAFemalePKMNString
|
||
dw ChooseAMonString ; Probably used to be ChooseAMalePKMNString
|
||
dw ToWhichPKMNString
|
||
|
||
ChooseAMonString: ; 0x504e4
|
||
db "Choose a #MON.@"
|
||
|
||
UseOnWhichPKMNString: ; 0x504f3
|
||
db "Use on which <PK><MN>?@"
|
||
|
||
WhichPKMNString: ; 0x50504
|
||
db "Which <PK><MN>?@"
|
||
|
||
TeachWhichPKMNString: ; 0x5050e
|
||
db "Teach which <PK><MN>?@"
|
||
|
||
MoveToWhereString: ; 0x5051e
|
||
db "Move to where?@"
|
||
|
||
ChooseAFemalePKMNString: ; 0x5052d
|
||
; unused
|
||
db "Choose a ♀<PK><MN>.@"
|
||
|
||
ChooseAMalePKMNString: ; 0x5053b
|
||
; unused
|
||
db "Choose a ♂<PK><MN>.@"
|
||
|
||
ToWhichPKMNString: ; 0x50549
|
||
db "To which <PK><MN>?@"
|
||
|
||
YouHaveNoPKMNString: ; 0x50556
|
||
db "You have no <PK><MN>!@"
|
||
|
||
PrintPartyMenuActionText: ; 50566
|
||
ld a, [wCurPartyMon]
|
||
ld hl, wPartyMonNicknames
|
||
call GetNick
|
||
ld a, [wPartyMenuActionText]
|
||
and $f
|
||
ld hl, .MenuActionTexts
|
||
call .PrintText
|
||
ret
|
||
; 5057b
|
||
|
||
.MenuActionTexts: ; 5057b
|
||
; entries correspond to PARTYMENUTEXT_* constants
|
||
dw .Text_CuredOfPoison
|
||
dw .Text_BurnWasHealed
|
||
dw .Text_Defrosted
|
||
dw .Text_WokeUp
|
||
dw .Text_RidOfParalysis
|
||
dw .Text_RecoveredSomeHP
|
||
dw .Text_HealthReturned
|
||
dw .Text_Revitalized
|
||
dw .Text_GrewToLevel
|
||
dw .Text_CameToItsSenses
|
||
; 5058f
|
||
|
||
.Text_RecoveredSomeHP: ; 0x5058f
|
||
; recovered @ HP!
|
||
text_jump UnknownText_0x1bc0a2
|
||
db "@"
|
||
; 0x50594
|
||
|
||
.Text_CuredOfPoison: ; 0x50594
|
||
; 's cured of poison.
|
||
text_jump UnknownText_0x1bc0bb
|
||
db "@"
|
||
; 0x50599
|
||
|
||
.Text_RidOfParalysis: ; 0x50599
|
||
; 's rid of paralysis.
|
||
text_jump UnknownText_0x1bc0d2
|
||
db "@"
|
||
; 0x5059e
|
||
|
||
.Text_BurnWasHealed: ; 0x5059e
|
||
; 's burn was healed.
|
||
text_jump UnknownText_0x1bc0ea
|
||
db "@"
|
||
; 0x505a3
|
||
|
||
.Text_Defrosted: ; 0x505a3
|
||
; was defrosted.
|
||
text_jump UnknownText_0x1bc101
|
||
db "@"
|
||
; 0x505a8
|
||
|
||
.Text_WokeUp: ; 0x505a8
|
||
; woke up.
|
||
text_jump UnknownText_0x1bc115
|
||
db "@"
|
||
; 0x505ad
|
||
|
||
.Text_HealthReturned: ; 0x505ad
|
||
; 's health returned.
|
||
text_jump UnknownText_0x1bc123
|
||
db "@"
|
||
; 0x505b2
|
||
|
||
.Text_Revitalized: ; 0x505b2
|
||
; is revitalized.
|
||
text_jump UnknownText_0x1bc13a
|
||
db "@"
|
||
; 0x505b7
|
||
|
||
.Text_GrewToLevel: ; 0x505b7
|
||
; grew to level @ !@ @
|
||
text_jump UnknownText_0x1bc14f
|
||
db "@"
|
||
; 0x505bc
|
||
|
||
.Text_CameToItsSenses: ; 0x505bc
|
||
; came to its senses.
|
||
text_jump UnknownText_0x1bc16e
|
||
db "@"
|
||
; 0x505c1
|
||
|
||
|
||
.PrintText: ; 505c1
|
||
ld e, a
|
||
ld d, 0
|
||
add hl, de
|
||
add hl, de
|
||
ld a, [hli]
|
||
ld h, [hl]
|
||
ld l, a
|
||
ld a, [wOptions]
|
||
push af
|
||
set NO_TEXT_SCROLL, a
|
||
ld [wOptions], a
|
||
call PrintText
|
||
pop af
|
||
ld [wOptions], a
|
||
ret
|
||
; 505da
|