Merge pull request #56 from earthoul/more-dialogues

IR function complements + relabelling Gift Center, bookshelves, Ishihara scenes, and Pokemon Dome
This commit is contained in:
dannye
2026-02-03 20:39:28 -06:00
committed by GitHub
37 changed files with 4242 additions and 2988 deletions

View File

@@ -330,3 +330,6 @@ DEF DECKCHECKSTRUCT_ENERGY_SURPLUS RB NUM_TYPES ; $15
DEF DECKCHECKSTRUCT_RAINBOW_ENERGY RB ; $1d
DEF DECKCHECKSTRUCT_LENGTH EQU _RS ; $1e
; sending cards
DEF MAX_NUM_CARDS_TO_SEND EQU 60

View File

@@ -7,6 +7,16 @@
const CHALLENGE_CUP_2 ; 1
const CHALLENGE_CUP_3 ; 2
; VAR_GRAND_MASTER_CUP_STATE constants
const_def 1
const GRAND_MASTER_CUP_INACTIVE ; 1
const GRAND_MASTER_CUP_ACTIVE ; 2
const GRAND_MASTER_CUP_ACTIVE_PRIZES_SET ; 3
const GRAND_MASTER_CUP_PLAYING ; 4
DEF GRAND_MASTER_CUP_PLAYED EQU const_value
const GRAND_MASTER_CUP_RESULT_WON ; 5
const GRAND_MASTER_CUP_RESULT_LOST ; 6
; VAR_*_CHALLENGE_CUP_STATE constants
; cup 1 and 2: limited time windows
; cup 3: post-game
@@ -41,10 +51,27 @@ DEF NUM_CHALLENGE_CUP_WINS_FOR_COIN_PRIZE EQU 10
const GRANDMASTERCUP_ISAAC ; 6
const GRANDMASTERCUP_MURRAY ; 7
const GRANDMASTERCUP_RONALD ; 8
DEF NUM_GRANDMASTERCUP_OPPONENT_IDS EQU const_value
DEF NUM_GRANDMASTERCUP_OPPONENT_POOL EQU const_value
DEF NUM_GRANDMASTERCUP_DUELISTS EQU 8
DEF NUM_GRANDMASTERCUP_OPPONENTS EQU NUM_GRANDMASTERCUP_DUELISTS - 1 ; 7
DEF NUM_GRANDMASTERCUP_COMPETITORS EQU 8
DEF NUM_GRANDMASTERCUP_NPC_COMPETITORS EQU NUM_GRANDMASTERCUP_COMPETITORS - 1 ; 7
const_def
const GRANDMASTERCUP_BRACKET_ROUND1_MATCH1 ; 0
const GRANDMASTERCUP_BRACKET_ROUND1_MATCH2 ; 1
const GRANDMASTERCUP_BRACKET_ROUND1_MATCH3 ; 2
const GRANDMASTERCUP_BRACKET_ROUND1_MATCH4 ; 3
const GRANDMASTERCUP_BRACKET_ROUND2_MATCH1 ; 4
const GRANDMASTERCUP_BRACKET_ROUND2_MATCH2 ; 5
const GRANDMASTERCUP_BRACKET_FINAL ; 6
DEF NUM_GRANDMASTERCUP_BRACKET_MATCHES EQU const_value
const_def
const GRANDMASTERCUP_BRACKET_LEFT_WON_F ; 0
const GRANDMASTERCUP_BRACKET_RIGHT_WON_F ; 1
DEF GRANDMASTERCUP_BRACKET_LEFT_WON EQU 1 << GRANDMASTERCUP_BRACKET_LEFT_WON_F ; 1
DEF GRANDMASTERCUP_BRACKET_RIGHT_WON EQU 1 << GRANDMASTERCUP_BRACKET_RIGHT_WON_F ; 2
DEF NUM_TCG_CHALLENGE_CUP_OPPONENT_POOL EQU 44
DEF NUM_GR_CHALLENGE_CUP_OPPONENT_POOL EQU 27
@@ -57,6 +84,10 @@ DEF NUM_GRANDMASTERCUP_PRIZE_POOL EQU 37
const GRANDMASTERCUP_PRIZE_1 ; 1
const GRANDMASTERCUP_PRIZE_2 ; 2
const GRANDMASTERCUP_PRIZE_3 ; 3
DEF NUM_GRANDMASTERCUP_PRIZE_CANDIDATES EQU 4
DEF NUM_GRANDMASTERCUP_PRIZES_TO_RECEIVE EQU 2
DEF GRANDMASTERCUP_PRIZE_SELECTED EQU $ff
DEF NUM_TCG_CHALLENGE_CUP_PRIZE_POOL EQU 17
DEF NUM_GR_CHALLENGE_CUP_PRIZE_POOL EQU 17

View File

@@ -43,6 +43,8 @@ DEF NUM_CHALLENGE_MACHINE_WINS_FOR_COIN_PRIZE EQU 50
; caps for both duels won and sets won
DEF MAX_NUM_CHALLENGE_MACHINE_WIN_RECORD EQU 999
; caps for link duel wins to activate grand master cup
DEF MAX_NUM_LINK_DUEL_WINS_FOR_GRAND_MASTER_CUP EQU 10
; wPlayerDuelVariables or wOpponentDuelVariables constants
DEF DUELVARS_CARD_LOCATIONS EQUS "LOW(wPlayerCardLocations)" ; 00

View File

@@ -69,6 +69,14 @@
const MAILBOXMENU_READ ; 0
const MAILBOXMENU_DELETE ; 1
; gift center menu options
const_def
const GIFTCENTERMENU_SEND_CARDS ; 0
const GIFTCENTERMENU_RECEIVE_CARDS ; 1
const GIFTCENTERMENU_SEND_DECK_CONFIGURATION ; 2
const GIFTCENTERMENU_RECEIVE_DECK_CONFIGURATION ; 3
const GIFTCENTERMENU_QUIT ; 4
; constants for wGlossaryMenu
const_def
const GLOSSARY_GAME_BASICS ; 0

View File

@@ -26,14 +26,6 @@ DEF MAX_NUM_CARDPOP_RECORDS EQU 98
DEF CARDPOP_RECORD_SIZE EQU $20
DEF CARDPOP_RECORD_STATS_SIZE EQU $05
; rJOYP constants to read IR signals
DEF P15 EQU %00100000
DEF P14 EQU %00010000
DEF P13 EQU %00001000
DEF P12 EQU %00000100
DEF P11 EQU %00000010
DEF P10 EQU %00000001
; commands transmitted through IR to be
; executed by the other device
; (see ExecuteReceivedIRCommands)
@@ -53,6 +45,20 @@ DEF NUM_IR_COMMANDS EQU const_value
const IRPARAM_SEND_DECK ; $3
const IRPARAM_RARE_CARD_POP ; $4
; IR magic strings
DEF IR_MAGIC_STRING_TCG2 EQUS "PK2"
DEF IR_ACK_MAGIC_STRING_TCG2 EQUS "OK2"
DEF IR_MAGIC_STRING_SIZE EQU 3
DEF IR_PARAMS_STRUCT_SIZE EQU 4
; IR handshake byte
DEF IR_HANDSHAKE_REQUEST_TCG2 EQU $a5
DEF IR_HANDSHAKE_ACKNOWLEDGE_TCG2 EQU $35
; cf.)
; DEF IR_HANDSHAKE_REQUEST_TCG1 EQU $aa
; DEF IR_HANDSHAKE_ACKNOWLEDGE_TCG1 EQU $33
; serial transfer
DEF SERIAL_OP_DATA_END EQU $ac
DEF SERIAL_OP_DATA_ESCAPE EQU $ca

View File

@@ -334,6 +334,14 @@ DEF NUM_PICS EQU const_value
DEF NPC_NONE EQU -1
; grand masters
const_def
const GRAND_MASTER_COURTNEY ; 0
const GRAND_MASTER_STEVE ; 1
const GRAND_MASTER_JACK ; 2
const GRAND_MASTER_ROD ; 3
DEF NUM_GRAND_MASTERS EQU const_value
; NPCDuelistPointers use this ordering
const_def
const NPC_DUELIST_SAM ; $00

View File

@@ -180,12 +180,12 @@
DEF MAX_NUM_OW_OBJECTS EQU 10
RSRESET
DEF OWOBJSTRUCT_FLAGS RB ; $0
DEF OWOBJSTRUCT_ID RB ; $1
DEF OWOBJSTRUCT_ANIM_PTR RW ; $2
DEF OWOBJSTRUCT_4 RB ; $4
DEF OWOBJSTRUCT_5 RB ; $5
DEF OWOBJSTRUCT_6 RW ; $6
DEF OWOBJSTRUCT_FLAGS RB ; $0
DEF OWOBJSTRUCT_ID RB ; $1
DEF OWOBJSTRUCT_ANIM_PTR RW ; $2
DEF OWOBJSTRUCT_4 RB ; $4
DEF OWOBJSTRUCT_MOVEMENT_BANK RB ; $5
DEF OWOBJSTRUCT_MOVEMENT_PTR RW ; $6
DEF OWOBJSTRUCT_LENGTH EQU _RS
DEF OW_OBJECTS_BUFFER_SIZE EQU MAX_NUM_OW_OBJECTS * OWOBJSTRUCT_LENGTH

View File

@@ -162,11 +162,12 @@
const EVENT_TALKED_TO_TRADE_NPC_FIRE_FORT ; $8e
const EVENT_TALKED_TO_TRADE_NPC_WATER_FORT ; $8f
const EVENT_TALKED_TO_TRADE_NPC_PSYCHIC_STRONGHOLD ; $90
; Misc flags 1
; Misc NPC flags
const EVENT_91 ; $91
const EVENT_92 ; $92
const EVENT_TALKED_TO_SAM ; $93
const EVENT_94 ; $94
; Ishihara flags
const EVENT_TALKED_TO_ISHIHARA ; $95
const EVENT_BATTLED_ISHIHARA ; $96
const EVENT_TALKED_TO_ISHIHARA_POST_GAME ; $97
@@ -209,10 +210,10 @@
; Cage flags
const EVENT_GODAS_ROOM_CAGE_STATE ; $b9
const EVENT_MIDORIS_ROOM_CAGE_STATE ; $ba
const EVENT_BB ; $bb
const EVENT_BC ; $bc
const EVENT_BD ; $bd
; Grand Master flags
const EVENT_TALKED_TO_COURTNEY_POKEMON_DOME ; $bb
const EVENT_TALKED_TO_STEVE_POKEMON_DOME ; $bc
const EVENT_TALKED_TO_JACK_POKEMON_DOME ; $bd
const EVENT_ENTERED_GRAND_MASTER_CUP ; $be
const EVENT_FREED_COURTNEY ; $bf
const EVENT_FREED_STEVE ; $c0
@@ -243,10 +244,11 @@
const EVENT_OPENED_CHEST_FIGHTING_FORT_4 ; $d6
const EVENT_OPENED_CHEST_FIGHTING_FORT_5 ; $d7
const EVENT_OPENED_CHEST_FIGHTING_FORT_BASEMENT ; $d8
; Misc flags 2
; Flyover flag
const EVENT_SHORT_GR_ISLAND_FLYOVER_SEQUENCE ; $d9
const EVENT_BEAT_GRAND_MASTER_CUP ; $da
const EVENT_DB ; $db
; Pokemon Dome Cups flags
const EVENT_WON_FINAL_CUP ; $da
const EVENT_WON_GRAND_MASTER_CUP ; $db
; Ghost Master flags
const EVENT_GHOST_MASTER_STATUES_STATE ; $dc
const EVENT_BATTLED_TOBICHAN ; $dd
@@ -264,9 +266,9 @@
const EVENT_TALKED_TO_BISHOP ; $e8
const EVENT_TALKED_TO_ROOK ; $e9
const EVENT_TALKED_TO_QUEEN ; $ea
; Misc flags 3
; Misc flags
const EVENT_EB ; $eb
const EVENT_EC ; $ec
const EVENT_TALKED_TO_ROD_POKEMON_DOME ; $ec
const EVENT_SET_UNTIL_MAP_RELOAD_1 ; $ed
const EVENT_EE ; $ee
const EVENT_EF ; $ef
@@ -275,7 +277,7 @@
const EVENT_F2 ; $f2
const EVENT_F3 ; $f3
const EVENT_ISHIHARA_CARD_TRADE_STATE ; $f4
const EVENT_F5 ; $f5
const EVENT_ISHIHARA_LOCATION_STATE ; $f5
DEF NUM_EVENT_FLAGS EQU const_value
const_def 1

View File

@@ -1,7 +1,7 @@
const_def
const VAR_00 ; $00
const VAR_01 ; $01
const VAR_02 ; $02
const VAR_ISHIHARA_STATE ; $02
const VAR_03 ; $03
const VAR_TIMES_MET_RONALD ; $04
const VAR_05 ; $05
@@ -11,27 +11,27 @@
const VAR_09 ; $09
const VAR_0A ; $0a
const VAR_0B ; $0b
const VAR_0C ; $0c
const VAR_0D ; $0d
const VAR_0E ; $0e
const VAR_FINAL_CUP_PLAYED_ROUNDS ; $0c
const VAR_GRAND_MASTER_CUP_STATE ; $0d
const VAR_GRANDMASTERCUP_CURRENT_ROUND ; $0e
const VAR_0F ; $0f
const VAR_GRANDMASTERCUP_PRIZE_INDEX_0 ; $10
const VAR_GRANDMASTERCUP_PRIZE_INDEX_1 ; $11
const VAR_GRANDMASTERCUP_PRIZE_INDEX_2 ; $12
const VAR_GRANDMASTERCUP_PRIZE_INDEX_3 ; $13
const VAR_GRANDMASTERCUP_OPPONENT_DECK_0 ; $14
const VAR_GRANDMASTERCUP_OPPONENT_DECK_1 ; $15
const VAR_GRANDMASTERCUP_OPPONENT_DECK_2 ; $16
const VAR_GRANDMASTERCUP_OPPONENT_DECK_3 ; $17
const VAR_GRANDMASTERCUP_OPPONENT_DECK_4 ; $18
const VAR_GRANDMASTERCUP_OPPONENT_DECK_5 ; $19
const VAR_GRANDMASTERCUP_OPPONENT_DECK_6 ; $1a
const VAR_1B ; $1b
const VAR_1C ; $1c
const VAR_1D ; $1d
const VAR_1E ; $1e
const VAR_1F ; $1f
const VAR_20 ; $20
const VAR_GRANDMASTERCUP_ROUND1_NPC1_DECK_ID ; $14, vs player
const VAR_GRANDMASTERCUP_ROUND1_NPC2_DECK_ID ; $15
const VAR_GRANDMASTERCUP_ROUND1_NPC3_DECK_ID ; $16
const VAR_GRANDMASTERCUP_ROUND1_NPC4_DECK_ID ; $17
const VAR_GRANDMASTERCUP_ROUND1_NPC5_DECK_ID ; $18
const VAR_GRANDMASTERCUP_ROUND1_NPC6_DECK_ID ; $19
const VAR_GRANDMASTERCUP_ROUND1_NPC7_DECK_ID ; $1a
const VAR_GRANDMASTERCUP_ROUND2_NPC1_DECK_ID ; $1b, vs player
const VAR_GRANDMASTERCUP_ROUND2_NPC2_DECK_ID ; $1c
const VAR_GRANDMASTERCUP_ROUND2_NPC3_DECK_ID ; $1d
const VAR_GRANDMASTERCUP_FINAL_NPC_DECK_ID ; $1e, vs player
const VAR_GRANDMASTERCUP_GF_GRAND_MASTER_INDEX ; $1f, vs player
const VAR_TIMES_WON_LINK_DUEL_FOR_GRAND_MASTER_CUP ; $20
const VAR_21 ; $21
const VAR_IMAKUNI_BLACK_WIN_COUNT ; $22
const VAR_23 ; $23
@@ -62,3 +62,16 @@
const VAR_NPC_DECK_ID ; $3c
const VAR_DUEL_START_THEME ; $3d
const VAR_3E ; $3e
; VAR_ISHIHARA_STATE values
const_def 1
const ISHIHARA_HELPING_NIKKI ; $1
const ISHIHARA_HELPED_NIKKI ; $2
const ISHIHARA_TRADE_1_DONE ; $3
const ISHIHARA_TRADE_2_DONE ; $4
const ISHIHARA_TRADE_3_DONE ; $5
const ISHIHARA_TALKED_AT_VILLA ; $6
const ISHIHARA_TRADE_4_DONE ; $7
const ISHIHARA_TRADE_5_DONE ; $8
const ISHIHARA_TRADE_6_DONE ; $9
const ISHIHARA_TRADE_7_DONE_COMPLETE ; $a

View File

@@ -252,19 +252,19 @@ BoosterList_cdba:
BoosterList_cdbe:
booster_list BOOSTERS_GIVE_ALL, BOOSTER_PRESENT_FROM_ALL_SETS
BoosterList_cdc1:
BoosterList_Courtney:
booster_list BOOSTERS_GIVE_ALL, BOOSTER_PSYCHIC_BATTLE, BOOSTER_ISLAND_OF_FOSSIL, BOOSTER_BEGINNING_POKEMON
BoosterList_cdc6:
BoosterList_Steve:
booster_list BOOSTERS_GIVE_ALL, BOOSTER_PSYCHIC_BATTLE, BOOSTER_ISLAND_OF_FOSSIL
BoosterList_cdca:
BoosterList_Jack:
booster_list BOOSTERS_GIVE_ALL, BOOSTER_PSYCHIC_BATTLE, BOOSTER_ISLAND_OF_FOSSIL, BOOSTER_LEGENDARY_POWER
BoosterList_cdcf:
booster_list BOOSTERS_GIVE_ALL, BOOSTER_TEAM_ROCKETS_AMBITION, BOOSTER_WE_ARE_TEAM_ROCKET
BoosterList_cdd3:
BoosterList_Ishihara:
booster_list BOOSTERS_GIVE_N, 2, BOOSTER_BEGINNING_POKEMON, BOOSTER_LEGENDARY_POWER, BOOSTER_ISLAND_OF_FOSSIL, BOOSTER_PSYCHIC_BATTLE, BOOSTER_SKY_FLYING_POKEMON, BOOSTER_WE_ARE_TEAM_ROCKET, BOOSTER_TEAM_ROCKETS_AMBITION
BoosterList_cddd:

View File

@@ -47,7 +47,7 @@ WRAMToSRAMMapper_GeneralSave::
wram_sram_map wCoinPage, 1, $00, $ff
wram_sram_map wPauseMenuCursorPosition, 1, $00, $ff
wram_sram_map wMinicomMenuCursorPosition, 1, $00, $ff
wram_sram_map wdc06, 1, $00, $ff
wram_sram_map wGiftCenterMenuCursorPosition, 1, $00, $ff
wram_sram_map wNumMailInQueue, 1, $00, $ff
wram_sram_map wMailQueue, MAIL_QUEUE_BUFFER_SIZE, $00, $ff
wram_sram_map wMailCount, 1, $00, $ff

View File

@@ -1119,16 +1119,11 @@ PrepareMenuGraphics:
call SetupText
ret
; inits the following deck building params from hl:
; wMaxNumCardsAllowed
; wd381
; wSameNameCardsLimit
; wIncludeCardsInDeck
; wDeckConfigurationMenuHandlerFunction
; wDeckConfigurationMenuTransitionTable
; hl = deckbuilding_params source
; inits the 6 params of wDeckBuildingParams from hl
InitDeckBuildingParams:
ld de, wMaxNumCardsAllowed
ld b, 8
ld de, wDeckBuildingParams
ld b, wDeckBuildingParamsEnd - wDeckBuildingParams
.loop
ld a, [hli]
ld [de], a
@@ -1138,12 +1133,9 @@ InitDeckBuildingParams:
ret
DeckBuildingParams:
db DECK_CONFIG_BUFFER_SIZE
db DECK_SIZE
db MAX_NUM_SAME_NAME_CARDS
db TRUE ; whether to include deck cards
dw HandleDeckConfigurationMenu
dw DeckConfigurationMenu_TransitionTable
deckbuilding_params DECK_CONFIG_BUFFER_SIZE, DECK_SIZE, \
MAX_NUM_SAME_NAME_CARDS, TRUE, \
HandleDeckConfigurationMenu, DeckConfigurationMenu_TransitionTable
DeckSelectionMenu:
ld hl, DeckBuildingParams
@@ -1218,7 +1210,7 @@ OpenDeckConfirmationMenu:
call ClearNBytesFromHL
ld a, DECK_SIZE
ld [wTotalCardCount], a
ld [wd381], a
ld [wNumValidDeckSize], a
ld hl, wCardFilterCounts
ld [hl], a
call HandleDeckConfirmationMenu
@@ -1736,9 +1728,55 @@ _DecrementDeckCardsInCollection:
DecrementDeckCardsInCollection:
push hl
jr _DecrementDeckCardsInCollection
; 0x9360
SECTION "Bank 2@5397", ROMX[$5397], BANK[$2]
; like AddDeckToCollection, but takes care to
; check if increasing the collection count would
; go over MAX_AMOUNT_OF_CARD and caps it
; this is because it's used within Gift Center,
; so we cannot assume that the deck configuration
; won't make it go over MAX_AMOUNT_OF_CARD
; hl = deck configuration, with cards to add
AddGiftCenterDeckCardsToCollection:
push hl
ld b, MAX_NUM_CARDS_TO_SEND
.loop_receive
ld e, [hl]
inc hl
ld d, [hl]
call CheckIfCardIDIsZero
jr c, .done
inc hl
push hl
push de
push bc
ld a, ALL_DECKS
call CreateCardCollectionListWithDeckCards
pop bc
pop de
ld hl, wTempCardCollection
add hl, de
ld a, [hl]
cp MAX_AMOUNT_OF_CARD
jr z, .next_card ; capped
ld hl, sCardCollection
add hl, de
call EnableSRAM
ld a, [hl]
cp CARD_NOT_OWNED
jr nz, .incr
; not owned yet
xor a
ld [hl], a
.incr
inc [hl]
call DisableSRAM
.next_card
pop hl
dec b
jr nz, .loop_receive
.done
pop hl
ret
; adds all cards in deck in hl to player's collection
; Enables SRAM (contrary to this function in poketcg1)
@@ -2166,7 +2204,7 @@ HandleDeckBuildScreen:
jr z, .wait_input
xor a
.wait_list_input
ld hl, $5a3a
ld hl, FilteredCardListSelectionParams
call InitializeScrollMenuParameters
ld a, [wNumEntriesInCurFilter]
ld [wNumCardListEntries], a
@@ -2215,16 +2253,16 @@ HandleDeckBuildScreen:
ld [hCurMenuItem], a
ld a, MENU_CANCEL
call PlaySFXConfirmOrCancel
jr .asm_96f3
jr .selection_made
.asm_96a0
call HandleSelectUpAndDownInList
jr c, .loop_input
call HandleScrollListInput
jr c, .asm_96f3
jr c, .selection_made
jr .loop_input
.asm_96ac
.open_card_page
ld a, MENU_CONFIRM
call PlaySFXConfirmOrCancel
ld a, [wNumMenuItems]
@@ -2245,7 +2283,7 @@ HandleDeckBuildScreen:
ld [wTempCardTypeFilter], a
call DrawHorizontalListCursor_Visible
call PrintDeckBuildingCardList
ld hl, $5a3a
ld hl, FilteredCardListSelectionParams
call InitializeScrollMenuParameters
ld a, [wTempScrollMenuNumVisibleItems]
ld [wNumMenuItems], a
@@ -2253,13 +2291,13 @@ HandleDeckBuildScreen:
ld [wTempCardTypeFilter], a
jp .loop_input
.asm_96f3
.selection_made
call DrawListCursor_Invisible
ld a, [wTempCardTypeFilter]
ld [wTempCurMenuItem], a
ld a, [hCurMenuItem]
cp $ff
jr nz, .asm_96ac
jr nz, .open_card_page
ld hl, FiltersCardSelectionParams
call InitializeScrollMenuParameters
ld a, [wCurCardTypeFilter]
@@ -2718,7 +2756,8 @@ CheckIfThereAreAnyBasicCardsInDeck:
FiltersCardSelectionParams:
scrollmenu_params 1, 1, 0, 2, NUM_FILTERS, SYM_CURSOR_D, SYM_SPACE, NULL
SECTION "Bank 2@5a43", ROMX[$5a43], BANK[$2]
FilteredCardListSelectionParams:
scrollmenu_params 0, 7, 2, 0, NUM_FILTERED_LIST_VISIBLE_CARDS, SYM_CURSOR_R, SYM_SPACE, NULL
DeckConfigurationMenu_TransitionTable:
cursor_transition $10, $20, $00, $03, $03, $01, $02
@@ -2860,7 +2899,7 @@ PrintSlashSixty:
ld [hli], a
ld a, SYM_SLASH
ld [hli], a
ld a, [wd381]
ld a, [wNumValidDeckSize]
call ConvertToNumericalDigits
ld [hl], TX_END
call InitTextPrinting
@@ -4870,10 +4909,123 @@ GetCardTypeIconPalette:
db ICON_TILE_STAGE_2_POKEMON, 2
db ICON_TILE_TRAINER, 3
db $00, $ff
; 0xa603
SECTION "Bank 2@66ef", ROMX[$66ef], BANK[$2]
; uses deck builder ui
HandleGiftCenterSendCardsScreen:
ld hl, wCurDeckCards
ld a, $81
call ClearNBytesFromHL
ld a, $ff
ld [wCurDeck], a
ld hl, .title_text
ld de, wCurDeckName
call CopyListFromHLToDE
ld hl, .params
call InitDeckBuildingParams
ld a, $01
ld [wd121], a
call HandleDeckBuildScreen
ret
; too verbose
.title_text
hiragana "あ"
hiragana "げ"
hiragana "る"
katakana "カ"
katakana "ー"
katakana "ド"
hiragana "い"
hiragana "ち"
hiragana "ら"
hiragana "ん"
done
.params
deckbuilding_params MAX_NUM_CARDS_TO_SEND, MAX_NUM_CARDS_TO_SEND, \
MAX_NUM_CARDS_TO_SEND, FALSE, \
HandleGiftCenterSendCardsMenu, SendCards_TransitionTable
SendCards_TransitionTable:
cursor_transition $10, $20, $00, $00, $00, $01, $02
cursor_transition $48, $20, $00, $01, $01, $02, $00
cursor_transition $80, $20, $00, $02, $02, $00, $01
SendCards_MenuData:
textitem 2, 2, DeckBuildingConfirmText
textitem 9, 2, SendText
textitem 16, 2, CancelDeckText
textitems_end
HandleGiftCenterSendCardsMenu:
ld de, 0
lb bc, 20, 6
call DrawRegularTextBox
ld hl, SendCards_MenuData
call PlaceTextItems
ld a, $ff
ld [wd0c4], a
.loop_input
ld a, TRUE
ld [wVBlankOAMCopyToggle], a
call DoFrame
call HandleMultiDirectionalMenu
jr nc, .loop_input
ld [wd11d], a
cp $ff
jr nz, .confirm
call DrawCardTypeIconsAndPrintCardCounts
ld a, [wTempCurMenuItem]
ld [wTempCardTypeFilter], a
ld a, [wCurCardTypeFilter]
call PrintFilteredCardList
jp HandleDeckBuildScreen.skip_draw
.confirm
ld hl, .function_table
call JumpToFunctionInTable
jp OpenDeckConfigurationMenu.skip_init
.function_table
dw ConfirmDeckConfiguration
dw .Send
dw .Cancel
.Send:
ld a, [wCurDeckCards]
or a
jr nz, .skip_high
ld a, [wCurDeckCards + 1]
or a
jr z, .Cancel
.skip_high
xor a
ld [wScrollMenuScrollOffset], a
ld hl, GiftCenter_CardSelectionParams
call InitializeScrollMenuParameters
ld hl, wCurDeckCards
ld de, wTempSavedDeckCards
ld b, $82
call CopyBBytesFromHLToDE_Bank02
call PrintCardsToSendToPlayerText
call Func_b81d
call EnableLCD
ldtx hl, SendTheseCardsToPlayerPromptText
call YesOrNoMenuWithText
jr nc, .done
add sp, $02
jp HandleDeckBuildScreen.skip_count
.done
add sp, $02
scf
ret
.Cancel:
add sp, $02
or a
ret
; black box
Func_a6ef:
xor a
ld [wScrollMenuScrollOffset], a
@@ -4881,11 +5033,11 @@ Func_a6ef:
ld de, wTempSavedDeckCards
ld b, $82
call CopyBBytesFromHLToDE_Bank02
call Func_b90c
call EmptyScreenAndDrawTextBox
call Func_b81d
ret
Func_a705:
HandleBlackBoxSendCardsScreen:
ld hl, wCurDeckCards
ld a, $81
call ClearNBytesFromHL
@@ -4893,15 +5045,60 @@ Func_a705:
ld [wCurDeck], a
ld hl, wCurDeckName
ld [hl], TX_END
ld hl, $6726
ld hl, .params
call InitDeckBuildingParams
ld a, $01
ld [wd121], a
call HandleDeckBuildScreen
ret
; 0xa726
SECTION "Bank 2@677f", ROMX[$677f], BANK[$2]
.params
deckbuilding_params MAX_NUM_BLACK_BOX_INPUT, MAX_NUM_BLACK_BOX_INPUT, \
MAX_NUM_BLACK_BOX_INPUT, FALSE, \
HandleBlackBoxSendCardsMenu, SendCards_TransitionTable
HandleBlackBoxSendCardsMenu:
ld de, 0
lb bc, 20, 6
call DrawRegularTextBox
ld hl, SendCards_MenuData
call PlaceTextItems
ld a, $ff
ld [wd0c4], a
.loop_input
ld a, TRUE
ld [wVBlankOAMCopyToggle], a
call DoFrame
call HandleMultiDirectionalMenu
jr nc, .loop_input
ld [wd11d], a
cp $ff
jr nz, .confirm
call DrawCardTypeIconsAndPrintCardCounts
ld a, [wTempCurMenuItem]
ld [wTempCardTypeFilter], a
ld a, [wCurCardTypeFilter]
call PrintFilteredCardList
jp HandleDeckBuildScreen.skip_draw
.confirm
ld hl, .function_table
call JumpToFunctionInTable
jp OpenDeckConfigurationMenu.skip_init
.function_table:
dw ConfirmDeckConfiguration
dw .Done
dw .Cancel
.Done
add sp, $02
or a
ret
.Cancel
add sp, $02
scf
ret
CopyBBytesFromHLToDE_Bank02:
.loop
@@ -4912,7 +5109,7 @@ CopyBBytesFromHLToDE_Bank02:
jr nz, .loop
ret
Func_a786:
HandlePlayersCardsScreen:
call WriteCardListsTerminatorBytes
call PrintPlayersCardsHeaderInfo
xor a
@@ -4923,41 +5120,46 @@ Func_a786:
xor a
ld hl, FiltersCardSelectionParams
call InitializeScrollMenuParameters
.asm_a7a0
.wait_input
call DoFrame
ld a, [wCurCardTypeFilter]
ld b, a
ld a, [wTempCardTypeFilter]
cp b
jr z, .asm_a7ca
jr z, .check_d_down
ld [wCurCardTypeFilter], a
ld hl, wScrollMenuScrollOffset
ld [hl], $00
call PrintFilteredCardSelectionList
ld hl, hffbb
ld [hl], $01
call PrintPlayersCardsText
ld hl, hffbb
ld [hl], $00
ld a, $09
ld a, NUM_FILTERS
ld [wNumMenuItems], a
.asm_a7ca
.check_d_down
ldh a, [hDPadHeld]
and PAD_DOWN
jr z, .asm_a7d5
jr z, .no_d_down
call ConfirmSelectionAndReturnCarry
jr .asm_a7e2
.asm_a7d5
jr .jump_to_list
.no_d_down
call HandleCardSelectionInput
jr nc, .asm_a7a0
jr nc, .wait_input
ld a, [hCurMenuItem]
cp $ff
jr nz, .asm_a7e2
cp $ff ; cancelled
jr nz, .jump_to_list
ret
.asm_a7e2
.jump_to_list
ld a, [wNumEntriesInCurFilter]
or a
jr z, .asm_a7a0
jr z, .wait_input
xor a
ld hl, GeneralCardListMenuParams
call InitializeScrollMenuParameters
@@ -4965,9 +5167,9 @@ Func_a786:
ld [wNumCardListEntries], a
ld hl, wNumVisibleCardListEntries
cp [hl]
jr nc, .asm_a7fe
jr nc, .got_length
ld [wNumMenuItems], a
.asm_a7fe
.got_length
ld hl, GeneralCardListUpdateFunc
ld d, h
ld a, l
@@ -4976,7 +5178,8 @@ Func_a786:
ld [hl], d
xor a
ld [wd119], a
.asm_a80c
.loop_input
call DoFrame
ldh a, [hDPadHeld]
and PAD_UP
@@ -4987,22 +5190,27 @@ Func_a786:
jr nz, .asm_a825
ld a, $ff
ld [hCurMenuItem], a
jr .asm_a87e
jr .selection_made
.asm_a825
call HandleSelectUpAndDownInList
jr c, .asm_a80c
jr c, .loop_input
call HandleScrollListInput
jr c, .asm_a87e
jr c, .selection_made
ldh a, [hDPadHeld]
and PAD_START
jr z, .asm_a80c
.asm_a835
jr z, .loop_input
; pressed start
.open_card_page
ld a, MENU_CONFIRM
call PlaySFXConfirmOrCancel
ld a, [wNumMenuItems]
ld [wTempScrollMenuNumVisibleItems], a
ld a, [wTempCardTypeFilter]
ld [wTempCurMenuItem], a
; show screen
ld de, wTempCardList
ld hl, wCurCardListPtr
ld [hl], e
@@ -5010,6 +5218,7 @@ Func_a786:
ld [hl], d
call OpenCardPageFromCardList
call PrintPlayersCardsHeaderInfo
ld hl, FiltersCardSelectionParams
call InitializeScrollMenuParameters
ld a, [wCurCardTypeFilter]
@@ -5023,19 +5232,20 @@ Func_a786:
ld [wNumMenuItems], a
ld a, [wTempCurMenuItem]
ld [wTempCardTypeFilter], a
jr .asm_a80c
.asm_a87e
jr .loop_input
.selection_made
call DrawListCursor_Invisible
ld a, [wTempCardTypeFilter]
ld [wTempCurMenuItem], a
ld a, [hCurMenuItem]
cp $ff
jr nz, .asm_a835
jr nz, .open_card_page
ld hl, FiltersCardSelectionParams
call InitializeScrollMenuParameters
ld a, [wCurCardTypeFilter]
ld [wTempCardTypeFilter], a
jp .asm_a7a0
jp .wait_input
GeneralCardListMenuParams:
scrollmenu_params 1, 5, 2, 0, 7, SYM_CURSOR_R, SYM_SPACE, NULL
@@ -7030,15 +7240,15 @@ Func_b663:
ld a, [wCurDeckName]
or a
ret z
ld de, $1
lb de, 0, 1
call InitTextPrinting
ld a, [wCurDeck]
inc a
ld hl, wDefaultText
call ConvertToNumericalDigits
ld [hl], $77
ldfw [hl], "・"
inc hl
ld [hl], $00
ld [hl], TX_END
ld hl, wDefaultText
call ProcessText
ld hl, wCurDeckName
@@ -7058,16 +7268,182 @@ Func_b663:
call InitTextPrinting
call ProcessText
ret
; 0xb6ad
SECTION "Bank 2@781d", ROMX[$781d], BANK[$2]
GiftCenter_SendCards:
xor a
ld [wTileMapFill], a
call ZeroObjectPositions
call EmptyScreen
ld a, TRUE
ld [wVBlankOAMCopyToggle], a
call LoadSymbolsFont
bank1call SetDefaultPalettes
lb de, $3c, $bf
call SetupText
lb de, 3, 1
call InitTextPrinting
ldtx hl, ProcedureForSendingCardsToPlayerTitleText
call ProcessTextFromID
lb de, 1, 3
call InitTextPrinting
ldtx hl, ProcedureForSendingCardsToPlayerText
ld a, SINGLE_SPACED
ld [wLineSeparation], a
call ProcessTextFromID
xor a ; DOUBLE_SPACED
ld [wLineSeparation], a
ldtx hl, ReadProcedureForSendingCardsToPlayerText
call DrawWideTextBox_WaitForInput
call EnableLCD
call HandleGiftCenterSendCardsScreen
jr c, .send
ld a, $01
or a
ret
.send
ld de, wCurDeckCards
ld hl, wDuelTempList
bank1call SaveDeckCards
xor a
ld [wNameBuffer], a
farcall _SendCard
ret c
call EnableSRAM
ld hl, wCurDeckCards
call DecrementDeckCardsInCollection
call DisableSRAM
call SaveGame
ld hl, wNameBuffer
ld de, wDefaultText
call CopyListFromHLToDE
xor a
ret
; never reached
scf
ret
GiftCenter_ReceiveCards:
xor a
ld [wDuelTempList], a
ld [wNameBuffer], a
farcall _ReceiveCard
ret c
ld de, wDuelTempList
ld hl, wTempSavedDeckCards
call CopyDeckFromSRAM
ld hl, wTempSavedDeckCards
call AddGiftCenterDeckCardsToCollection
call SaveGame
xor a
ld [wScrollMenuScrollOffset], a
ld hl, GiftCenter_CardSelectionParams
call InitializeScrollMenuParameters
call PrintReceivedTheseCardsText
call Func_b81d
call EnableLCD
ld a, [wNumEntriesInCurFilter]
ld [wNumCardListEntries], a
ld hl, wNumVisibleCardListEntries
cp [hl]
jr nc, .got_length_1
ld [wNumMenuItems], a
.got_length_1
ld hl, ShowReceivedCardsList
ld d, h
ld a, l
ld hl, wScrollMenuScrollFunc
ld [hli], a
ld [hl], d
xor a
ld [wd119], a
.loop_input
call DoFrame
call HandleScrollListInput
jr c, .selection_made
call HandleJumpListInput
jr c, .loop_input
ldh a, [hDPadHeld]
and PAD_START
jr z, .loop_input
.open_card_page
ld a, MENU_CONFIRM
call PlaySFXConfirmOrCancel
ld a, [wTempCardTypeFilter]
ld [wTempCurMenuItem], a
ld de, wTempCardList
ld hl, wCurCardListPtr
ld [hl], e
inc hl
ld [hl], d
call OpenCardPageFromCardList
call PrintReceivedTheseCardsText
call PrintCardSelectionList
call EnableLCD
ld hl, GiftCenter_CardSelectionParams
call InitializeScrollMenuParameters
ld a, [wNumEntriesInCurFilter]
ld hl, wNumVisibleCardListEntries
cp [hl]
jr nc, .got_length_2
ld [wNumMenuItems], a
.got_length_2
ld a, [wTempCurMenuItem]
ld [wTempCardTypeFilter], a
jr .loop_input
.selection_made
call DrawListCursor_Invisible
ld a, [wTempCardTypeFilter]
ld [wTempCurMenuItem], a
ld a, [hCurMenuItem]
cp $ff
jr nz, .open_card_page
ld hl, wNameBuffer
ld de, wDefaultText
call CopyListFromHLToDE
or a
ret
GiftCenter_CardSelectionParams:
scrollmenu_params 1, 3, 2, 0, 5, SYM_CURSOR_R, SYM_SPACE, NULL
ShowReceivedCardsList:
ld hl, hffbb
ld [hl], $01
lb de, 1, 1
call InitTextPrinting
ldtx hl, CardsReceivedText
call ProcessTextFromID
ld hl, wNameBuffer
ld de, wDefaultText
call CopyListFromHLToDE
xor a
ld [wTxRam2], a
ld [wTxRam2 + 1], a
lb de, 1, 14
call InitTextPrinting
ldtx hl, ReceivedTheseCardsFromText
call PrintTextNoDelay
ld hl, hffbb
ld [hl], $00
jp PrintCardSelectionList
Func_b81d:
xor a
ld hl, wc000
xor a ; aka $100 bytes
ld hl, wTempCardCollection
call ClearNBytesFromHL
xor a
ld hl, $c100
xor a ; aka $100 bytes
ld hl, wTempCardCollection + $100
call ClearNBytesFromHL
ld hl, wTempSavedDeckCards
call Func_b84d
@@ -7183,19 +7559,67 @@ Func_b860:
pop bc
pop af
ret
; 0xb8d6
SECTION "Bank 2@790c", ROMX[$790c], BANK[$2]
PrintCardsToSendToPlayerText:
call EmptyScreenAndDrawTextBox
lb de, 1, 1
call InitTextPrinting
ldtx hl, CardsToSendToPlayerText
call ProcessTextFromID
ret
Func_b90c:
PrintReceivedTheseCardsText:
call EmptyScreenAndDrawTextBox
lb de, 1, 1
call InitTextPrinting
ldtx hl, CardsReceivedText
call ProcessTextFromID
ld hl, wNameBuffer
ld de, wDefaultText
call CopyListFromHLToDE
xor a
ld [wTxRam2], a
ld [wTxRam2 + 1], a
ldtx hl, ReceivedTheseCardsFromText
call DrawWideTextBox_PrintText
ret
EmptyScreenAndDrawTextBox:
call PrepareMenuGraphics
lb de, 0, 0
lb bc, 20, 13
call DrawRegularTextBox
ret
; 0xb919
SECTION "Bank 2@7947", ROMX[$7947], BANK[$2]
HandleGiftCenter::
ld a, [wSelectedGiftCenterMenuItem]
ld hl, .function_table
call JumpToFunctionInTable
jr c, .quit
or a
jr nz, .quit
xor a
ld [wTxRam2], a
ld [wTxRam2 + 1], a
ret
.quit
ld a, $ff
ld [wSelectedGiftCenterMenuItem], a
ret
.function_table
dw GiftCenter_SendCards
dw GiftCenter_ReceiveCards
dw .SendDeckConfiguration
dw .ReceiveDeckConfiguration
.SendDeckConfiguration:
farcall SendDeckConfigurationMenu
ret
.ReceiveDeckConfiguration:
farcall ReceiveDeckConfigurationMenu
ret
; hl = text ID for text box
DeckDiagnosisResult:

