RoamerX 6f69e7f5eb 对于对战开拓区&对战帐篷的文本进行了重新翻译
虽然原本进行了一些修正和润色,但是整体质量偏低,于是重新进行了汉化
调整了开拓区对战设施的成绩页面文字展示位置
对培育屋的文本进行了重新翻译
参照官方正作的使用逻辑统一调整了数字使用阿拉伯数字和汉字的情况
参照官方正作的使用逻辑统一调整了使用“战斗”和“对战”的情况
修正了部分连接相关文本的译名
主要参考deepseek英文翻译及原版英文
2025-05-18 00:10:23 +08:00

1157 lines
54 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

.set LOCALID_ATTENDANT_SINGLES, 1
.set LOCALID_ATTENDANT_DOUBLES, 7
.set LOCALID_ATTENDANT_MULTIS, 8
.set LOCALID_ATTENDANT_LINK_MULTIS, 9
@ Note: LOCALID_BATTLE_TOWER_LOBBY_REPORTER is a local id for this map used elsewhere. It's defined in event_objects.h
BattleFrontier_BattleTowerLobby_MapScripts::
map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattleTowerLobby_OnResume
map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleTowerLobby_OnTransition
map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleTowerLobby_OnFrame
map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleTowerLobby_OnWarp
.byte 0
BattleFrontier_BattleTowerLobby_OnResume:
special TryHideBattleTowerReporter
end
BattleFrontier_BattleTowerLobby_OnTransition:
call BattleFrontier_BattleTowerLobby_EventScript_ShowOrHideReporter
apprentice_shouldcheckgone
goto_if_eq VAR_0x8004, FALSE, BattleFrontier_BattleTowerLobby_EventScript_ShowApprentice @ VAR_0x8004 always TRUE here
goto_if_set FLAG_DAILY_APPRENTICE_LEAVES, BattleFrontier_BattleTowerLobby_EventScript_HideApprentice
BattleFrontier_BattleTowerLobby_EventScript_ShowApprentice::
clearflag FLAG_HIDE_APPRENTICE
apprentice_setgfx
BattleFrontier_BattleTowerLobby_EventScript_EndShowOrHideApprentice::
end
BattleFrontier_BattleTowerLobby_EventScript_HideApprentice::
setflag FLAG_HIDE_APPRENTICE
goto BattleFrontier_BattleTowerLobby_EventScript_EndShowOrHideApprentice
BattleFrontier_BattleTowerLobby_OnWarp:
map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerLobby_EventScript_PlayerFaceNorth
.2byte 0
BattleFrontier_BattleTowerLobby_EventScript_PlayerFaceNorth::
setvar VAR_TEMP_1, 1
turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH
end
BattleFrontier_BattleTowerLobby_OnFrame:
map_script_2 VAR_TEMP_CHALLENGE_STATUS, 0, BattleFrontier_BattleTowerLobby_EventScript_GetChallengeStatus
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING, BattleFrontier_BattleTowerLobby_EventScript_QuitWithoutSaving
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattleTowerLobby_EventScript_ResumeChallenge
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_WON, BattleFrontier_BattleTowerLobby_EventScript_WonChallenge
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST, BattleFrontier_BattleTowerLobby_EventScript_LostChallenge
.2byte 0
BattleFrontier_BattleTowerLobby_EventScript_GetChallengeStatus::
frontier_getstatus
end
BattleFrontier_BattleTowerLobby_EventScript_QuitWithoutSaving::
lock
faceplayer
msgbox BattleFrontier_BattleTowerLobby_Text_DidntSaveBeforeQuitting, MSGBOX_DEFAULT
closemessage
tower_set TOWER_DATA_WIN_STREAK, 0
tower_set TOWER_DATA_WIN_STREAK_ACTIVE, FALSE
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
setvar VAR_TEMP_CHALLENGE_STATUS, 255
release
end
BattleFrontier_BattleTowerLobby_EventScript_WonChallenge::
lock
faceplayer
frontier_isbrain
goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattleTowerLobby_EventScript_DefeatedMaiden
message BattleFrontier_BattleTowerLobby_Text_CongratsBeatenSeven
waitmessage
goto BattleFrontier_BattleTowerLobby_EventScript_GiveRibbons
BattleFrontier_BattleTowerLobby_EventScript_DefeatedMaiden::
msgbox BattleFrontier_BattleTowerLobby_Text_CongratsDefeatedMaiden, MSGBOX_DEFAULT
BattleFrontier_BattleTowerLobby_EventScript_GiveRibbons::
tower_giveribbons
goto_if_eq VAR_RESULT, FALSE, BattleFrontier_BattleTowerLobby_EventScript_GiveBattlePoints
message BattleFrontier_BattleTowerLobby_Text_HereAreSomeRibbons
waitmessage
playfanfare MUS_OBTAIN_ITEM
waitfanfare
msgbox BattleFrontier_BattleTowerLobby_Text_PutRibbonOnMons, MSGBOX_DEFAULT
BattleFrontier_BattleTowerLobby_EventScript_GiveBattlePoints::
msgbox BattleFrontier_BattleTowerLobby_Text_AwardYouTheseBattlePoints, MSGBOX_DEFAULT
frontier_givepoints
msgbox BattleFrontier_Text_ObtainedXBattlePoints, MSGBOX_GETPOINTS
call BattleFrontier_BattleTowerLobby_EventScript_AskSaveBattle
tower_get TOWER_DATA_WIN_STREAK
goto_if_ne VAR_RESULT, 49, BattleFrontier_BattleTowerLobby_EventScript_LookForwardToChallenge
msgbox BattleFrontier_BattleTowerLobby_Text_AboutToFace50thTrainer, MSGBOX_DEFAULT
BattleFrontier_BattleTowerLobby_EventScript_LookForwardToChallenge::
msgbox BattleFrontier_BattleTowerLobby_Text_LookForwardToAnotherChallenge, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_CHALLENGE_STATUS, 255
callnative UpdateFollowingPokemon
release
end
BattleFrontier_BattleTowerLobby_EventScript_LostChallenge::
goto_if_ne VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS, BattleFrontier_BattleTowerLobby_EventScript_CancelWinStreak
goto_if_set FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER, BattleFrontier_BattleTowerLobby_EventScript_CancelWinStreak
tower_get TOWER_DATA_WIN_STREAK
goto_if_ne VAR_RESULT, 0, BattleFrontier_BattleTowerLobby_EventScript_LostThanksForPlaying
BattleFrontier_BattleTowerLobby_EventScript_CancelWinStreak::
tower_set TOWER_DATA_WIN_STREAK_ACTIVE, FALSE
BattleFrontier_BattleTowerLobby_EventScript_LostThanksForPlaying::
lock
faceplayer
message BattleFrontier_BattleTowerLobby_Text_ThankYouForPlaying
waitmessage
call BattleFrontier_BattleTowerLobby_EventScript_AskSaveBattle
msgbox BattleFrontier_BattleTowerLobby_Text_LookForwardToAnotherChallenge, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_CHALLENGE_STATUS, 255
callnative UpdateFollowingPokemon
release
end
BattleFrontier_BattleTowerLobby_EventScript_AskSaveBattle::
message BattleFrontier_BattleTowerLobby_Text_RecordWillBeSaved
waitmessage
frontier_checkairshow
special LoadPlayerParty
special HealPlayerParty
tower_save 0
playse SE_SAVE
waitse
call BattleFrontier_EventScript_GetCantRecordBattle
goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattleTowerLobby_EventScript_EndSaveBattle
message BattleFrontier_BattleTowerLobby_Text_RecordLastMatch
waitmessage
multichoicedefault 20, 8, MULTI_YESNO, 1, FALSE
switch VAR_RESULT
case 1, BattleFrontier_BattleTowerLobby_EventScript_EndSaveBattle
case 0, BattleFrontier_EventScript_SaveBattle
case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_EndSaveBattle
BattleFrontier_EventScript_SaveBattle::
frontier_savebattle
goto_if_eq VAR_RESULT, FALSE, BattleFrontier_EventScript_BattleSaveFailed
playse SE_SAVE
msgbox BattleFrontier_BattleTowerLobby_Text_BattleRecordedOnPass, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_EndSaveBattle
BattleFrontier_EventScript_BattleSaveFailed::
msgbox BattleFrontier_BattleTowerBattleRoom_Text_RecordCouldntBeSaved, MSGBOX_DEFAULT
BattleFrontier_BattleTowerLobby_EventScript_EndSaveBattle::
return
BattleFrontier_EventScript_GetCantRecordBattle::
frontier_get FRONTIER_DATA_RECORD_DISABLED
return
BattleFrontier_BattleTowerLobby_EventScript_ResumeChallenge::
lock
faceplayer
call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES, BattleFrontier_BattleTowerLobby_EventScript_SetBravoTrainerOn
message BattleFrontier_BattleTowerLobby_Text_WeveBeenWaitingForYou
waitmessage
message BattleFrontier_BattleTowerLobby_Text_ProgressWillBeSaved
waitmessage
tower_save CHALLENGE_STATUS_SAVING
playse SE_SAVE
waitse
frontier_set FRONTIER_DATA_PAUSED, FALSE
goto BattleFrontier_BattleTowerLobby_EventScript_EnterElevator
end
BattleFrontier_BattleTowerLobby_EventScript_SetBravoTrainerOn::
setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, TRUE
return
BattleFrontier_BattleTowerLobby_EventScript_SinglesAttendant::
lock
faceplayer
setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_TOWER
special SavePlayerParty
msgbox BattleFrontier_BattleTowerLobby_Text_WelcomSingleBattle, MSGBOX_DEFAULT
BattleFrontier_BattleTowerLobby_EventScript_AskEnterSinglesChallenge::
message BattleFrontier_BattleTowerLobby_Text_TakeSinglesChallenge
waitmessage
multichoice 17, 6, MULTI_CHALLENGEINFO, FALSE
switch VAR_RESULT
case 0, BattleFrontier_BattleTowerLobby_EventScript_TryEnterSinglesChallenge
case 1, BattleFrontier_BattleTowerLobby_EventScript_ExplainSinglesChallenge
case 2, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
BattleFrontier_BattleTowerLobby_EventScript_TryEnterSinglesChallenge::
setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
message BattleFrontier_BattleTowerLobby_Text_WhichLevelMode
waitmessage
multichoice 17, 6, MULTI_LEVEL_MODE, FALSE
switch VAR_RESULT
case FRONTIER_LVL_TENT, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
frontier_checkineligible
goto_if_eq VAR_0x8004, TRUE, BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMons
frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT
msgbox BattleFrontier_BattleTowerLobby_Text_SelectThreeMons, MSGBOX_DEFAULT
fadescreen FADE_TO_BLACK
callnative RemoveFollowingPokemon
call BattleFrontier_EventScript_GetLvlMode
copyvar VAR_0x8004, VAR_RESULT
setvar VAR_0x8005, FRONTIER_PARTY_SIZE
special ChoosePartyForBattleFrontier
waitstate
goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge
msgbox BattleFrontier_BattleTowerLobby_Text_OkayToSaveBeforeEntering, MSGBOX_YESNO
switch VAR_RESULT
case NO, BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge
case YES, BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeSinglesChallenge
case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge
BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeSinglesChallenge::
frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
setvar VAR_TEMP_CHALLENGE_STATUS, 0
tower_init
tower_set TOWER_DATA_WIN_STREAK_ACTIVE, TRUE
frontier_set FRONTIER_DATA_PAUSED, FALSE
special LoadPlayerParty
closemessage
delay 2
call Common_EventScript_SaveGame
setvar VAR_TEMP_CHALLENGE_STATUS, 255
goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerLobby_EventScript_CancelChallengeSaveFailed
incrementgamestat GAME_STAT_ENTERED_BATTLE_TOWER
setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, TRUE
goto BattleFrontier_BattleTowerLobby_EventScript_EnterElevator
end
BattleFrontier_BattleTowerLobby_EventScript_ExplainSinglesChallenge::
msgbox BattleFrontier_BattleTowerLobby_Text_ExplainSinglesChallenge, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_AskEnterSinglesChallenge
end
BattleFrontier_BattleTowerLobby_EventScript_DoublesAttendant::
lock
faceplayer
setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_TOWER
special SavePlayerParty
msgbox BattleFrontier_BattleTowerLobby_Text_WelcomeDoubleBattle, MSGBOX_DEFAULT
BattleFrontier_BattleTowerLobby_EventScript_AskEnterDoublesChallenge::
message BattleFrontier_BattleTowerLobby_Text_TakeDoublesChallenge
waitmessage
multichoice 17, 6, MULTI_CHALLENGEINFO, FALSE
switch VAR_RESULT
case 0, BattleFrontier_BattleTowerLobby_EventScript_TryEnterDoublesChallenge
case 1, BattleFrontier_BattleTowerLobby_EventScript_ExplainDoublesChallenge
case 2, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
BattleFrontier_BattleTowerLobby_EventScript_TryEnterDoublesChallenge::
setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
message BattleFrontier_BattleTowerLobby_Text_WhichLevelMode
waitmessage
multichoice 17, 6, MULTI_LEVEL_MODE, FALSE
switch VAR_RESULT
case FRONTIER_LVL_TENT, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
frontier_checkineligible
goto_if_eq VAR_0x8004, TRUE, BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMons
frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT
msgbox BattleFrontier_BattleTowerLobby_Text_PleaseSelectFourMons, MSGBOX_DEFAULT
fadescreen FADE_TO_BLACK
callnative RemoveFollowingPokemon
call BattleFrontier_EventScript_GetLvlMode
copyvar VAR_0x8004, VAR_RESULT
setvar VAR_0x8005, FRONTIER_DOUBLES_PARTY_SIZE
special ChoosePartyForBattleFrontier
waitstate
goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge
msgbox BattleFrontier_BattleTowerLobby_Text_OkayToSaveBeforeEntering, MSGBOX_YESNO
switch VAR_RESULT
case NO, BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge
case YES, BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeDoublesChallenge
case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge
BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeDoublesChallenge::
frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
setvar VAR_TEMP_CHALLENGE_STATUS, 0
tower_init
tower_set TOWER_DATA_WIN_STREAK_ACTIVE, TRUE
frontier_set FRONTIER_DATA_PAUSED, FALSE
special LoadPlayerParty
closemessage
delay 2
call Common_EventScript_SaveGame
setvar VAR_TEMP_CHALLENGE_STATUS, 255
goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerLobby_EventScript_CancelChallengeSaveFailed
incrementgamestat GAME_STAT_ENTERED_BATTLE_TOWER
setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, FALSE
goto BattleFrontier_BattleTowerLobby_EventScript_EnterElevator
end
BattleFrontier_BattleTowerLobby_EventScript_ExplainDoublesChallenge::
msgbox BattleFrontier_BattleTowerLobby_Text_ExplainDoublesChallenge, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_AskEnterDoublesChallenge
end
BattleFrontier_BattleTowerLobby_EventScript_MultisAttendant::
lock
faceplayer
setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_TOWER
clearflag FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER
special SavePlayerParty
msgbox BattleFrontier_BattleTowerLobby_Text_WelcomeMultiBattle, MSGBOX_DEFAULT
BattleFrontier_BattleTowerLobby_EventScript_AskEnterMultisChallenge::
message BattleFrontier_BattleTowerLobby_Text_TakeMultisChallenge
waitmessage
multichoice 17, 6, MULTI_CHALLENGEINFO, FALSE
switch VAR_RESULT
case 0, BattleFrontier_BattleTowerLobby_EventScript_TryEnterMultisChallenge
case 1, BattleFrontier_BattleTowerLobby_EventScript_ExplainMultisChallenge
case 2, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
BattleFrontier_BattleTowerLobby_EventScript_TryEnterMultisChallenge::
setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS
message BattleFrontier_BattleTowerLobby_Text_WhichLevelMode
waitmessage
multichoice 17, 6, MULTI_LEVEL_MODE, FALSE
switch VAR_RESULT
case FRONTIER_LVL_TENT, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
frontier_checkineligible
goto_if_eq VAR_0x8004, TRUE, BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMons
frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT
msgbox BattleFrontier_BattleTowerLobby_Text_PleaseSelectTwoMons, MSGBOX_DEFAULT
fadescreen FADE_TO_BLACK
callnative RemoveFollowingPokemon
call BattleFrontier_EventScript_GetLvlMode
copyvar VAR_0x8004, VAR_RESULT
setvar VAR_0x8005, FRONTIER_MULTI_PARTY_SIZE
special ChoosePartyForBattleFrontier
waitstate
goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge
msgbox BattleFrontier_BattleTowerLobby_Text_OkayToSaveBeforeEntering, MSGBOX_YESNO
switch VAR_RESULT
case NO, BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge
case YES, BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeMultisChallenge
case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge
BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeMultisChallenge::
frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
setvar VAR_TEMP_CHALLENGE_STATUS, 0
tower_init
tower_set TOWER_DATA_WIN_STREAK_ACTIVE, TRUE
frontier_set FRONTIER_DATA_PAUSED, FALSE
special LoadPlayerParty
closemessage
delay 2
call Common_EventScript_SaveGame
setvar VAR_TEMP_CHALLENGE_STATUS, 255
goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerLobby_EventScript_CancelChallengeSaveFailed
incrementgamestat GAME_STAT_ENTERED_BATTLE_TOWER
setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, FALSE
goto BattleFrontier_BattleTowerLobby_EventScript_EnterElevator
end
BattleFrontier_BattleTowerLobby_EventScript_ExplainMultisChallenge::
msgbox BattleFrontier_BattleTowerLobby_Text_ExplainMultisChallenge, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_AskEnterMultisChallenge
end
BattleFrontier_BattleTowerLobby_EventScript_LinkMultisAttendant::
lock
faceplayer
setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_TOWER
special SavePlayerParty
msgbox BattleFrontier_BattleTowerLobby_Text_WelcomeLinkMultiBattle, MSGBOX_DEFAULT
BattleFrontier_BattleTowerLobby_EventScript_AskEnterLinkMultisChallenge::
message BattleFrontier_BattleTowerLobby_Text_TakeLinkMultisChallenge
waitmessage
multichoice 17, 6, MULTI_CHALLENGEINFO, FALSE
switch VAR_RESULT
case 0, BattleFrontier_BattleTowerLobby_EventScript_TryEnterLinkMultisChallenge
case 1, BattleFrontier_BattleTowerLobby_EventScript_ExplainLinkMultisChallenge
case 2, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
BattleFrontier_BattleTowerLobby_EventScript_TryEnterLinkMultisChallenge::
setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
message BattleFrontier_BattleTowerLobby_Text_WhichLevelMode
waitmessage
multichoice 17, 6, MULTI_LEVEL_MODE, FALSE
switch VAR_RESULT
case FRONTIER_LVL_TENT, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
frontier_checkineligible
goto_if_eq VAR_0x8004, TRUE, BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMons
frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT
msgbox BattleFrontier_BattleTowerLobby_Text_PleaseSelectTwoMons2, MSGBOX_DEFAULT
fadescreen FADE_TO_BLACK
callnative RemoveFollowingPokemon
call BattleFrontier_EventScript_GetLvlMode
copyvar VAR_0x8004, VAR_RESULT
setvar VAR_0x8005, FRONTIER_MULTI_PARTY_SIZE
special ChoosePartyForBattleFrontier
waitstate
goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge
msgbox BattleFrontier_BattleTowerLobby_Text_OkayToSaveBeforeEntering, MSGBOX_YESNO
switch VAR_RESULT
case NO, BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge
case YES, BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeLinkMultisChallenge
case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge
BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeLinkMultisChallenge::
frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
setvar VAR_TEMP_CHALLENGE_STATUS, 0
tower_init
tower_set TOWER_DATA_WIN_STREAK_ACTIVE, TRUE
frontier_set FRONTIER_DATA_PAUSED, FALSE
special LoadPlayerParty
closemessage
delay 2
@ The command tower_save ultimately calls TrySavingData(SAVE_LINK), which writes data in SaveBlock1 and SaveBlock2
@ to the flash, but not data in PokemonStorage. The SaveGame script that follows asks the player to do a full save,
@ which they can opt out of. As a result the player can save their party and quit without having saved the PC.
@ This allows players to clone pokemon and their held items by withdrawing them (or erase them by despositing).
#ifndef BUGFIX
tower_save 0
#endif
call Common_EventScript_SaveGame
setvar VAR_TEMP_CHALLENGE_STATUS, 255
goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerLobby_EventScript_CancelChallengeSaveFailed
@ GAME_STAT_ENTERED_BATTLE_TOWER should not be incremented here, for two reasons:
@ 1. It is incremented again in BattleFrontier_BattleTowerLobby_EventScript_CableLinkSuccessful or BattleFrontier_BattleTowerLobby_EventScript_WirelessLinkSuccessful
@ 2. If the player tries to connect, but fails, the counter will still be incremented even if the player never enters the tower.
#ifndef BUGFIX
incrementgamestat GAME_STAT_ENTERED_BATTLE_TOWER
#endif
specialvar VAR_RESULT, IsWirelessAdapterConnected
goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattleTowerLobby_EventScript_TryWirelessLink
goto BattleFrontier_BattleTowerLobby_EventScript_TryCableLink
end
BattleFrontier_BattleTowerLobby_EventScript_FeelingsMan::
lock
faceplayer
message BattleFrontier_BattleTowerLobby_Text_DescribeFeelingsAboutBattleTower
waitmessage
multichoice 16, 4, MULTI_BATTLE_TOWER_FEELINGS, FALSE
switch VAR_RESULT
case 0, BattleFrontier_BattleTowerLobby_EventScript_FeelingsBattleNow
case 1, BattleFrontier_BattleTowerLobby_EventScript_FeelingsIWon
case 2, BattleFrontier_BattleTowerLobby_EventScript_FeelingsILost
case 3, BattleFrontier_BattleTowerLobby_EventScript_FeelingsWontTell
case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_FeelingsWontTell
release
end
BattleFrontier_BattleTowerLobby_EventScript_FeelingsBattleNow::
msgbox BattleFrontier_BattleTowerLobby_Text_FeelWhatWhenYouBegin, MSGBOX_DEFAULT
setvar VAR_0x8004, EASY_CHAT_TYPE_BATTLE_START
call Common_ShowEasyChatScreen
lock
faceplayer
goto BattleFrontier_BattleTowerLobby_EventScript_CheckFeelings
end
BattleFrontier_BattleTowerLobby_EventScript_FeelingsIWon::
msgbox BattleFrontier_BattleTowerLobby_Text_FeelWhatWhenYouveWon, MSGBOX_DEFAULT
setvar VAR_0x8004, EASY_CHAT_TYPE_BATTLE_WON
call Common_ShowEasyChatScreen
lock
faceplayer
goto BattleFrontier_BattleTowerLobby_EventScript_CheckFeelings
end
BattleFrontier_BattleTowerLobby_EventScript_FeelingsILost::
msgbox BattleFrontier_BattleTowerLobby_Text_FeelWhatWhenYouveLost, MSGBOX_DEFAULT
setvar VAR_0x8004, EASY_CHAT_TYPE_BATTLE_LOST
call Common_ShowEasyChatScreen
lock
faceplayer
goto BattleFrontier_BattleTowerLobby_EventScript_CheckFeelings
end
BattleFrontier_BattleTowerLobby_EventScript_FeelingsWontTell::
msgbox BattleFrontier_BattleTowerLobby_Text_DontThinkMuchAboutIt, MSGBOX_DEFAULT
release
end
BattleFrontier_BattleTowerLobby_EventScript_CheckFeelings::
goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerLobby_EventScript_CanceledEasyChat
goto_if_eq VAR_RESULT, 1, BattleFrontier_BattleTowerLobby_EventScript_SubmittedFeelings
end
BattleFrontier_BattleTowerLobby_EventScript_CanceledEasyChat::
msgbox BattleFrontier_BattleTowerLobby_Text_ChangedYourMind, MSGBOX_DEFAULT
release
end
BattleFrontier_BattleTowerLobby_EventScript_SubmittedFeelings::
msgbox BattleFrontier_BattleTowerLobby_Text_ThatsHowYouFeel, MSGBOX_DEFAULT
release
end
BattleFrontier_BattleTowerLobby_EventScript_Woman::
msgbox BattleFrontier_BattleTowerLobby_Text_WinsInRowRecorded, MSGBOX_NPC
end
BattleFrontier_BattleTowerLobby_EventScript_Boy::
msgbox BattleFrontier_BattleTowerLobby_Text_CanLeaveUntilLossOrSevenWins, MSGBOX_NPC
end
BattleFrontier_BattleTowerLobby_EventScript_ShowSinglesResults::
lockall
frontier_results FRONTIER_FACILITY_TOWER, FRONTIER_MODE_SINGLES
waitbuttonpress
special RemoveRecordsWindow
releaseall
end
BattleFrontier_BattleTowerLobby_EventScript_ShowDoublesResults::
lockall
frontier_results FRONTIER_FACILITY_TOWER, FRONTIER_MODE_DOUBLES
waitbuttonpress
special RemoveRecordsWindow
releaseall
end
BattleFrontier_BattleTowerLobby_EventScript_ShowMultisResults::
lockall
frontier_results FRONTIER_FACILITY_TOWER, FRONTIER_MODE_MULTIS
waitbuttonpress
special RemoveRecordsWindow
releaseall
end
BattleFrontier_BattleTowerLobby_EventScript_ShowLinkMultisResults::
lockall
frontier_results FRONTIER_FACILITY_TOWER, FRONTIER_MODE_LINK_MULTIS
waitbuttonpress
special RemoveRecordsWindow
releaseall
end
BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMons::
switch VAR_RESULT
case FRONTIER_LVL_50, BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLv50
case FRONTIER_LVL_OPEN, BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLvOpen
BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLv50::
switch VAR_FRONTIER_BATTLE_MODE
case FRONTIER_MODE_SINGLES, BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLv50Singles
case FRONTIER_MODE_DOUBLES, BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLv50Doubles
msgbox BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLv50Multis, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_EndCancelChallenge
end
BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLv50Singles::
msgbox BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLv50Singles, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_EndCancelChallenge
end
BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLv50Doubles::
msgbox BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLv50Doubles, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_EndCancelChallenge
end
BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLvOpen::
switch VAR_FRONTIER_BATTLE_MODE
case FRONTIER_MODE_SINGLES, BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLvOpenSingles
case FRONTIER_MODE_DOUBLES, BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLvOpenDoubles
msgbox BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLvOpenMultis, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_EndCancelChallenge
end
BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLvOpenSingles::
msgbox BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLvOpenSingles, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_EndCancelChallenge
end
BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLvOpenDoubles::
msgbox BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLvOpenDoubles, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_EndCancelChallenge
end
BattleFrontier_BattleTowerLobby_EventScript_CancelChallengeSaveFailed::
frontier_set FRONTIER_DATA_CHALLENGE_STATUS @ No status provided, so it relies on VAR_0x8006 being 0 already
goto BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
end
BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge::
special LoadPlayerParty
callnative UpdateFollowingPokemon
BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge::
special CloseLink
msgbox BattleFrontier_BattleTowerLobby_Text_LookForwardToAnotherChallenge, MSGBOX_DEFAULT
BattleFrontier_BattleTowerLobby_EventScript_EndCancelChallenge::
release
end
BattleFrontier_BattleTowerLobby_EventScript_EnterElevator::
special SavePlayerParty
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_PARTY_ORDER
call BattleFrontier_BattleTowerLobby_EventScript_GetPartySize
special CallFrontierUtilFunc
setvar VAR_RESULT, 0
BattleFrontier_BattleTowerLobby_EventScript_WaitForLinkOpponentLoad::
tower_loadlinkopponents
delay 1
goto_if_ne VAR_RESULT, 6, BattleFrontier_BattleTowerLobby_EventScript_WaitForLinkOpponentLoad
call BattleFrontier_BattleTowerLobby_EventScript_ShowYouToBattleRoom
clearflag FLAG_CANCEL_BATTLE_ROOM_CHALLENGE
warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR, 1, 6
setvar VAR_TEMP_CHALLENGE_STATUS, 0
waitstate
end
BattleFrontier_BattleTowerLobby_EventScript_ShowYouToBattleRoom::
call BattleFrontier_BattleTowerLobby_EventScript_BufferModeText
goto_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS, BattleFrontier_BattleTowerLobby_EventScript_ShowYouToLinkMultiBattleRoom
msgbox BattleFrontier_BattleTowerLobby_Text_ShowYouToBattleRoom, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_WalkToElevator
BattleFrontier_BattleTowerLobby_EventScript_ShowYouToLinkMultiBattleRoom::
messageautoscroll BattleFrontier_BattleTowerLobby_Text_ShowYouToBattleRoom
waitmessage
delay 48
BattleFrontier_BattleTowerLobby_EventScript_WalkToElevator::
closemessage
call BattleFrontier_BattleTowerLobby_EventScript_SetAttendantTalkedTo
call BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoord
applymovement VAR_LAST_TALKED, BattleFrontier_BattleTowerLobby_Movement_WalkToElevator
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleTowerLobby_Movement_WalkToElevator
waitmovement 0
opendoor VAR_0x8004, 1
waitdooranim
applymovement VAR_LAST_TALKED, BattleFrontier_BattleTowerLobby_Movement_AttendantEnterElevator
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleTowerLobby_Movement_PlayerEnterElevator
waitmovement 0
closedoor VAR_0x8004, 1
waitdooranim
return
BattleFrontier_BattleTowerLobby_Movement_WalkToElevator:
walk_up
walk_up
walk_up
step_end
BattleFrontier_BattleTowerLobby_Movement_AttendantEnterElevator:
walk_up
set_invisible
step_end
BattleFrontier_BattleTowerLobby_Movement_PlayerEnterElevator:
walk_up
walk_up
set_invisible
step_end
@ Unused
BattleFrontier_BattleTowerLobby_Movement_UnusedEnterElevator:
walk_fast_up
walk_fast_up
walk_fast_up
walk_fast_up
walk_fast_up
set_invisible
step_end
BattleFrontier_BattleTowerLobby_EventScript_BufferModeText::
call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES, BattleFrontier_BattleTowerLobby_EventScript_BufferTextSingle
call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES, BattleFrontier_BattleTowerLobby_EventScript_BufferTextDouble
call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS, BattleFrontier_BattleTowerLobby_EventScript_BufferTextMulti
call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS, BattleFrontier_BattleTowerLobby_EventScript_BufferTextLinkMulti
return
BattleFrontier_BattleTowerLobby_EventScript_BufferTextSingle::
bufferstdstring STR_VAR_1, STDSTRING_SINGLE
return
BattleFrontier_BattleTowerLobby_EventScript_BufferTextDouble::
bufferstdstring STR_VAR_1, STDSTRING_DOUBLE
return
BattleFrontier_BattleTowerLobby_EventScript_BufferTextMulti::
bufferstdstring STR_VAR_1, STDSTRING_MULTI
return
BattleFrontier_BattleTowerLobby_EventScript_BufferTextLinkMulti::
bufferstdstring STR_VAR_1, STDSTRING_MULTI_LINK
return
BattleFrontier_BattleTowerLobby_EventScript_SetAttendantTalkedTo::
call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES, BattleFrontier_BattleTowerLobby_EventScript_TalkedToSinglesAttendant
call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES, BattleFrontier_BattleTowerLobby_EventScript_TalkedToDoublesAttendant
call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS, BattleFrontier_BattleTowerLobby_EventScript_TalkedToMultisAttendant
call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS, BattleFrontier_BattleTowerLobby_EventScript_TalkedToLinkMultisAttendant
return
BattleFrontier_BattleTowerLobby_EventScript_TalkedToSinglesAttendant::
setvar VAR_LAST_TALKED, LOCALID_ATTENDANT_SINGLES
return
BattleFrontier_BattleTowerLobby_EventScript_TalkedToDoublesAttendant::
setvar VAR_LAST_TALKED, LOCALID_ATTENDANT_DOUBLES
return
BattleFrontier_BattleTowerLobby_EventScript_TalkedToMultisAttendant::
setvar VAR_LAST_TALKED, LOCALID_ATTENDANT_MULTIS
return
BattleFrontier_BattleTowerLobby_EventScript_TalkedToLinkMultisAttendant::
setvar VAR_LAST_TALKED, LOCALID_ATTENDANT_LINK_MULTIS
return
BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoord::
call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES, BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoordSingles
call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES, BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoordDoubles
call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS, BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoordMultis
call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS, BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoordLinkMultis
return
BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoordSingles::
setvar VAR_0x8004, 6
return
BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoordDoubles::
setvar VAR_0x8004, 10
return
BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoordMultis::
setvar VAR_0x8004, 14
return
BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoordLinkMultis::
setvar VAR_0x8004, 18
return
BattleFrontier_BattleTowerLobby_EventScript_GetPartySize::
call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES, BattleFrontier_BattleTowerLobby_EventScript_GetSinglesPartySize
call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES, BattleFrontier_BattleTowerLobby_EventScript_GetDoublesPartySize
call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS, BattleFrontier_BattleTowerLobby_EventScript_GetMultisPartySize
call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS, BattleFrontier_BattleTowerLobby_EventScript_GetLinkMultisPartySize
return
BattleFrontier_BattleTowerLobby_EventScript_GetSinglesPartySize::
setvar VAR_0x8005, FRONTIER_PARTY_SIZE
return
BattleFrontier_BattleTowerLobby_EventScript_GetDoublesPartySize::
setvar VAR_0x8005, FRONTIER_DOUBLES_PARTY_SIZE
return
BattleFrontier_BattleTowerLobby_EventScript_GetMultisPartySize::
setvar VAR_0x8005, FRONTIER_MULTI_PARTY_SIZE
return
BattleFrontier_BattleTowerLobby_EventScript_GetLinkMultisPartySize::
setvar VAR_0x8005, FRONTIER_MULTI_PARTY_SIZE
return
BattleFrontier_EventScript_GetLvlMode::
frontier_get FRONTIER_DATA_LVL_MODE
return
BattleFrontier_BattleTowerLobby_EventScript_TryCableLink::
setvar VAR_0x8004, USING_BATTLE_TOWER
message gText_PleaseWaitForLink
waitmessage
setvar VAR_0x8005, 0
special TryBattleLinkup
waitstate
goto_if_eq VAR_RESULT, LINKUP_SUCCESS, BattleFrontier_BattleTowerLobby_EventScript_CableLinkSuccessful
goto_if_eq VAR_RESULT, LINKUP_SOMEONE_NOT_READY, CableClub_EventScript_AbortLinkSomeoneNotReady
goto_if_eq VAR_RESULT, LINKUP_DIFF_SELECTIONS, BattleFrontier_BattleTowerLobby_EventScript_AbortLinkDifferentSelections
goto_if_eq VAR_RESULT, LINKUP_WRONG_NUM_PLAYERS, BattleFrontier_BattleTowerLobby_EventScript_AbortLinkIncorrectNumberOfPlayers
goto_if_eq VAR_RESULT, LINKUP_FAILED, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
goto_if_eq VAR_RESULT, LINKUP_CONNECTION_ERROR, CableClub_EventScript_AbortLinkConnectionError
goto_if_eq VAR_RESULT, LINKUP_FAILED_BATTLE_TOWER, BattleFrontier_BattleTowerLobby_EventScript_AbortLink
end
BattleFrontier_BattleTowerLobby_EventScript_AbortLinkDifferentSelections::
special CloseLink
goto_if_eq VAR_0x8005, 3, BattleFrontier_BattleTowerLobby_EventScript_FriendDifferentSelection
msgbox Text_PlayersMadeDifferentSelections, MSGBOX_DEFAULT
release
end
BattleFrontier_BattleTowerLobby_EventScript_FriendDifferentSelection::
msgbox BattleFrontier_BattleTowerLobby_Text_FriendChoseDifferentLvlMode, MSGBOX_DEFAULT
msgbox BattleFrontier_BattleTowerLobby_Text_ChooseDifferentMonsMatchLvlMode, MSGBOX_DEFAULT
release
end
BattleFrontier_BattleTowerLobby_EventScript_AbortLinkIncorrectNumberOfPlayers::
msgbox BattleFrontier_BattleTowerLobby_Text_LinkMultiOnlyForTwoPlayers, MSGBOX_DEFAULT
special CloseLink
msgbox CableClub_Text_IncorrectNumberOfParticipants, MSGBOX_DEFAULT
release
end
BattleFrontier_BattleTowerLobby_EventScript_AbortLink::
special CloseLink
call_if_eq VAR_0x8005, 0, BattleFrontier_BattleTowerLobby_EventScript_FriendChoseDifferentLvlMode
call_if_eq VAR_0x8005, 1, BattleFrontier_BattleTowerLobby_EventScript_FriendAlsoSelectedMon
call_if_eq VAR_0x8005, 2, BattleFrontier_BattleTowerLobby_EventScript_FriendAlsoSelectedMons
msgbox BattleFrontier_BattleTowerLobby_Text_ChooseDifferentMonsMatchLvlMode, MSGBOX_DEFAULT
release
end
BattleFrontier_BattleTowerLobby_EventScript_FriendChoseDifferentLvlMode::
msgbox BattleFrontier_BattleTowerLobby_Text_FriendChoseDifferentLvlMode, MSGBOX_DEFAULT
return
BattleFrontier_BattleTowerLobby_EventScript_FriendAlsoSelectedMon::
msgbox BattleFrontier_BattleTowerLobby_Text_FriendAlsoSelectedMon, MSGBOX_DEFAULT
return
BattleFrontier_BattleTowerLobby_EventScript_FriendAlsoSelectedMons::
msgbox BattleFrontier_BattleTowerLobby_Text_FriendAlsoSelectedMons, MSGBOX_DEFAULT
return
BattleFrontier_BattleTowerLobby_EventScript_CableLinkSuccessful::
incrementgamestat GAME_STAT_ENTERED_BATTLE_TOWER
setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, FALSE
message BattleFrontier_BattleTowerLobby_Text_SaveGameBeforeShowingIn
waitmessage
tower_save CHALLENGE_STATUS_SAVING
special SaveForBattleTowerLink
waitstate
playse SE_SAVE
waitse
special TrySetBattleTowerLinkType
goto BattleFrontier_BattleTowerLobby_EventScript_EnterElevator
end
BattleFrontier_BattleTowerLobby_EventScript_ExplainLinkMultisChallenge::
msgbox BattleFrontier_BattleTowerLobby_Text_ExplainLinkMultisChallenge, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_AskEnterLinkMultisChallenge
end
BattleFrontier_BattleTowerLobby_EventScript_TryWirelessLink::
setvar VAR_0x8004, LINK_GROUP_BATTLE_TOWER
goto BattleFrontier_BattleTowerLobby_EventScript_ChooseLeader
end
BattleFrontier_BattleTowerLobby_EventScript_ChooseLeader::
message CableClub_Text_ChooseGroupLeaderOfTwo
waitmessage
multichoice 16, 6, MULTI_LINK_LEADER, FALSE
switch VAR_RESULT
case 0, BattleFrontier_BattleTowerLobby_EventScript_TryJoinGroup
case 1, BattleFrontier_BattleTowerLobby_EventScript_TryBecomeLeader
case 2, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
end
BattleFrontier_BattleTowerLobby_EventScript_TryBecomeLeader::
call CableClub_EventScript_TryBecomeLinkLeader
goto_if_eq VAR_RESULT, LINKUP_SUCCESS, BattleFrontier_BattleTowerLobby_EventScript_WirelessLinkSuccessful
goto_if_eq VAR_RESULT, LINKUP_FAILED, BattleFrontier_BattleTowerLobby_EventScript_ChooseLeader
goto_if_eq VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN, BattleFrontier_BattleTowerLobby_EventScript_TryBecomeLeader
goto_if_eq VAR_RESULT, LINKUP_FAILED_BATTLE_TOWER, BattleFrontier_BattleTowerLobby_EventScript_AbortLink
release
return
BattleFrontier_BattleTowerLobby_EventScript_TryJoinGroup::
call CableClub_EventScript_TryJoinLinkGroup
goto_if_eq VAR_RESULT, LINKUP_SUCCESS, BattleFrontier_BattleTowerLobby_EventScript_WirelessLinkSuccessful
goto_if_eq VAR_RESULT, LINKUP_FAILED, BattleFrontier_BattleTowerLobby_EventScript_ChooseLeader
goto_if_eq VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN, BattleFrontier_BattleTowerLobby_EventScript_TryJoinGroup
goto_if_eq VAR_RESULT, LINKUP_FAILED_BATTLE_TOWER, BattleFrontier_BattleTowerLobby_EventScript_AbortLink
release
return
BattleFrontier_BattleTowerLobby_EventScript_WirelessLinkSuccessful::
incrementgamestat GAME_STAT_ENTERED_BATTLE_TOWER
setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, FALSE
message BattleFrontier_BattleTowerLobby_Text_SaveGameBeforeShowingIn
waitmessage
tower_save CHALLENGE_STATUS_SAVING
special SaveForBattleTowerLink
waitstate
playse SE_SAVE
waitse
goto BattleFrontier_BattleTowerLobby_EventScript_EnterElevator
end
BattleFrontier_BattleTowerLobby_EventScript_RulesBoard::
lockall
msgbox BattleFrontier_BattleTowerLobby_Text_RulesAreListed, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_ReadRulesBoard
end
BattleFrontier_BattleTowerLobby_EventScript_ReadRulesBoard::
message BattleFrontier_BattleTowerLobby_Text_ReadWhichHeading
waitmessage
multichoice 17, 2, MULTI_BATTLE_TOWER_RULES, FALSE
switch VAR_RESULT
case 0, BattleFrontier_BattleTowerLobby_EventScript_RulesTower
case 1, BattleFrontier_BattleTowerLobby_EventScript_RulesMons
case 2, BattleFrontier_BattleTowerLobby_EventScript_RulesSalon
case 3, BattleFrontier_BattleTowerLobby_EventScript_RulesMultiLink
case 4, BattleFrontier_BattleTowerLobby_EventScript_ExitRules
case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_ExitRules
end
BattleFrontier_BattleTowerLobby_EventScript_RulesTower::
msgbox BattleFrontier_BattleTowerLobby_Text_ExplainTowerRules, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_ReadRulesBoard
end
BattleFrontier_BattleTowerLobby_EventScript_RulesMons::
msgbox BattleFrontier_BattleTowerLobby_Text_ExplainMonRules, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_ReadRulesBoard
end
BattleFrontier_BattleTowerLobby_EventScript_RulesSalon::
msgbox BattleFrontier_BattleTowerLobby_Text_ExplainSalonRules, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_ReadRulesBoard
end
BattleFrontier_BattleTowerLobby_EventScript_RulesMultiLink::
msgbox BattleFrontier_BattleTowerLobby_Text_ExplainMultiLinkRules, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_ReadRulesBoard
end
BattleFrontier_BattleTowerLobby_EventScript_ExitRules::
releaseall
end
@ Unused
BattleFrontier_BattleTowerLobby_Text_DirectYouToBattleRoom:
.string "我将带您到对战间。$"
BattleFrontier_BattleTowerLobby_Text_DidntSaveBeforeQuitting:
.string "抱歉!\p您在上次结束时\n没有写入记录。\p非常遗憾没有写入记录的\n挑战我们将视其为无效。$"
BattleFrontier_BattleTowerLobby_Text_CongratsBeatenSeven:
.string "恭喜您!\n您已击败全部7位训练家\p$"
@ Unused
BattleFrontier_BattleTowerLobby_Text_EarnedFabulousPrize:
.string "作为连续击败7位训练家的奖励\n您将获得精美的奖品!\p$"
BattleFrontier_BattleTowerLobby_Text_ReceivedPrize:
.string "{PLAYER}得到奖品\n{STR_VAR_1}。$"
@ Unused
BattleFrontier_BattleTowerLobby_Text_BagFullMakeRoom:
.string "啊,您的包包已经满了。\p请将包包整理好之后\n再来找我。$"
BattleFrontier_BattleTowerLobby_Text_ThankYouForPlaying:
.string "感谢您的光临!\p$"
BattleFrontier_BattleTowerLobby_Text_RecordWillBeSaved:
.string "正在写入记录,\n请稍等。$"
BattleFrontier_BattleTowerLobby_Text_WeveBeenWaitingForYou:
.string "我们已经恭候多时了!\p$"
BattleFrontier_BattleTowerLobby_Text_ProgressWillBeSaved:
.string "进入对战间之前需要\n写入记录,请稍等。$"
BattleFrontier_BattleTowerLobby_Text_AboutToFace50thTrainer:
.string "下面您即将迎战的是\n第50位训练家了\p现在开始您每次连续打败\n7位训练家我们都将给您的宝可梦\l授予纪念奖章。\p祝您好运$"
BattleFrontier_BattleTowerLobby_Text_HereAreSomeRibbons:
.string "这是连续打败7位\n强大的训练家的奖励。\p{PLAYER}得到奖章!$"
BattleFrontier_BattleTowerLobby_Text_PutRibbonOnMons:
.string "{PLAYER}给挑战的宝可梦\n戴上了奖章。$"
BattleFrontier_BattleTowerLobby_Text_DescribeFeelingsAboutBattleTower:
.string "打扰了,能占用你一点时间吗?\p请说说你在对战塔比赛\n开始之前的想法,也可以\l谈谈赢了或输了比赛\l之后的感受。$"
BattleFrontier_BattleTowerLobby_Text_FeelWhatWhenYouBegin:
.string "那么,你在比赛之前\n有什么想法呢?$"
BattleFrontier_BattleTowerLobby_Text_FeelWhatWhenYouveWon:
.string "那么,你在赢了比赛之后\n有什么感受呢?$"
BattleFrontier_BattleTowerLobby_Text_FeelWhatWhenYouveLost:
.string "能告诉我们输了比赛\n你有什么话想说吗?$"
BattleFrontier_BattleTowerLobby_Text_DontThinkMuchAboutIt:
.string "啊,那么说你并不会多想吗?\n看来是个沉着的人啊。$"
BattleFrontier_BattleTowerLobby_Text_ChangedYourMind:
.string "哎?你改主意了吗?\n看来你是个易变的人啊。$"
BattleFrontier_BattleTowerLobby_Text_ThatsHowYouFeel:
.string "嗯,你是这么想的吗?\n很有新意啊。\p谢谢$"
BattleFrontier_BattleTowerLobby_Text_WinsInRowRecorded:
.string "连胜的次数都会\n被记录下来。\p我可不想输得太难堪啊$"
BattleFrontier_BattleTowerLobby_Text_CanLeaveUntilLossOrSevenWins:
.string "进入对战塔后,\n只有被打败或者连胜7名\n训练家才能离开。\p开始挑战之前你最好\n做好充分的准备。$"
@ Unused
BattleFrontier_BattleTowerLobby_Text_DoubleBattleRoomConstruction:
.string "欢迎来到对战塔\n双打对战区!\p很不幸对战间\n还在建设之中。\p当建筑完成后\n再来吧。$"
@ Unused
BattleFrontier_BattleTowerLobby_Text_MultiBattleRoomConstruction:
.string "欢迎来到对战塔\n多人对战区!\p很不幸对战间\n还在建设之中。\p当建筑完成后\n再来吧。$"
BattleFrontier_BattleTowerLobby_Text_LookForwardToAnotherChallenge:
.string "期待您的再次挑战!$"
BattleFrontier_BattleTowerLobby_Text_WhichLevelMode:
.string "对战间有2种挑战等级\nLv. 50级和自由等级。\l您想选哪种$"
@ Unused
BattleFrontier_BattleTowerLobby_Text_PleaseSelectMons:
.string "请选择要参加的\n宝可梦。$"
BattleFrontier_BattleTowerLobby_Text_OkayToSaveBeforeEntering:
.string "进入对战间之前需要\n先写入记录,可以吗?$"
BattleFrontier_BattleTowerLobby_Text_ShowYouToBattleRoom:
.string "现在我将带您前往\n{STR_VAR_1}对战间。$"
BattleFrontier_BattleTowerLobby_Text_RecordLastMatch:
.string "要把对战塔的对战成绩\n记录在开拓通行证上吗?$"
@ Unused
BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLv50:
.string "对不起,\p您符合条件的宝可梦不足{STR_VAR_2}只。\p需要有{STR_VAR_2}只不同的等级50以内的\n宝可梦才可以参加比赛,\p同时这些宝可梦携带的道具\n也需要各不相同。\p蛋{STR_VAR_1}不能参加。\p准备好之后再来吧。$"
@ Unused
BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLvOpen:
.string "对不起,\p您符合条件的宝可梦不足{STR_VAR_2}只。\p需要有{STR_VAR_2}只不同的宝可梦\n才可以参加比赛,\p同时这些宝可梦携带的道具\n也需要各不相同。\p蛋{STR_VAR_1}不能参加。\p准备好之后再来吧。$"
BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLv50Singles:
.string "对不起,\p您能够参加对战的\n宝可梦不满3只。\p您需要准备3只等级50以内的\n不同种类的宝可梦,\p且让它们分别携带不同道具\n才可参加对战。\p此外{STR_VAR_1}无法参加对战!\p请在准备就绪之后\n再来参加吧。$"
BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLvOpenSingles:
.string "对不起,\p您能够参加对战的\n宝可梦不满3只。\p您需要准备3只\n不同种类的宝可梦,\p且让它们分别携带不同道具\n才可参加对战。\p此外{STR_VAR_1}无法参加对战!\p请在准备就绪之后\n再来参加吧。$"
BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLv50Doubles:
.string "对不起,\p您能够参加对战的\n宝可梦不满4只。\p您需要准备4只等级50以内的\n不同种类的宝可梦,\p且让它们分别携带不同道具\n才可参加对战。\p此外{STR_VAR_1}无法参加对战!\p请在准备就绪之后\n再来参加吧。$"
BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLvOpenDoubles:
.string "对不起,\p您能够参加对战的\n宝可梦不满4只。\p您需要准备4只\n不同种类的宝可梦,\p且让它们分别携带不同道具\n才可参加对战。\p此外{STR_VAR_1}无法参加对战!\p请在准备就绪之后\n再来参加吧。$"
BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLv50Multis:
.string "对不起,\p您能够参加对战的\n宝可梦不满2只。\p您需要准备2只等级50以内的\n不同种类的宝可梦,\p且让它们分别携带不同道具\n才可参加对战。\p此外{STR_VAR_1}无法参加对战!\p请在准备就绪之后\n再来参加吧。$"
BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLvOpenMultis:
.string "对不起,\p您能够参加对战的\n宝可梦不满2只。\p您需要准备2只\n不同种类的宝可梦,\p且让它们分别携带不同道具\n才可参加对战。\p此外{STR_VAR_1}无法参加对战!\p请在准备就绪之后\n再来参加吧。$"
BattleFrontier_BattleTowerLobby_Text_WelcomSingleBattle:
.string "训练家的才能\n将在此接受考验!\p欢迎来到对战塔\p我是您的单打对战间向导。$"
BattleFrontier_BattleTowerLobby_Text_TakeSinglesChallenge:
.string "要挑战单打对战间吗?$"
BattleFrontier_BattleTowerLobby_Text_ExplainSinglesChallenge:
.string "对战塔的单打对战间\n是用3只宝可梦进行单打对战的设施\p对战塔内有很多单打对战间\n供团队对战使用。\p在单打对战间中\n会有7位训练家等待挑战\p如果顺利战胜7人\n我们会向您呈上对战点数。\p如果您在挑战途中\n想要暂停的话,\p请确保在暂停前完好地写下了记录。\n否则我们将视挑战为无效。$"
BattleFrontier_BattleTowerLobby_Text_SelectThreeMons:
.string "请选择要参加挑战的\n3只宝可梦。$"
BattleFrontier_BattleTowerLobby_Text_WelcomeDoubleBattle:
.string "训练家的才能\n将在此接受考验!\p欢迎来到对战塔\p我是您的双打对战间向导。$"
BattleFrontier_BattleTowerLobby_Text_TakeDoublesChallenge:
.string "要挑战双打对战间吗?$"
BattleFrontier_BattleTowerLobby_Text_ExplainDoublesChallenge:
.string "对战塔的双打对战间\n是用4只宝可梦进行双打对战的设施\p对战塔内有很多双打对战间\n供团队对战使用。\p在双打对战间中\n会有7位训练家等待挑战\p如果顺利战胜7人\n我们会向您呈上对战点数。\p如果您在挑战途中\n想要暂停的话,\p请确保在暂停前完好地写下了记录。\n否则我们将视挑战为无效。$"
BattleFrontier_BattleTowerLobby_Text_PleaseSelectFourMons:
.string "请选择要参加挑战的\n4只宝可梦。$"
BattleFrontier_BattleTowerLobby_Text_WelcomeMultiBattle:
.string "训练家的才能\n将在此接受考验!\p欢迎来到对战塔\p我是您的多人对战间向导。$"
BattleFrontier_BattleTowerLobby_Text_TakeMultisChallenge:
.string "要挑战多人对战间吗?$"
BattleFrontier_BattleTowerLobby_Text_ExplainMultisChallenge:
.string "对战塔的多人对战间\n是进行多人对战的设施。\p要参加多人对战您需要在塔内\n选择1名训练家作为搭档\l每人派出2只宝可梦进行比赛。\p塔内有个叫对战沙龙的房间\n可以在那里遇到其他训练家。\p在那里你需要选择1名训练家\n作为多人对战的搭档。\p组队成功后\n将被引导至多人对战间。\p在多人对战间中\n会有7组训练家等待挑战\p如果顺利战胜7组\n我们会向您呈上对战点数。\p如果您在挑战途中\n想要暂停的话,\p请确保在暂停前完好地写下了记录。\n否则我们将视挑战为无效。$"
BattleFrontier_BattleTowerLobby_Text_PleaseSelectTwoMons:
.string "请选择要参加挑战的\n2只宝可梦。$"
BattleFrontier_BattleTowerLobby_Text_WelcomeLinkMultiBattle:
.string "训练家的才能\n将在此接受考验!\p欢迎来到对战塔\p我是您的多人连线对战间向导。$"
BattleFrontier_BattleTowerLobby_Text_TakeLinkMultisChallenge:
.string "要挑战多人连线对战间吗?$"
BattleFrontier_BattleTowerLobby_Text_ExplainLinkMultisChallenge:
.string "对战塔的多人对战间\n是和朋友一起进行\l多人对战的设施。\p您需要先使用无线适配器\n或GBA连接线与朋友连接\p携带2只宝可梦和朋友\n组队进行挑战。\p对战塔内有很多\n多人对战间,\p供团队对战使用。\n在多人对战间中,\l会有7组训练家等待\p您和您朋友的组队挑战。\n如果顺利战胜7组\p我们会向您呈上对战点数。\n请注意这里与其他房间不同,\p您不能暂停挑战。一旦挑战开始\n就需要不间断地进行7次多人对战。$"
BattleFrontier_BattleTowerLobby_Text_PleaseSelectTwoMons2:
.string "请选择要参加挑战的\n2只宝可梦。$"
@ Unused
BattleFrontier_BattleTowerLobby_Text_ChoseSameMonAsFriend:
.string "您和您的朋友选择了\n同一种宝可梦。\p请选择与您朋友不同\n的宝可梦,确认您们选择的是同样的\l挑战等级然后重新申请挑战。$"
BattleFrontier_BattleTowerLobby_Text_LinkMultiOnlyForTwoPlayers:
.string "多人连线对战间的挑战\n只对2位连接上的玩家开放。$"
BattleFrontier_BattleTowerLobby_Text_FriendAlsoSelectedMon:
.string "您的朋友也选择了\n宝可梦{STR_VAR_1}。$"
BattleFrontier_BattleTowerLobby_Text_FriendAlsoSelectedMons:
.string "您的朋友也选择了\n宝可梦{STR_VAR_1}和{STR_VAR_2}。$"
BattleFrontier_BattleTowerLobby_Text_FriendChoseDifferentLvlMode:
.string "您的朋友选择了不同的\n挑战等级。$"
@ Unused
BattleFrontier_BattleTowerLobby_Text_FriendChoseDifferentLvlModeSameMon:
.string "您的朋友选择了不同的\n挑战等级。\p您的朋友也选择了\n宝可梦{STR_VAR_1}。$"
@ Unused
BattleFrontier_BattleTowerLobby_Text_FriendChoseDifferentLvlModeSameMons:
.string "您的朋友选择了不同的\n挑战等级。\p您的朋友也选择了\n宝可梦{STR_VAR_1}和{STR_VAR_2}。$"
BattleFrontier_BattleTowerLobby_Text_ChooseDifferentMonsMatchLvlMode:
.string "请选择2只与您的朋友不同的宝可梦\n确认您们选择的是同样的挑战等级,\l然后重新申请挑战。$"
BattleFrontier_BattleTowerLobby_Text_SaveGameBeforeShowingIn:
.string "开始挑战之前需要先写入记录,\n请稍等。$"
BattleFrontier_BattleTowerLobby_Text_CongratsDefeatedMaiden:
.string "恭喜!\n您打败了对战塔大君,并且\l与7位训练家的对战中取得了全胜$"
BattleFrontier_BattleTowerLobby_Text_AwardYouTheseBattlePoints:
.string "为了表彰您无限的才能,\n我们授予您这些对战点数。$"
BattleFrontier_Text_ObtainedXBattlePoints:
.string "{PLAYER}获得{STR_VAR_1}点对战点数。$"
BattleFrontier_BattleTowerLobby_Text_RulesAreListed:
.string "上面列出了对战塔的规则。$"
BattleFrontier_BattleTowerLobby_Text_ReadWhichHeading:
.string "要读哪一部分的说明?$"
BattleFrontier_BattleTowerLobby_Text_ExplainTowerRules:
.string "对战塔中\n有4种类型的对战——\l单打对战双打对战\l多人对战和多人连线对战。\p每种对战都有不同的\n对战间,\p请到相应的向导处\n申请参加挑战。$"
BattleFrontier_BattleTowerLobby_Text_ExplainMonRules:
.string "根据进入的对战间的不同,\n需要携带的宝可梦的数量\l也各不同。\p单打对战模式\n需要3只宝可梦\p双打对战需要4只\n而多人模式需要2只。$"
BattleFrontier_BattleTowerLobby_Text_ExplainSalonRules:
.string "您需要在对战沙龙内找到一同组队\n挑战多人对战间的训练家。\p仔细查看每个训练家的宝可梦和\n招式来选择您的最佳搭档。\p连续打败7组训练家后\n您可以选择新的搭档。$"
BattleFrontier_BattleTowerLobby_Text_ExplainMultiLinkRules:
.string "通过多人连线对战模式\n可以和朋友一起挑战。\p需要先和朋友通过无线适配器\n或GBA连接线进行连接\p并在挑战申请处选好\n您要携带的宝可梦,\p这些宝可梦的种类要\n与您朋友的不同。\p同时与其他模式不同\n在这里您不可以暂停挑战。$"