View File

@@ -373,7 +373,7 @@ Func_c2a7:
call Func_c366
call Func_c3d4
call Func_c2ff
call Func_c319
call HandleGrandMasterCupState
call Func_c439
call Func_c477
ret
@@ -417,31 +417,33 @@ Func_c2d6:
ret
Func_c2ff:
ld a, VAR_02
ld a, VAR_ISHIHARA_STATE
call GetVarValue
cp $06
jr c, .asm_c318
ld a, EVENT_F5
cp ISHIHARA_TALKED_AT_VILLA
jr c, .done
ld a, EVENT_ISHIHARA_LOCATION_STATE
call ZeroOutEventValue
call UpdateRNGSources
rra
jr nc, .asm_c318
ld a, EVENT_F5
jr nc, .done
ld a, EVENT_ISHIHARA_LOCATION_STATE
call MaxOutEventValue
.asm_c318
.done
ret
Func_c319:
ld a, VAR_0D
HandleGrandMasterCupState:
ld a, VAR_GRAND_MASTER_CUP_STATE
call GetVarValue
cp $04
jr c, .asm_c32d
cp GRAND_MASTER_CUP_PLAYING
jr c, .not_playing
jr z, .done
ld a, VAR_0D
ld c, $01
; played, clear result
ld a, VAR_GRAND_MASTER_CUP_STATE
ld c, GRAND_MASTER_CUP_INACTIVE
call SetVarValue
jr .done
.asm_c32d
.not_playing
ld a, [wCurMap]
cp MAP_POKEMON_DOME_ENTRANCE
jr z, .done
@@ -449,25 +451,28 @@ Func_c319:
jr z, .done
cp MAP_POKEMON_DOME_BACK
jr z, .done
ld a, VAR_0D
; outside pokemon dome
ld a, VAR_GRAND_MASTER_CUP_STATE
call GetVarValue
cp $02
cp GRAND_MASTER_CUP_ACTIVE
jr z, .done
jr nc, .asm_c358
ld a, VAR_20
jr nc, .reset
; check cup activation condition
ld a, VAR_TIMES_WON_LINK_DUEL_FOR_GRAND_MASTER_CUP
call GetVarValue
cp $0a
cp MAX_NUM_LINK_DUEL_WINS_FOR_GRAND_MASTER_CUP
jr c, .done
ld a, VAR_0D
ld c, $02
ld a, VAR_GRAND_MASTER_CUP_STATE
ld c, GRAND_MASTER_CUP_ACTIVE
call SetVarValue
.done
ret
.asm_c358
ld a, VAR_0D
ld c, $01
.reset
ld a, VAR_GRAND_MASTER_CUP_STATE
ld c, GRAND_MASTER_CUP_INACTIVE
call SetVarValue
ld a, VAR_20
ld a, VAR_TIMES_WON_LINK_DUEL_FOR_GRAND_MASTER_CUP
call ZeroOutVarValue
jr .done
@@ -940,11 +945,13 @@ ENDR
pop af
ret
; de = card id
Func_c63e:
call GetReceivedCardText
farcall Func_1d53a
ret
; de = card id
Func_c646:
call AddCardToCollection
call GetReceivedCardText
@@ -2081,9 +2088,9 @@ EventVarMasks:
db $1f, %00100000 ; EVENT_TRADED_CARDS_PSYCHIC_STRONGHOLD
db $20, %00000001 ; EVENT_GODAS_ROOM_CAGE_STATE
db $20, %00000010 ; EVENT_MIDORIS_ROOM_CAGE_STATE
db $21, %00000001 ; EVENT_BB
db $21, %00000010 ; EVENT_BC
db $21, %00000100 ; EVENT_BD
db $21, %00000001 ; EVENT_TALKED_TO_COURTNEY_POKEMON_DOME
db $21, %00000010 ; EVENT_TALKED_TO_STEVE_POKEMON_DOME
db $21, %00000100 ; EVENT_TALKED_TO_JACK_POKEMON_DOME
db $21, %00001000 ; EVENT_ENTERED_GRAND_MASTER_CUP
db $21, %00010000 ; EVENT_FREED_COURTNEY
db $21, %00100000 ; EVENT_FREED_STEVE
@@ -2112,8 +2119,8 @@ EventVarMasks:
db $25, %00100000 ; EVENT_OPENED_CHEST_FIGHTING_FORT_5
db $25, %01000000 ; EVENT_OPENED_CHEST_FIGHTING_FORT_BASEMENT
db $26, %00000001 ; EVENT_SHORT_GR_ISLAND_FLYOVER_SEQUENCE
db $26, %00000010 ; EVENT_BEAT_GRAND_MASTER_CUP
db $26, %00000100 ; EVENT_DB
db $26, %00000010 ; EVENT_WON_FINAL_CUP
db $26, %00000100 ; EVENT_WON_GRAND_MASTER_CUP
db $27, %00000001 ; EVENT_GHOST_MASTER_STATUES_STATE
db $27, %00000010 ; EVENT_BATTLED_TOBICHAN
db $28, %00000001 ; EVENT_BATTLED_EIJI
@@ -2130,7 +2137,7 @@ EventVarMasks:
db $29, %00001000 ; EVENT_TALKED_TO_ROOK
db $29, %00010000 ; EVENT_TALKED_TO_QUEEN
db $2a, %00000001 ; EVENT_EB
db $2a, %00000010 ; EVENT_EC
db $2a, %00000010 ; EVENT_TALKED_TO_ROD_POKEMON_DOME
db $2b, %00000001 ; EVENT_SET_UNTIL_MAP_RELOAD_1
db $2b, %00000010 ; EVENT_EE
db $2b, %00000100 ; EVENT_EF
@@ -2139,13 +2146,13 @@ EventVarMasks:
db $33, %00000100 ; EVENT_F2
db $33, %00001000 ; EVENT_F3
db $33, %00010000 ; EVENT_ISHIHARA_CARD_TRADE_STATE
db $33, %00100000 ; EVENT_F5
db $33, %00100000 ; EVENT_ISHIHARA_LOCATION_STATE
; extra events?
GeneralVarMasks:
db $00, %11111111 ; VAR_00
db $01, %00000011 ; VAR_01
db $01, %00111100 ; VAR_02
db $01, %00111100 ; VAR_ISHIHARA_STATE
db $01, %11000000 ; VAR_03
db $02, %00001111 ; VAR_TIMES_MET_RONALD
db $03, %00000011 ; VAR_05
@@ -2155,27 +2162,27 @@ GeneralVarMasks:
db $04, %00110000 ; VAR_09
db $04, %11000000 ; VAR_0A
db $05, %00000011 ; VAR_0B
db $06, %00000011 ; VAR_0C
db $06, %00011100 ; VAR_0D
db $06, %11100000 ; VAR_0E
db $06, %00000011 ; VAR_FINAL_CUP_PLAYED_ROUNDS
db $06, %00011100 ; VAR_GRAND_MASTER_CUP_STATE
db $06, %11100000 ; VAR_GRANDMASTERCUP_CURRENT_ROUND
db $07, %00001111 ; VAR_0F
db $08, %11111111 ; VAR_GRANDMASTERCUP_PRIZE_INDEX_0
db $09, %11111111 ; VAR_GRANDMASTERCUP_PRIZE_INDEX_1
db $0a, %11111111 ; VAR_GRANDMASTERCUP_PRIZE_INDEX_2
db $0b, %11111111 ; VAR_GRANDMASTERCUP_PRIZE_INDEX_3
db $0c, %11111111 ; VAR_GRANDMASTERCUP_OPPONENT_DECK_0
db $0d, %11111111 ; VAR_GRANDMASTERCUP_OPPONENT_DECK_1
db $0e, %11111111 ; VAR_GRANDMASTERCUP_OPPONENT_DECK_2
db $0f, %11111111 ; VAR_GRANDMASTERCUP_OPPONENT_DECK_3
db $10, %11111111 ; VAR_GRANDMASTERCUP_OPPONENT_DECK_4
db $11, %11111111 ; VAR_GRANDMASTERCUP_OPPONENT_DECK_5
db $12, %11111111 ; VAR_GRANDMASTERCUP_OPPONENT_DECK_6
db $13, %11111111 ; VAR_1B
db $14, %11111111 ; VAR_1C
db $15, %11111111 ; VAR_1D
db $16, %11111111 ; VAR_1E
db $17, %00000011 ; VAR_1F
db $17, %00111100 ; VAR_20
db $0c, %11111111 ; VAR_GRANDMASTERCUP_ROUND1_NPC1_DECK_ID
db $0d, %11111111 ; VAR_GRANDMASTERCUP_ROUND1_NPC2_DECK_ID
db $0e, %11111111 ; VAR_GRANDMASTERCUP_ROUND1_NPC3_DECK_ID
db $0f, %11111111 ; VAR_GRANDMASTERCUP_ROUND1_NPC4_DECK_ID
db $10, %11111111 ; VAR_GRANDMASTERCUP_ROUND1_NPC5_DECK_ID
db $11, %11111111 ; VAR_GRANDMASTERCUP_ROUND1_NPC6_DECK_ID
db $12, %11111111 ; VAR_GRANDMASTERCUP_ROUND1_NPC7_DECK_ID
db $13, %11111111 ; VAR_GRANDMASTERCUP_ROUND2_NPC1_DECK_ID
db $14, %11111111 ; VAR_GRANDMASTERCUP_ROUND2_NPC2_DECK_ID
db $15, %11111111 ; VAR_GRANDMASTERCUP_ROUND2_NPC3_DECK_ID
db $16, %11111111 ; VAR_GRANDMASTERCUP_FINAL_NPC_DECK_ID
db $17, %00000011 ; VAR_GRANDMASTERCUP_GF_GRAND_MASTER_INDEX
db $17, %00111100 ; VAR_TIMES_WON_LINK_DUEL_FOR_GRAND_MASTER_CUP
db $18, %00000111 ; VAR_21
db $18, %11110000 ; VAR_IMAKUNI_BLACK_WIN_COUNT
db $19, %00000001 ; VAR_23
@@ -2395,8 +2402,8 @@ CheckTCGIslandMilestoneEvents:
jp nz, .set_carry
jp .clear_carry
.check_grand_master_cup_or_challenge_machine:
ld a, EVENT_BEAT_GRAND_MASTER_CUP
.check_final_cup_or_postgame:
ld a, EVENT_WON_FINAL_CUP
call GetEventValue
push af
ld a, EVENT_MASONS_LAB_CHALLENGE_MACHINE_STATE
@@ -2423,7 +2430,7 @@ CheckTCGIslandMilestoneEvents:
jp .clear_carry
.check_event_db:
ld a, EVENT_DB
ld a, EVENT_WON_GRAND_MASTER_CUP
call GetEventValue
jp nz, .set_carry
jp .clear_carry
@@ -2452,7 +2459,7 @@ CheckTCGIslandMilestoneEvents:
dw .check_gr_coin_bottom_left
dw .check_pikachu_coin
dw .check_gr_coin_bottom_right
dw .check_grand_master_cup_or_challenge_machine
dw .check_final_cup_or_postgame
dw .check_event_db
; jump to .check_pointers[a], set carry if the event is set, clear carry if not
@@ -2522,7 +2529,7 @@ CheckGRIslandMilestoneEvents:
jp nz, .set_carry
jp .clear_carry
.check_challenge_machine:
.check_postgame:
ld a, EVENT_MASONS_LAB_CHALLENGE_MACHINE_STATE
call GetEventValue
jp nz, .set_carry
@@ -2553,7 +2560,7 @@ CheckGRIslandMilestoneEvents:
dw .check_snorlax_coin
dw .check_rui_roadblock
dw .check_battled_ishihara
dw .check_challenge_machine
dw .check_postgame
GetNumberOfDeckDiagnosisStepsUnlocked:
push bc

View File

@@ -946,7 +946,7 @@ SetFontAndTextBoxFrameColor_PreserveRegisters::
pop af
ret
Func_10672:
Stub_10672:
ret
; input: de = coord
@@ -3146,7 +3146,7 @@ _PCMenu:
call Func_10252
ret
Func_111f0:
SetPCMenuCursorToShutdown:
ld a, PCMENU_SHUTDOWN
ld [wPCMenuCursorPosition], a
ret
@@ -3440,6 +3440,7 @@ Func_1132e:
ret
; a = NPC_* ID
; b = NPCMovement data bank
; hl = NPCMovement data pointer
_MoveNPC:
push af
@@ -3456,11 +3457,11 @@ _MoveNPC:
pop bc
xor a
ld [hli], a ; OWOBJSTRUCT_4
ld [hl], b ; OWOBJSTRUCT_5
ld [hl], b ; OWOBJSTRUCT_MOVEMENT_BANK
inc hl
ld [hl], e ; LOW(OWOBJSTRUCT_6)
ld [hl], e ; LOW(OWOBJSTRUCT_MOVEMENT_PTR)
inc hl
ld [hl], d ; HIGH(OWOBJSTRUCT_6)
ld [hl], d ; HIGH(OWOBJSTRUCT_MOVEMENT_PTR)
pop hl
pop de
pop bc
@@ -3510,10 +3511,10 @@ ENDR
push hl
ld a, [hli] ; OWOBJSTRUCT_4
ld c, a
ld a, [hli] ; OWOBJSTRUCT_5
ld a, [hli] ; OWOBJSTRUCT_MOVEMENT_BANK
ld b, a
ld a, [hli] ; LOW(OWOBJSTRUCT_6)
ld h, [hl] ; HIGH(OWOBJSTRUCT_6)
ld a, [hli] ; LOW(OWOBJSTRUCT_MOVEMENT_PTR)
ld h, [hl] ; HIGH(OWOBJSTRUCT_MOVEMENT_PTR)
ld l, a
call Func_3be0
pop hl
@@ -6666,7 +6667,7 @@ Func_13357:
call SetFrameFuncAndFadeFromWhite
call SetFadePalsFrameFunc
.asm_13360
farcall Func_a705
farcall HandleBlackBoxSendCardsScreen
jr nc, .asm_13373
ldtx hl, GameCenterBlackBoxCancelPromptText
ld a, $01

View File

@@ -2288,537 +2288,7 @@ AttackAnimation_BoneAttack:
anim_opponent DUEL_ANIM_QUESTION_MARK
anim_end
; if carry flag is set, only delays
; if carry not set:
; - set rRP edge up, wait;
; - set rRP edge down, wait;
; - return
TransmitIRBit:
jr c, .delay_once
ld [hl], RP_WRITE_HIGH | RP_ENABLE
ld a, 5
jr .loop_delay_1 ; jump to possibly to add more cycles?
.loop_delay_1
dec a
jr nz, .loop_delay_1
ld [hl], RP_WRITE_LOW | RP_ENABLE
ld a, 14
jr .loop_delay_2 ; jump to possibly to add more cycles?
.loop_delay_2
dec a
jr nz, .loop_delay_2
ret
.delay_once
ld a, 21
jr .loop_delay_3 ; jump to possibly to add more cycles?
.loop_delay_3
dec a
jr nz, .loop_delay_3
nop
ret
; input a = byte to transmit through IR
TransmitByteThroughIR:
push hl
ld hl, rRP
push de
push bc
ld b, a
scf ; carry set
call TransmitIRBit
or a ; carry not set
call TransmitIRBit
ld c, 8
ld c, 8 ; number of input bits
.loop
ld a, $00
rr b
call TransmitIRBit
dec c
jr nz, .loop
pop bc
pop de
pop hl
ldh a, [rJOYP]
bit 1, a ; P11
jr z, ReturnZFlagUnsetAndCarryFlagSet
xor a ; return z set
ret
; same as ReceiveByteThroughIR but
; returns $0 in a if there's an error in IR
ReceiveByteThroughIR_ZeroIfUnsuccessful:
call ReceiveByteThroughIR
ret nc
xor a
ret
; returns carry if there's some time out
; and output in register a of $ff
; otherwise returns in a some sequence of bits
; related to how rRP sets/unsets bit 1
ReceiveByteThroughIR:
push de
push bc
push hl
; waits for bit 1 in rRP to be unset
; up to $100 loops
ld b, 0
ld hl, rRP
.wait_ir
bit B_RP_DATA_IN, [hl]
jr z, .ok
dec b
jr nz, .wait_ir
; looped around $100 times
; return $ff and carry set
pop hl
pop bc
pop de
scf
ld a, $ff
ret
.ok
; delay for some cycles
ld a, 15
.loop_delay
dec a
jr nz, .loop_delay
; loop for each bit
ld e, 8
.loop
ld a, $01
; possibly delay cycles?
ld b, 9
ld b, 9
ld b, 9
ld b, 9
; checks for bit 1 in rRP
; if in any of the checks it is unset,
; then a is set to 0
; this is done a total of 9 times
bit B_RP_DATA_IN, [hl]
jr nz, .asm_196ec
xor a
.asm_196ec
bit B_RP_DATA_IN, [hl]
jr nz, .asm_196f1
xor a
.asm_196f1
dec b
jr nz, .asm_196ec
; one bit received
rrca
rr d
dec e
jr nz, .loop
ld a, d ; has bits set for each "cycle" that bit 1 was not unset
pop hl
pop bc
pop de
or a
ret
ReturnZFlagUnsetAndCarryFlagSet:
ld a, $ff
or a ; z not set
scf ; carry set
ret
; called when expecting to transmit data
Func_196e8:
ld hl, rRP
.loop
ldh a, [rJOYP]
bit 1, a
jr z, ReturnZFlagUnsetAndCarryFlagSet
ld a, $a5 ; request
call TransmitByteThroughIR
push hl
pop hl
call ReceiveByteThroughIR_ZeroIfUnsuccessful
cp $35 ; acknowledge
jr nz, .loop
xor a
ret
; called when expecting to receive data
Func_1971e:
ld hl, rRP
.asm_19721
ldh a, [rJOYP]
bit 1, a
jr z, ReturnZFlagUnsetAndCarryFlagSet
call ReceiveByteThroughIR_ZeroIfUnsuccessful
cp $a5 ; request
jr nz, .asm_19721
ld a, $35 ; acknowledge
call TransmitByteThroughIR
xor a
ret
ReturnZFlagUnsetAndCarryFlagSet2:
jp ReturnZFlagUnsetAndCarryFlagSet
TransmitIRDataBuffer:
call Func_196e8
jr c, ReturnZFlagUnsetAndCarryFlagSet2
ld a, $49
call TransmitByteThroughIR
ld a, $52
call TransmitByteThroughIR
ld hl, wIRDataBuffer
ld c, 8
jr TransmitNBytesFromHLThroughIR
ReceiveIRDataBuffer:
call Func_1971e
jr c, ReturnZFlagUnsetAndCarryFlagSet2
call ReceiveByteThroughIR
cp $49
jr nz, ReceiveIRDataBuffer
call ReceiveByteThroughIR
cp $52
jr nz, ReceiveIRDataBuffer
ld hl, wIRDataBuffer
ld c, 8
jr ReceiveNBytesToHLThroughIR
; hl = start of data to transmit
; c = number of bytes to transmit
TransmitNBytesFromHLThroughIR:
ld b, $0
.loop_data_bytes
ld a, b
add [hl]
ld b, a
ld a, [hli]
call TransmitByteThroughIR
jr c, .asm_1977c
dec c
jr nz, .loop_data_bytes
ld a, b
cpl
inc a
call TransmitByteThroughIR
.asm_1977c
ret
; hl = address to write received data
; c = number of bytes to be received
ReceiveNBytesToHLThroughIR:
ld b, 0
.loop_data_bytes
call ReceiveByteThroughIR
jr c, ReturnZFlagUnsetAndCarryFlagSet2
ld [hli], a
add b
ld b, a
dec c
jr nz, .loop_data_bytes
call ReceiveByteThroughIR
add b
or a
jr nz, ReturnZFlagUnsetAndCarryFlagSet2
ret
; disables interrupts, and sets joypad and IR communication port
; switches to CGB normal speed
StartIRCommunications:
di
call SwitchToCGBNormalSpeed
ld a, P14
ldh [rJOYP], a
ld a, RP_ENABLE
ldh [rRP], a
ret
; reenables interrupts, and switches CGB back to double speed
CloseIRCommunications:
ld a, P14 | P15
ldh [rJOYP], a
.wait_vblank_on
ldh a, [rSTAT]
and STAT_MODE
cp STAT_VBLANK
jr z, .wait_vblank_on
.wait_vblank_off
ldh a, [rSTAT]
and STAT_MODE
cp STAT_VBLANK
jr nz, .wait_vblank_off
call SwitchToCGBDoubleSpeed
ei
ret
; set rRP to 0
ClearRP:
ld a, $00
ldh [rRP], a
ret
; expects to receive a command (IRCMD_* constant)
; in wIRDataBuffer + 1, then calls the subroutine
; corresponding to that command
ExecuteReceivedIRCommands:
call StartIRCommunications
.loop_commands
call ReceiveIRDataBuffer
jr c, .error
jr nz, .loop_commands
ld hl, wIRDataBuffer + 1
ld a, [hl]
ld hl, .CmdPointerTable
cp NUM_IR_COMMANDS
jr nc, .loop_commands ; invalid command
call .JumpToCmdPointer ; execute command
jr .loop_commands
.error
call CloseIRCommunications
xor a
scf
ret
.JumpToCmdPointer
add a ; *2
add l
ld l, a
ld a, 0
adc h
ld h, a
ld a, [hli]
ld h, [hl]
ld l, a
.jp_hl
jp hl
.CmdPointerTable
dw .Close ; IRCMD_CLOSE
dw .ReturnWithoutClosing ; IRCMD_RETURN_WO_CLOSING
dw .TransmitData ; IRCMD_TRANSMIT_DATA
dw .ReceiveData ; IRCMD_RECEIVE_DATA
dw .CallFunction ; IRCMD_CALL_FUNCTION
; closes the IR communications
; pops hl so that the sp points
; to the return address of ExecuteReceivedIRCommands
.Close
pop hl
call CloseIRCommunications
or a
ret
; returns without closing the IR communications
; will continue the command loop
.ReturnWithoutClosing
or a
ret
; receives an address and number of bytes
; and transmits starting at that address
.TransmitData
call Func_196e8
ret c
call LoadRegistersFromIRDataBuffer
jp TransmitNBytesFromHLThroughIR
; receives an address and number of bytes
; and writes the data received to that address
.ReceiveData
call LoadRegistersFromIRDataBuffer
ld l, e
ld h, d
call ReceiveNBytesToHLThroughIR
jr c, .asm_19812
sub b
call TransmitByteThroughIR
.asm_19812
ret
; receives an address to call, then stores
; the registers in the IR data buffer
.CallFunction
call LoadRegistersFromIRDataBuffer
call .jp_hl
call StoreRegistersInIRDataBuffer
ret
; returns carry set if request sent was not acknowledged
TrySendIRRequest:
call StartIRCommunications
ld hl, rRP
ld c, 4
.send_request
ld a, $a5 ; request
push bc
call TransmitByteThroughIR
push bc
pop bc
call ReceiveByteThroughIR_ZeroIfUnsuccessful
pop bc
cp $35 ; acknowledgement
jr z, .received_ack
dec c
jr nz, .send_request
scf
jr .close
.received_ack
xor a
.close
push af
call CloseIRCommunications
pop af
ret
; returns carry set if request was not received
TryReceiveIRRequest:
call StartIRCommunications
ld hl, rRP
.wait_request
call ReceiveByteThroughIR_ZeroIfUnsuccessful
cp $a5 ; request
jr z, .send_ack
ldh a, [rJOYP]
cpl
and P10 | P11
jr z, .wait_request
scf
jr .close
.send_ack
ld a, $35 ; acknowledgement
call TransmitByteThroughIR
xor a
.close
push af
call CloseIRCommunications
pop af
ret
; sends request for other device to close current communication
RequestCloseIRCommunication:
call StartIRCommunications
ld a, IRCMD_CLOSE
ld [wIRDataBuffer + 1], a
call TransmitIRDataBuffer
; fallthrough
; calls CloseIRCommunications while preserving af
SafelyCloseIRCommunications:
push af
call CloseIRCommunications
pop af
ret
; sends a request for data to be transmitted
; from the other device
; hl = start of data to request to transmit
; de = address to write data received
; c = length of data
RequestDataTransmissionThroughIR:
ld a, IRCMD_TRANSMIT_DATA
call TransmitRegistersThroughIR
push de
push bc
call Func_1971e
pop bc
pop hl
jr c, SafelyCloseIRCommunications
call ReceiveNBytesToHLThroughIR
jr SafelyCloseIRCommunications
; transmits data to be written in the other device
; hl = start of data to transmit
; de = address for other device to write data
; c = length of data
RequestDataReceivalThroughIR:
ld a, IRCMD_RECEIVE_DATA
call TransmitRegistersThroughIR
call TransmitNBytesFromHLThroughIR
jr c, SafelyCloseIRCommunications
call ReceiveByteThroughIR
jr c, SafelyCloseIRCommunications
add b
jr nz, .asm_1989e
xor a
jr SafelyCloseIRCommunications
.asm_1989e
call ReturnZFlagUnsetAndCarryFlagSet
jr SafelyCloseIRCommunications
; first stores all the current registers in wIRDataBuffer
; then transmits it through IR
TransmitRegistersThroughIR:
push hl
push de
push bc
call StoreRegistersInIRDataBuffer
call StartIRCommunications
call TransmitIRDataBuffer
pop bc
pop de
pop hl
ret nc
inc sp
inc sp
jr SafelyCloseIRCommunications
; stores af, hl, de and bc in wIRDataBuffer
StoreRegistersInIRDataBuffer:
push de
push hl
push af
ld hl, wIRDataBuffer
pop de
ld [hl], e ; <- f
inc hl
ld [hl], d ; <- a
inc hl
pop de
ld [hl], e ; <- l
inc hl
ld [hl], d ; <- h
inc hl
pop de
ld [hl], e ; <- e
inc hl
ld [hl], d ; <- d
inc hl
ld [hl], c ; <- c
inc hl
ld [hl], b ; <- b
ret
; loads all the registers that were stored
; from StoreRegistersInIRDataBuffer
LoadRegistersFromIRDataBuffer:
ld hl, wIRDataBuffer
ld e, [hl]
inc hl
ld d, [hl]
inc hl
push de
ld e, [hl]
inc hl
ld d, [hl]
inc hl
push de
ld e, [hl]
inc hl
ld d, [hl]
inc hl
ld c, [hl]
inc hl
ld b, [hl]
pop hl
pop af
ret
INCLUDE "engine/link/ir_core.asm"
; empties screen and enables sprite animations
SetSpriteAnimationsAsVBlankFunction:
@@ -3032,116 +2502,8 @@ InitSaveData:
.terminating_byte
ld [de], a
ret
; 0x199fa
SECTION "Bank 6@5a30", ROMX[$5a30], BANK[$6]
; prepares IR communication parameter data
; a = a IRPARAM_* constant for the function of this connection
InitIRCommunications:
ld hl, wOwnIRCommunicationParams
ld [hl], a
inc hl
ld [hl], $50
inc hl
ld [hl], $4b
inc hl
ld [hl], $32
ld a, $ff
ld [wIRCommunicationErrorCode], a
ld a, PLAYER_TURN
ldh [hWhoseTurn], a
; clear wNameBuffer and wOpponentName
xor a
ld [wNameBuffer], a
ld hl, wOpponentName
ld [hli], a
ld [hl], a
; loads player's name from SRAM
; to wDefaultText
call EnableSRAM
ld hl, sPlayerName
ld de, wDefaultText
ld c, NAME_BUFFER_LENGTH
.loop
ld a, [hli]
ld [de], a
inc de
dec c
jr nz, .loop
call DisableSRAM
ret
; 0x19a64
SECTION "Bank 6@5a92", ROMX[$5a92], BANK[$6]
; exchanges player names and IR communication parameters
; checks whether parameters for communication match
; and if they don't, an error is issued
ExchangeIRCommunicationParameters:
ld hl, wOwnIRCommunicationParams
ld de, wOtherIRCommunicationParams
ld c, 4
call RequestDataTransmissionThroughIR
jr c, .error
ld hl, wOtherIRCommunicationParams + 1
ld a, [hli]
cp $50
jr nz, .error
ld a, [hli]
cp $4b
jr nz, .error
ld a, [wOwnIRCommunicationParams]
ld hl, wOtherIRCommunicationParams
cp [hl] ; do parameters match?
jr nz, SetIRCommunicationErrorCode_Error
; receives wDefaultText from other device
; and writes it to wNameBuffer
ld hl, wDefaultText
ld de, wNameBuffer
ld c, NAME_BUFFER_LENGTH
call RequestDataTransmissionThroughIR
jr c, .error
; transmits wDefaultText to be
; written in wNameBuffer in the other device
ld hl, wDefaultText
ld de, wNameBuffer
ld c, NAME_BUFFER_LENGTH
call RequestDataReceivalThroughIR
jr c, .error
or a
ret
.error
xor a
scf
ret
SetIRCommunicationErrorCode_Error:
ld hl, wIRCommunicationErrorCode
ld [hl], $01
ld de, wIRCommunicationErrorCode
ld c, 1
call RequestDataReceivalThroughIR
call RequestCloseIRCommunication
ld a, $01
scf
ret
SetIRCommunicationErrorCode_NoError:
ld hl, wOwnIRCommunicationParams
ld [hl], $00
ld de, wIRCommunicationErrorCode
ld c, 1
call RequestDataReceivalThroughIR
ret c
call RequestCloseIRCommunication
or a
ret
; 0x19afb
SECTION "Bank 6@5bf9", ROMX[$5bf9], BANK[$6]
INCLUDE "engine/link/ir_functions.asm"
_CardPopMenu:
call EnableSRAM
@@ -3431,8 +2793,8 @@ HandleCardPopCommunications:
.loop_request
call TryReceiveIRRequest ; receive request
jr nc, .execute_commands
bit 1, a
jp nz, .asm_19e7f
bit B_PAD_B, a
jp nz, .cancelled
call TrySendIRRequest ; send request
jr c, .loop_request
@@ -3470,8 +2832,8 @@ HandleCardPopCommunications:
or a
jr nz, .fail
ld a, $32
ld [wOtherIRCommunicationParams + 3], a
ld a, STRBYTE("{IR_MAGIC_STRING_TCG2}", 2)
ld [wOtherIRCommunicationMagicString + 2], a
call DecideCardToReceiveFromCardPop
call SetCardPopRecord
call FillCardPopSummary
@@ -3500,12 +2862,12 @@ HandleCardPopCommunications:
.fail
ld a, [wIRCommunicationErrorCode]
cp $01
jr nz, .asm_19e7f
jr nz, .cancelled
ldtx hl, CardPopModeMismatchedText ; Card Pop from one side and Rare Card Pop from the other
scf
ret
.asm_19e7f
.cancelled
ldtx hl, CardPopUnsuccessfulTryAgainText
.set_carry
scf
@@ -3536,9 +2898,9 @@ HandleCardPopCommunications:
ld a, BANK("SRAM1")
call BankswitchSRAM
call CopyDataHLtoDE
ld a, [wOtherIRCommunicationParams + 3]
cp $32
jr nz, .asm_19ecb
ld a, [wOtherIRCommunicationMagicString + 2]
cp STRBYTE("{IR_MAGIC_STRING_TCG2}", 2)
jr nz, .done
; copy SRAM so that sCardPopRecords is moved $20 forward
ld hl, sCardPopRecords + MAX_NUM_CARDPOP_RECORDS * CARDPOP_RECORD_SIZE - 1
@@ -3556,11 +2918,11 @@ HandleCardPopCommunications:
ld de, sCardPopRecords
ld bc, CARDPOP_RECORD_SIZE
call CopyDataHLtoDE
.asm_19ecb
.done
xor a
call BankswitchSRAM
call DisableSRAM
or a
or a ; redundant, leftover from tcg1
ret
; looks up the name in wNameBuffer in wCardPopNameList
@@ -4284,20 +3646,24 @@ IngameCardPop:
ldtx hl, CardPopImakuniText
ld a, SCRIPTED_CARD_POP_IMAKUNI + 2
jr .got_partner
.Imakuni_rare
ldtx hl, CardPopImakuniText
ld a, SCRIPTED_RARE_CARD_POP_IMAKUNI + 2
push af
ld a, IRPARAM_RARE_CARD_POP
jr .got_partner_and_type
.Ronald
ldtx hl, CardPopRonaldText
ld a, SCRIPTED_CARD_POP_RONALD + 2
; fallthrough
.got_partner
push af
ld a, IRPARAM_CARD_POP
; fallthrough
.got_partner_and_type
ld [wCardPopType], a
call InitSaveData.PrintName
@@ -4349,11 +3715,13 @@ IngameCardPop:
inc hl
ld [hl], d
call DecideCardToReceiveFromCardPop
ld bc, .data1
; load Ronald's stats
; for Imakuni_rare, these will be overwritten later
ld bc, .Ronald_stats
jr .got_data
; guaranteed to give IMAKUNI_CARD to player
; and choose a random card for Imakuni? from the list
; and choose a random card for Imakuni? from the 6-card list
.with_Imakuni_first
ld a, 6
call Random
@@ -4373,8 +3741,9 @@ IngameCardPop:
call LoadCardDataToBuffer1_FromCardID
ld a, MUSIC_MATCH_VICTORY
ld [wCardPopCardObtainSong], a
ld bc, .data2
ld bc, .Imakuni_stats
; fallthrough
.got_data
push bc
ld hl, wCardPopRecordYourCardID
@@ -4382,18 +3751,19 @@ IngameCardPop:
inc hl
ld [hl], d
pop hl
ld de, wCardPopRecordNumBattles
ld de, wCardPopRecordStats
ld bc, CARDPOP_RECORD_STATS_SIZE
call CopyDataHLtoDE
ld a, 1
ld [de], a
ld a, IRPARAM_CARD_POP
ld [de], a ; wCardPopRecordType
ld a, [wNameBuffer + MAX_PLAYER_NAME_LENGTH + 1]
cp SCRIPTED_RARE_CARD_POP_IMAKUNI + 2
jr nz, .display_ingame_pop
; Imakuni_rare
; set his stats: NumBattles = yours / 2, NumCards = yours / 4, NumCoins = 4
ld hl, wCardPopRecordNumBattles
ld hl, wCardPopRecordStats
; wCardPopRecordNumBattles
call EnableSRAM
ld a, [sTotalDuelCounter]
srl a
@@ -4402,6 +3772,7 @@ IngameCardPop:
rr a
ld [hli], a
call DisableSRAM
; wCardPopRecordNumCards
push hl
call GetAmountOfCardsOwned
REPT 2
@@ -4411,7 +3782,6 @@ ENDR
ld e, l
ld d, h
pop hl
; wCardPopRecordNumCards
ld [hl], e
inc hl
ld [hl], d
@@ -4422,6 +3792,7 @@ ENDR
; wCardPopRecordType
ld [hl], IRPARAM_RARE_CARD_POP
; fallthrough
.display_ingame_pop
call SetSpriteAnimationsAsVBlankFunction
ld a, SCENE_CARD_POP
@@ -4442,8 +3813,8 @@ ENDR
jr z, .loop_input
; pressed A
call RestoreVBlankFunction
ld a, $32
ld [wOtherIRCommunicationParams + 3], a
ld a, STRBYTE("{IR_MAGIC_STRING_TCG2}", 2)
ld [wOtherIRCommunicationMagicString + 2], a
call HandleCardPopCommunications.success
call LoadCardPopSceneAndHandleCommunications.add_sram0
ldtx hl, ReceivedThroughCardPopText
@@ -4466,12 +3837,15 @@ ENDR
dw MACHAMP_LV67 ; $4
dw CHANSEY_LV55 ; $5
; data pointer will be pushed to bc
; meant to be custom stats?
.data1
db $00, $00, $39, $00, $01
.data2
db $00, $00, $6c, $00, $01
; custom stats
.Ronald_stats
dw 0 ; battles
dw 57 ; cards
db 1 ; coins
.Imakuni_stats
dw 0 ; battles
dw 108 ; cards
db 1 ; coins
; sends serial data to printer
; if there's an error in connection,

File diff suppressed because it is too large Load Diff

View File

@@ -9,28 +9,28 @@ IshiharasHouse_StepEvents:
db $ff
IshiharasHouse_NPCs:
npc NPC_ISHIHARA, 4, 4, SOUTH, Func_2c1b8
npc NPC_NIKKI, 5, 4, SOUTH, Func_2c46a
npc NPC_ISHIHARA, 4, 4, SOUTH, IshiharasHouse_IshiharaAppearanceCheck
npc NPC_NIKKI, 5, 4, SOUTH, IshiharasHouse_AppearDuringRetreat
db $ff
IshiharasHouse_NPCInteractions:
npc_script NPC_ISHIHARA, Func_2c172
npc_script NPC_NIKKI, Func_2c3cb
npc_script NPC_ISHIHARA, Script_IshiharaAtHome
npc_script NPC_NIKKI, Script_NikkiRetreated
db $ff
IshiharasHouse_OWInteractions:
ow_script 3, 2, Func_40000
ow_script 4, 2, Func_40016
ow_script 5, 2, Func_4002c
ow_script 6, 2, Func_40042
ow_script 7, 2, Func_40058
ow_script 8, 2, Func_4006e
ow_script 1, 9, Func_40084
ow_script 2, 9, Func_4009a
ow_script 3, 9, Func_400b0
ow_script 6, 9, Func_400c6
ow_script 7, 9, Func_400dc
ow_script 8, 9, Func_400f2
ow_script 3, 2, Script_CombosBook
ow_script 4, 2, Script_EnergyTransBook
ow_script 5, 2, Script_ToxicGasBook
ow_script 6, 2, Script_RainDanceBook
ow_script 7, 2, Script_SelfdestructBook
ow_script 8, 2, Script_DamageSwapBook
ow_script 1, 9, Script_RemoveEnergiesBook
ow_script 2, 9, Script_PrehistoricPowerBook
ow_script 3, 9, Script_WeaknessResistanceBook
ow_script 6, 9, Script_TeamGRBook
ow_script 7, 9, Script_GameCenterBook
ow_script 8, 9, Script_SamePokemonBook
db $ff
IshiharasHouse_MapScripts:
@@ -45,7 +45,7 @@ IshiharasHouse_MapScripts:
db $ff
Func_2c0b4:
call Func_2c1b8
call IshiharasHouse_IshiharaAppearanceCheck
jr nc, .asm_2c0be
ld a, MUSIC_OVERWORLD
ld [wNextMusic], a
@@ -71,15 +71,15 @@ Func_2c0d1:
start_script
send_mail $11
end_script
ld a, EVENT_F5
ld a, EVENT_ISHIHARA_LOCATION_STATE
farcall GetEventValue
jr z, .asm_2c0ef
jr z, .done
ld a, NPC_ISHIHARA
lb de, 1, 2
farcall SetOWObjectTilePosition
ld b, NORTH
farcall SetOWObjectDirection
.asm_2c0ef
.done
scf
ret
@@ -96,29 +96,29 @@ Func_2c0f1:
Func_2c101:
xor a
push af
ld a, EVENT_F5
ld a, EVENT_ISHIHARA_LOCATION_STATE
farcall GetEventValue
jr z, .asm_2c10f
jr z, .skip_bit0
pop af
or $01
push af
.asm_2c10f
.skip_bit0
ld a, EVENT_ISHIHARA_CARD_TRADE_STATE
farcall GetEventValue
jr z, .asm_2c11b
jr z, .skip_bit1
pop af
or $02
push af
.asm_2c11b
.skip_bit1
pop af
or a
jr z, .asm_2c12c
jr z, .done
ld c, a
ld a, VAR_00
farcall SetVarValue
ld a, EVENT_MASONS_LAB_CHALLENGE_MACHINE_STATE_DUMMY
farcall MaxOutEventValue
.asm_2c12c
.done
scf
ccf
ret
@@ -133,16 +133,16 @@ Func_2c12f:
ret
Func_2c13e:
ld a, EVENT_F5
ld a, EVENT_ISHIHARA_LOCATION_STATE
farcall ZeroOutEventValue
ld a, VAR_00
farcall GetVarValue
bit 0, a
push af
call nz, Func_2c164
call nz, .SetLocationFlag
pop af
bit 1, a
call nz, Func_2c16b
call nz, .SetTradeFlag
ld a, EVENT_MASONS_LAB_CHALLENGE_MACHINE_STATE_DUMMY
farcall ZeroOutEventValue
ld a, VAR_00
@@ -150,71 +150,71 @@ Func_2c13e:
scf
ret
Func_2c164:
ld a, EVENT_F5
.SetLocationFlag:
ld a, EVENT_ISHIHARA_LOCATION_STATE
farcall MaxOutEventValue
ret
Func_2c16b:
.SetTradeFlag:
ld a, EVENT_ISHIHARA_CARD_TRADE_STATE
farcall MaxOutEventValue
ret
Func_2c172:
Script_IshiharaAtHome:
ld a, EVENT_MASONS_LAB_CHALLENGE_MACHINE_STATE
farcall GetEventValue
jr z, .asm_2c185
ld a, EVENT_TALKED_TO_ISHIHARA_POST_GAME
farcall GetEventValue
jr nz, .asm_2c185
jp Func_2c3a5
jp Script_IshiharaCongratsAtHome
.asm_2c185
ld a, EVENT_ISHIHARA_CARD_TRADE_STATE
farcall GetEventValue
jr z, .asm_2c19b
ld a, VAR_02
ld a, VAR_ISHIHARA_STATE
farcall GetVarValue
cp $05
jp c, Func_2c28c
jp Func_2c36d
cp ISHIHARA_TRADE_3_DONE
jp c, Script_IshiharaTradeLaterAtHome
jp Script_IshiharaHeadingForVilla
.asm_2c19b
ld a, VAR_02
ld a, VAR_ISHIHARA_STATE
farcall GetVarValue
or a
jp z, Func_2c1db
jp z, Script_IshiharaSheltering ; NONE
dec a
jp z, Func_2c203
jp z, Script_IshiharaWithNikki ; ISHIHARA_HELPING_NIKKI
dec a
jp z, Func_2c229
jp z, Script_IshiharaTrade1 ; ISHIHARA_HELPED_NIKKI
dec a
jp z, Func_2c2a7
jp z, Script_IshiharaTrade2 ; ISHIHARA_TRADE_1_DONE
dec a
jp z, Func_2c30a
jp Func_2c388
jp z, Script_IshiharaTrade3 ; ISHIHARA_TRADE_2_DONE
jp Script_IshiharaBusy ; ISHIHARA_TRADE_3_DONE
Func_2c1b8:
ld a, VAR_02
IshiharasHouse_IshiharaAppearanceCheck:
ld a, VAR_ISHIHARA_STATE
farcall GetVarValue
cp 5
jr c, .asm_2c1d8
jr nz, .asm_2c1ce
cp ISHIHARA_TRADE_3_DONE
jr c, .appear
jr nz, .check_location_flag
ld a, EVENT_ISHIHARA_CARD_TRADE_STATE
farcall GetEventValue
jr nz, .asm_2c1d8
jr .asm_2c1d6
.asm_2c1ce
ld a, EVENT_F5
jr nz, .appear
jr .disappear
.check_location_flag
ld a, EVENT_ISHIHARA_LOCATION_STATE
farcall GetEventValue
jr nz, .asm_2c1d8
.asm_2c1d6
jr nz, .appear
.disappear
scf
ret
.asm_2c1d8
.appear
scf
ccf
ret
Func_2c1db:
Script_IshiharaSheltering:
ld a, NPC_ISHIHARA
ld [wScriptNPC], a
ldtx hl, DialogMrIshiharaText
@@ -226,18 +226,18 @@ Func_2c1db:
start_script
start_dialog
check_event EVENT_TALKED_TO_ISHIHARA
script_jump_if_b0z .ows_2c1fd
script_jump_if_b0z .repeat
set_event EVENT_TALKED_TO_ISHIHARA
print_npc_text Text0e97
script_jump .ows_2c200
.ows_2c1fd
print_npc_text Text0e98
.ows_2c200
print_npc_text IshiharaUnderGRInvasionInitialText
script_jump .done
.repeat
print_npc_text IshiharaUnderGRInvasionRepeatText
.done
end_dialog
end_script
ret
Func_2c203:
Script_IshiharaWithNikki:
ld a, NPC_ISHIHARA
ld [wScriptNPC], a
ldtx hl, DialogMrIshiharaText
@@ -249,17 +249,17 @@ Func_2c203:
start_script
start_dialog
check_event EVENT_GOT_ODDISH_COIN
script_jump_if_b0z .ows_2c223
print_npc_text Text0e99
script_jump .ows_2c226
.ows_2c223
print_npc_text Text0e9a
.ows_2c226
script_jump_if_b0z .talked_to_nikki
print_npc_text IshiharaListenToNikkiText
script_jump .done
.talked_to_nikki
print_npc_text IshiharaHelpNikkiText
.done
end_dialog
end_script
ret
Func_2c229:
Script_IshiharaTrade1:
ld a, NPC_ISHIHARA
ld [wScriptNPC], a
ldtx hl, DialogMrIshiharaText
@@ -271,42 +271,42 @@ Func_2c229:
start_script
start_dialog
check_event EVENT_TALKED_TO_ISHIHARA
script_jump_if_b0z .ows_2c24b
script_jump_if_b0z .repeat
set_event EVENT_TALKED_TO_ISHIHARA
print_npc_text Text0e9b
script_jump .ows_2c24e
.ows_2c24b
print_npc_text Text0e9c
.ows_2c24e
print_npc_text IshiharaWantsToTrade1InitialText
script_jump .trade_prompt
.repeat
print_npc_text IshiharaWantsToTrade1RepeatText
.trade_prompt
ask_question TradeCardsPromptText, TRUE
script_jump_if_b0nz .ows_2c25b
print_npc_text Text0e9d
script_jump .ows_2c289
.ows_2c25b
script_jump_if_b0nz .count_cards
print_npc_text IshiharaDeclinedTradeText
script_jump .done
.count_cards
get_card_count_in_collection_and_decks CLEFAIRY_LV15
script_jump_if_b0z .ows_2c267
print_npc_text Text0e9e
script_jump .ows_2c289
.ows_2c267
script_jump_if_b0z .count_cards_outside_decks
print_npc_text IshiharaDoNotOwnClefairyLv15Text
script_jump .done
.count_cards_outside_decks
get_card_count_in_collection CLEFAIRY_LV15
script_jump_if_b0z .ows_2c273
print_npc_text Text0e9f
script_jump .ows_2c289
.ows_2c273
print_npc_text Text0ea0
print_text Text0ea1
script_jump_if_b0z .start_trade
print_npc_text IshiharaUsingAllClefairyLv15InDecksText
script_jump .done
.start_trade
print_npc_text IshiharaAcceptedTrade1Text
print_text TradedClefairyForFlyingPikachuText
receive_card FLYING_PIKACHU_ALT_LV12
take_card CLEFAIRY_LV15
set_event EVENT_ISHIHARA_CARD_TRADE_STATE
reset_event EVENT_TALKED_TO_ISHIHARA
set_var VAR_02, $03
print_npc_text Text0ea2
.ows_2c289
set_var VAR_ISHIHARA_STATE, ISHIHARA_TRADE_1_DONE
print_npc_text IshiharaThanksTradedClefairyLv15Text
.done
end_dialog
end_script
ret
Func_2c28c:
Script_IshiharaTradeLaterAtHome:
ld a, NPC_ISHIHARA
ld [wScriptNPC], a
ldtx hl, DialogMrIshiharaText
@@ -317,12 +317,12 @@ Func_2c28c:
xor a
start_script
start_dialog
print_npc_text Text0ea3
print_npc_text IshiharaAtHomeTradeLaterReadMyBooksText
end_dialog
end_script
ret
Func_2c2a7:
Script_IshiharaTrade2:
ld a, NPC_ISHIHARA
ld [wScriptNPC], a
ldtx hl, DialogMrIshiharaText
@@ -334,42 +334,42 @@ Func_2c2a7:
start_script
start_dialog
check_event EVENT_TALKED_TO_ISHIHARA
script_jump_if_b0z .ows_2c2c9
script_jump_if_b0z .repeat
set_event EVENT_TALKED_TO_ISHIHARA
print_npc_text Text0ea4
script_jump .ows_2c2cc
.ows_2c2c9
print_npc_text Text0ea5
.ows_2c2cc
print_npc_text IshiharaWantsToTrade2InitialText
script_jump .trade_prompt
.repeat
print_npc_text IshiharaWantsToTrade2RepeatText
.trade_prompt
ask_question TradeCardsPromptText, TRUE
script_jump_if_b0nz .ows_2c2d9
print_npc_text Text0e9d
script_jump .ows_2c307
.ows_2c2d9
script_jump_if_b0nz .count_cards
print_npc_text IshiharaDeclinedTradeText
script_jump .done
.count_cards
get_card_count_in_collection_and_decks CLEFABLE
script_jump_if_b0z .ows_2c2e5
print_npc_text Text0ea6
script_jump .ows_2c307
.ows_2c2e5
script_jump_if_b0z .count_cards_outside_decks
print_npc_text IshiharaDoNotOwnClefableLv34Text
script_jump .done
.count_cards_outside_decks
get_card_count_in_collection CLEFABLE
script_jump_if_b0z .ows_2c2f1
print_npc_text Text0ea7
script_jump .ows_2c307
.ows_2c2f1
print_npc_text Text0ea8
print_text Text0ea9
script_jump_if_b0z .start_trade
print_npc_text IshiharaUsingAllClefableLv34InDecksText
script_jump .done
.start_trade
print_npc_text IshiharaAcceptedTrade2Text
print_text TradedClefableLv34ForTogepiLv8Text
receive_card TOGEPI
take_card CLEFABLE
set_event EVENT_ISHIHARA_CARD_TRADE_STATE
reset_event EVENT_TALKED_TO_ISHIHARA
set_var VAR_02, $04
print_npc_text Text0eaa
.ows_2c307
set_var VAR_ISHIHARA_STATE, ISHIHARA_TRADE_2_DONE
print_npc_text IshiharaThanksTradedClefableLv34Text
.done
end_dialog
end_script
ret
Func_2c30a:
Script_IshiharaTrade3:
ld a, NPC_ISHIHARA
ld [wScriptNPC], a
ldtx hl, DialogMrIshiharaText
@@ -381,42 +381,42 @@ Func_2c30a:
start_script
start_dialog
check_event EVENT_TALKED_TO_ISHIHARA
script_jump_if_b0z .ows_2c32c
script_jump_if_b0z .repeat
set_event EVENT_TALKED_TO_ISHIHARA
print_npc_text Text0eab
script_jump .ows_2c32f
.ows_2c32c
print_npc_text Text0eac
.ows_2c32f
print_npc_text IshiharaWantsToTrade3InitialText
script_jump .trade_prompt
.repeat
print_npc_text IshiharaWantsToTrade3RepeatText
.trade_prompt
ask_question TradeCardsPromptText, TRUE
script_jump_if_b0nz .ows_2c33c
print_npc_text Text0e9d
script_jump .ows_2c36a
.ows_2c33c
script_jump_if_b0nz .count_cards
print_npc_text IshiharaDeclinedTradeText
script_jump .done
.count_cards
get_card_count_in_collection_and_decks DRAGONITE_LV45
script_jump_if_b0z .ows_2c348
print_npc_text Text0ead
script_jump .ows_2c36a
.ows_2c348
script_jump_if_b0z .count_cards_outside_decks
print_npc_text IshiharaDoNotOwnDragoniteLv45Text
script_jump .done
.count_cards_outside_decks
get_card_count_in_collection DRAGONITE_LV45
script_jump_if_b0z .ows_2c354
print_npc_text Text0eae
script_jump .ows_2c36a
.ows_2c354
print_npc_text Text0eaf
print_text Text0eb0
script_jump_if_b0z .start_trade
print_npc_text IshiharaUsingAllDragoniteLv45InDecksText
script_jump .done
.start_trade
print_npc_text IshiharaAcceptedTrade3Text
print_text TradedDragoniteLv45ForMarillLv17Text
receive_card MARILL
take_card DRAGONITE_LV45
set_event EVENT_ISHIHARA_CARD_TRADE_STATE
reset_event EVENT_TALKED_TO_ISHIHARA
set_var VAR_02, $05
print_npc_text Text0eb1
.ows_2c36a
set_var VAR_ISHIHARA_STATE, ISHIHARA_TRADE_3_DONE
print_npc_text IshiharaThanksTradedDragoniteLv45Text
.done
end_dialog
end_script
ret
Func_2c36d:
Script_IshiharaHeadingForVilla:
ld a, NPC_ISHIHARA
ld [wScriptNPC], a
ldtx hl, DialogMrIshiharaText
@@ -427,12 +427,12 @@ Func_2c36d:
xor a
start_script
start_dialog
print_npc_text Text0eb2
print_npc_text IshiharaHeadingForVillaText
end_dialog
end_script
ret
Func_2c388:
Script_IshiharaBusy:
ld a, NPC_ISHIHARA
ld [wScriptNPC], a
ldtx hl, DialogMrIshiharaText
@@ -443,13 +443,13 @@ Func_2c388:
xor a
start_script
start_dialog
print_npc_text Text0eb3
print_npc_text IshiharaBusyRevisitVillaText
end_dialog
set_active_npc_direction NORTH
end_script
ret
Func_2c3a5:
Script_IshiharaCongratsAtHome:
ld a, NPC_ISHIHARA
ld [wScriptNPC], a
ldtx hl, DialogMrIshiharaText
@@ -461,17 +461,17 @@ Func_2c3a5:
start_script
start_dialog
set_event EVENT_TALKED_TO_ISHIHARA_POST_GAME
print_npc_text Text0eb4
print_npc_text IshiharaDefeatedBiruritchiCongratsText
end_dialog
get_var VAR_02
compare_loaded_var $06
script_jump_if_b1nz .ows_2c3c9
get_var VAR_ISHIHARA_STATE
compare_loaded_var ISHIHARA_TALKED_AT_VILLA
script_jump_if_b1nz .done
set_active_npc_direction NORTH
.ows_2c3c9
.done
end_script
ret
Func_2c3cb:
Script_NikkiRetreated:
ld a, NPC_NIKKI
ld [wScriptNPC], a
ldtx hl, DialogNikkiText
@@ -483,60 +483,60 @@ Func_2c3cb:
start_script
start_dialog
check_event EVENT_TALKED_TO_NIKKI
script_jump_if_b0z .ows_2c446
script_jump_if_b0z .repeat
set_event EVENT_TALKED_TO_NIKKI
set_event EVENT_SET_UNTIL_MAP_RELOAD_1
print_npc_text Text0eb5
print_npc_text NikkiWantsToGiveAwayGiveInAntiGR2Deck1Text
end_dialog
get_player_direction
compare_loaded_var SOUTH
script_jump_if_b0z .ows_2c3f8
script_jump_if_b0z .skip_player_reposition
set_player_direction WEST
animate_player_movement $81, $02
.ows_2c3f8
.skip_player_reposition
move_active_npc .NPCMovement_2c450
wait_for_player_animation
do_frames 30
get_player_y_position
compare_loaded_var $04
script_jump_if_b0nz .ows_2c40d
script_jump_if_b1nz .ows_2c413
compare_loaded_var 4
script_jump_if_b0nz .player_same_row
script_jump_if_b1nz .player_above
move_active_npc .NPCMovement_2c457
script_jump .ows_2c416
.ows_2c40d
script_jump .nikki_walked
.player_same_row
move_active_npc .NPCMovement_2c45c
script_jump .ows_2c416
.ows_2c413
script_jump .nikki_walked
.player_above
move_active_npc .NPCMovement_2c463
.ows_2c416
.nikki_walked
wait_for_player_animation
do_frames 15
start_dialog
print_npc_text Text0eb6
print_npc_text NikkiWantsToGiveAwayGiveInAntiGR2Deck2Text
give_deck GIVE_IN_ANTI_GR2_DECK_ID
script_jump_if_b1nz .ows_2c42c
script_jump_if_b1nz .decks_full
play_song MUSIC_BOOSTER_PACK
print_text Text0eb7
print_text ReceivedGiveInAntiGR2DeckText
wait_song
resume_song
script_jump .ows_2c439
.ows_2c42c
print_npc_text Text0eb8
script_jump .give_coin
.decks_full
print_npc_text NikkiDecksFullGivesCardsInsteadText
play_song MUSIC_BOOSTER_PACK
print_text Text0eb9
print_text ReceivedCardsForGiveInAntiGR2DeckText
wait_song
resume_song
print_npc_text Text0eba
.ows_2c439
print_npc_text NikkiToSendDeckConfigurationToMachineText
.give_coin
set_event EVENT_GOT_ODDISH_COIN
print_npc_text Text0ebb
print_npc_text NikkiWantsToGiveOddishCoinText
give_coin COIN_ODDISH
print_npc_text Text0ebc
script_jump .ows_2c44d
.ows_2c446
print_npc_text NikkiGaveOddishCoinText
script_jump .done
.repeat
check_event EVENT_SET_UNTIL_MAP_RELOAD_1
print_variable_npc_text Text0ebd, Text0ebe
.ows_2c44d
print_variable_npc_text NikkiCountingOnYouInitialText, NikkiCountingOnYouRepeatText
.done
end_dialog
end_script
ret
@@ -560,15 +560,15 @@ Func_2c3cb:
db EAST, MOVE_0
db $ff
Func_2c46a:
ld a, VAR_02
IshiharasHouse_AppearDuringRetreat:
ld a, VAR_ISHIHARA_STATE
farcall GetVarValue
cp $01
jr nz, .asm_2c477
cp ISHIHARA_HELPING_NIKKI
jr nz, .disappear
scf
ccf
ret
.asm_2c477
.disappear
scf
ret
@@ -1499,11 +1499,11 @@ PsychicClubLobby_NPCInteractions:
PsychicClubLobby_OWInteractions:
ow_script 8, 2, PCMenu
ow_script 9, 2, PCMenu
ow_script 2, 4, Func_3c1b9
ow_script 4, 4, Func_3c2d9
ow_script 12, 2, Func_402d6
ow_script 13, 2, Func_402ec
ow_script 14, 2, Func_40302
ow_script 2, 4, Script_TCGBattleCenterClerk
ow_script 4, 4, Script_GiftCenter
ow_script 12, 2, Script_PsychicPokemonBook
ow_script 13, 2, Script_PsychicPokemonPokemonPowerBook
ow_script 14, 2, Script_UsefulButtonsBook
db $ff
PsychicClubLobby_MapScripts:
@@ -2653,11 +2653,11 @@ RockClubLobby_NPCInteractions:
RockClubLobby_OWInteractions:
ow_script 8, 2, PCMenu
ow_script 9, 2, PCMenu
ow_script 2, 4, Func_3c1b9
ow_script 4, 4, Func_3c2d9
ow_script 12, 2, Func_40108
ow_script 13, 2, Func_4011e
ow_script 14, 2, Func_40134
ow_script 2, 4, Script_TCGBattleCenterClerk
ow_script 4, 4, Script_GiftCenter
ow_script 12, 2, Script_RockGroundPokemonBook
ow_script 13, 2, Script_FightingPokemonSurefireMethodBook
ow_script 14, 2, Script_FightingPokemonFormidableOpponentsBook
db $ff
RockClubLobby_MapScripts:
@@ -3479,11 +3479,11 @@ FightingClubLobby_NPCInteractions:
FightingClubLobby_OWInteractions:
ow_script 8, 2, PCMenu
ow_script 9, 2, PCMenu
ow_script 2, 4, Func_3c1b9
ow_script 4, 4, Func_3c2d9
ow_script 12, 2, Func_4014a
ow_script 13, 2, Func_40160
ow_script 14, 2, Func_40176
ow_script 2, 4, Script_TCGBattleCenterClerk
ow_script 4, 4, Script_GiftCenter
ow_script 12, 2, Script_FightingPokemonBook
ow_script 13, 2, Script_FightingPokemonCombosBook
ow_script 14, 2, Script_FightingPokemonDeckBuildingBook
db $ff
FightingClubLobby_MapScripts:
@@ -4838,7 +4838,7 @@ Func_2e449:
reset_event EVENT_TALKED_TO_DAVID
reset_event EVENT_TALKED_TO_JOSEPH
reset_event EVENT_TALKED_TO_ISHIHARA
set_var VAR_02, $02
set_var VAR_ISHIHARA_STATE, ISHIHARA_HELPED_NIKKI
print_npc_text Text0e74
give_booster_packs BoosterList_cd44
script_jump .ows_2e471
@@ -5138,11 +5138,11 @@ ScienceClubLobby_NPCInteractions:
ScienceClubLobby_OWInteractions:
ow_script 8, 2, PCMenu
ow_script 9, 2, PCMenu
ow_script 2, 4, Func_3c1b9
ow_script 4, 4, Func_3c2d9
ow_script 12, 2, Func_401ce
ow_script 13, 2, Func_401e4
ow_script 14, 2, Func_401fa
ow_script 2, 4, Script_TCGBattleCenterClerk
ow_script 4, 4, Script_GiftCenter
ow_script 12, 2, Script_SciencePokemonBook
ow_script 13, 2, Script_SciencePokemonSurefireMethodBook
ow_script 14, 2, Script_SciencePokemonDeckBuildingBook
db $ff
ScienceClubLobby_MapScripts:
@@ -5927,7 +5927,7 @@ Func_2ec5a:
reset_event EVENT_TALKED_TO_DAVID
reset_event EVENT_TALKED_TO_JOSEPH
reset_event EVENT_TALKED_TO_ISHIHARA
set_var VAR_02, $02
set_var VAR_ISHIHARA_STATE, ISHIHARA_HELPED_NIKKI
print_npc_text Text1067
give_booster_packs BoosterList_cd44
script_jump .ows_2ec82
@@ -6140,11 +6140,11 @@ WaterClubLobby_NPCInteractions:
WaterClubLobby_OWInteractions:
ow_script 8, 2, PCMenu
ow_script 9, 2, PCMenu
ow_script 2, 4, Func_3c1b9
ow_script 4, 4, Func_3c2d9
ow_script 12, 2, Func_40210
ow_script 13, 2, Func_40226
ow_script 14, 2, Func_4023c
ow_script 2, 4, Script_TCGBattleCenterClerk
ow_script 4, 4, Script_GiftCenter
ow_script 12, 2, Script_WaterPokemonBook
ow_script 13, 2, Script_WaterPokemonAttacksBook
ow_script 14, 2, Script_PsyduckGolduckBook
db $ff
WaterClubLobby_MapScripts:
@@ -7242,11 +7242,11 @@ FireClubLobby_NPCInteractions:
FireClubLobby_OWInteractions:
ow_script 8, 2, PCMenu
ow_script 9, 2, PCMenu
ow_script 2, 4, Func_3c1b9
ow_script 4, 4, Func_3c2d9
ow_script 12, 2, Func_40252
ow_script 13, 2, Func_40268
ow_script 14, 2, Func_4027e
ow_script 2, 4, Script_TCGBattleCenterClerk
ow_script 4, 4, Script_GiftCenter
ow_script 12, 2, Script_FirePokemonBook
ow_script 13, 2, Script_FirePokemonAttacksBook
ow_script 14, 2, Script_FirePokemonDeckBuildingBook
db $ff
FireClubLobby_MapScripts:
@@ -8116,24 +8116,24 @@ PokemonDomeEntrance_StepEvents:
db $ff
PokemonDomeEntrance_NPCs:
npc NPC_POKEMON_DOME_FAT_GUY, 8, 3, NORTH, Func_2fe1d
npc NPC_POKEMON_DOME_FAT_GUY, 8, 3, NORTH, PokemonDomeEntrance_AppearAfterGRCoin
db $ff
PokemonDomeEntrance_NPCInteractions:
npc_script NPC_POKEMON_DOME_FAT_GUY, Func_2fda3
npc_script NPC_POKEMON_DOME_FAT_GUY, Script_PokemonDomeFatGuy
db $ff
PokemonDomeEntrance_OWInteractions:
ow_script 4, 2, PCMenu
ow_script 5, 2, PCMenu
ow_script 9, 1, Func_2fe2a
ow_script 10, 1, Func_2fe2a
ow_script 1, 2, Func_4035a
ow_script 2, 2, Func_40370
ow_script 3, 2, Func_40386
ow_script 1, 5, Func_4039c
ow_script 2, 5, Func_403b2
ow_script 3, 5, Func_403c8
ow_script 9, 1, Script_PlateOfLegends
ow_script 10, 1, Script_PlateOfLegends
ow_script 1, 2, Script_LegendaryPokemonCardsVol1Book
ow_script 2, 2, Script_LegendaryPokemonCardsVol2Book
ow_script 3, 2, Script_LegendaryPokemonCardsVol3Book
ow_script 1, 5, Script_LegendaryPokemonCardsVol4Book
ow_script 2, 5, Script_GrandMastersBook
ow_script 3, 5, Script_CoinsBook
db $ff
PokemonDomeEntrance_MapScripts:
@@ -8146,10 +8146,10 @@ PokemonDomeEntrance_MapScripts:
Func_2fd73:
ld a, EVENT_GOT_GR_COIN
farcall GetEventValue
jr nz, .asm_2fd80
jr nz, .done
ld a, MUSIC_HERE_COMES_GR
ld [wNextMusic], a
.asm_2fd80
.done
scf
ccf
ret
@@ -8169,14 +8169,14 @@ Func_2fd8a:
Func_2fd93:
ld hl, PokemonDomeEntrance_NPCInteractions
call Func_328c
jr nc, .asm_2fda1
jr nc, .done
ld hl, PokemonDomeEntrance_OWInteractions
call Func_32bf
.asm_2fda1
.done
scf
ret
Func_2fda3:
Script_PokemonDomeFatGuy:
ld a, NPC_POKEMON_DOME_FAT_GUY
ld [wScriptNPC], a
ldtx hl, DialogFatGuyText
@@ -8188,81 +8188,82 @@ Func_2fda3:
start_script
start_dialog
check_event EVENT_MASONS_LAB_CHALLENGE_MACHINE_STATE
script_jump_if_b0z .ows_2fdfa
script_jump_if_b0z .postgame
check_event EVENT_FREED_ROD
script_jump_if_b0z .ows_2fdf4
script_jump_if_b0z .has_rod
check_event EVENT_FREED_JACK
script_jump_if_b0z .ows_2fde3
script_jump_if_b0z .has_jack
check_event EVENT_FREED_COURTNEY
script_jump_if_b0z .ows_2fddd
script_jump_if_b0z .has_courtney
check_event EVENT_FREED_STEVE
script_jump_if_b0z .ows_2fdd7
print_npc_text Text102a
script_jump_if_b0z .has_steve
; no grand masters
print_npc_text PokemonDomeFatGuyAllGrandMastersGoneText
end_dialog
end_script
ret
.ows_2fdd7
print_npc_text Text102b
.has_steve
print_npc_text PokemonDomeFatGuySteveIsBackText
end_dialog
end_script
ret
.ows_2fddd
print_npc_text Text102c
.has_courtney
print_npc_text PokemonDomeFatGuyCourtneyIsBackText
end_dialog
end_script
ret
.ows_2fde3
.has_jack
check_event EVENT_FREED_COURTNEY
script_jump_if_b0z .ows_2fdee
print_npc_text Text102d
script_jump_if_b0z .rod_left
print_npc_text PokemonDomeFatGuyJackIsBackText
end_dialog
end_script
ret
.ows_2fdee
print_npc_text Text102e
.rod_left
print_npc_text PokemonDomeFatGuyWeNeedRodText
end_dialog
end_script
ret
.ows_2fdf4
print_npc_text Text102f
.has_rod
print_npc_text PokemonDomeFatGuyRodIsBackText
end_dialog
end_script
ret
.ows_2fdfa
.postgame
check_event EVENT_SET_UNTIL_MAP_RELOAD_1
script_jump_if_b0z .ows_2fe17
get_var VAR_0D
compare_loaded_var $02
script_jump_if_b0nz .ows_2fe11
compare_loaded_var $03
script_jump_if_b0nz .ows_2fe11
print_npc_text Text1030
script_jump_if_b0z .cup_played
get_var VAR_GRAND_MASTER_CUP_STATE
compare_loaded_var GRAND_MASTER_CUP_ACTIVE
script_jump_if_b0nz .cup_active
compare_loaded_var GRAND_MASTER_CUP_ACTIVE_PRIZES_SET
script_jump_if_b0nz .cup_active
print_npc_text PokemonDomeFatGuyGrandMasterCupInactiveText
end_dialog
end_script
ret
.ows_2fe11
print_npc_text Text1031
.cup_active
print_npc_text PokemonDomeFatGuyGrandMasterCupActiveText
end_dialog
end_script
ret
.ows_2fe17
print_npc_text Text1032
.cup_played
print_npc_text PokemonDomeFatGuyGrandMasterCupPlayedText
end_dialog
end_script
ret
Func_2fe1d:
PokemonDomeEntrance_AppearAfterGRCoin:
ld a, EVENT_GOT_GR_COIN
farcall GetEventValue
jr nz, .asm_2fe27
jr nz, .appear
scf
ret
.asm_2fe27
.appear
scf
ccf
ret
Func_2fe2a:
Script_PlateOfLegends:
ld a, NPC_MARK
ld [wScriptNPC], a
ldtx hl, DialogPlateOfLegendsText
@@ -8273,7 +8274,7 @@ Func_2fe2a:
xor a
start_script
start_dialog
print_npc_text Text1033
print_npc_text PlateOfLegendsText
end_dialog
end_script
ret

View File

@@ -1505,8 +1505,8 @@ GrassFortLobby_NPCInteractions:
GrassFortLobby_OWInteractions:
ow_script 1, 2, PCMenu
ow_script 2, 2, PCMenu
ow_script 5, 4, Func_3c1d0
ow_script 8, 4, Func_3c2d9
ow_script 5, 4, Script_GRBattleCenterClerk
ow_script 8, 4, Script_GiftCenter
db $ff
GrassFortLobby_MapScripts:
@@ -2547,8 +2547,8 @@ LightningFortLobby_NPCInteractions:
LightningFortLobby_OWInteractions:
ow_script 1, 2, PCMenu
ow_script 2, 2, PCMenu
ow_script 5, 4, Func_3c1d0
ow_script 8, 4, Func_3c2d9
ow_script 5, 4, Script_GRBattleCenterClerk
ow_script 8, 4, Script_GiftCenter
db $ff
LightningFortLobby_MapScripts:
@@ -3685,8 +3685,8 @@ FireFortLobby_NPCInteractions:
FireFortLobby_OWInteractions:
ow_script 1, 2, PCMenu
ow_script 2, 2, PCMenu
ow_script 5, 4, Func_3c1d0
ow_script 8, 4, Func_3c2d9
ow_script 5, 4, Script_GRBattleCenterClerk
ow_script 8, 4, Script_GiftCenter
db $ff
FireFortLobby_MapScripts:

View File

@@ -2416,8 +2416,8 @@ GrChallengeHallLobby_NPCInteractions:
GrChallengeHallLobby_OWInteractions:
ow_script 1, 2, PCMenu
ow_script 2, 2, PCMenu
ow_script 5, 4, Func_3c1d0
ow_script 8, 4, Func_3c2d9
ow_script 5, 4, Script_GRBattleCenterClerk
ow_script 8, 4, Script_GiftCenter
db $ff
GrChallengeHallLobby_MapScripts:
@@ -4372,8 +4372,8 @@ PsychicStrongholdLobby_NPCInteractions:
PsychicStrongholdLobby_OWInteractions:
ow_script 1, 2, PCMenu
ow_script 2, 2, PCMenu
ow_script 5, 4, Func_3c1d0
ow_script 8, 4, Func_3c2d9
ow_script 5, 4, Script_GRBattleCenterClerk
ow_script 8, 4, Script_GiftCenter
db $ff
PsychicStrongholdLobby_MapScripts:

View File

@@ -4861,7 +4861,7 @@ Func_3ada1:
ld [wNumDeckMachineEntries], a
xor a
.asm_3adb7
ld hl, $5eac
ld hl, DeckMachineSelectionParams
farcall InitializeScrollMenuParameters
call DrawListScrollArrows
call PrintNumSavedDecks
@@ -5134,13 +5134,13 @@ CopyBBytesFromHLToDE_Bank0e:
ret
CopyListFromHLToDE_Bank0e:
.asm_3afb1
.loop
ld a, [hli]
ld [de], a
or a
ret z
inc de
jr .asm_3afb1
jr .loop
; a = deck index in wMachineDeckPtrs
Func_3afb8:
@@ -5679,7 +5679,7 @@ Func_3b315:
call DrawListScrollArrows
call PrintNumSavedDecks
ld a, [wTempScrollMenuItem]
ld hl, $5eac
ld hl, DeckMachineSelectionParams
farcall InitializeScrollMenuParameters
call HandleScrollMenu.draw_visible_cursor
farcall GetSRAMPointerToCurDeck
@@ -7105,9 +7105,151 @@ CreateAutoDeckPointerList:
dec a
jr nz, .loop
ret
; 0x3bd5c
SECTION "Bank e@7e8d", ROMX[$7e8d], BANK[$e]
SendDeckConfigurationMenu:
xor a
ld [wScrollMenuScrollOffset], a
ldtx de, DeckSaveMachineText
ld hl, wDeckMachineTitleText
ld [hl], e
inc hl
ld [hl], d
call ClearScreenAndDrawDeckMachineScreen
ld a, NUM_DECK_SAVE_MACHINE_SLOTS
ld [wNumDeckMachineEntries], a
xor a
.start_selection
ld hl, DeckMachineSelectionParams
farcall InitializeScrollMenuParameters
call DrawListScrollArrows
call PrintNumSavedDecks
ldtx hl, ChooseDeckConfigurationToSendText
call DrawWideTextBox_PrintText
ldtx de, ChooseDeckConfigurationToSendText
call InitDeckMachineDrawingParams
.loop_input
call HandleDeckMachineSelection
jr c, .start_selection
cp $ff
jr nz, .get_deck_machine_slot
ld a, 1
or a
ret
.get_deck_machine_slot
ld b, a
ld a, [wScrollMenuScrollOffset]
add b
ld [wSelectedDeckMachineEntry], a
call CheckIfSelectedDeckMachineEntryIsEmpty
jr c, .loop_input
call GetSelectedSavedDeckPtr
ld de, wDuelTempList
ld b, DECK_COMPRESSED_STRUCT_SIZE
call EnableSRAM
call CopyBBytesFromHLToDE_Bank0e
call DisableSRAM
xor a
ld [wNameBuffer], a
farcall _SendDeckConfiguration
ret c
call GetSelectedSavedDeckPtr
ld de, wDefaultText
call EnableSRAM
call CopyListFromHLToDE_Bank0e
call DisableSRAM
or a
ret
ReceiveDeckConfigurationMenu:
xor a
ld [wScrollMenuScrollOffset], a
ldtx de, DeckSaveMachineText
ld hl, wDeckMachineTitleText
ld [hl], e
inc hl
ld [hl], d
call ClearScreenAndDrawDeckMachineScreen
ld a, NUM_DECK_SAVE_MACHINE_SLOTS
ld [wNumDeckMachineEntries], a
xor a
.start_selection
ld hl, DeckMachineSelectionParams
farcall InitializeScrollMenuParameters
call DrawListScrollArrows
call PrintNumSavedDecks
ldtx hl, ChooseWhereToSaveText
call DrawWideTextBox_PrintText
ldtx de, ChooseWhereToSaveText
call InitDeckMachineDrawingParams
call HandleDeckMachineSelection
jr c, .start_selection
cp $ff
jr nz, .get_deck_machine_slot
ld a, 1
or a
ret
.get_deck_machine_slot
ld b, a
ld a, [wScrollMenuScrollOffset]
add b
ld [wSelectedDeckMachineEntry], a
call CheckIfSelectedDeckMachineEntryIsEmpty
jr nc, .overwrite
jr .save
.overwrite
ldtx hl, DeleteSavedDeckPromptText
call YesOrNoMenuWithText
jr nc, .save
ld a, [wTempCardTypeFilter]
jr .start_selection
.save
xor a
ld [wDuelTempList], a
ld [wNameBuffer], a
farcall _ReceiveDeckConfiguration
ret c
call GetSelectedSavedDeckPtr
ld d, h
ld e, l
ld hl, wDuelTempList
ld b, DECK_COMPRESSED_STRUCT_SIZE
call EnableSRAM
call CopyBBytesFromHLToDE_Bank0e
call DisableSRAM
call SaveGame
call ClearScreenAndDrawDeckMachineScreen
ld a, [wTempCardTypeFilter]
ld hl, DeckMachineSelectionParams
farcall InitializeScrollMenuParameters
call DrawListScrollArrows
call PrintNumSavedDecks
call HandleScrollMenu.draw_visible_cursor
ld hl, wNameBuffer
ld de, wDefaultText
call EnableSRAM
call CopyListFromHLToDE_Bank0e
call DisableSRAM
xor a
ld [wTxRam2], a
ld [wTxRam2 + 1], a
ldtx hl, ReceivedDeckConfigurationFromText
call DrawWideTextBox_WaitForInput
call GetSelectedSavedDeckPtr
ld de, wDefaultText
call EnableSRAM
call CopyListFromHLToDE_Bank0e
call DisableSRAM
xor a
ret
SaveDeckDataToWRAM2:
push de

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
Func_40000:
Script_CombosBook:
ldtx hl, CombosBookName
ld a, l
ld [wScriptNPCName], a
@@ -12,7 +12,7 @@ Func_40000:
end_script
ret
Func_40016:
Script_EnergyTransBook:
ldtx hl, EnergyTransBookName
ld a, l
ld [wScriptNPCName], a
@@ -26,7 +26,7 @@ Func_40016:
end_script
ret
Func_4002c:
Script_ToxicGasBook:
ldtx hl, ToxicGasBookName
ld a, l
ld [wScriptNPCName], a
@@ -40,7 +40,7 @@ Func_4002c:
end_script
ret
Func_40042:
Script_RainDanceBook:
ldtx hl, RainDanceBookName
ld a, l
ld [wScriptNPCName], a
@@ -54,7 +54,7 @@ Func_40042:
end_script
ret
Func_40058:
Script_SelfdestructBook:
ldtx hl, SelfdestructBookName
ld a, l
ld [wScriptNPCName], a
@@ -68,7 +68,7 @@ Func_40058:
end_script
ret
Func_4006e:
Script_DamageSwapBook:
ldtx hl, DamageSwapBookName
ld a, l
ld [wScriptNPCName], a
@@ -82,7 +82,7 @@ Func_4006e:
end_script
ret
Func_40084:
Script_RemoveEnergiesBook:
ldtx hl, RemoveEnergiesBookName
ld a, l
ld [wScriptNPCName], a
@@ -96,7 +96,7 @@ Func_40084:
end_script
ret
Func_4009a:
Script_PrehistoricPowerBook:
ldtx hl, PrehistoricPowerBookName
ld a, l
ld [wScriptNPCName], a
@@ -110,7 +110,7 @@ Func_4009a:
end_script
ret
Func_400b0:
Script_WeaknessResistanceBook:
ldtx hl, WeaknessResistanceBookName
ld a, l
ld [wScriptNPCName], a
@@ -124,7 +124,7 @@ Func_400b0:
end_script
ret
Func_400c6:
Script_TeamGRBook:
ldtx hl, TeamGRBookName
ld a, l
ld [wScriptNPCName], a
@@ -138,7 +138,7 @@ Func_400c6:
end_script
ret
Func_400dc:
Script_GameCenterBook:
ldtx hl, GameCenterBookName
ld a, l
ld [wScriptNPCName], a
@@ -152,7 +152,7 @@ Func_400dc:
end_script
ret
Func_400f2:
Script_SamePokemonBook:
ldtx hl, SamePokemonBookName
ld a, l
ld [wScriptNPCName], a
@@ -166,7 +166,7 @@ Func_400f2:
end_script
ret
Func_40108:
Script_RockGroundPokemonBook:
ldtx hl, RockGroundPokemonBookName
ld a, l
ld [wScriptNPCName], a
@@ -180,7 +180,7 @@ Func_40108:
end_script
ret
Func_4011e:
Script_FightingPokemonSurefireMethodBook:
ldtx hl, FightingPokemonSurefireMethodBookName
ld a, l
ld [wScriptNPCName], a
@@ -194,7 +194,7 @@ Func_4011e:
end_script
ret
Func_40134:
Script_FightingPokemonFormidableOpponentsBook:
ldtx hl, FightingPokemonFormidableOpponentsBookName
ld a, l
ld [wScriptNPCName], a
@@ -208,7 +208,7 @@ Func_40134:
end_script
ret
Func_4014a:
Script_FightingPokemonBook:
ldtx hl, FightingPokemonBookName
ld a, l
ld [wScriptNPCName], a
@@ -222,7 +222,7 @@ Func_4014a:
end_script
ret
Func_40160:
Script_FightingPokemonCombosBook:
ldtx hl, FightingPokemonCombosBookName
ld a, l
ld [wScriptNPCName], a
@@ -236,7 +236,7 @@ Func_40160:
end_script
ret
Func_40176:
Script_FightingPokemonDeckBuildingBook:
ldtx hl, FightingPokemonDeckBuildingBookName
ld a, l
ld [wScriptNPCName], a
@@ -250,7 +250,7 @@ Func_40176:
end_script
ret
Func_4018c:
Script_PlantlikePokemonBook:
ldtx hl, PlantlikePokemonBookName
ld a, l
ld [wScriptNPCName], a
@@ -264,7 +264,7 @@ Func_4018c:
end_script
ret
Func_401a2:
Script_GrassPokemonBreederBook:
ldtx hl, GrassPokemonBreederBookName
ld a, l
ld [wScriptNPCName], a
@@ -278,7 +278,7 @@ Func_401a2:
end_script
ret
Func_401b8:
Script_GrassPokemonDeckBuildingBook:
ldtx hl, GrassPokemonDeckBuildingBookName
ld a, l
ld [wScriptNPCName], a
@@ -292,7 +292,7 @@ Func_401b8:
end_script
ret
Func_401ce:
Script_SciencePokemonBook:
ldtx hl, SciencePokemonBookName
ld a, l
ld [wScriptNPCName], a
@@ -306,7 +306,7 @@ Func_401ce:
end_script
ret
Func_401e4:
Script_SciencePokemonSurefireMethodBook:
ldtx hl, SciencePokemonSurefireMethodBookName
ld a, l
ld [wScriptNPCName], a
@@ -320,7 +320,7 @@ Func_401e4:
end_script
ret
Func_401fa:
Script_SciencePokemonDeckBuildingBook:
ldtx hl, SciencePokemonDeckBuildingBookName
ld a, l
ld [wScriptNPCName], a
@@ -334,7 +334,7 @@ Func_401fa:
end_script
ret
Func_40210:
Script_WaterPokemonBook:
ldtx hl, WaterPokemonBookName
ld a, l
ld [wScriptNPCName], a
@@ -348,7 +348,7 @@ Func_40210:
end_script
ret
Func_40226:
Script_WaterPokemonAttacksBook:
ldtx hl, WaterPokemonAttacksBookName
ld a, l
ld [wScriptNPCName], a
@@ -362,7 +362,7 @@ Func_40226:
end_script
ret
Func_4023c:
Script_PsyduckGolduckBook:
ldtx hl, PsyduckGolduckBookName
ld a, l
ld [wScriptNPCName], a
@@ -376,7 +376,7 @@ Func_4023c:
end_script
ret
Func_40252:
Script_FirePokemonBook:
ldtx hl, FirePokemonBookName
ld a, l
ld [wScriptNPCName], a
@@ -390,7 +390,7 @@ Func_40252:
end_script
ret
Func_40268:
Script_FirePokemonAttacksBook:
ldtx hl, FirePokemonAttacksBookName
ld a, l
ld [wScriptNPCName], a
@@ -404,7 +404,7 @@ Func_40268:
end_script
ret
Func_4027e:
Script_FirePokemonDeckBuildingBook:
ldtx hl, FirePokemonDeckBuildingBookName
ld a, l
ld [wScriptNPCName], a
@@ -418,7 +418,7 @@ Func_4027e:
end_script
ret
Func_40294:
Script_LightningPokemonBook:
ldtx hl, LightningPokemonBookName
ld a, l
ld [wScriptNPCName], a
@@ -432,7 +432,7 @@ Func_40294:
end_script
ret
Func_402aa:
Script_LightningPokemonDeckBuildingBook:
ldtx hl, LightningPokemonDeckBuildingBookName
ld a, l
ld [wScriptNPCName], a
@@ -446,7 +446,7 @@ Func_402aa:
end_script
ret
Func_402c0:
Script_BirdPokemonBook:
ldtx hl, BirdPokemonBookName
ld a, l
ld [wScriptNPCName], a
@@ -460,7 +460,7 @@ Func_402c0:
end_script
ret
Func_402d6:
Script_PsychicPokemonBook:
ldtx hl, PsychicPokemonBookName
ld a, l
ld [wScriptNPCName], a
@@ -474,7 +474,7 @@ Func_402d6:
end_script
ret
Func_402ec:
Script_PsychicPokemonPokemonPowerBook:
ldtx hl, PsychicPokemonPokemonPowerBookName
ld a, l
ld [wScriptNPCName], a
@@ -488,7 +488,7 @@ Func_402ec:
end_script
ret
Func_40302:
Script_UsefulButtonsBook:
ldtx hl, UsefulButtonsBookName
ld a, l
ld [wScriptNPCName], a
@@ -502,7 +502,7 @@ Func_40302:
end_script
ret
Func_40318:
Script_ColorlessPokemonBook:
ldtx hl, ColorlessPokemonBookName
ld a, l
ld [wScriptNPCName], a
@@ -516,7 +516,7 @@ Func_40318:
end_script
ret
Func_4032e:
Script_CardPopBook:
ldtx hl, CardPopBookName
ld a, l
ld [wScriptNPCName], a
@@ -530,7 +530,7 @@ Func_4032e:
end_script
ret
Func_40344:
Script_EnergyCardColorsBook:
ldtx hl, EnergyCardColorsBookName
ld a, l
ld [wScriptNPCName], a
@@ -544,7 +544,7 @@ Func_40344:
end_script
ret
Func_4035a:
Script_LegendaryPokemonCardsVol1Book:
ldtx hl, LegendaryPokemonCardsVol1BookName
ld a, l
ld [wScriptNPCName], a
@@ -558,7 +558,7 @@ Func_4035a:
end_script
ret
Func_40370:
Script_LegendaryPokemonCardsVol2Book:
ldtx hl, LegendaryPokemonCardsVol2BookName
ld a, l
ld [wScriptNPCName], a
@@ -572,7 +572,7 @@ Func_40370:
end_script
ret
Func_40386:
Script_LegendaryPokemonCardsVol3Book:
ldtx hl, LegendaryPokemonCardsVol3BookName
ld a, l
ld [wScriptNPCName], a
@@ -586,7 +586,7 @@ Func_40386:
end_script
ret
Func_4039c:
Script_LegendaryPokemonCardsVol4Book:
ldtx hl, LegendaryPokemonCardsVol4BookName
ld a, l
ld [wScriptNPCName], a
@@ -600,7 +600,7 @@ Func_4039c:
end_script
ret
Func_403b2:
Script_GrandMastersBook:
ldtx hl, GrandMastersBookName
ld a, l
ld [wScriptNPCName], a
@@ -614,7 +614,7 @@ Func_403b2:
end_script
ret
Func_403c8:
Script_CoinsBook:
ldtx hl, CoinsBookName
ld a, l
ld [wScriptNPCName], a
@@ -628,7 +628,7 @@ Func_403c8:
end_script
ret
Func_403de:
Script_PhantomCardsBook:
ldtx hl, PhantomCardsBookName
ld a, l
ld [wScriptNPCName], a
@@ -642,7 +642,7 @@ Func_403de:
end_script
ret
Func_403f4:
Script_DarkPokemonBook:
ldtx hl, DarkPokemonBookName
ld a, l
ld [wScriptNPCName], a
@@ -656,7 +656,7 @@ Func_403f4:
end_script
ret
Func_4040a:
Script_AugmentBasicPokemonBook:
ldtx hl, AugmentBasicPokemonBookName
ld a, l
ld [wScriptNPCName], a
@@ -670,7 +670,7 @@ Func_4040a:
end_script
ret
Func_40420:
Script_GRKingCardsBook:
ldtx hl, GRKingCardsBookName
ld a, l
ld [wScriptNPCName], a
@@ -684,7 +684,7 @@ Func_40420:
end_script
ret
Func_40436:
Script_SpecialEnergyBook:
ldtx hl, SpecialEnergyBookName
ld a, l
ld [wScriptNPCName], a
@@ -698,7 +698,7 @@ Func_40436:
end_script
ret
Func_4044c:
Script_GetCoinsBook:
ldtx hl, GetCoinsBookName
ld a, l
ld [wScriptNPCName], a
@@ -2712,7 +2712,7 @@ Script_TCGCupRound1AfterDuel:
ld b, NORTH
lb de, 10, 9
farcall LoadOWObjectInMap
ld b, $10
ld b, BANK(.NPCMovement_418a1)
ld hl, .NPCMovement_418a1
farcall MoveNPC
call Func_3340
@@ -2733,7 +2733,7 @@ Script_TCGCupRound1AfterDuel:
farcall GetVarValue
farcall GetNPCByDeck_AdjustAmy
push af
ld b, $10
ld b, BANK(.NPCMovement_4189c)
ld hl, .NPCMovement_4189c
farcall MoveNPC
call Func_3340
@@ -2839,7 +2839,7 @@ Script_TCGCupRound2AfterDuel:
ld b, NORTH
lb de, 10, 9
farcall LoadOWObjectInMap
ld b, $10
ld b, BANK(.NPCMovement_419a6)
ld hl, .NPCMovement_419a6
farcall MoveNPC
call Func_3340
@@ -2860,7 +2860,7 @@ Script_TCGCupRound2AfterDuel:
farcall GetVarValue
farcall GetNPCByDeck_AdjustAmy
push af
ld b, $10
ld b, BANK(.NPCMovement_419a1)
ld hl, .NPCMovement_419a1
farcall MoveNPC
call Func_3340
@@ -3016,7 +3016,7 @@ Script_TCGCupRound3AfterDuel:
farcall GetVarValue
farcall GetNPCByDeck_AdjustAmy
push af
ld b, $10
ld b, BANK(.NPCMovement_41ae0)
ld hl, .NPCMovement_41ae0
farcall MoveNPC
call Func_3340
@@ -5321,13 +5321,14 @@ Script_GRCupOpponentEliminated:
farcall GetVarValue
farcall GetNPCByDeck_AdjustAmy
push af
ld b, $10
ld b, BANK(.NPCMovement_42d9b)
ld hl, .NPCMovement_42d9b
farcall MoveNPC
call Func_3340
pop af
push af
ld b, $10
ld b, BANK(.NPCMovement_42da0)
ASSERT BANK(.NPCMovement_42da0) == BANK(.NPCMovement_42da3)
ld hl, .NPCMovement_42da0
farcall MoveNPC
ld a, NPC_GR_CUP_CLERK_RIGHT
@@ -5337,7 +5338,7 @@ Script_GRCupOpponentEliminated:
pop af
farcall ClearOWObject
ld a, NPC_GR_CUP_CLERK_RIGHT
ld b, $10
ld b, BANK(.NPCMovement_42da8)
ld hl, .NPCMovement_42da8
farcall MoveNPC
call Func_3340
@@ -5378,7 +5379,8 @@ Script_GRCupNewChallenger:
ld b, NORTH
lb de, 11, 10
farcall LoadOWObjectInMap
ld b, $10
ld b, BANK(.NPCMovement_42e02)
ASSERT BANK(.NPCMovement_42e02) == BANK(.NPCMovement_42e0a)
ld hl, .NPCMovement_42e02
farcall MoveNPC
ld a, NPC_GR_CUP_CLERK_RIGHT
@@ -5386,7 +5388,8 @@ Script_GRCupNewChallenger:
farcall MoveNPC
call Func_3340
pop af
ld b, $10
ld b, BANK(.NPCMovement_42e05)
ASSERT BANK(.NPCMovement_42e05) == BANK(.NPCMovement_42e0f)
ld hl, .NPCMovement_42e05
farcall MoveNPC
ld a, NPC_GR_CUP_CLERK_RIGHT
@@ -5658,7 +5661,7 @@ Script_43000:
print_npc_text Text0928
receive_card GRS_MEWTWO
set_event EVENT_MASONS_LAB_CHALLENGE_MACHINE_STATE
set_event EVENT_BEAT_GRAND_MASTER_CUP
set_event EVENT_WON_FINAL_CUP
reset_event EVENT_TALKED_TO_MITCH
reset_event EVENT_TALKED_TO_AMY
reset_event EVENT_TALKED_TO_KEN
@@ -5667,9 +5670,9 @@ Script_43000:
reset_event EVENT_TALKED_TO_HIDERO
reset_event EVENT_TALKED_TO_KANZAKI
reset_event EVENT_TALKED_TO_ISHIHARA
reset_event EVENT_BB
reset_event EVENT_BC
reset_event EVENT_BD
reset_event EVENT_TALKED_TO_COURTNEY_POKEMON_DOME
reset_event EVENT_TALKED_TO_STEVE_POKEMON_DOME
reset_event EVENT_TALKED_TO_JACK_POKEMON_DOME
reset_event EVENT_ENTERED_GRAND_MASTER_CUP
set_var VAR_0B, $01
var_add VAR_27, $05

View File

@@ -474,8 +474,8 @@ SetChallengeCupDuelParams:
SetGrandMasterCupOpponents:
; init
ld e, NUM_GRANDMASTERCUP_OPPONENTS
ld d, VAR_GRANDMASTERCUP_OPPONENT_DECK_0
ld e, NUM_GRANDMASTERCUP_NPC_COMPETITORS
ld d, VAR_GRANDMASTERCUP_ROUND1_NPC1_DECK_ID
ld c, $ff
.loop_init
ld a, d
@@ -503,13 +503,13 @@ SetGrandMasterCupOpponents:
jr c, .loop_pick
push bc
ld d, a
ld a, VAR_GRANDMASTERCUP_OPPONENT_DECK_0
ld a, VAR_GRANDMASTERCUP_ROUND1_NPC1_DECK_ID
add c
ld c, d
farcall SetVarValue
pop bc
inc c
ld a, NUM_GRANDMASTERCUP_OPPONENTS
ld a, NUM_GRANDMASTERCUP_NPC_COMPETITORS
cp c
jr nz, .loop_set_opponents
ret
@@ -517,7 +517,7 @@ SetGrandMasterCupOpponents:
; for b = bitmask, choose a random opponent and return their deck id in a
.PickOpponent:
ld hl, GrandMasterCupOpponents
ld a, NUM_GRANDMASTERCUP_OPPONENT_IDS
ld a, NUM_GRANDMASTERCUP_OPPONENT_POOL
call Random
sla a
add_hl_a
@@ -535,7 +535,7 @@ SetGrandMasterCupOpponents:
ld d, a
farcall GetNPCByDeck
ld l, a
ld e, VAR_GRANDMASTERCUP_OPPONENT_DECK_0
ld e, VAR_GRANDMASTERCUP_ROUND1_NPC1_DECK_ID
.loop_check
ld a, e
farcall GetVarValue
@@ -560,27 +560,29 @@ GetNPCByDeck_AdjustAmy_PokemonDome:
call GetNPCByDeck_AdjustAmy
ret
Func_45488:
ld a, VAR_0E
; return a = opponent deck id of the current round (1, 2, finals)
GetGrandMasterCupCurOpponent:
ld a, VAR_GRANDMASTERCUP_CURRENT_ROUND
farcall GetVarValue
cp $02
jr z, .asm_4549c
jr nc, .asm_454a4
ld a, VAR_GRANDMASTERCUP_OPPONENT_DECK_0
cp 2
jr z, .round2
jr nc, .finals
; round 1
ld a, VAR_GRANDMASTERCUP_ROUND1_NPC1_DECK_ID
farcall GetVarValue
jr .asm_454aa
.asm_4549c
ld a, VAR_1B
jr .done
.round2
ld a, VAR_GRANDMASTERCUP_ROUND2_NPC1_DECK_ID
farcall GetVarValue
jr .asm_454aa
.asm_454a4
ld a, VAR_1E
jr .done
.finals
ld a, VAR_GRANDMASTERCUP_FINAL_NPC_DECK_ID
farcall GetVarValue
.asm_454aa
.done
ret
SetGrandMasterCupDuelParams:
call Func_45488
call GetGrandMasterCupCurOpponent
ld [wNPCDuelDeckID], a
ld a, MUSIC_MATCH_START_CLUB_MASTER
ld [wDuelStartTheme], a
@@ -588,8 +590,8 @@ SetGrandMasterCupDuelParams:
set 1, [hl]
ret
LoadGrandMasterCupOpponentLocationAndName:
call Func_45488
LoadGrandMasterCupCurOpponentLocationAndName:
call GetGrandMasterCupCurOpponent
farcall GetNPCByDeck
farcall LoadNPCDuelist
ld a, [wCurrentNPCDuelistData + NPC_DUELIST_STRUCT_LOCATION_NAME]
@@ -607,8 +609,8 @@ LoadGrandMasterCupOpponentLocationAndName:
ld [wTxRam2_b + 1], a
ret
LoadGrandMasterCupOpponentName:
call Func_45488
LoadGrandMasterCupCurOpponentName:
call GetGrandMasterCupCurOpponent
farcall GetNPCByDeck
farcall LoadNPCDuelist
ld a, [wCurrentNPCDuelistData + NPC_DUELIST_STRUCT_DIALOG_NAME]
@@ -618,68 +620,77 @@ LoadGrandMasterCupOpponentName:
call LoadTxRam2
ret
Func_454fa:
ld a, VAR_GRANDMASTERCUP_OPPONENT_DECK_1
; determine all non-player match results up to finals
; by UpdateRNGSources + rrca
SetGrandMasterCupNPCMatchWinners:
; round 1 match 2
ld a, VAR_GRANDMASTERCUP_ROUND1_NPC2_DECK_ID
farcall GetVarValue
ld c, a
call UpdateRNGSources
rrca
jr nc, .asm_4550e
ld a, VAR_GRANDMASTERCUP_OPPONENT_DECK_2
jr nc, .got_winner_round1_match2
ld a, VAR_GRANDMASTERCUP_ROUND1_NPC3_DECK_ID
farcall GetVarValue
ld c, a
.asm_4550e
ld a, VAR_1B
.got_winner_round1_match2
ld a, VAR_GRANDMASTERCUP_ROUND2_NPC1_DECK_ID
farcall SetVarValue
ld a, VAR_GRANDMASTERCUP_OPPONENT_DECK_3
; round 1 match 3
ld a, VAR_GRANDMASTERCUP_ROUND1_NPC4_DECK_ID
farcall GetVarValue
ld c, a
call UpdateRNGSources
rrca
jr nc, .asm_45528
ld a, VAR_GRANDMASTERCUP_OPPONENT_DECK_4
jr nc, .got_winner_round1_match3
ld a, VAR_GRANDMASTERCUP_ROUND1_NPC5_DECK_ID
farcall GetVarValue
ld c, a
.asm_45528
ld a, VAR_1C
.got_winner_round1_match3
ld a, VAR_GRANDMASTERCUP_ROUND2_NPC2_DECK_ID
farcall SetVarValue
ld a, VAR_GRANDMASTERCUP_OPPONENT_DECK_6
; round 1 match 4 and round 2 match 2
; Ronald is guaranteed to advance to finals
ld a, VAR_GRANDMASTERCUP_ROUND1_NPC7_DECK_ID
farcall GetVarValue
ld c, a
farcall GetNPCByDeck
cp NPC_RONALD
jr z, .asm_4554a
jr z, .got_winner_round1_match4
call UpdateRNGSources
rrca
jr c, .asm_4554a
ld a, VAR_GRANDMASTERCUP_OPPONENT_DECK_5
jr c, .got_winner_round1_match4
ld a, VAR_GRANDMASTERCUP_ROUND1_NPC6_DECK_ID
farcall GetVarValue
ld c, a
.asm_4554a
ld a, VAR_1D
.got_winner_round1_match4
ld a, VAR_GRANDMASTERCUP_ROUND2_NPC3_DECK_ID
farcall SetVarValue
ld a, VAR_1D
ld a, VAR_GRANDMASTERCUP_ROUND2_NPC3_DECK_ID
farcall GetVarValue
ld c, a
farcall GetNPCByDeck
cp NPC_RONALD
jr z, .asm_4556c
jr z, .got_winner_round2_match2
call UpdateRNGSources
rrca
jr c, .asm_4556c
ld a, VAR_1C
jr c, .got_winner_round2_match2
ld a, VAR_GRANDMASTERCUP_ROUND2_NPC2_DECK_ID
farcall GetVarValue
ld c, a
.asm_4556c
ld a, VAR_1E
.got_winner_round2_match2
ld a, VAR_GRANDMASTERCUP_FINAL_NPC_DECK_ID
farcall SetVarValue
ret
Func_45573:
farcall Func_1ea00
ld a, VAR_GRANDMASTERCUP_OPPONENT_DECK_0
ld c, $01
.asm_4557b
InitAndLoadGrandMasterCupOpponentNames:
farcall InitGrandMasterCupBracket
ld a, VAR_GRANDMASTERCUP_ROUND1_NPC1_DECK_ID
ld c, 1
.loop_load
push af
push bc
farcall GetVarValue
@@ -691,116 +702,133 @@ Func_45573:
ld h, a
pop bc
ld a, c
farcall Func_1e9ea
farcall LoadGrandMasterCupCompetitorNames
inc c
ld a, $08
ld a, NUM_GRANDMASTERCUP_COMPETITORS
cp c
jr z, .asm_455a1
jr z, .done
pop af
inc a
jr .asm_4557b
.asm_455a1
jr .loop_load
.done
pop af
ret
Func_455a3:
ld a, VAR_0E
; defaults to the left (top) side being the match winner,
; so adjust with *_RIGHT_WON otherwise
SetupAndShowGrandMasterCupBracket:
ld a, VAR_GRANDMASTERCUP_CURRENT_ROUND
farcall GetVarValue
cp $01
jp c, .asm_45658
jr z, .asm_455f0
cp $02
jr z, .asm_455c8
cp 1
jp c, .draw_bracket
jr z, .draw_round1_results
cp 2
jr z, .draw_round2_results
; draw final results
ld a, EVENT_SET_UNTIL_MAP_RELOAD_2
farcall GetEventValue
ld c, $06
jr z, .asm_455c2
ld a, $01
jr .asm_455c4
.asm_455c2
ld a, $02
.asm_455c4
farcall Func_1ea4c
.asm_455c8
ld c, $04
ld a, $01
farcall Func_1ea4c
ld c, $05
ld a, $01
farcall Func_1ea4c
ld a, VAR_1C
ld c, GRANDMASTERCUP_BRACKET_FINAL
jr z, .player_lost_finals
ld a, GRANDMASTERCUP_BRACKET_LEFT_WON
jr .checked_final_result
.player_lost_finals
ld a, GRANDMASTERCUP_BRACKET_RIGHT_WON
.checked_final_result
farcall UpdateGrandMasterCupBracketResults
.draw_round2_results
ld c, GRANDMASTERCUP_BRACKET_ROUND2_MATCH1
ld a, GRANDMASTERCUP_BRACKET_LEFT_WON
farcall UpdateGrandMasterCupBracketResults
ld c, GRANDMASTERCUP_BRACKET_ROUND2_MATCH2
ld a, GRANDMASTERCUP_BRACKET_LEFT_WON
farcall UpdateGrandMasterCupBracketResults
; check round2-match2 result
ld a, VAR_GRANDMASTERCUP_ROUND2_NPC2_DECK_ID
farcall GetVarValue
ld c, a
ld a, VAR_1E
ld a, VAR_GRANDMASTERCUP_FINAL_NPC_DECK_ID
farcall GetVarValue
cp c
jr z, .asm_455f0
ld c, $05
ld a, $02
farcall Func_1ea4c
.asm_455f0
ld c, $00
ld a, $01
farcall Func_1ea4c
ld c, $01
ld a, $01
farcall Func_1ea4c
ld a, VAR_GRANDMASTERCUP_OPPONENT_DECK_1
jr z, .draw_round1_results
ld c, GRANDMASTERCUP_BRACKET_ROUND2_MATCH2
ld a, GRANDMASTERCUP_BRACKET_RIGHT_WON
farcall UpdateGrandMasterCupBracketResults
.draw_round1_results
ld c, GRANDMASTERCUP_BRACKET_ROUND1_MATCH1
ld a, GRANDMASTERCUP_BRACKET_LEFT_WON
farcall UpdateGrandMasterCupBracketResults
ld c, GRANDMASTERCUP_BRACKET_ROUND1_MATCH2
ld a, GRANDMASTERCUP_BRACKET_LEFT_WON
farcall UpdateGrandMasterCupBracketResults
; check round1-match2 result
ld a, VAR_GRANDMASTERCUP_ROUND1_NPC2_DECK_ID
farcall GetVarValue
ld c, a
ld a, VAR_1B
ld a, VAR_GRANDMASTERCUP_ROUND2_NPC1_DECK_ID
farcall GetVarValue
cp c
jr z, .asm_45618
ld c, $01
ld a, $02
farcall Func_1ea4c
.asm_45618
ld c, $02
ld a, $01
farcall Func_1ea4c
ld a, VAR_GRANDMASTERCUP_OPPONENT_DECK_3
jr z, .round1_match3
ld c, GRANDMASTERCUP_BRACKET_ROUND1_MATCH2
ld a, GRANDMASTERCUP_BRACKET_RIGHT_WON
farcall UpdateGrandMasterCupBracketResults
.round1_match3
ld c, GRANDMASTERCUP_BRACKET_ROUND1_MATCH3
ld a, GRANDMASTERCUP_BRACKET_LEFT_WON
farcall UpdateGrandMasterCupBracketResults
; check round1-match3 result
ld a, VAR_GRANDMASTERCUP_ROUND1_NPC4_DECK_ID
farcall GetVarValue
ld c, a
ld a, VAR_1C
ld a, VAR_GRANDMASTERCUP_ROUND2_NPC2_DECK_ID
farcall GetVarValue
cp c
jr z, .asm_45638
ld c, $02
ld a, $02
farcall Func_1ea4c
.asm_45638
ld c, $03
ld a, $01
farcall Func_1ea4c
ld a, VAR_GRANDMASTERCUP_OPPONENT_DECK_5
jr z, .round1_match4
ld c, GRANDMASTERCUP_BRACKET_ROUND1_MATCH3
ld a, GRANDMASTERCUP_BRACKET_RIGHT_WON
farcall UpdateGrandMasterCupBracketResults
.round1_match4
ld c, GRANDMASTERCUP_BRACKET_ROUND1_MATCH4
ld a, GRANDMASTERCUP_BRACKET_LEFT_WON
farcall UpdateGrandMasterCupBracketResults
; check round1-match4 result
ld a, VAR_GRANDMASTERCUP_ROUND1_NPC6_DECK_ID
farcall GetVarValue
ld c, a
ld a, VAR_1D
ld a, VAR_GRANDMASTERCUP_ROUND2_NPC3_DECK_ID
farcall GetVarValue
cp c
jr z, .asm_45658
ld c, $03
ld a, $02
farcall Func_1ea4c
.asm_45658
farcall Func_1e984
jr z, .draw_bracket
ld c, GRANDMASTERCUP_BRACKET_ROUND1_MATCH4
ld a, GRANDMASTERCUP_BRACKET_RIGHT_WON
farcall UpdateGrandMasterCupBracketResults
.draw_bracket
farcall GrandMasterCupBracketScreen
ret
Func_4565d:
; a = bracket champion's competitor index, player (0) or npc 1--7
; return a = NPC ID
GetGrandMasterCupBracketChampionID:
push bc
push de
push hl
or a
jr nz, .asm_45668
jr nz, .npc
ld a, [wPlayerOWObject]
jr .asm_45672
.asm_45668
jr .done
.npc
dec a
add VAR_GRANDMASTERCUP_OPPONENT_DECK_0
add VAR_GRANDMASTERCUP_ROUND1_NPC1_DECK_ID
farcall GetVarValue
call GetNPCByDeck_AdjustAmy_PokemonDome
.asm_45672
.done
pop hl
pop de
pop bc

View File

@@ -828,8 +828,8 @@ _LoadOWObject::
inc hl
xor a
ld [hli], a ; OWOBJSTRUCT_4
ld [hli], a ; OWOBJSTRUCT_5
ld [hli], a ; OWOBJSTRUCT_6
ld [hli], a ; OWOBJSTRUCT_MOVEMENT_BANK
ld [hli], a ; OWOBJSTRUCT_MOVEMENT_PTR
ld [hl], a ;
pop hl
pop de

530
src/engine/link/ir_core.asm Normal file
View File

@@ -0,0 +1,530 @@
; if carry flag is set, only delays
; if carry not set:
; - set rRP edge up, wait;
; - set rRP edge down, wait;
; - return
TransmitIRBit:
jr c, .delay_once
ld [hl], RP_WRITE_HIGH | RP_ENABLE
ld a, 5
jr .loop_delay_1 ; jump to possibly to add more cycles?
.loop_delay_1
dec a
jr nz, .loop_delay_1
ld [hl], RP_WRITE_LOW | RP_ENABLE
ld a, 14
jr .loop_delay_2 ; jump to possibly to add more cycles?
.loop_delay_2
dec a
jr nz, .loop_delay_2
ret
.delay_once
ld a, 21
jr .loop_delay_3 ; jump to possibly to add more cycles?
.loop_delay_3
dec a
jr nz, .loop_delay_3
nop
ret
; input a = byte to transmit through IR
TransmitByteThroughIR:
push hl
ld hl, rRP
push de
push bc
ld b, a
scf ; carry set
call TransmitIRBit
or a ; carry not set
call TransmitIRBit
ld c, 8
ld c, 8 ; number of input bits
.loop
ld a, $00
rr b
call TransmitIRBit
dec c
jr nz, .loop
pop bc
pop de
pop hl
ldh a, [rJOYP]
bit B_JOYP_B, a
jr z, ReturnZFlagUnsetAndCarryFlagSet
xor a ; return z set
ret
; same as ReceiveByteThroughIR but
; returns $0 in a if there's an error in IR
ReceiveByteThroughIR_ZeroIfUnsuccessful:
call ReceiveByteThroughIR
ret nc
xor a
ret
; returns carry if there's some time out
; and output in register a of $ff
; otherwise returns in a some sequence of bits
; related to how rRP sets/unsets bit 1
ReceiveByteThroughIR:
push de
push bc
push hl
; waits for bit 1 in rRP to be unset
; up to $100 loops
ld b, 0
ld hl, rRP
.wait_ir
bit B_RP_DATA_IN, [hl]
jr z, .ok
dec b
jr nz, .wait_ir
; looped around $100 times
; return $ff and carry set
pop hl
pop bc
pop de
scf
ld a, $ff
ret
.ok
; delay for some cycles
ld a, 15
.loop_delay
dec a
jr nz, .loop_delay
; loop for each bit
ld e, 8
.loop
ld a, $01
REPT 4 ; possibly delay cycles?
ld b, 9
ENDR
; checks for bit 1 in rRP
; if in any of the checks it is unset,
; then a is set to 0
; this is done a total of 9 times
bit B_RP_DATA_IN, [hl]
jr nz, .loop_check
xor a
.loop_check
bit B_RP_DATA_IN, [hl]
jr nz, .next
xor a
.next
dec b
jr nz, .loop_check
; one bit received
rrca
rr d
dec e
jr nz, .loop
ld a, d ; has bits set for each "cycle" that bit 1 was not unset
pop hl
pop bc
pop de
or a
ret
ReturnZFlagUnsetAndCarryFlagSet:
ld a, $ff
or a ; z not set
scf ; carry set
ret
; called when expecting to transmit data
IRHandshake_Initiate:
ld hl, rRP
.loop
ldh a, [rJOYP]
bit B_JOYP_B, a
jr z, ReturnZFlagUnsetAndCarryFlagSet
ld a, IR_HANDSHAKE_REQUEST_TCG2
call TransmitByteThroughIR
push hl
pop hl
call ReceiveByteThroughIR_ZeroIfUnsuccessful
cp IR_HANDSHAKE_ACKNOWLEDGE_TCG2
jr nz, .loop
xor a
ret
; called when expecting to receive data
IRHandshake_Listen:
ld hl, rRP
.loop
ldh a, [rJOYP]
bit B_JOYP_B, a
jr z, ReturnZFlagUnsetAndCarryFlagSet
call ReceiveByteThroughIR_ZeroIfUnsuccessful
cp IR_HANDSHAKE_REQUEST_TCG2
jr nz, .loop
ld a, IR_HANDSHAKE_ACKNOWLEDGE_TCG2
call TransmitByteThroughIR
xor a
ret
ReturnZFlagUnsetAndCarryFlagSet2:
jp ReturnZFlagUnsetAndCarryFlagSet
TransmitIRDataBuffer:
call IRHandshake_Initiate
jr c, ReturnZFlagUnsetAndCarryFlagSet2
ld a, $49
call TransmitByteThroughIR
ld a, $52
call TransmitByteThroughIR
ld hl, wIRDataBuffer
ld c, 8
jr TransmitNBytesFromHLThroughIR
ReceiveIRDataBuffer:
call IRHandshake_Listen
jr c, ReturnZFlagUnsetAndCarryFlagSet2
call ReceiveByteThroughIR
cp $49
jr nz, ReceiveIRDataBuffer
call ReceiveByteThroughIR
cp $52
jr nz, ReceiveIRDataBuffer
ld hl, wIRDataBuffer
ld c, 8
jr ReceiveNBytesToHLThroughIR
; hl = start of data to transmit
; c = number of bytes to transmit
TransmitNBytesFromHLThroughIR:
ld b, 0
.loop_data_bytes
ld a, b
add [hl]
ld b, a
ld a, [hli]
call TransmitByteThroughIR
jr c, .done
dec c
jr nz, .loop_data_bytes
ld a, b
cpl
inc a
call TransmitByteThroughIR
.done
ret
; hl = address to write received data
; c = number of bytes to be received
ReceiveNBytesToHLThroughIR:
ld b, 0
.loop_data_bytes
call ReceiveByteThroughIR
jr c, ReturnZFlagUnsetAndCarryFlagSet2
ld [hli], a
add b
ld b, a
dec c
jr nz, .loop_data_bytes
call ReceiveByteThroughIR
add b
or a
jr nz, ReturnZFlagUnsetAndCarryFlagSet2
ret
; disables interrupts, and sets joypad and IR communication port
; switches to CGB normal speed
StartIRCommunications:
di
call SwitchToCGBNormalSpeed
ld a, JOYP_GET_BUTTONS
ldh [rJOYP], a
ld a, RP_ENABLE
ldh [rRP], a
ret
; reenables interrupts, and switches CGB back to double speed
CloseIRCommunications:
ld a, JOYP_GET_NONE
ldh [rJOYP], a
.wait_vblank_on
ldh a, [rSTAT]
and STAT_MODE
cp STAT_VBLANK
jr z, .wait_vblank_on
.wait_vblank_off
ldh a, [rSTAT]
and STAT_MODE
cp STAT_VBLANK
jr nz, .wait_vblank_off
call SwitchToCGBDoubleSpeed
ei
ret
; set rRP to 0
ClearRP:
ld a, 0
ldh [rRP], a
ret
; expects to receive a command (IRCMD_* constant)
; in wIRDataBuffer + 1, then calls the subroutine
; corresponding to that command
ExecuteReceivedIRCommands:
call StartIRCommunications
.loop_commands
call ReceiveIRDataBuffer
jr c, .error
jr nz, .loop_commands
ld hl, wIRDataBuffer + 1
ld a, [hl]
ld hl, .CmdPointerTable
cp NUM_IR_COMMANDS
jr nc, .loop_commands ; invalid command
call .JumpToCmdPointer ; execute command
jr .loop_commands
.error
call CloseIRCommunications
xor a
scf
ret
.JumpToCmdPointer
add a ; *2
add l
ld l, a
ld a, 0
adc h
ld h, a
ld a, [hli]
ld h, [hl]
ld l, a
.jp_hl
jp hl
.CmdPointerTable
dw .Close ; IRCMD_CLOSE
dw .ReturnWithoutClosing ; IRCMD_RETURN_WO_CLOSING
dw .TransmitData ; IRCMD_TRANSMIT_DATA
dw .ReceiveData ; IRCMD_RECEIVE_DATA
dw .CallFunction ; IRCMD_CALL_FUNCTION
; closes the IR communications
; pops hl so that the sp points
; to the return address of ExecuteReceivedIRCommands
.Close
pop hl
call CloseIRCommunications
or a
ret
; returns without closing the IR communications
; will continue the command loop
.ReturnWithoutClosing
or a
ret
; receives an address and number of bytes
; and transmits starting at that address
.TransmitData
call IRHandshake_Initiate
ret c
call LoadRegistersFromIRDataBuffer
jp TransmitNBytesFromHLThroughIR
; receives an address and number of bytes
; and writes the data received to that address
.ReceiveData
call LoadRegistersFromIRDataBuffer
ld l, e
ld h, d
call ReceiveNBytesToHLThroughIR
jr c, .received
sub b
call TransmitByteThroughIR
.received
ret
; receives an address to call, then stores
; the registers in the IR data buffer
.CallFunction
call LoadRegistersFromIRDataBuffer
call .jp_hl
call StoreRegistersInIRDataBuffer
ret
; returns carry set if request sent was not acknowledged
TrySendIRRequest:
call StartIRCommunications
ld hl, rRP
ld c, 4
.send_request
ld a, IR_HANDSHAKE_REQUEST_TCG2
push bc
call TransmitByteThroughIR
push bc
pop bc
call ReceiveByteThroughIR_ZeroIfUnsuccessful
pop bc
cp IR_HANDSHAKE_ACKNOWLEDGE_TCG2
jr z, .received_ack
dec c
jr nz, .send_request
scf
jr .close
.received_ack
xor a
.close
push af
call CloseIRCommunications
pop af
ret
; returns carry set and the pressed button (A or B) in a if request was not received
TryReceiveIRRequest:
call StartIRCommunications
ld hl, rRP
.wait_request
call ReceiveByteThroughIR_ZeroIfUnsuccessful
cp IR_HANDSHAKE_REQUEST_TCG2
jr z, .send_ack
ldh a, [rJOYP]
cpl
and PAD_A | PAD_B
jr z, .wait_request
; not received
scf
jr .close
.send_ack
ld a, IR_HANDSHAKE_ACKNOWLEDGE_TCG2
call TransmitByteThroughIR
xor a
.close
push af
call CloseIRCommunications
pop af
ret
; sends request for other device to close current communication
RequestCloseIRCommunication:
call StartIRCommunications
ld a, IRCMD_CLOSE
ld [wIRDataBuffer + 1], a
call TransmitIRDataBuffer
; fallthrough
; calls CloseIRCommunications while preserving af
SafelyCloseIRCommunications:
push af
call CloseIRCommunications
pop af
ret
; sends a request for data to be transmitted
; from the other device
; hl = start of data to request to transmit
; de = address to write data received
; c = length of data
RequestDataTransmissionThroughIR:
ld a, IRCMD_TRANSMIT_DATA
call TransmitRegistersThroughIR
push de
push bc
call IRHandshake_Listen
pop bc
pop hl
jr c, SafelyCloseIRCommunications
call ReceiveNBytesToHLThroughIR
jr SafelyCloseIRCommunications
; transmits data to be written in the other device
; hl = start of data to transmit
; de = address for other device to write data
; c = length of data
RequestDataReceivalThroughIR:
ld a, IRCMD_RECEIVE_DATA
call TransmitRegistersThroughIR
call TransmitNBytesFromHLThroughIR
jr c, SafelyCloseIRCommunications
call ReceiveByteThroughIR
jr c, SafelyCloseIRCommunications
add b
jr nz, .set_carry
xor a
jr SafelyCloseIRCommunications
.set_carry
call ReturnZFlagUnsetAndCarryFlagSet
jr SafelyCloseIRCommunications
; first stores all the current registers in wIRDataBuffer
; then transmits it through IR
TransmitRegistersThroughIR:
push hl
push de
push bc
call StoreRegistersInIRDataBuffer
call StartIRCommunications
call TransmitIRDataBuffer
pop bc
pop de
pop hl
ret nc
inc sp
inc sp
jr SafelyCloseIRCommunications
; stores af, hl, de and bc in wIRDataBuffer
StoreRegistersInIRDataBuffer:
push de
push hl
push af
ld hl, wIRDataBuffer
pop de
ld [hl], e ; <- f
inc hl
ld [hl], d ; <- a
inc hl
pop de
ld [hl], e ; <- l
inc hl
ld [hl], d ; <- h
inc hl
pop de
ld [hl], e ; <- e
inc hl
ld [hl], d ; <- d
inc hl
ld [hl], c ; <- c
inc hl
ld [hl], b ; <- b
ret
; loads all the registers that were stored
; from StoreRegistersInIRDataBuffer
LoadRegistersFromIRDataBuffer:
ld hl, wIRDataBuffer
ld e, [hl]
inc hl
ld d, [hl]
inc hl
push de
ld e, [hl]
inc hl
ld d, [hl]
inc hl
push de
ld e, [hl]
inc hl
ld d, [hl]
inc hl
ld c, [hl]
inc hl
ld b, [hl]
pop hl
pop af
ret

View File

@@ -0,0 +1,318 @@
; hl = text id
LoadLinkConnectingScene:
push hl
call SetSpriteAnimationsAsVBlankFunction
ld a, SCENE_LINK
lb bc, 0, 0
call EmptyScreenAndLoadScene
pop hl
call DrawWideTextBox_PrintText
call EnableLCD
ret
; hl = text id
; shows Link Not Connected scene
; then asks the player whether they want to try again
; if the player selects "no", return carry
LoadLinkNotConnectedSceneAndAskWhetherToTryAgain:
push hl
call RestoreVBlankFunction
call SetSpriteAnimationsAsVBlankFunction
ld a, SCENE_LINK_INTRO_NOT_CONNECTED
lb bc, 0, 0
call EmptyScreenAndLoadScene
pop hl
call DrawWideTextBox_WaitForInput
ldtx hl, TryAgainPromptText
call YesOrNoMenuWithText_SetCursorToYes
; fallthrough
ClearRPAndRestoreVBlankFunction:
push af
call ClearRP
call RestoreVBlankFunction
pop af
ret
; prepares IR communication parameter data
; a = a IRPARAM_* constant for the function of this connection
InitIRCommunications:
ld hl, wOwnIRCommunicationMode
ld [hl], a
FOR n, IR_MAGIC_STRING_SIZE
inc hl
ld [hl], STRBYTE("{IR_MAGIC_STRING_TCG2}", n)
ENDR
ld a, $ff
ld [wIRCommunicationErrorCode], a
ld a, PLAYER_TURN
ldh [hWhoseTurn], a
; clear wNameBuffer and wOpponentName
xor a
ld [wNameBuffer], a
ld hl, wOpponentName
ld [hli], a
ld [hl], a
; loads player's name from SRAM
; to wDefaultText
call EnableSRAM
ld hl, sPlayerName
ld de, wDefaultText
ld c, NAME_BUFFER_LENGTH
.loop
ld a, [hli]
ld [de], a
inc de
dec c
jr nz, .loop
call DisableSRAM
ret
; returns carry if communication was unsuccessful
; if a = 0, then it was a communication error
; if a = 1, then operation was cancelled by the player
PrepareSendCardOrDeckConfigurationThroughIR:
call InitIRCommunications
; pressing A button triggers request for IR communication
.loop_frame
call DoFrame
ldh a, [hKeysPressed]
bit B_PAD_B, a
jr nz, .b_btn
ldh a, [hKeysHeld]
bit B_PAD_A, a
jr z, .loop_frame
; a btn
call TrySendIRRequest
jr nc, .request_success
or a
jr z, .loop_frame
xor a
scf
ret
; cancelled by the player
.b_btn
ld a, $01
scf
ret
.request_success
call ExchangeIRCommunicationParameters
ret c
ld a, [wOtherIRCommunicationMagicString + 2]
cp STRBYTE("{IR_MAGIC_STRING_TCG2}", 2)
jr nz, SetIRCommunicationErrorCode_Error
or a
ret
; exchanges player names and IR communication parameters
; checks whether parameters for communication match
; and if they don't, an error is issued
ExchangeIRCommunicationParameters:
ld hl, wOwnIRCommunicationParams
ld de, wOtherIRCommunicationParams
ld c, IR_PARAMS_STRUCT_SIZE
call RequestDataTransmissionThroughIR
jr c, .error
ld hl, wOtherIRCommunicationMagicString
ld a, [hli]
cp STRBYTE("{IR_MAGIC_STRING_TCG2}", 0)
jr nz, .error
ld a, [hli]
cp STRBYTE("{IR_MAGIC_STRING_TCG2}", 1)
jr nz, .error
ld a, [wOwnIRCommunicationMode]
ld hl, wOtherIRCommunicationMode
cp [hl] ; does the mode parameter match?
jr nz, SetIRCommunicationErrorCode_Error
; receives wDefaultText from other device
; and writes it to wNameBuffer
ld hl, wDefaultText
ld de, wNameBuffer
ld c, NAME_BUFFER_LENGTH
call RequestDataTransmissionThroughIR
jr c, .error
; transmits wDefaultText to be
; written in wNameBuffer in the other device
ld hl, wDefaultText
ld de, wNameBuffer
ld c, NAME_BUFFER_LENGTH
call RequestDataReceivalThroughIR
jr c, .error
or a
ret
.error
xor a
scf
ret
SetIRCommunicationErrorCode_Error:
ld hl, wIRCommunicationErrorCode
ld [hl], $01
ld de, wIRCommunicationErrorCode
ld c, 1
call RequestDataReceivalThroughIR
call RequestCloseIRCommunication
ld a, $01
scf
ret
SetIRCommunicationErrorCode_NoError:
ld hl, wOwnIRCommunicationMode
ld [hl], NONE
ld de, wIRCommunicationErrorCode
ld c, 1
call RequestDataReceivalThroughIR
ret c
call RequestCloseIRCommunication
or a
ret
; makes device receptive to receive data from other device
; to write in wDuelTempList (either list of cards or a deck configuration)
; returns carry if some error occurred
TryReceiveCardOrDeckConfigurationThroughIR:
call InitIRCommunications
.loop_receive_request
xor a
ld [wDuelTempList], a
call TryReceiveIRRequest
jr nc, .receive_data
bit 1, a
jr nz, .cancelled
jr .loop_receive_request
.receive_data
call ExecuteReceivedIRCommands
ld a, [wIRCommunicationErrorCode]
or a
ret z ; no error
xor a
scf
ret
.cancelled
ld a, $01
scf
ret
; returns carry if card(s) wasn't successfully sent
_SendCard:
call StopMusic
ldtx hl, TransmittingCardSenderText
call LoadLinkConnectingScene
ld a, IRPARAM_SEND_CARDS
call PrepareSendCardOrDeckConfigurationThroughIR
jr c, .fail
; send cards
ld hl, wDuelTempList
ld e, l
ld d, h
ld c, DECK_COMPRESSED_SIZE
call RequestDataReceivalThroughIR
jr c, .fail
call SetIRCommunicationErrorCode_NoError
jr c, .fail
call ExecuteReceivedIRCommands
jr c, .fail
ld a, [wOwnIRCommunicationMagicString]
cp STRBYTE("{IR_ACK_MAGIC_STRING_TCG2}", 0)
jr nz, .fail
call PlayCardPopSong
xor a
call ClearRPAndRestoreVBlankFunction
ret
.fail
call PlayCardPopSong
ldtx hl, TransmittingCardUnsuccessfulSenderText
call LoadLinkNotConnectedSceneAndAskWhetherToTryAgain
jr nc, _SendCard
scf
ret
PlayCardPopSong:
ld a, MUSIC_CARD_POP
jp PlaySong
_ReceiveCard:
call StopMusic
ldtx hl, TransmittingCardReceiverText
call LoadLinkConnectingScene
ld a, IRPARAM_SEND_CARDS
call TryReceiveCardOrDeckConfigurationThroughIR
jr c, .fail
ld a, STRBYTE("{IR_ACK_MAGIC_STRING_TCG2}", 0)
ld [wOwnIRCommunicationMagicString], a
ld hl, wOwnIRCommunicationParams
ld e, l
ld d, h
ld c, IR_PARAMS_STRUCT_SIZE
call RequestDataReceivalThroughIR
jr c, .fail
call RequestCloseIRCommunication
jr c, .fail
call PlayCardPopSong
or a
call ClearRPAndRestoreVBlankFunction
ret
.fail
call PlayCardPopSong
ldtx hl, TransmittingCardUnsuccessfulReceiverText
call LoadLinkNotConnectedSceneAndAskWhetherToTryAgain
jr nc, _ReceiveCard
scf
ret
_SendDeckConfiguration:
call StopMusic
ldtx hl, TransmittingDeckConfigurationSenderText
call LoadLinkConnectingScene
ld a, IRPARAM_SEND_DECK
call PrepareSendCardOrDeckConfigurationThroughIR
jr c, .fail
ld hl, wDuelTempList
ld e, l
ld d, h
ld c, DECK_COMPRESSED_STRUCT_SIZE
call RequestDataReceivalThroughIR
jr c, .fail
call SetIRCommunicationErrorCode_NoError
jr c, .fail
call PlayCardPopSong
call ClearRPAndRestoreVBlankFunction
or a
ret
.fail
call PlayCardPopSong
ldtx hl, TransmittingDeckConfigurationUnsuccessfulSenderText
call LoadLinkNotConnectedSceneAndAskWhetherToTryAgain
jr nc, _SendDeckConfiguration
scf
ret
_ReceiveDeckConfiguration:
call StopMusic
ldtx hl, TransmittingDeckConfigurationReceiverText
call LoadLinkConnectingScene
ld a, IRPARAM_SEND_DECK
call TryReceiveCardOrDeckConfigurationThroughIR
jr c, .fail
call PlayCardPopSong
call ClearRPAndRestoreVBlankFunction
or a
ret
.fail
call PlayCardPopSong
ldtx hl, TransmittingDeckConfigurationUnsuccessfulReceiverText
call LoadLinkNotConnectedSceneAndAskWhetherToTryAgain
jr nc, _ReceiveDeckConfiguration
scf
ret

View File

@@ -22,7 +22,7 @@ CGBSpeedSwitch:
xor a
ldh [rIF], a
ldh [rIE], a
ld a, $30
ld a, JOYP_GET_NONE
ldh [rJOYP], a
stop
call SetupTimer

View File

@@ -2482,12 +2482,12 @@ ResetActiveMusicState::
ld [wActiveMusicState], a
ret
Func_3d54::
SpinGrandMasterCupBracketChampionSprite::
push af
push bc
push de
push hl
farcall $7, $6c38
farcall _SpinGrandMasterCupBracketChampionSprite
pop hl
pop de
pop bc

View File

@@ -71,3 +71,16 @@ MACRO? cardlist_params
db \1, \2, \3, \4, \5, \6, \7
dw \8
ENDM
/*
\1 ; wMaxNumCardsAllowed
\2 ; wNumValidDeckSize
\3 ; wSameNameCardsLimit
\4 ; wIncludeCardsInDeck (boolean)
\5 ; wDeckConfigurationMenuHandlerFunction
\6 ; wDeckConfigurationMenuTransitionTable
*/
MACRO? deckbuilding_params
db \1, \2, \3, \4
dw \5, \6
ENDM

View File

@@ -1,4 +1,4 @@
Text0ecf:
IshiharaWantsToTrade6InitialText:
textfw "やあ <RAMNAME>くんですか"
linefw "GR団との対戦 たのしんでますか?"
linefw "でんせつのとりポケモンの カードも"
@@ -15,7 +15,7 @@ Text0ecf:
linefw "カードを もっていませんか?"
done
Text0ed0:
IshiharaWantsToTrade6RepeatText:
textfw "やあ <RAMNAME>くんですか"
linefw "ポケモンカード たのしんでますか?"
linefw "でんせつのとりポケモンの カードも"
@@ -30,7 +30,7 @@ Text0ed0:
linefw "カードを もっていませんか?"
done
Text0ed1:
IshiharaDoNotOwnZapdosLv40Text:
textfw "きみの きもちは"
linefw "とても ありがたいのですが"
linefw "きみは 「サンダー<Lv>40」の"
@@ -39,7 +39,7 @@ Text0ed1:
linefw "また こんどということで・・・"
done
Text0ed2:
IshiharaUsingAllZapdosLv40InDecksText:
textfw "おやおや きみの「サンダー<Lv>40」は"
linefw "ぜんぶデッキに はいっているんですね"
linefw "ゲームに つかっているカードを"
@@ -48,17 +48,17 @@ Text0ed2:
linefw "また こんどということで・・・"
done
Text0ed3:
IshiharaAcceptedTrade6Text:
textfw "おお それは ありがたい!"
linefw "それでは さっそく・・・"
done
Text0ed4:
TradedZapdosLv40ForFlyingPikachuText:
textfw "<RAMNAME>は 「サンダー」と"
linefw "「そらをとぶピカチュウ」をこうかん!"
done
Text0ed5:
IshiharaThanksTradedZapdosLv40Text:
textfw "この「サンダー<Lv>40」は"
linefw "ありがたく いただきますよ"
linefw "これで でんせつのとりポケモンの"
@@ -67,7 +67,7 @@ Text0ed5:
linefw "ほんとうに ありがとう"
done
Text0ed6:
IshiharaWantsToTrade7InitialText:
textfw "やあ <RAMNAME>くんですか"
linefw "GR団との対戦 たのしんでますか?"
linefw "ちょっと かわったカードを"
@@ -82,7 +82,7 @@ Text0ed6:
linefw "こうかん しませんか?"
done
Text0ed7:
IshiharaWantsToTrade7RepeatText:
textfw "やあ <RAMNAME>くんですか"
linefw "ポケモンカード たのしんでますか?"
linefw "「マサキのパソコン」のカードを"
@@ -93,7 +93,7 @@ Text0ed7:
linefw "カードを もっていませんか?"
done
Text0ed8:
IshiharaDoNotOwnDarkDragoniteText:
textfw "きみの きもちは"
linefw "とても ありがたいのですが"
linefw "きみは 「わるいカイリュー<Lv>33」の"
@@ -102,7 +102,7 @@ Text0ed8:
linefw "また こんどということで・・・"
done
Text0ed9:
IshiharaUsingAllDarkDragoniteInDecksText:
textfw "きみの「わるいカイリュー<Lv>33」は"
linefw "ぜんぶデッキに はいっているんですね"
linefw "ゲームに つかっているカードを"
@@ -111,17 +111,17 @@ Text0ed9:
linefw "また こんどということで・・・"
done
Text0eda:
IshiharaAcceptedTrade7Text:
textfw "おお それは ありがたい!"
linefw "それでは さっそく・・・"
done
Text0edb:
TradedDarkDragoniteForBillsComputerText:
textfw "<RAMNAME>は「わるいカイリュー」と"
linefw "「マサキのパソコン」をこうかん!"
done
Text0edc:
IshiharaThanksTradedDarkDragoniteTradesCompleteText:
textfw "この「わるいカイリュー<Lv>33」は"
linefw "ありがたく いただきますよ"
linefw "これで わたしが ひつようとしている"
@@ -132,7 +132,7 @@ Text0edc:
linefw "ポケモンカードを たのしんでください"
done
Text0edd:
IshiharaAtVillaTradeLaterReadMyBooksText:
textfw "やあ <RAMNAME>くんですか"
linefw "いらっしゃい"
linefw "いまは とくに ほしいカードも"
@@ -147,7 +147,7 @@ Text0edd:
linefw "対戦で やくにたちますよ"
done
Text0ede:
RuiStudyingAtIshiharasVillaPostgameText:
textfw "あら <RAMNAME>くん?"
linefw "あなたも べんきょうにきたの?"
linefw "Mr.イシハラの本は 対戦のためになる"
@@ -163,22 +163,22 @@ Text0ede:
linefw "それじゃあね <RAMNAME>くん"
done
Text0edf:
RuiThanksIshiharaText:
textfw "いつも ありがとうございます"
linefw "Mr.イシハラ・・・"
done
Text0ee0:
IshiharaGladToHelpRuiText:
textfw "いえいえ わたしの本が"
linefw "おやくにたてば なによりです"
done
Text0ee1:
RuiGoodbyeIshiharaText:
textfw "では しつれいします"
linefw "Mr.イシハラ・・・"
done
Text0ee2:
IshiharaWantsToDuelInitialText:
textfw "やあ <RAMNAME>くん"
linefw "ポケモンカードを たのしんでますか?"
linefw "きみのおかげで ひつようなカードは"
@@ -191,7 +191,7 @@ Text0ee2:
linefw "わたしと 対戦してくれませんか?"
done
Text0ee3:
IshiharaWantsToDuelRepeatText:
textfw "やあ <RAMNAME>くん"
linefw "ポケモンカードを たのしんでますか?"
linefw "いろんなひとと 対戦してみると"
@@ -202,32 +202,32 @@ Text0ee3:
linefw "わたしと 対戦してくれませんか?"
done
Text0ee4:
IshiharaDuelPromptText:
textfw "Mr.イシハラと 対戦しますか?"
done
Text0ee5:
IshiharaDuelStartText:
textfw "ありがとう <RAMNAME>くん"
linefw "それでは 対戦をたのしみましょう"
linefw "サイドカードは"
linefw "6枚で おねがいいたします"
done
Text0ee6:
IshiharaDeclinedDuelText:
textfw "そうですか?"
linefw "それは ざんねんですね"
linefw "それでは カード対戦は"
linefw "また こんどということで・・・"
done
Text0ee7:
IshiharaPlayerWon1Text:
textfw "さすがは <RAMNAME>くん"
linefw "すっかり やられてしまいました"
linefw "でも たのしい対戦でしたよ"
linefw "これを あげましょう"
done
Text0ee8:
IshiharaPlayerWon2Text:
textfw "いま さしあげたカードで"
linefw "あたらしいデッキを つくってください"
linefw "そして もっと"
@@ -236,7 +236,7 @@ Text0ee8:
linefw "また ぜひ 対戦にきてくださいね"
done
Text0ee9:
IshiharaPlayerLostText:
textfw "やあ・・・"
linefw "わたしが 勝ってしまいましたね"
linefw "なかなか たのしい対戦でしたね"
@@ -245,12 +245,12 @@ Text0ee9:
linefw "また 対戦にきてくださいね"
done
Text0eea:
RuiStudyingAtIshiharasVilla1Text:
textfw "フン フン なるほどね・・・"
linefw "さすがね・・・・"
done
Text0eeb:
RuiStudyingAtIshiharasVilla2Text:
textfw "なに? いま ポケモンカードの"
linefw "べんきょうしているのよ"
linefw "Mr.イシハラの本は 対戦のためになる"
@@ -1681,7 +1681,7 @@ Text0f99:
linefw "メンツも たもてんからな"
done
Text0f9a:
RodFinalCupIntroAndRound1OpponentText:
textfw "さあ <RAMNAME>くん"
linefw "ファイナルカップを はじめよう"
linefw "われらが 伝説のポケモンカードを"
@@ -1692,7 +1692,7 @@ Text0f9a:
linefw "ヒロコと 対戦してもらおう!"
done
Text0f9b:
CourtneyFinalCupDuelStartText:
textfw "ウフフ・・・アタシが 1人目よ"
linefw "炎のクイーン・ヒ・ロ・コ!"
linefw "いくわよ <RAMNAME>くん"
@@ -1701,46 +1701,46 @@ Text0f9b:
linefw "ウフフ・・・ さあ いくわよ!"
done
Text0f9c:
CourtneyTournamentsPlayerWonText:
textfw "ウフフ・・・アタシの まけよ"
linefw "さすがね <RAMNAME>くん"
done
Text0f9d:
RodFinalCupRound1NextOpponentText:
textfw "つぎは スティーブと対戦だ!"
linefw "<RAMNAME>くん!"
done
Text0f9e:
CourtneyFinalCupPlayerLostText:
textfw "ウフフ・・・"
linefw "アタシの か・ち・よ"
linefw "そんなんじゃ"
linefw "GR団には 勝てないわよ"
done
Text0f9f:
SteveFinalCupReadyToDuelText:
textfw "ヘイ <RAMNAME>!"
linefw "ミーと ポケモンカードバトルね"
linefw "サンダー・スティーブとの対戦は"
linefw "ビッグ グレートね!"
done
Text0fa0:
RodFinalCupAreYourDecksReadyText:
textfw "<RAMNAME>くん"
linefw "デッキのじゅんびは いいかね?"
done
Text0fa1:
RodFinalCupResumeRoundText:
textfw "では"
linefw "<RAMTEXT>との対戦を はじめよう"
done
Text0fa2:
SteveFinalCupDuelStartText:
textfw "サイドは シックスカード!"
linefw "レディ? ゴーね!"
done
Text0fa3:
SteveTournamentsPlayerWonText:
textfw "ユー アー ウィナー!"
linefw "オー グレートね!"
done

View File

@@ -1,76 +1,76 @@
Text0fa4:
RodFinalCupRound2NextOpponentText:
textfw "さすがだな <RAMNAME>くん"
linefw "つぎは カネコウジと対戦だ!"
done
Text0fa5:
SteveTournamentsPlayerLostText:
textfw "ユー ルーズ!"
linefw "まだまだ あまいね!"
linefw "また チャレンジね!"
linefw "ネバー ギブアップ!!"
done
Text0fa6:
JackFinalCupReadyToDuelText:
textfw "わたしの ゴージャスなデッキと"
linefw "また 対戦ね こんどはまけない"
done
Text0fa7:
JackFinalCupDuelStartText:
textfw "よろしいか?"
linefw "サイドカードは 6枚だ"
done
Text0fa8:
JackFinalCupPlayerWonText:
textfw "わたしの ゴージャスなデッキが"
linefw "やぶれるとは・・・さすがだ"
linefw "きみのじつりょくは"
linefw "やはり ほんもののようだ・・・"
done
Text0fa9:
RodFinalCupRound3NextOpponentText:
textfw "<RAMNAME>くんは"
linefw "いつもながら すばらしい!"
linefw "では こんどは"
linefw "このリュウドーが あいてだ!"
done
Text0faa:
JackTournamentsPlayerLostText:
textfw "どうですか?"
linefw "まけなかったでしょう"
linefw "わたしの ゴージャスなデッキは"
linefw "すぐれて いるのだよ"
done
Text0fab:
RodFinalCupReadyToDuelText:
textfw "これが ファイナルカップ"
linefw "さいごの対戦だ!"
done
Text0fac:
RodFinalCupDuelStartText:
textfw "こんどの対戦も"
linefw "サイドカードは 6枚だ"
linefw "伝説のポケモンカードは"
linefw "かんたんには わたさない"
done
Text0fad:
RodTournamentsPlayerWonText:
textfw "さすがだな <RAMNAME>くん"
linefw "やはり キミは すばらしい!"
done
Text0fae:
RodTournamentsPlayerLostText:
textfw "ほんのすこし"
linefw "ちからが たりなかったようだな"
done
Text0faf:
RodYouDeserveLegendaryCardsText:
textfw "やはり 伝説のポケモンカードに"
linefw "きみは ふさわしい じんぶつだ"
linefw "伝説のポケモンカードを"
linefw "よろこんで ゆずりわたそう・・・"
done
Text0fb0:
RodChallengeBiruritchiText:
textfw "さあ <RAMNAME>くんよ"
linefw "GR団のキャッスルへ いくがいい"
linefw "そして なんとしても"
@@ -85,14 +85,14 @@ Text0fb0:
linefw "<RAMNAME>くん・・・"
done
Text0fb1:
RodYouDoNotDeserveLegendaryCardsText:
textfw "ざんねんだが"
linefw "伝説のポケモンカードは ゆずれん"
linefw "でなおして くるのだな"
linefw "では・・・"
done
Text0fb2:
CupHostGrandMasterCupIntroBracketRevealText:
textfw "さあ グランドマスター杯を"
linefw "かいさいします!!"
linefw "グランドマスターの みまもるなか!"
@@ -101,59 +101,59 @@ Text0fb2:
linefw "くみあわせの はっぴょうです"
done
Text0fb3:
CupHostGrandMasterCupRound1Text:
textfw "それでは トーナメント戦"
linefw "だい1回戦を はじめましょう!"
done
Text0fb4:
CupHostGrandMasterCupRound1CallPlayerText:
textfw "だい 1しあいは"
linefw "GR団をたおした <RAMNAME>さんと"
done
Text0fb5:
CupHostGrandMasterCupRound1CallOpponentText:
textfw "<RAMTEXT>クラブのマスター!!"
linefw "<RAMTEXT>さんです"
done
Text0fb6:
CupHostGrandMasterCupRound1StartingText:
textfw "さあ それでは"
linefw "対戦を はじめましょう"
done
Text0fb7:
CupHostGrandMasterCupAreYourDecksReadyText:
textfw "2人とも"
linefw "デッキのじゅんびは いいですか?"
done
Text0fb8:
CupHostGrandMasterCupMakeYourPreparationsText:
textfw "それでは"
linefw "じゅんびを してください!"
done
Text0fb9:
CupHostGrandMasterCupRound1DuelStartText:
textfw "よろしいですか"
linefw "サイドカードは 6枚です!"
linefw "それでは!!"
linefw "レディ ゴー!!"
done
Text0fba:
CupHostGrandMasterCupRound2Text:
textfw "それでは トーナメント戦"
linefw "だい2回戦を はじめましょう!"
done
Text0fbb:
CupHostGrandMasterCupRound2CallPlayerText:
textfw "だい 2しあいは"
linefw "GR団をたおした <RAMNAME>さんと"
done
Text0fbc:
CupHostGrandMasterCupRound2CallOpponentText:
textfw "<RAMTEXT>クラブのマスター!!"
linefw "<RAMTEXT>さんです"
done
Text0fbd:
CupHostGrandMasterCupRound2DuelStartText:
textfw "さあ それでは"
linefw "対戦を はじめましょう"
linefw "グランドマスター杯の ルールで"
@@ -164,29 +164,29 @@ Text0fbd:
linefw "レディ ゴー!!"
done
Text0fbe:
CupHostGrandMasterCupFinalsText:
textfw "さあ これで けっしょう戦"
linefw "しんしゅつしゃが けっていしました"
linefw "それでは トーナメント戦"
linefw "けっしょう戦を はじめます!"
done
Text0fbf:
CupHostGrandMasterCupFinalsCallPlayerText:
textfw "けっしょう戦 しんしゅつしゃ!"
linefw "ひとりめは <RAMNAME>さん!!"
done
Text0fc0:
CupHostGrandMasterCupFinalsCallOpponentClubMasterText:
textfw "そして もうひとり"
linefw "<RAMTEXT>クラブマスター <RAMTEXT>!"
done
Text0fc1:
CupHostGrandMasterCupFinalsCallOpponentRonaldText:
textfw "そして もうひとり"
linefw "ランド!"
done
Text0fc2:
RonaldGrandMasterCupFinalsText:
textfw "おい <RAMNAME>"
linefw "よくまけずに 勝ちのこったな"
linefw "だが"
@@ -195,7 +195,7 @@ Text0fc2:
linefw "このデッキの ちからを みせてやる!"
done
Text0fc3:
CupHostGrandMasterCupFinalsDuelStartText:
textfw "さあ それでは"
linefw "けっしょう戦を はじめましょう"
linefw "グランドマスター杯の ルールで"
@@ -206,47 +206,47 @@ Text0fc3:
linefw "レディ ゴー!!"
done
Text0fc4:
CupHostGrandMasterCupRoundsPlayerWonText:
textfw "<RAMNAME>さん"
linefw "だい<RAMNUM>回戦 とっぱです!!"
done
Text0fc5:
CupHostGrandMasterCupRoundsOpponentEliminatedText:
textfw "<RAMTEXT>さんは ざんねんでした"
linefw "きをつけて おかえりください"
done
Text0fc6:
CupHostGrandMasterCupSeeUpdatedBracketText:
textfw "さあ それでは"
linefw "ほかの対戦を みてみましょう!"
done
Text0fc7:
CupHostGrandMasterCupRoundsPlayerLost1Text:
textfw "勝者!!"
linefw "<RAMTEXT>さんです!"
done
Text0fc8:
CupHostGrandMasterCupRoundsPlayerLost2Text:
textfw "<RAMTEXT>さん"
linefw "だい<RAMNUM>回戦 とっぱです!!"
done
Text0fc9:
CupHostGrandMasterCupFinalsPlayerWon1Text:
textfw "勝者!!"
linefw "<RAMNAME>さんです!"
done
Text0fca:
CupHostGrandMasterCupFinalsPlayerWon2Text:
textfw "<RAMNAME>さん!!"
linefw "グランドマスターへ チャレンジです"
done
Text0fcb:
CupHostGrandMasterCupFinalsOpponentEliminatedText:
textfw "<RAMTEXT>さんは ざんねんでした"
linefw "きをつけて おかえりください"
done
Text0fcc:
RonaldGrandMasterCupFinalsPlayerWonText:
textfw "くそ~!"
linefw "また <RAMNAME>に 勝てないのか?"
linefw "いや"
@@ -255,24 +255,24 @@ Text0fcc:
linefw "おぼえてろ! <RAMNAME>!!"
done
Text0fcd:
CupHostGrandMasterCupFinalsPlayerLost1Text:
textfw "勝者!!"
linefw "<RAMTEXT>さんです!"
done
Text0fce:
CupHostGrandMasterCupFinalsPlayerLost2Text:
textfw "<RAMTEXT>さん"
linefw "グランドマスターへ チャレンジです"
done
Text0fcf:
RonaldGrandMasterCupFinalsPlayerLostText:
textfw "みたか <RAMNAME>!"
linefw "オレの じつりょくを!!"
linefw "やっぱり オレのほうが"
linefw "おまえ なんかより つよいのさ!"
done
Text0fd0:
CupHostGrandMasterCupGrandFinalsText:
textfw "さあ いよいよ"
linefw "グランドマスターとの対戦です!"
linefw "さあ こんかいの対戦する"
@@ -281,128 +281,128 @@ Text0fd0:
linefw "はっぴょうして いただきましょう"
done
Text0fd1:
RodGrandMasterCupGrandFinalsBracketReveal1Text:
textfw "こんかいの グランドマスター杯の"
linefw "対戦あいては・・・"
done
Text0fd2:
RodGrandMasterCupGrandFinalsBracketReveal2Text:
textfw "グランドマスター!"
linefw "<RAMTEXT>!"
done
Text0fd3:
CupHostGrandMasterCupGrandFinalsCallCourtneyText:
textfw "グランドマスター"
linefw "炎のクイーン ヒロコさんです!"
done
Text0fd4:
CourtneyGrandMasterCupGrandFinalsText:
textfw "いくわよ <RAMNAME>くん"
linefw "ウフフ・・・てかげんは しないわ"
done
Text0fd5:
CupHostGrandMasterCupGrandFinalsDuelStartText:
textfw "サイドカードは 6枚です"
linefw "さあ 対戦です!"
done
Text0fd6:
CourtneyGrandMasterCupGrandFinalsPlayerLostText:
textfw "ウフフ・・・"
linefw "アタシの かちよ ざんねんね"
done
Text0fd7:
CupHostGrandMasterCupGrandFinalsPlayerLostText:
textfw "勝者! グランドマスター!!"
linefw "<RAMTEXT>さんです!"
linefw "ああ なんと!!"
linefw "<RAMNAME>さん はいたいです!!"
done
Text0fd8:
CupHostGrandMasterCupGrandFinalsCallSteveText:
textfw "イナズマの グランドマスター"
linefw "サンダー・スティーブさんです!"
done
Text0fd9:
SteveGrandMasterCupGrandFinalsText:
textfw "サンダー・スティーブとの対戦は"
linefw "ビック グレートね!"
done
Text0fda:
CupHostGrandMasterCupGrandFinalsCallJackText:
textfw "こおりの グランドマスター"
linefw "ジェントルマン カネコウジさんです!"
done
Text0fdb:
JackGrandMasterCupGrandFinalsText:
textfw "わたしの ゴージャスなデッキと"
linefw "また 対戦ね こんどはまけない"
done
Text0fdc:
JackGrandMasterCupGrandFinalsPlayerWonText:
textfw "わたしの ゴージャスなデッキが"
linefw "やぶれるとは・・・さすがだ"
done
Text0fdd:
CupHostGrandMasterCupGrandFinalsCallRodText:
textfw "グランドマスターのリーダー"
linefw "リュウドーさんが あいてです!"
done
Text0fde:
RodGrandMasterCupGrandFinalsText:
textfw "さあ わたし このリュウドーが"
linefw "みずから あいてになろう!"
done
Text0fdf:
CupHostGrandMasterCupGrandFinalsPlayerWonText:
textfw "やりました <RAMNAME>さん"
linefw "おめでとうございます!!"
done
Text0fe0:
CupHostGrandMasterCupPlayerChampionText:
textfw "グランドマスター杯!"
linefw "ゆうしょうです!!"
done
Text0fe1:
CupHostGrandMasterCupChampionPrizeSelectionText:
textfw "さあ それでは 賞品を"
linefw "えらんで いただきましょう!"
done
Text0fe2:
CupHostGrandMasterCupChampionPrizesText:
textfw "では おうけとりください"
linefw "ゆうしょう賞品です!!"
done
Text0fe3:
CupHostGrandMasterCupFirstChampionRewardsText:
textfw "はじめてのゆうしょう"
linefw "おめでとうございます!"
linefw "<RAMNAME>さんには きねんとして"
linefw "こちらのコインを さしあげます"
done
Text0fe4:
CupHostGrandMasterCupPlayerFirstChampionCongratsText:
textfw "あらためて <RAMNAME>さん"
linefw "おめでとうございます"
done
Text0fe5:
CupHostGrandMasterCupPlayerChampionCongratsText:
textfw "<RAMNAME>さん"
linefw "おめでとうございます"
done
Text0fe6:
CupHostGrandMasterCupPlayerChampionClosingText:
textfw "こんかいの グランドマスター杯は"
linefw "<RAMNAME>さんの ゆうしょうでした"
linefw "では つぎのグランドマスター杯まで"
linefw "ごきげんよう さようなら!!"
done
Text0fe7:
CupHostGrandMasterCupPlayerLostEliminatedText:
textfw "<RAMNAME>さんは ざんねんでした"
linefw "きをつけて おかえりください"
done
Text0fe8:
CourtneyWantsToDuelInitialText:
textfw "アラ ウフフ・・"
linefw "<RAMNAME>くんじゃない"
linefw "GR団から たすけだしてくれて"
@@ -413,7 +413,7 @@ Text0fe8:
linefw "アタシと 対戦していかない?"
done
Text0fe9:
CourtneyWantsToDuelRepeatText:
textfw "ウフフ・・・"
linefw "<RAMNAME>くんじゃない"
linefw "えっ 伝説のポケモンカード?"
@@ -426,25 +426,25 @@ Text0fe9:
linefw "ウフフ・・・対戦してあげるわ"
done
Text0fea:
CourtneyDuelPromptText:
textfw "ヒロコと 対戦しますか?"
done
Text0feb:
CourtneyDuelStartText:
textfw "アタシの炎の ワザ"
linefw "たっぷりと うけてみるがいいわ"
linefw "サイドカードは 6枚"
linefw "ウフフ・・・さあ いくわよ!"
done
Text0fec:
CourtneyDeclinedDuelText:
textfw "ウフフ・・・"
linefw "そう ざんねんね"
linefw "そうね まずは"
linefw "GR団とのたたかいを がんばってね"
done
Text0fed:
CourtneyReadyForFinalCupText:
textfw "ウフフ・・・グランドマスターが"
linefw "みんな そろったわよ"
linefw "ファイナルカップよ!"
@@ -453,7 +453,7 @@ Text0fed:
linefw "てかげんしないわよ"
done
Text0fee:
CourtneyPostgameInitialText:
textfw "<RAMNAME>くんの おかげで"
linefw "GR団とも なかよくなって"
linefw "ポケモンカードの せかいが"
@@ -462,7 +462,7 @@ Text0fee:
linefw "ありがとう <RAMNAME>くん"
done
Text0fef:
CourtneyPostgameRepeatText:
textfw "アタシたち グランドマスターも"
linefw "GR団に まけないように"
linefw "もっと ポケモンカードを"
@@ -471,26 +471,26 @@ Text0fef:
linefw "みんなで たのしむことを ね!"
done
Text0ff0:
CourtneyPlayerWon1Text:
textfw "ウフフ・・・"
linefw "アタシの まけよ"
done
Text0ff1:
CourtneyPlayerWon2Text:
textfw "さすがね <RAMNAME>くん"
linefw " "
linefw "いちどは 伝説のポケモンカードを"
linefw "うけついだだけのことは あるわ"
done
Text0ff2:
CourtneyPlayerLostText:
textfw "ウフフ・・・"
linefw "アタシの か・ち・よ"
linefw "たまには"
linefw "対戦しに もどってきてね"
done
Text0ff3:
SteveWantsToDuelInitialText:
textfw "ヘイ <RAMNAME>!"
linefw "GR団のアイランドでは サンキューね"
linefw "ミーたち GR団にまけて"
@@ -503,7 +503,7 @@ Text0ff3:
linefw "スティーブと バトルね!"
done
Text0ff4:
SteveWantsToDuelRepeatText:
textfw "ヘイ <RAMNAME>!"
linefw "コンディション OK?"
linefw "グランドマスター オールそろわないと"
@@ -516,25 +516,25 @@ Text0ff4:
linefw "スティーブと バトルね!"
done
Text0ff5:
SteveDuelPromptText:
textfw "スティーブと 対戦しますか?"
done
Text0ff6:
SteveDuelStartText:
textfw "サイドカード シックス"
linefw "ジャパニーズで 「ろく」ね"
linefw "<RAMNAME>!"
linefw "レッツ バトル ゴーね!!"
done
Text0ff7:
SteveDeclinedDuelText:
textfw "オー ノー"
linefw "それは ないです <RAMNAME>"
linefw "ミーでは バトルのあいてとして"
linefw "パワーぶそく ですか?"
done
Text0ff8:
SteveReadyForFinalCupText:
textfw "ヘイ <RAMNAME>!"
linefw "リュウドー カムバックね!"
linefw "これで"
@@ -543,14 +543,14 @@ Text0ff8:
linefw "伝説のポケモンカード ゲットね"
done
Text0ff9:
SteveReadyForNextFinalCupText:
textfw "ミーたち グランドマスターは"
linefw "GR団を クラッシュするためなら"
linefw "ユーの チャレンジなら"
linefw "なんどでも OKね"
done
Text0ffa:
StevePostgameInitialText:
textfw "ヘイ! <RAMNAME>"
linefw "コングラチュレーションね"
linefw "ユーのおかげで GR団とも"
@@ -559,7 +559,7 @@ Text0ffa:
linefw "ポケモンカードね"
done
Text0ffb:
StevePostgameRepeatText:
textfw "ヘイ! <RAMNAME>"
linefw "ポケモンカード エンジョイ OK?"
linefw "ミーたち グランドマスターは"
@@ -568,7 +568,7 @@ Text0ffb:
linefw "ぜひ エントリーね!"
done
Text0ffc:
SteveGrandMasterCupPlayedText:
textfw "ヘイ! <RAMNAME>"
linefw "ポケモンカード エンジョイ OK?"
linefw "グランドマスター杯は"
@@ -577,12 +577,12 @@ Text0ffc:
linefw "だから たまに ここにくるとOK!"
done
Text0ffd:
StevePlayerWon1Text:
textfw "ユー アー ウィナー!"
linefw "オー グレートね!"
done
Text0ffe:
StevePlayerWon2Text:
textfw "ン~ アイ アム ルーズね"
linefw "また まけてしまいました"
linefw "<RAMNAME>"
@@ -591,14 +591,14 @@ Text0ffe:
linefw "ミーが ウィナーね!!"
done
Text0fff:
StevePlayerLostText:
textfw "ユー ルーズ!"
linefw "まだまだ あまいね!"
linefw "また チャレンジね!"
linefw "ギブアップ みっともないね!"
done
Text1000:
JackWantsToDuelInitialText:
textfw "おやおや"
linefw "<RAMNAME>くんでは ありませんか"
linefw "GR団から たすけだしていただき"
@@ -619,7 +619,7 @@ Text1000:
linefw "ゴージャスなデッキと 対戦しますか?"
done
Text1001:
JackWantsToDuelRepeatText:
textfw "おや"
linefw "<RAMNAME>くんでは ありませんか?"
linefw "わたしと 対戦をしに"
@@ -630,30 +630,30 @@ Text1001:
linefw "ゴージャスなデッキで 対戦しましょう"
done
Text1002:
JackDuelPromptText:
textfw "カネコウジと 対戦しますか?"
done
Text1003:
JackDuelStartText:
textfw "よろしいですかな"
linefw "サイドカードは 6枚ですよ"
done
Text1004:
JackDeclinedDuelText:
textfw "そうですか ざんねんですね"
linefw "わたしを たすけてくれた"
linefw "ゴージャスなデッキと"
linefw "対戦してみたかったのですが・・・"
done
Text1005:
JackReadyForFinalCupText:
textfw "伝説のポケモンカードが ひつようなら"
linefw "ファイナルカップで 勝つことだ"
linefw "さあ グランドマスターのリーダー"
linefw "リュウドーと はなすのだ"
done
Text1006:
JackPostgameInitialText:
textfw "おやおや"
linefw "<RAMNAME>くんでは ありませんか"
linefw "ついに GR団のキングを"
@@ -666,7 +666,7 @@ Text1006:
linefw "<RAMNAME>くんの おかげですね"
done
Text1007:
JackPostgameRepeatText:
textfw "われらのリーダー リュウドーが"
linefw "ゴージャスな対戦を かんがえています"
linefw "「グランドマスター杯」という"
@@ -675,7 +675,7 @@ Text1007:
linefw "たのしみに していてください"
done
Text1008:
JackGrandMasterCupPlayedText:
textfw "グランドマスター杯は"
linefw "ゴージャスな大会だったでしょう"
linefw "また いつか"
@@ -684,24 +684,24 @@ Text1008:
linefw "あしを おはこびください"
done
Text1009:
JackPlayerWon1Text:
textfw "わたしの ゴージャスなデッキが"
linefw "やぶれるとは・・・さすがですね"
done
Text100a:
JackPlayerWon2Text:
textfw "どうやら きみのじつりょくは"
linefw "ほんもののようだ・・・"
done
Text100b:
JackPlayerLostText:
textfw "きみの ゴージャスなデッキも"
linefw "なかなかだったが"
linefw "わたしの ゴージャスなデッキには"
linefw "きみは かてないのだよ"
done
Text100c:
RodWantsToStartFinalCupInitialText:
textfw "<RAMNAME>くん"
linefw "やはり やってきたか"
linefw "GR団のしまでも いったが"
@@ -714,7 +714,7 @@ Text100c:
linefw "じゅんびのほうは いいかね"
done
Text100d:
RodWantsToStartFinalCupRepeatText:
textfw "<RAMNAME>くん・・・"
linefw "われら 4にんに勝たなければ"
linefw "伝説のポケモンカードは"
@@ -725,7 +725,7 @@ Text100d:
linefw "じゅんびのほうは いいかね"
done
Text100e:
RodWantsToStartNextFinalCupText:
textfw "<RAMNAME>くん なんとしても"
linefw "GR団のキング ビルリッチにあえ"
linefw "そして GR団の まちがった"
@@ -740,23 +740,23 @@ Text100e:
linefw "じゅんびは いいかね?"
done
Text100f:
FinalCupEnterPrompt:
textfw "ファイナルカップを はじめますか?"
done
Text1010:
RodFinalCupEnterAcceptedPrompt:
textfw "いいだろう"
linefw "さあ ファイナルホールへ"
done
Text1011:
RodFinalCupEnterDeclinedPrompt:
textfw "では じゅんびを ととのえて"
linefw "あらためてくるが いい"
linefw "GR団を とめられるのは"
linefw "「きみだけ」なのを わすれるな"
done
Text1012:
RodPostgameInitialText:
textfw "ありがとう"
linefw "<RAMNAME>くん"
linefw "きみの ゆうきある対戦が"
@@ -769,7 +769,7 @@ Text1012:
linefw "より たのしむことなのだから・・・"
done
Text1013:
RodPostgameRepeatText:
textfw "このしまや GR団のひと だけでなく"
linefw "さまざまなひとと 対戦するのだ"
linefw "バトルセンターなどで"
@@ -778,7 +778,7 @@ Text1013:
linefw "せかいを ひろげる いっぽなんだ"
done
Text1014:
RodGrandMasterCupPlayedText:
textfw "グランドマスター杯は"
linefw "たのしんで もらえたかな"
linefw "また いつか ひらくから"
@@ -787,7 +787,7 @@ Text1014:
linefw "バトルセンターで 対戦していてくれ"
done
Text1015:
PokemonDomeGR5PreachInitialText:
textfw "われら グレートロケット団が"
linefw "ポケモンドームを しはいした!"
linefw "グランドマスターたちも"
@@ -804,7 +804,7 @@ Text1015:
linefw "ゲットするのだ!!!"
done
Text1016:
PokemonDomeGR5PreachRepeatText:
textfw "われらGR団の もくてきは"
linefw "ただ ひとつ!"
linefw "ただ あつめられるだけになった"
@@ -860,24 +860,24 @@ GrandMasterCupClerkEnterDeclinedText:
linefw "どうぞ また おこしください"
done
Text101f:
PokemonDomeGRLassSpectatorText:
textfw "グランドマスター杯を"
linefw "GR団のしまから みにきたのよ"
linefw "クラブマスターのトーナメント戦"
linefw "グランドマスターとの いっきうち!"
done
Text1020:
PokemonDomeGRLassAnticipatingText:
textfw "どうなるのか たのしみだわ!"
linefw "ワクワク・・・"
done
Text1021:
PokemonDomeGRLassSpectatedText:
textfw "すばらしい 対戦だったわ!!"
linefw "むねが ドキドキ・・・"
done
Text1022:
PokemonDomeYoungsterSpectatorText:
textfw "リュウドーさまが"
linefw "グランドマスター杯を ひらいたんだ"
linefw "でも グランドマスター杯には"
@@ -886,7 +886,7 @@ Text1022:
linefw "カードマスターに なりたいな"
done
Text1023:
PokemonDomeYoungsterSpectatedText:
textfw "ねぇ ねぇ"
linefw "グランドマスター杯に でたんだろ"
linefw "こんかいの ゆうしょうしゃは"
@@ -895,7 +895,7 @@ Text1023:
linefw "かったのかい?"
done
Text1024:
PokemonDomeSwimmerSpectatorText:
textfw "グランドマスター杯は ルールは"
linefw "8にんのトーナメント戦を おこなって"
linefw "そのトーナメントを かちぬいたものが"
@@ -908,33 +908,33 @@ Text1024:
linefw "ルールを つくったものね"
done
Text1025:
PokemonDomeSwimmerPlayerWonCupText:
textfw "きいたわよ グランドマスター杯に"
linefw "ゆうしょう したんですってね"
linefw "さすが <RAMNAME>"
linefw "あなたこそ グランドマスターよ"
done
Text1026:
PokemonDomeSwimmerPlayerLostCupText:
textfw "トーナメントに 勝ったひとが"
linefw "グランドマスターに まけたそうよ"
linefw "やっぱり グランドマスターは"
linefw "とてつもなく つよいのね!"
done
Text1027:
PokemonDomeGR5SealedArenaDoorsText:
textfw "そのトビラは ふういんした!"
linefw " "
linefw "4にんの グランドマスターが"
linefw "もどってくれば あけられるかもな"
done
Text1028:
RodIAmGrandMasterLeaderText:
textfw "<RAMNAME>くん グランドマスターの"
linefw "リーダー リュウドーだ!"
done
Text1029:
RodRevisitPokemonDomeForNextFinalCupText:
textfw "ファイナルカップは キミのために"
linefw "なんどでも ひらこう"
linefw "だが いまは まだ そのときではない"
@@ -943,7 +943,7 @@ Text1029:
linefw "おとずれるが よい"
done
Text102a:
PokemonDomeFatGuyAllGrandMastersGoneText:
textfw "伝説のポケモンカードを まもっていた"
linefw "ポケモンドームの グランドマスターは"
linefw "4にんとも GR団によって"
@@ -952,7 +952,7 @@ Text102a:
linefw "いったい どうなってしまうのだろう"
done
Text102b:
PokemonDomeFatGuySteveIsBackText:
textfw "イナズマのグランドマスター"
linefw "スティーブさんが もどってきたんだ!"
linefw "まだ 3にんのグランドマスターが"
@@ -961,7 +961,7 @@ Text102b:
linefw "たすけだしてくれないかなぁ~"
done
Text102c:
PokemonDomeFatGuyCourtneyIsBackText:
textfw "やった~ 炎のクイーン!"
linefw "ヒロコさんが もどってきたよ!"
linefw "いったい だれが"
@@ -970,7 +970,7 @@ Text102c:
linefw "グランドマスターが あと ふたりだ"
done
Text102d:
PokemonDomeFatGuyJackIsBackText:
textfw "やあ こおりの グランドマスター"
linefw "カネコウジさんが もどってきたよ!"
linefw "いったい だれが"
@@ -979,7 +979,7 @@ Text102d:
linefw "リュウドーさんの ふたりだ"
done
Text102e:
PokemonDomeFatGuyWeNeedRodText:
textfw "きいたぜ <RAMNAME>! きみだって"
linefw "グランドマスターを たすけたのは!"
linefw "あとは グランドマスターのリーダー"
@@ -990,14 +990,14 @@ Text102e:
linefw "伝説のポケモンカードを ゲットだ!"
done
Text102f:
PokemonDomeFatGuyRodIsBackText:
textfw "リュウドーさんも もどってきたし"
linefw "ファイナルカップ ふっかつだ!"
linefw "4にんのグランドマスターに 勝って"
linefw "伝説のポケモンカードを ゲットだ!"
done
Text1030:
PokemonDomeFatGuyGrandMasterCupInactiveText:
textfw "グランドマスターたちが ひらく"
linefw "グランドマスター杯は スゴイ!"
linefw "ゆうしょう賞品は"
@@ -1008,7 +1008,7 @@ Text1030:
linefw "なぞに つつまれているんだ!!"
done
Text1031:
PokemonDomeFatGuyGrandMasterCupActiveText:
textfw "いま ポケモンドームでは"
linefw "グランドマスター杯が かいさい中だ!"
linefw "グランドマスター杯は"
@@ -1019,7 +1019,7 @@ Text1031:
linefw "すきなのを 2枚えらべるんだ!!"
done
Text1032:
PokemonDomeFatGuyGrandMasterCupPlayedText:
textfw "どうだった!"
linefw "ゆうしょう できたかい?"
linefw "グランドマスター杯は めったに"
@@ -1027,7 +1027,7 @@ Text1032:
linefw "つぎは いつになるのかなぁ~"
done
Text1033:
PlateOfLegendsText:
textfw "「伝説のポケモンカードを"
linefw " もとめる ものたちへ"
linefw " このポケモンドームに ありし"

View File

@@ -2191,16 +2191,16 @@ ReadProcedureForSendingCardsToPlayerText:
linefw "かくにんしてください"
done
; used both for sending cards to another player and to in-game machines
SendText:
; used both for sending cards to another player and to in-game machines
textfw "おくる"
done
CardReceivedText:
CardsReceivedText:
textfw "もらったカード"
done
CardToSendToPlayerText:
CardsToSendToPlayerText:
textfw "あげるカード"
done

View File

@@ -464,7 +464,8 @@ DebugBackgroundCoinDisplayText:
textfw "BGコインの表示"
done
SingleSpaceText: ; Coin-related?
; pseudo-empty
SingleSpaceText:
textfw " "
done
@@ -2274,10 +2275,12 @@ AaronStep4Text:
textfw "ステップ4"
done
; homonym bug, 商品 (merchandise) should be 賞品 (prize)
GrandMasterCupPrizesTitleText:
textfw "グランドマスター杯 商品"
done
; homonym bug, 商品 (merchandise) should be 賞品 (prize)
GrandMasterCupPrizesDialogText:
textfw "グランドマスター杯の商品です"
linefw "すきなカードを 2枚えらんでください"

View File

@@ -1414,7 +1414,7 @@ Text0e96:
linefw "対戦も してみよーかなー"
done
Text0e97:
IshiharaUnderGRInvasionInitialText:
textfw "やあ こんにちは"
linefw "わたしが Mr.イシハラです"
linefw "わたしは ポケモンカードのコレクター"
@@ -1427,7 +1427,7 @@ Text0e97:
linefw "だいじょうぶなのでしょうか?"
done
Text0e98:
IshiharaUnderGRInvasionRepeatText:
textfw "やあ こんにちは"
linefw "わたしが Mr.イシハラです"
linefw "クラブやドームが GR団に"
@@ -1436,7 +1436,7 @@ Text0e98:
linefw "だいじょうぶなのでしょうか?"
done
Text0e99:
IshiharaListenToNikkiText:
textfw "やあ こんにちは"
linefw "わたしが Mr.イシハラです"
linefw "わたしは ポケモンカードのコレクター"
@@ -1447,7 +1447,7 @@ Text0e99:
linefw "ねがいを きいてあげてください"
done
Text0e9a:
IshiharaHelpNikkiText:
textfw "やあ こんにちは"
linefw "わたしが Mr.イシハラです"
linefw "わたしは ポケモンカードのコレクター"
@@ -1458,7 +1458,7 @@ Text0e9a:
linefw "わたしと トレードしましょう"
done
Text0e9b:
IshiharaWantsToTrade1InitialText:
textfw "やあ <RAMNAME>くんですか"
linefw "じゃあ カードをこうかんしましょう"
linefw "じつは いま 「ピッピ<Lv>15」を"
@@ -1471,7 +1471,7 @@ Text0e9b:
linefw "もっていませんか?"
done
Text0e9c:
IshiharaWantsToTrade1RepeatText:
textfw "やあ <RAMNAME>くんですか"
linefw "ポケモンカード たのしんでますか?"
linefw "じつは いま 「ピッピ<Lv>15」を"
@@ -1482,21 +1482,21 @@ Text0e9c:
linefw "もっていませんか?"
done
Text0e9d:
IshiharaDeclinedTradeText:
textfw "そうですか"
linefw "それは ざんねんです・・・"
linefw "それでは カードのこうかんは"
linefw "また こんどということで・・・"
done
Text0e9e:
IshiharaDoNotOwnClefairyLv15Text:
textfw "きもちは とても ありがたいのですが"
linefw "キミは カードをもっていませんね"
linefw "それでは カードのこうかんは"
linefw "また こんどということで・・・"
done
Text0e9f:
IshiharaUsingAllClefairyLv15InDecksText:
textfw "おやおや きみの「ピッピ<Lv>15」は"
linefw "ぜんぶデッキに はいっているのですね"
linefw "ゲームに つかっているカードを"
@@ -1505,24 +1505,24 @@ Text0e9f:
linefw "また こんどということで・・・"
done
Text0ea0:
IshiharaAcceptedTrade1Text:
textfw "おお それは ありがたい!"
linefw "それでは さっそく・・・"
done
Text0ea1:
TradedClefairyForFlyingPikachuText:
textfw "<RAMNAME>は 「ピッピ」と"
linefw "「そらをとぶピカチュウ」をこうかん!"
done
Text0ea2:
IshiharaThanksTradedClefairyLv15Text:
textfw "この「ピッピ<Lv>15」は"
linefw "ありがたく いただきますよ"
linefw "ほんとうに ありがとう"
linefw "たすかりましたよ"
done
Text0ea3:
IshiharaAtHomeTradeLaterReadMyBooksText:
textfw "やあ <RAMNAME>くんですか"
linefw "いらっしゃい"
linefw "いまは とくに ほしいカードも"
@@ -1535,7 +1535,7 @@ Text0ea3:
linefw "対戦で やくにたちますよ"
done
Text0ea4:
IshiharaWantsToTrade2InitialText:
textfw "やあ <RAMNAME>くんですか"
linefw "じゃあ カードをこうかんしましょう"
linefw "こんどは 「ピクシー<Lv>34」を"
@@ -1546,7 +1546,7 @@ Text0ea4:
linefw "もっていませんか?"
done
Text0ea5:
IshiharaWantsToTrade2RepeatText:
textfw "やあ <RAMNAME>くんですか"
linefw "ポケモンカード たのしんでますか?"
linefw "こんどは 「ピクシー<Lv>34」を"
@@ -1557,7 +1557,7 @@ Text0ea5:
linefw "もっていませんか?"
done
Text0ea6:
IshiharaDoNotOwnClefableLv34Text:
textfw "きみは 「ピクシー<Lv>34」を"
linefw "もっていませんね"
linefw "「トゲピー<Lv>8」は"
@@ -1566,7 +1566,7 @@ Text0ea6:
linefw "また こんどということで・・・"
done
Text0ea7:
IshiharaUsingAllClefableLv34InDecksText:
textfw "う~む 「ピクシー<Lv>34」は"
linefw "すべて デッキに いれているのですね"
linefw "ゲームに つかっているカードを"
@@ -1575,24 +1575,24 @@ Text0ea7:
linefw "また こんどということで・・・"
done
Text0ea8:
IshiharaAcceptedTrade2Text:
textfw "おお それは ありがたい!"
linefw "それでは さっそく・・・"
done
Text0ea9:
TradedClefableLv34ForTogepiLv8Text:
textfw "<RAMNAME>は 「ピクシー<Lv>34」と"
linefw "「トゲピー<Lv>8」を こうかん!"
done
Text0eaa:
IshiharaThanksTradedClefableLv34Text:
textfw "この「ピクシー<Lv>34」は"
linefw "ありがたく いただきますよ"
linefw "ほんとうに ありがとう"
linefw "たすかりましたよ"
done
Text0eab:
IshiharaWantsToTrade3InitialText:
textfw "やあ <RAMNAME>くんですか"
linefw "あいかわらず げんきそうですね"
linefw "こんどはね 「カイリュー<Lv>45」を"
@@ -1603,7 +1603,7 @@ Text0eab:
linefw "もっていませんか?"
done
Text0eac:
IshiharaWantsToTrade3RepeatText:
textfw "こんどはね 「カイリュー<Lv>45」を"
linefw "さがしているんですよ"
linefw "もっているなら「マリル<Lv>17」と"
@@ -1612,7 +1612,7 @@ Text0eac:
linefw "もっていませんか?"
done
Text0ead:
IshiharaDoNotOwnDragoniteLv45Text:
textfw "きみは 「カイリュー<Lv>45」を"
linefw "もっていませんね"
linefw "「マリル<Lv>17」は"
@@ -1621,7 +1621,7 @@ Text0ead:
linefw "また こんどということで・・・"
done
Text0eae:
IshiharaUsingAllDragoniteLv45InDecksText:
textfw "う~む 「カイリュー<Lv>45」は"
linefw "すべて デッキに いれているのですね"
linefw "ゲームに つかっているカードを"
@@ -1630,24 +1630,24 @@ Text0eae:
linefw "また こんどということで・・・"
done
Text0eaf:
IshiharaAcceptedTrade3Text:
textfw "おお それは ありがたい!"
linefw "それでは さっそく・・・"
done
Text0eb0:
TradedDragoniteLv45ForMarillLv17Text:
textfw "<RAMNAME>は「カイリュー<Lv>45」と"
linefw "「マリル<Lv>17」を こうかん!"
done
Text0eb1:
IshiharaThanksTradedDragoniteLv45Text:
textfw "この「カイリュー<Lv>45」は"
linefw "ありがたく いただきますよ"
linefw "ほんとうに ありがとう"
linefw "たすかりましたよ"
done
Text0eb2:
IshiharaHeadingForVillaText:
textfw "たくさん こうかんしてくれて"
linefw "ありがとう <RAMNAME>くん"
linefw "わたしは ちょっと ようじで"
@@ -1656,7 +1656,7 @@ Text0eb2:
linefw "あそびに きてください"
done
Text0eb3:
IshiharaBusyRevisitVillaText:
textfw "やあ <RAMNAME>くん"
linefw "ポケモンカード たのしんでますか?"
linefw "ちょっと しらべものがあって"
@@ -1665,7 +1665,7 @@ Text0eb3:
linefw "別莊のほうに きてください"
done
Text0eb4:
IshiharaDefeatedBiruritchiCongratsText:
textfw "おめでとう <RAMNAME>くん!"
linefw "きいたよ"
linefw "ついに GR団のキング!"
@@ -1676,7 +1676,7 @@ Text0eb4:
linefw "対戦して たのしんでくれたまえ"
done
Text0eb5:
NikkiWantsToGiveAwayGiveInAntiGR2Deck1Text:
textfw "ええ わたしが クニミ・・・"
linefw "グリーンクラブのマスターです"
linefw "アヤコさんから きいて"
@@ -1687,61 +1687,61 @@ Text0eb5:
linefw "きっと だいじょうぶですね"
done
Text0eb6:
NikkiWantsToGiveAwayGiveInAntiGR2Deck2Text:
textfw "これを うけとってください"
linefw " "
linefw "GR2号さんとの 対戦に"
linefw "やくにたつはずです"
done
Text0eb7:
ReceivedGiveInAntiGR2DeckText:
textfw "<RAMNAME>は デッキ"
linefw "「まけろ!GR2ごう」をゲット!"
done
Text0eb8:
NikkiDecksFullGivesCardsInsteadText:
textfw "・・・デッキは これいじょう"
linefw "おもちに なれないようですわね"
linefw "「まけろ!GR2ごうデッキ」の"
linefw "カードを 60枚 さしあげますわ"
done
Text0eb9:
ReceivedCardsForGiveInAntiGR2DeckText:
textfw "<RAMNAME>は デッキつくるための"
linefw "カード60枚を ゲット!"
done
Text0eba:
NikkiToSendDeckConfigurationToMachineText:
textfw "「デッキのつくりかた」は"
linefw "オーヤマ研究所に おくっておきますわ"
linefw "オートデッキマシンで"
linefw "つくってくださいね"
done
Text0ebb:
NikkiWantsToGiveOddishCoinText:
textfw "それと これも うけとってください"
done
Text0ebc:
NikkiGaveOddishCoinText:
textfw "よろしければ 対戦で"
linefw "おつかいください"
linefw "グリーンクラブの みんなのためにも"
linefw "がんばってください"
done
Text0ebd:
NikkiCountingOnYouInitialText:
textfw "GR2号さんには わたしのちからでは"
linefw "とうてい かないません"
linefw "<RAMNAME>さん"
linefw "どうか よろしくおねがいいたします"
done
Text0ebe:
NikkiCountingOnYouRepeatText:
textfw "グリーンクラブの みんなのためにも"
linefw "がんばってください"
done
Text0ebf:
IshiharaMyVillaText:
textfw "やあ <RAMNAME>くんですか"
linefw "あちらのしまでは おせわになりました"
linefw "こちらのしまでの"
@@ -1754,7 +1754,7 @@ Text0ebf:
linefw "また カードの トレードをしましょう"
done
Text0ec0:
IshiharaVillaSeeYouLaterText:
textfw "やあ <RAMNAME>くん"
linefw "GR団との対戦 たのしんでいますか?"
linefw "ポケモンカードは どんなときでも"
@@ -1765,7 +1765,7 @@ Text0ec0:
linefw "また あそびに きてくださいね"
done
Text0ec1:
IshiharaWantsToTrade4InitialText:
textfw "やあ <RAMNAME>くんですか"
linefw "GR団との対戦 たのしんでますか?"
linefw "じつは でんせつのとりポケモンの"
@@ -1780,7 +1780,7 @@ Text0ec1:
linefw "カードを もっていませんか?"
done
Text0ec2:
IshiharaWantsToTrade4RepeatText:
textfw "ポケモンカード たのしんでますか?"
linefw "じつは でんせつのとりポケモンの"
linefw "カードを あつめているんですよ"
@@ -1792,7 +1792,7 @@ Text0ec2:
linefw "カードを もっていませんか?"
done
Text0ec3:
IshiharaDoNotOwnMoltresLv37Text:
textfw "きみの きもちは"
linefw "とても ありがたいのですが"
linefw "きみは 「ファイヤー<Lv>37」の"
@@ -1801,7 +1801,7 @@ Text0ec3:
linefw "また こんどということで・・・"
done
Text0ec4:
IshiharaUsingAllMoltresLv37InDecksText:
textfw "おやおや 「ファイヤー<Lv>37」は"
linefw "ぜんぶデッキに はいっているんですね"
linefw "ゲームに つかっているカードを"
@@ -1810,17 +1810,17 @@ Text0ec4:
linefw "また こんどということで・・・"
done
Text0ec5:
IshiharaAcceptedTrade4Text:
textfw "おお それは ありがたい!"
linefw "それでは さっそく・・・"
done
Text0ec6:
TradedMoltresForSurfingPikachuText:
textfw "<RAMNAME>は 「ファイヤー」と"
linefw "「なみのりピカチュウ」をこうかん!"
done
Text0ec7:
IshiharaThanksTradedMoltresLv37Text:
textfw "この「ファイヤー<Lv>37」は"
linefw "ありがたく いただきますよ"
linefw "まずは でんせつのとりポケモン"
@@ -1829,7 +1829,7 @@ Text0ec7:
linefw "たすかりましたよ"
done
Text0ec8:
IshiharaWantsToTrade5InitialText:
textfw "やあ <RAMNAME>くんですか"
linefw "GR団との対戦 たのしんでますか?"
linefw "でんせつのとりポケモンの カードを"
@@ -1846,7 +1846,7 @@ Text0ec8:
linefw "カードを もっていませんか?"
done
Text0ec9:
IshiharaWantsToTrade5RepeatText:
textfw "やあ <RAMNAME>くんですか"
linefw "ポケモンカード たのしんでますか?"
linefw "でんせつのとりポケモンの カードを"
@@ -1861,7 +1861,7 @@ Text0ec9:
linefw "カードを もっていませんか?"
done
Text0eca:
IshiharaDoNotOwnArticunoLv34Text:
textfw "きみの きもちは"
linefw "とても ありがたいのですが"
linefw "きみは 「フリーザー<Lv>34」の"
@@ -1870,7 +1870,7 @@ Text0eca:
linefw "また こんどということで・・・"
done
Text0ecb:
IshiharaUsingAllArticunoLv34InDecksText:
textfw "おやおや 「フリーザー<Lv>34」は"
linefw "ぜんぶデッキに はいっているんですね"
linefw "ゲームに つかっているカードを"
@@ -1879,17 +1879,17 @@ Text0ecb:
linefw "また こんどということで・・・"
done
Text0ecc:
IshiharaAcceptedTrade5Text:
textfw "おお それは ありがたい!"
linefw "それでは さっそく・・・"
done
Text0ecd:
TradedArticunoLv34ForSurfingPikachuText:
textfw "<RAMNAME>は 「フリーザー」と"
linefw "「なみのりピカチュウ」をこうかん!"
done
Text0ece:
IshiharaThanksTradedArticunoLv34Text:
textfw "この「フリーザー<Lv>34」は"
linefw "ありがたく いただきますよ"
linefw "これで でんせつのとりポケモン"

View File

@@ -773,8 +773,8 @@ TextOffsets::
textpointer ProcedureForSendingCardsToPlayerText ; 0x02ff
textpointer ReadProcedureForSendingCardsToPlayerText ; 0x0300
textpointer SendText ; 0x0301
textpointer CardReceivedText ; 0x0302
textpointer CardToSendToPlayerText ; 0x0303
textpointer CardsReceivedText ; 0x0302
textpointer CardsToSendToPlayerText ; 0x0303
textpointer SendTheseCardsToPlayerPromptText ; 0x0304
textpointer ReceivedTheseCardsFromText ; 0x0305
textpointer ChooseDeckConfigurationToSendText ; 0x0306
@@ -3748,91 +3748,91 @@ TextOffsets::
textpointer Text0e94 ; 0x0e94
textpointer Text0e95 ; 0x0e95
textpointer Text0e96 ; 0x0e96
textpointer Text0e97 ; 0x0e97
textpointer Text0e98 ; 0x0e98
textpointer Text0e99 ; 0x0e99
textpointer Text0e9a ; 0x0e9a
textpointer Text0e9b ; 0x0e9b
textpointer Text0e9c ; 0x0e9c
textpointer Text0e9d ; 0x0e9d
textpointer Text0e9e ; 0x0e9e
textpointer Text0e9f ; 0x0e9f
textpointer Text0ea0 ; 0x0ea0
textpointer Text0ea1 ; 0x0ea1
textpointer Text0ea2 ; 0x0ea2
textpointer Text0ea3 ; 0x0ea3
textpointer Text0ea4 ; 0x0ea4
textpointer Text0ea5 ; 0x0ea5
textpointer Text0ea6 ; 0x0ea6
textpointer Text0ea7 ; 0x0ea7
textpointer Text0ea8 ; 0x0ea8
textpointer Text0ea9 ; 0x0ea9
textpointer Text0eaa ; 0x0eaa
textpointer Text0eab ; 0x0eab
textpointer Text0eac ; 0x0eac
textpointer Text0ead ; 0x0ead
textpointer Text0eae ; 0x0eae
textpointer Text0eaf ; 0x0eaf
textpointer Text0eb0 ; 0x0eb0
textpointer Text0eb1 ; 0x0eb1
textpointer Text0eb2 ; 0x0eb2
textpointer Text0eb3 ; 0x0eb3
textpointer Text0eb4 ; 0x0eb4
textpointer Text0eb5 ; 0x0eb5
textpointer Text0eb6 ; 0x0eb6
textpointer Text0eb7 ; 0x0eb7
textpointer Text0eb8 ; 0x0eb8
textpointer Text0eb9 ; 0x0eb9
textpointer Text0eba ; 0x0eba
textpointer Text0ebb ; 0x0ebb
textpointer Text0ebc ; 0x0ebc
textpointer Text0ebd ; 0x0ebd
textpointer Text0ebe ; 0x0ebe
textpointer Text0ebf ; 0x0ebf
textpointer Text0ec0 ; 0x0ec0
textpointer Text0ec1 ; 0x0ec1
textpointer Text0ec2 ; 0x0ec2
textpointer Text0ec3 ; 0x0ec3
textpointer Text0ec4 ; 0x0ec4
textpointer Text0ec5 ; 0x0ec5
textpointer Text0ec6 ; 0x0ec6
textpointer Text0ec7 ; 0x0ec7
textpointer Text0ec8 ; 0x0ec8
textpointer Text0ec9 ; 0x0ec9
textpointer Text0eca ; 0x0eca
textpointer Text0ecb ; 0x0ecb
textpointer Text0ecc ; 0x0ecc
textpointer Text0ecd ; 0x0ecd
textpointer Text0ece ; 0x0ece
textpointer Text0ecf ; 0x0ecf
textpointer Text0ed0 ; 0x0ed0
textpointer Text0ed1 ; 0x0ed1
textpointer Text0ed2 ; 0x0ed2
textpointer Text0ed3 ; 0x0ed3
textpointer Text0ed4 ; 0x0ed4
textpointer Text0ed5 ; 0x0ed5
textpointer Text0ed6 ; 0x0ed6
textpointer Text0ed7 ; 0x0ed7
textpointer Text0ed8 ; 0x0ed8
textpointer Text0ed9 ; 0x0ed9
textpointer Text0eda ; 0x0eda
textpointer Text0edb ; 0x0edb
textpointer Text0edc ; 0x0edc
textpointer Text0edd ; 0x0edd
textpointer Text0ede ; 0x0ede
textpointer Text0edf ; 0x0edf
textpointer Text0ee0 ; 0x0ee0
textpointer Text0ee1 ; 0x0ee1
textpointer Text0ee2 ; 0x0ee2
textpointer Text0ee3 ; 0x0ee3
textpointer Text0ee4 ; 0x0ee4
textpointer Text0ee5 ; 0x0ee5
textpointer Text0ee6 ; 0x0ee6
textpointer Text0ee7 ; 0x0ee7
textpointer Text0ee8 ; 0x0ee8
textpointer Text0ee9 ; 0x0ee9
textpointer Text0eea ; 0x0eea
textpointer Text0eeb ; 0x0eeb
textpointer IshiharaUnderGRInvasionInitialText ; 0x0e97
textpointer IshiharaUnderGRInvasionRepeatText ; 0x0e98
textpointer IshiharaListenToNikkiText ; 0x0e99
textpointer IshiharaHelpNikkiText ; 0x0e9a
textpointer IshiharaWantsToTrade1InitialText ; 0x0e9b
textpointer IshiharaWantsToTrade1RepeatText ; 0x0e9c
textpointer IshiharaDeclinedTradeText ; 0x0e9d
textpointer IshiharaDoNotOwnClefairyLv15Text ; 0x0e9e
textpointer IshiharaUsingAllClefairyLv15InDecksText ; 0x0e9f
textpointer IshiharaAcceptedTrade1Text ; 0x0ea0
textpointer TradedClefairyForFlyingPikachuText ; 0x0ea1
textpointer IshiharaThanksTradedClefairyLv15Text ; 0x0ea2
textpointer IshiharaAtHomeTradeLaterReadMyBooksText ; 0x0ea3
textpointer IshiharaWantsToTrade2InitialText ; 0x0ea4
textpointer IshiharaWantsToTrade2RepeatText ; 0x0ea5
textpointer IshiharaDoNotOwnClefableLv34Text ; 0x0ea6
textpointer IshiharaUsingAllClefableLv34InDecksText ; 0x0ea7
textpointer IshiharaAcceptedTrade2Text ; 0x0ea8
textpointer TradedClefableLv34ForTogepiLv8Text ; 0x0ea9
textpointer IshiharaThanksTradedClefableLv34Text ; 0x0eaa
textpointer IshiharaWantsToTrade3InitialText ; 0x0eab
textpointer IshiharaWantsToTrade3RepeatText ; 0x0eac
textpointer IshiharaDoNotOwnDragoniteLv45Text ; 0x0ead
textpointer IshiharaUsingAllDragoniteLv45InDecksText ; 0x0eae
textpointer IshiharaAcceptedTrade3Text ; 0x0eaf
textpointer TradedDragoniteLv45ForMarillLv17Text ; 0x0eb0
textpointer IshiharaThanksTradedDragoniteLv45Text ; 0x0eb1
textpointer IshiharaHeadingForVillaText ; 0x0eb2
textpointer IshiharaBusyRevisitVillaText ; 0x0eb3
textpointer IshiharaDefeatedBiruritchiCongratsText ; 0x0eb4
textpointer NikkiWantsToGiveAwayGiveInAntiGR2Deck1Text ; 0x0eb5
textpointer NikkiWantsToGiveAwayGiveInAntiGR2Deck2Text ; 0x0eb6
textpointer ReceivedGiveInAntiGR2DeckText ; 0x0eb7
textpointer NikkiDecksFullGivesCardsInsteadText ; 0x0eb8
textpointer ReceivedCardsForGiveInAntiGR2DeckText ; 0x0eb9
textpointer NikkiToSendDeckConfigurationToMachineText ; 0x0eba
textpointer NikkiWantsToGiveOddishCoinText ; 0x0ebb
textpointer NikkiGaveOddishCoinText ; 0x0ebc
textpointer NikkiCountingOnYouInitialText ; 0x0ebd
textpointer NikkiCountingOnYouRepeatText ; 0x0ebe
textpointer IshiharaMyVillaText ; 0x0ebf
textpointer IshiharaVillaSeeYouLaterText ; 0x0ec0
textpointer IshiharaWantsToTrade4InitialText ; 0x0ec1
textpointer IshiharaWantsToTrade4RepeatText ; 0x0ec2
textpointer IshiharaDoNotOwnMoltresLv37Text ; 0x0ec3
textpointer IshiharaUsingAllMoltresLv37InDecksText ; 0x0ec4
textpointer IshiharaAcceptedTrade4Text ; 0x0ec5
textpointer TradedMoltresForSurfingPikachuText ; 0x0ec6
textpointer IshiharaThanksTradedMoltresLv37Text ; 0x0ec7
textpointer IshiharaWantsToTrade5InitialText ; 0x0ec8
textpointer IshiharaWantsToTrade5RepeatText ; 0x0ec9
textpointer IshiharaDoNotOwnArticunoLv34Text ; 0x0eca
textpointer IshiharaUsingAllArticunoLv34InDecksText ; 0x0ecb
textpointer IshiharaAcceptedTrade5Text ; 0x0ecc
textpointer TradedArticunoLv34ForSurfingPikachuText ; 0x0ecd
textpointer IshiharaThanksTradedArticunoLv34Text ; 0x0ece
textpointer IshiharaWantsToTrade6InitialText ; 0x0ecf
textpointer IshiharaWantsToTrade6RepeatText ; 0x0ed0
textpointer IshiharaDoNotOwnZapdosLv40Text ; 0x0ed1
textpointer IshiharaUsingAllZapdosLv40InDecksText ; 0x0ed2
textpointer IshiharaAcceptedTrade6Text ; 0x0ed3
textpointer TradedZapdosLv40ForFlyingPikachuText ; 0x0ed4
textpointer IshiharaThanksTradedZapdosLv40Text ; 0x0ed5
textpointer IshiharaWantsToTrade7InitialText ; 0x0ed6
textpointer IshiharaWantsToTrade7RepeatText ; 0x0ed7
textpointer IshiharaDoNotOwnDarkDragoniteText ; 0x0ed8
textpointer IshiharaUsingAllDarkDragoniteInDecksText ; 0x0ed9
textpointer IshiharaAcceptedTrade7Text ; 0x0eda
textpointer TradedDarkDragoniteForBillsComputerText ; 0x0edb
textpointer IshiharaThanksTradedDarkDragoniteTradesCompleteText ; 0x0edc
textpointer IshiharaAtVillaTradeLaterReadMyBooksText ; 0x0edd
textpointer RuiStudyingAtIshiharasVillaPostgameText ; 0x0ede
textpointer RuiThanksIshiharaText ; 0x0edf
textpointer IshiharaGladToHelpRuiText ; 0x0ee0
textpointer RuiGoodbyeIshiharaText ; 0x0ee1
textpointer IshiharaWantsToDuelInitialText ; 0x0ee2
textpointer IshiharaWantsToDuelRepeatText ; 0x0ee3
textpointer IshiharaDuelPromptText ; 0x0ee4
textpointer IshiharaDuelStartText ; 0x0ee5
textpointer IshiharaDeclinedDuelText ; 0x0ee6
textpointer IshiharaPlayerWon1Text ; 0x0ee7
textpointer IshiharaPlayerWon2Text ; 0x0ee8
textpointer IshiharaPlayerLostText ; 0x0ee9
textpointer RuiStudyingAtIshiharasVilla1Text ; 0x0eea
textpointer RuiStudyingAtIshiharasVilla2Text ; 0x0eeb
textpointer ItsAutoDeckMachine1Text ; 0x0eec
textpointer AutoDeckMachine1PromptText ; 0x0eed
textpointer ItsAutoDeckMachine2Text ; 0x0eee
@@ -4007,134 +4007,134 @@ TextOffsets::
textpointer Text0f97 ; 0x0f97
textpointer Text0f98 ; 0x0f98
textpointer Text0f99 ; 0x0f99
textpointer Text0f9a ; 0x0f9a
textpointer Text0f9b ; 0x0f9b
textpointer Text0f9c ; 0x0f9c
textpointer Text0f9d ; 0x0f9d
textpointer Text0f9e ; 0x0f9e
textpointer Text0f9f ; 0x0f9f
textpointer Text0fa0 ; 0x0fa0
textpointer Text0fa1 ; 0x0fa1
textpointer Text0fa2 ; 0x0fa2
textpointer Text0fa3 ; 0x0fa3
textpointer Text0fa4 ; 0x0fa4
textpointer Text0fa5 ; 0x0fa5
textpointer Text0fa6 ; 0x0fa6
textpointer Text0fa7 ; 0x0fa7
textpointer Text0fa8 ; 0x0fa8
textpointer Text0fa9 ; 0x0fa9
textpointer Text0faa ; 0x0faa
textpointer Text0fab ; 0x0fab
textpointer Text0fac ; 0x0fac
textpointer Text0fad ; 0x0fad
textpointer Text0fae ; 0x0fae
textpointer Text0faf ; 0x0faf
textpointer Text0fb0 ; 0x0fb0
textpointer Text0fb1 ; 0x0fb1
textpointer Text0fb2 ; 0x0fb2
textpointer Text0fb3 ; 0x0fb3
textpointer Text0fb4 ; 0x0fb4
textpointer Text0fb5 ; 0x0fb5
textpointer Text0fb6 ; 0x0fb6
textpointer Text0fb7 ; 0x0fb7
textpointer Text0fb8 ; 0x0fb8
textpointer Text0fb9 ; 0x0fb9
textpointer Text0fba ; 0x0fba
textpointer Text0fbb ; 0x0fbb
textpointer Text0fbc ; 0x0fbc
textpointer Text0fbd ; 0x0fbd
textpointer Text0fbe ; 0x0fbe
textpointer Text0fbf ; 0x0fbf
textpointer Text0fc0 ; 0x0fc0
textpointer Text0fc1 ; 0x0fc1
textpointer Text0fc2 ; 0x0fc2
textpointer Text0fc3 ; 0x0fc3
textpointer Text0fc4 ; 0x0fc4
textpointer Text0fc5 ; 0x0fc5
textpointer Text0fc6 ; 0x0fc6
textpointer Text0fc7 ; 0x0fc7
textpointer Text0fc8 ; 0x0fc8
textpointer Text0fc9 ; 0x0fc9
textpointer Text0fca ; 0x0fca
textpointer Text0fcb ; 0x0fcb
textpointer Text0fcc ; 0x0fcc
textpointer Text0fcd ; 0x0fcd
textpointer Text0fce ; 0x0fce
textpointer Text0fcf ; 0x0fcf
textpointer Text0fd0 ; 0x0fd0
textpointer Text0fd1 ; 0x0fd1
textpointer Text0fd2 ; 0x0fd2
textpointer Text0fd3 ; 0x0fd3
textpointer Text0fd4 ; 0x0fd4
textpointer Text0fd5 ; 0x0fd5
textpointer Text0fd6 ; 0x0fd6
textpointer Text0fd7 ; 0x0fd7
textpointer Text0fd8 ; 0x0fd8
textpointer Text0fd9 ; 0x0fd9
textpointer Text0fda ; 0x0fda
textpointer Text0fdb ; 0x0fdb
textpointer Text0fdc ; 0x0fdc
textpointer Text0fdd ; 0x0fdd
textpointer Text0fde ; 0x0fde
textpointer Text0fdf ; 0x0fdf
textpointer Text0fe0 ; 0x0fe0
textpointer Text0fe1 ; 0x0fe1
textpointer Text0fe2 ; 0x0fe2
textpointer Text0fe3 ; 0x0fe3
textpointer Text0fe4 ; 0x0fe4
textpointer Text0fe5 ; 0x0fe5
textpointer Text0fe6 ; 0x0fe6
textpointer Text0fe7 ; 0x0fe7
textpointer Text0fe8 ; 0x0fe8
textpointer Text0fe9 ; 0x0fe9
textpointer Text0fea ; 0x0fea
textpointer Text0feb ; 0x0feb
textpointer Text0fec ; 0x0fec
textpointer Text0fed ; 0x0fed
textpointer Text0fee ; 0x0fee
textpointer Text0fef ; 0x0fef
textpointer Text0ff0 ; 0x0ff0
textpointer Text0ff1 ; 0x0ff1
textpointer Text0ff2 ; 0x0ff2
textpointer Text0ff3 ; 0x0ff3
textpointer Text0ff4 ; 0x0ff4
textpointer Text0ff5 ; 0x0ff5
textpointer Text0ff6 ; 0x0ff6
textpointer Text0ff7 ; 0x0ff7
textpointer Text0ff8 ; 0x0ff8
textpointer Text0ff9 ; 0x0ff9
textpointer Text0ffa ; 0x0ffa
textpointer Text0ffb ; 0x0ffb
textpointer Text0ffc ; 0x0ffc
textpointer Text0ffd ; 0x0ffd
textpointer Text0ffe ; 0x0ffe
textpointer Text0fff ; 0x0fff
textpointer RodFinalCupIntroAndRound1OpponentText ; 0x0f9a
textpointer CourtneyFinalCupDuelStartText ; 0x0f9b
textpointer CourtneyTournamentsPlayerWonText ; 0x0f9c
textpointer RodFinalCupRound1NextOpponentText ; 0x0f9d
textpointer CourtneyFinalCupPlayerLostText ; 0x0f9e
textpointer SteveFinalCupReadyToDuelText ; 0x0f9f
textpointer RodFinalCupAreYourDecksReadyText ; 0x0fa0
textpointer RodFinalCupResumeRoundText ; 0x0fa1
textpointer SteveFinalCupDuelStartText ; 0x0fa2
textpointer SteveTournamentsPlayerWonText ; 0x0fa3
textpointer RodFinalCupRound2NextOpponentText ; 0x0fa4
textpointer SteveTournamentsPlayerLostText ; 0x0fa5
textpointer JackFinalCupReadyToDuelText ; 0x0fa6
textpointer JackFinalCupDuelStartText ; 0x0fa7
textpointer JackFinalCupPlayerWonText ; 0x0fa8
textpointer RodFinalCupRound3NextOpponentText ; 0x0fa9
textpointer JackTournamentsPlayerLostText ; 0x0faa
textpointer RodFinalCupReadyToDuelText ; 0x0fab
textpointer RodFinalCupDuelStartText ; 0x0fac
textpointer RodTournamentsPlayerWonText ; 0x0fad
textpointer RodTournamentsPlayerLostText ; 0x0fae
textpointer RodYouDeserveLegendaryCardsText ; 0x0faf
textpointer RodChallengeBiruritchiText ; 0x0fb0
textpointer RodYouDoNotDeserveLegendaryCardsText ; 0x0fb1
textpointer CupHostGrandMasterCupIntroBracketRevealText ; 0x0fb2
textpointer CupHostGrandMasterCupRound1Text ; 0x0fb3
textpointer CupHostGrandMasterCupRound1CallPlayerText ; 0x0fb4
textpointer CupHostGrandMasterCupRound1CallOpponentText ; 0x0fb5
textpointer CupHostGrandMasterCupRound1StartingText ; 0x0fb6
textpointer CupHostGrandMasterCupAreYourDecksReadyText ; 0x0fb7
textpointer CupHostGrandMasterCupMakeYourPreparationsText ; 0x0fb8
textpointer CupHostGrandMasterCupRound1DuelStartText ; 0x0fb9
textpointer CupHostGrandMasterCupRound2Text ; 0x0fba
textpointer CupHostGrandMasterCupRound2CallPlayerText ; 0x0fbb
textpointer CupHostGrandMasterCupRound2CallOpponentText ; 0x0fbc
textpointer CupHostGrandMasterCupRound2DuelStartText ; 0x0fbd
textpointer CupHostGrandMasterCupFinalsText ; 0x0fbe
textpointer CupHostGrandMasterCupFinalsCallPlayerText ; 0x0fbf
textpointer CupHostGrandMasterCupFinalsCallOpponentClubMasterText ; 0x0fc0
textpointer CupHostGrandMasterCupFinalsCallOpponentRonaldText ; 0x0fc1
textpointer RonaldGrandMasterCupFinalsText ; 0x0fc2
textpointer CupHostGrandMasterCupFinalsDuelStartText ; 0x0fc3
textpointer CupHostGrandMasterCupRoundsPlayerWonText ; 0x0fc4
textpointer CupHostGrandMasterCupRoundsOpponentEliminatedText ; 0x0fc5
textpointer CupHostGrandMasterCupSeeUpdatedBracketText ; 0x0fc6
textpointer CupHostGrandMasterCupRoundsPlayerLost1Text ; 0x0fc7
textpointer CupHostGrandMasterCupRoundsPlayerLost2Text ; 0x0fc8
textpointer CupHostGrandMasterCupFinalsPlayerWon1Text ; 0x0fc9
textpointer CupHostGrandMasterCupFinalsPlayerWon2Text ; 0x0fca
textpointer CupHostGrandMasterCupFinalsOpponentEliminatedText ; 0x0fcb
textpointer RonaldGrandMasterCupFinalsPlayerWonText ; 0x0fcc
textpointer CupHostGrandMasterCupFinalsPlayerLost1Text ; 0x0fcd
textpointer CupHostGrandMasterCupFinalsPlayerLost2Text ; 0x0fce
textpointer RonaldGrandMasterCupFinalsPlayerLostText ; 0x0fcf
textpointer CupHostGrandMasterCupGrandFinalsText ; 0x0fd0
textpointer RodGrandMasterCupGrandFinalsBracketReveal1Text ; 0x0fd1
textpointer RodGrandMasterCupGrandFinalsBracketReveal2Text ; 0x0fd2
textpointer CupHostGrandMasterCupGrandFinalsCallCourtneyText ; 0x0fd3
textpointer CourtneyGrandMasterCupGrandFinalsText ; 0x0fd4
textpointer CupHostGrandMasterCupGrandFinalsDuelStartText ; 0x0fd5
textpointer CourtneyGrandMasterCupGrandFinalsPlayerLostText ; 0x0fd6
textpointer CupHostGrandMasterCupGrandFinalsPlayerLostText ; 0x0fd7
textpointer CupHostGrandMasterCupGrandFinalsCallSteveText ; 0x0fd8
textpointer SteveGrandMasterCupGrandFinalsText ; 0x0fd9
textpointer CupHostGrandMasterCupGrandFinalsCallJackText ; 0x0fda
textpointer JackGrandMasterCupGrandFinalsText ; 0x0fdb
textpointer JackGrandMasterCupGrandFinalsPlayerWonText ; 0x0fdc
textpointer CupHostGrandMasterCupGrandFinalsCallRodText ; 0x0fdd
textpointer RodGrandMasterCupGrandFinalsText ; 0x0fde
textpointer CupHostGrandMasterCupGrandFinalsPlayerWonText ; 0x0fdf
textpointer CupHostGrandMasterCupPlayerChampionText ; 0x0fe0
textpointer CupHostGrandMasterCupChampionPrizeSelectionText ; 0x0fe1
textpointer CupHostGrandMasterCupChampionPrizesText ; 0x0fe2
textpointer CupHostGrandMasterCupFirstChampionRewardsText ; 0x0fe3
textpointer CupHostGrandMasterCupPlayerFirstChampionCongratsText ; 0x0fe4
textpointer CupHostGrandMasterCupPlayerChampionCongratsText ; 0x0fe5
textpointer CupHostGrandMasterCupPlayerChampionClosingText ; 0x0fe6
textpointer CupHostGrandMasterCupPlayerLostEliminatedText ; 0x0fe7
textpointer CourtneyWantsToDuelInitialText ; 0x0fe8
textpointer CourtneyWantsToDuelRepeatText ; 0x0fe9
textpointer CourtneyDuelPromptText ; 0x0fea
textpointer CourtneyDuelStartText ; 0x0feb
textpointer CourtneyDeclinedDuelText ; 0x0fec
textpointer CourtneyReadyForFinalCupText ; 0x0fed
textpointer CourtneyPostgameInitialText ; 0x0fee
textpointer CourtneyPostgameRepeatText ; 0x0fef
textpointer CourtneyPlayerWon1Text ; 0x0ff0
textpointer CourtneyPlayerWon2Text ; 0x0ff1
textpointer CourtneyPlayerLostText ; 0x0ff2
textpointer SteveWantsToDuelInitialText ; 0x0ff3
textpointer SteveWantsToDuelRepeatText ; 0x0ff4
textpointer SteveDuelPromptText ; 0x0ff5
textpointer SteveDuelStartText ; 0x0ff6
textpointer SteveDeclinedDuelText ; 0x0ff7
textpointer SteveReadyForFinalCupText ; 0x0ff8
textpointer SteveReadyForNextFinalCupText ; 0x0ff9
textpointer StevePostgameInitialText ; 0x0ffa
textpointer StevePostgameRepeatText ; 0x0ffb
textpointer SteveGrandMasterCupPlayedText ; 0x0ffc
textpointer StevePlayerWon1Text ; 0x0ffd
textpointer StevePlayerWon2Text ; 0x0ffe
textpointer StevePlayerLostText ; 0x0fff
SECTION "Text Offsets 2", ROMX
textpointer Text1000 ; 0x1000
textpointer Text1001 ; 0x1001
textpointer Text1002 ; 0x1002
textpointer Text1003 ; 0x1003
textpointer Text1004 ; 0x1004
textpointer Text1005 ; 0x1005
textpointer Text1006 ; 0x1006
textpointer Text1007 ; 0x1007
textpointer Text1008 ; 0x1008
textpointer Text1009 ; 0x1009
textpointer Text100a ; 0x100a
textpointer Text100b ; 0x100b
textpointer Text100c ; 0x100c
textpointer Text100d ; 0x100d
textpointer Text100e ; 0x100e
textpointer Text100f ; 0x100f
textpointer Text1010 ; 0x1010
textpointer Text1011 ; 0x1011
textpointer Text1012 ; 0x1012
textpointer Text1013 ; 0x1013
textpointer Text1014 ; 0x1014
textpointer Text1015 ; 0x1015
textpointer Text1016 ; 0x1016
textpointer JackWantsToDuelInitialText ; 0x1000
textpointer JackWantsToDuelRepeatText ; 0x1001
textpointer JackDuelPromptText ; 0x1002
textpointer JackDuelStartText ; 0x1003
textpointer JackDeclinedDuelText ; 0x1004
textpointer JackReadyForFinalCupText ; 0x1005
textpointer JackPostgameInitialText ; 0x1006
textpointer JackPostgameRepeatText ; 0x1007
textpointer JackGrandMasterCupPlayedText ; 0x1008
textpointer JackPlayerWon1Text ; 0x1009
textpointer JackPlayerWon2Text ; 0x100a
textpointer JackPlayerLostText ; 0x100b
textpointer RodWantsToStartFinalCupInitialText ; 0x100c
textpointer RodWantsToStartFinalCupRepeatText ; 0x100d
textpointer RodWantsToStartNextFinalCupText ; 0x100e
textpointer FinalCupEnterPrompt ; 0x100f
textpointer RodFinalCupEnterAcceptedPrompt ; 0x1010
textpointer RodFinalCupEnterDeclinedPrompt ; 0x1011
textpointer RodPostgameInitialText ; 0x1012
textpointer RodPostgameRepeatText ; 0x1013
textpointer RodGrandMasterCupPlayedText ; 0x1014
textpointer PokemonDomeGR5PreachInitialText ; 0x1015
textpointer PokemonDomeGR5PreachRepeatText ; 0x1016
textpointer GrandMasterCupClerkWelcomeText ; 0x1017
textpointer GrandMasterCupClerkPrizesText ; 0x1018
textpointer GrandMasterCupClerkInviteText ; 0x1019
@@ -4143,27 +4143,27 @@ SECTION "Text Offsets 2", ROMX
textpointer GrandMasterCupClerkEnterPromptText ; 0x101c
textpointer GrandMasterCupClerkEnterAcceptedText ; 0x101d
textpointer GrandMasterCupClerkEnterDeclinedText ; 0x101e
textpointer Text101f ; 0x101f
textpointer Text1020 ; 0x1020
textpointer Text1021 ; 0x1021
textpointer Text1022 ; 0x1022
textpointer Text1023 ; 0x1023
textpointer Text1024 ; 0x1024
textpointer Text1025 ; 0x1025
textpointer Text1026 ; 0x1026
textpointer Text1027 ; 0x1027
textpointer Text1028 ; 0x1028
textpointer Text1029 ; 0x1029
textpointer Text102a ; 0x102a
textpointer Text102b ; 0x102b
textpointer Text102c ; 0x102c
textpointer Text102d ; 0x102d
textpointer Text102e ; 0x102e
textpointer Text102f ; 0x102f
textpointer Text1030 ; 0x1030
textpointer Text1031 ; 0x1031
textpointer Text1032 ; 0x1032
textpointer Text1033 ; 0x1033
textpointer PokemonDomeGRLassSpectatorText ; 0x101f
textpointer PokemonDomeGRLassAnticipatingText ; 0x1020
textpointer PokemonDomeGRLassSpectatedText ; 0x1021
textpointer PokemonDomeYoungsterSpectatorText ; 0x1022
textpointer PokemonDomeYoungsterSpectatedText ; 0x1023
textpointer PokemonDomeSwimmerSpectatorText ; 0x1024
textpointer PokemonDomeSwimmerPlayerWonCupText ; 0x1025
textpointer PokemonDomeSwimmerPlayerLostCupText ; 0x1026
textpointer PokemonDomeGR5SealedArenaDoorsText ; 0x1027
textpointer RodIAmGrandMasterLeaderText ; 0x1028
textpointer RodRevisitPokemonDomeForNextFinalCupText ; 0x1029
textpointer PokemonDomeFatGuyAllGrandMastersGoneText ; 0x102a
textpointer PokemonDomeFatGuySteveIsBackText ; 0x102b
textpointer PokemonDomeFatGuyCourtneyIsBackText ; 0x102c
textpointer PokemonDomeFatGuyJackIsBackText ; 0x102d
textpointer PokemonDomeFatGuyWeNeedRodText ; 0x102e
textpointer PokemonDomeFatGuyRodIsBackText ; 0x102f
textpointer PokemonDomeFatGuyGrandMasterCupInactiveText ; 0x1030
textpointer PokemonDomeFatGuyGrandMasterCupActiveText ; 0x1031
textpointer PokemonDomeFatGuyGrandMasterCupPlayedText ; 0x1032
textpointer PlateOfLegendsText ; 0x1033
textpointer Text1034 ; 0x1034
textpointer Text1035 ; 0x1035
textpointer Text1036 ; 0x1036

View File

@@ -94,10 +94,16 @@ wIRCommunicationErrorCode:: ; c5ea
; and received from the other device respectively
; these must match for successful communication
wOwnIRCommunicationParams:: ; c5eb
ds $4
wOtherIRCommunicationParams:: ; c5ef
ds $4
wOwnIRCommunicationMode:: ; c5eb
ds $1
wOwnIRCommunicationMagicString:: ; c5ec
ds IR_MAGIC_STRING_SIZE
wOtherIRCommunicationParams:: ; c5ef
wOtherIRCommunicationMode:: ; c5ef
ds $1
wOtherIRCommunicationMagicString:: ; c5f0
ds IR_MAGIC_STRING_SIZE
; stores the result from LookUpNameInCardPopNameList
; is $ff if name was found in the Card Pop! list
@@ -1312,6 +1318,7 @@ wCardPopRecordYourCardID:: ; ce3c
wCardPopRecordTheirCardID:: ; ce3e
ds $2
wCardPopRecordStats:: ; ce40
wCardPopRecordNumBattles:: ; ce40
ds $2
@@ -2056,12 +2063,14 @@ wTempSavedDeckCards:: ; d2fe
ds $a
wDeckBuildingParams:: ; d380
; max number of cards that are allowed
; to include when building a deck configuration
wMaxNumCardsAllowed:: ; d380
ds $1
wd381:: ; d381
wNumValidDeckSize:: ; d381
ds $1
; max number of cards with same name that are allowed
@@ -2087,6 +2096,8 @@ wDeckConfigurationMenuHandlerFunction:: ; d384
wDeckConfigurationMenuTransitionTable:: ; d386
ds $2
wDeckBuildingParamsEnd::
wCurCardListPtr:: ; d388
ds $1
@@ -3131,9 +3142,10 @@ wdb86:: ; db86
wdbc6:: ; dbc6
ds $40
wdc06:: ; dc06
wGiftCenterMenuCursorPosition:: ; dc06
ds $1
wSelectedGiftCenterMenuItem:: ; dc07
ds $1
wSelectedCoin:: ; dc08
@@ -3328,25 +3340,25 @@ wCurBoosterPack:: ; dd08
wAnotherBoosterPack:: ; dd09
ds $1
wdd0a:: ; dd0a
ds $10
wGrandMasterCupCompetitorNames:: ; dd0a
ds 2 * NUM_GRANDMASTERCUP_COMPETITORS
wdd1a:: ; dd1a
ds $6
; store the winner side (GRANDMASTERCUP_BRACKET_*_WON) for each match
wGrandMasterCupBracketWinnerSides:: ; dd1a
ds NUM_GRANDMASTERCUP_BRACKET_MATCHES
wdd20:: ; dd20
; GRANDMASTERCUP_BRACKET_*_WON_F bitfield
wGrandMasterCupBracketWinnerSideBitfield:: ; dd21
ds $1
wdd21:: ; dd21
; NPC ID
wGrandMasterCupBracketChampion:: ; dd22
ds $1
wdd22:: ; dd22
wGrandMasterCupBracketChampionSpriteAnimIndex:: ; dd23
ds $1
wdd23:: ; dd23
ds $1
wdd24:: ; dd24
wGrandMasterCupBracketChampionSpriteAnimTick:: ; dd24
ds $1
wdd25:: ; dd25
@@ -3443,20 +3455,26 @@ wdd76:: ; dd76
wdd77:: ; dd77
ds $1
wdd78:: ; dd78
wGrandMasterCupPrizeSelectionMenuCursorPosition:: ; dd78
ds $1
wdd79:: ; dd79
wNumGrandMasterCupPrizesSelected:: ; dd79
ds $1
wdd7a:: ; dd7a
ds $10
; card name, card id
wGrandMasterCupPrizes:: ; dd7a
ds (2 + 2) * NUM_GRANDMASTERCUP_PRIZE_CANDIDATES
wdd8a:: ; dd8a
ds $4
wGrandMasterCupPrizesSelectionState:: ; dd8a
ds NUM_GRANDMASTERCUP_PRIZE_CANDIDATES
wdd8e:: ; dd8e
ds $5
wSelectedGrandMasterCupPrizeItems:: ; dd8e
wSelectedGrandMasterCupPrizeItem1:: ; dd8e
ds $1
wSelectedGrandMasterCupPrizeItem2:: ; dd8f
ds $1
ds $3
wdd93:: ; dd93
ds $1

View File

@@ -845,9 +845,9 @@ events = [
"EVENT_TRADED_CARDS_PSYCHIC_STRONGHOLD",
"EVENT_GODAS_ROOM_CAGE_STATE",
"EVENT_MIDORIS_ROOM_CAGE_STATE",
"EVENT_BB",
"EVENT_BC",
"EVENT_BD",
"EVENT_TALKED_TO_COURTNEY_POKEMON_DOME",
"EVENT_TALKED_TO_STEVE_POKEMON_DOME",
"EVENT_TALKED_TO_JACK_POKEMON_DOME",
"EVENT_ENTERED_GRAND_MASTER_CUP",
"EVENT_FREED_COURTNEY",
"EVENT_FREED_STEVE",
@@ -876,8 +876,8 @@ events = [
"EVENT_OPENED_CHEST_FIGHTING_FORT_5",
"EVENT_OPENED_CHEST_FIGHTING_FORT_BASEMENT",
"EVENT_SHORT_GR_ISLAND_FLYOVER_SEQUENCE",
"EVENT_BEAT_GRAND_MASTER_CUP",
"EVENT_DB",
"EVENT_WON_FINAL_CUP",
"EVENT_WON_GRAND_MASTER_CUP",
"EVENT_GHOST_MASTER_STATUES_STATE",
"EVENT_BATTLED_TOBICHAN",
"EVENT_BATTLED_EIJI",
@@ -894,7 +894,7 @@ events = [
"EVENT_TALKED_TO_ROOK",
"EVENT_TALKED_TO_QUEEN",
"EVENT_EB",
"EVENT_EC",
"EVENT_TALKED_TO_ROD_POKEMON_DOME",
"EVENT_SET_UNTIL_MAP_RELOAD_1",
"EVENT_EE",
"EVENT_EF",
@@ -903,7 +903,7 @@ events = [
"EVENT_F2",
"EVENT_F3",
"EVENT_ISHIHARA_CARD_TRADE_STATE",
"EVENT_F5",
"EVENT_ISHIHARA_LOCATION_STATE",
]
framesets = [
@@ -2958,7 +2958,7 @@ tilemaps = [
vars = [
"VAR_00",
"VAR_01",
"VAR_02",
"VAR_ISHIHARA_STATE",
"VAR_03",
"VAR_TIMES_MET_RONALD",
"VAR_05",
@@ -2968,27 +2968,27 @@ vars = [
"VAR_09",
"VAR_0A",
"VAR_0B",
"VAR_0C",
"VAR_0D",
"VAR_0E",
"VAR_FINAL_CUP_PLAYED_ROUNDS",
"VAR_GRAND_MASTER_CUP_STATE",
"VAR_GRANDMASTERCUP_CURRENT_ROUND",
"VAR_0F",
"VAR_GRANDMASTERCUP_PRIZE_INDEX_0",
"VAR_GRANDMASTERCUP_PRIZE_INDEX_1",
"VAR_GRANDMASTERCUP_PRIZE_INDEX_2",
"VAR_GRANDMASTERCUP_PRIZE_INDEX_3",
"VAR_GRANDMASTERCUP_OPPONENT_DECK_0",
"VAR_GRANDMASTERCUP_OPPONENT_DECK_1",
"VAR_GRANDMASTERCUP_OPPONENT_DECK_2",
"VAR_GRANDMASTERCUP_OPPONENT_DECK_3",
"VAR_GRANDMASTERCUP_OPPONENT_DECK_4",
"VAR_GRANDMASTERCUP_OPPONENT_DECK_5",
"VAR_GRANDMASTERCUP_OPPONENT_DECK_6",
"VAR_1B",
"VAR_1C",
"VAR_1D",
"VAR_1E",
"VAR_1F",
"VAR_20",
"VAR_GRANDMASTERCUP_ROUND1_NPC1_DECK_ID",
"VAR_GRANDMASTERCUP_ROUND1_NPC2_DECK_ID",
"VAR_GRANDMASTERCUP_ROUND1_NPC3_DECK_ID",
"VAR_GRANDMASTERCUP_ROUND1_NPC4_DECK_ID",
"VAR_GRANDMASTERCUP_ROUND1_NPC5_DECK_ID",
"VAR_GRANDMASTERCUP_ROUND1_NPC6_DECK_ID",
"VAR_GRANDMASTERCUP_ROUND1_NPC7_DECK_ID",
"VAR_GRANDMASTERCUP_ROUND2_NPC1_DECK_ID",
"VAR_GRANDMASTERCUP_ROUND2_NPC2_DECK_ID",
"VAR_GRANDMASTERCUP_ROUND2_NPC3_DECK_ID",
"VAR_GRANDMASTERCUP_FINAL_NPC_DECK_ID",
"VAR_GRANDMASTERCUP_GF_GRAND_MASTER_INDEX",
"VAR_TIMES_WON_LINK_DUEL_FOR_GRAND_MASTER_CUP",
"VAR_21",
"VAR_IMAKUNI_BLACK_WIN_COUNT",
"VAR_23",