pokeemerald/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc
2023-08-04 14:17:28 -04:00

1400 lines
57 KiB
PHP

.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
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
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
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
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
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
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 save, 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
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 "I'll direct you to your BATTLE ROOM now.$"
BattleFrontier_BattleTowerLobby_Text_DidntSaveBeforeQuitting:
.string "Excuse me!\p"
.string "You didn't save before you quit your\n"
.string "challenge last time.\p"
.string "Because of that, your challenge so far\n"
.string "has been disqualified. Sorry!$"
BattleFrontier_BattleTowerLobby_Text_CongratsBeatenSeven:
.string "Congratulations!\n"
.string "You've beaten all seven TRAINERS!\p"
.string "$"
@ Unused
BattleFrontier_BattleTowerLobby_Text_EarnedFabulousPrize:
.string "For beating seven TRAINERS in a row,\n"
.string "you have earned this fabulous prize!\p"
.string "$"
BattleFrontier_BattleTowerLobby_Text_ReceivedPrize:
.string "{PLAYER} received the prize\n"
.string "{STR_VAR_1}.$"
@ Unused
BattleFrontier_BattleTowerLobby_Text_BagFullMakeRoom:
.string "Oh, your BAG appears to be full.\p"
.string "Please make room in your BAG, then come\n"
.string "see me.$"
BattleFrontier_BattleTowerLobby_Text_ThankYouForPlaying:
.string "Thank you for playing!\p"
.string "$"
BattleFrontier_BattleTowerLobby_Text_RecordWillBeSaved:
.string "Your record will be saved.\n"
.string "Please wait.$"
BattleFrontier_BattleTowerLobby_Text_WeveBeenWaitingForYou:
.string "We've been waiting for you!\p"
.string "$"
BattleFrontier_BattleTowerLobby_Text_ProgressWillBeSaved:
.string "Before entering a BATTLE ROOM, your\n"
.string "progress will be saved. Please wait.$"
BattleFrontier_BattleTowerLobby_Text_AboutToFace50thTrainer:
.string "You're finally about to face the\n"
.string "50th TRAINER.\p"
.string "From here on, every time you beat seven\n"
.string "TRAINERS in a row, your POKéMON will\l"
.string "receive a commemorative RIBBON.\p"
.string "Good luck!$"
BattleFrontier_BattleTowerLobby_Text_HereAreSomeRibbons:
.string "Here are some RIBBONS for beating\n"
.string "seven tough TRAINERS in a row.\p"
.string "{PLAYER} received some RIBBONS!$"
BattleFrontier_BattleTowerLobby_Text_PutRibbonOnMons:
.string "{PLAYER} put the RIBBONS on\n"
.string "the challenger POKéMON.$"
BattleFrontier_BattleTowerLobby_Text_DescribeFeelingsAboutBattleTower:
.string "Excuse me, do you have a moment?\p"
.string "Can you describe your feelings when\n"
.string "you're about to begin a BATTLE TOWER\l"
.string "match, or when you've either won or\l"
.string "lost a match?$"
BattleFrontier_BattleTowerLobby_Text_FeelWhatWhenYouBegin:
.string "Okay, what are your feelings when\n"
.string "you're about to begin a match?$"
BattleFrontier_BattleTowerLobby_Text_FeelWhatWhenYouveWon:
.string "What do you feel when you've won\n"
.string "a match?$"
BattleFrontier_BattleTowerLobby_Text_FeelWhatWhenYouveLost:
.string "Can I hear about your feelings when\n"
.string "you have lost a match?$"
BattleFrontier_BattleTowerLobby_Text_DontThinkMuchAboutIt:
.string "Oh, so you don't think much about it?\n"
.string "You're one cool customer.$"
BattleFrontier_BattleTowerLobby_Text_ChangedYourMind:
.string "Hunh? You changed your mind?\n"
.string "I guess you're fickle.$"
BattleFrontier_BattleTowerLobby_Text_ThatsHowYouFeel:
.string "Okay, so that's how you feel?\n"
.string "That's quite original.\p"
.string "Thanks!$"
BattleFrontier_BattleTowerLobby_Text_WinsInRowRecorded:
.string "The number of matches you win in a row\n"
.string "is recorded.\p"
.string "I'd better not get beaten in\n"
.string "an embarrassing way!$"
BattleFrontier_BattleTowerLobby_Text_CanLeaveUntilLossOrSevenWins:
.string "Once you've entered the BATTLE TOWER,\n"
.string "you can't leave until you either lose\l"
.string "or you beat seven TRAINERS in a row.\p"
.string "You'd best be certain that you're up\n"
.string "to the challenge.$"
@ Unused
BattleFrontier_BattleTowerLobby_Text_DoubleBattleRoomConstruction:
.string "Welcome to the BATTLE TOWER\n"
.string "DOUBLE BATTLE CORNER!\p"
.string "Unfortunately, the BATTLE ROOMS\n"
.string "are still under construction.\p"
.string "Please come back when the work\n"
.string "is completed.$"
@ Unused
BattleFrontier_BattleTowerLobby_Text_MultiBattleRoomConstruction:
.string "Welcome to the BATTLE TOWER\n"
.string "MULTI BATTLE CORNER!\p"
.string "Unfortunately, the BATTLE ROOMS\n"
.string "are still under construction.\p"
.string "Please come back when the work\n"
.string "is completed.$"
BattleFrontier_BattleTowerLobby_Text_LookForwardToAnotherChallenge:
.string "We look forward to seeing you on\n"
.string "another challenge!$"
BattleFrontier_BattleTowerLobby_Text_WhichLevelMode:
.string "The BATTLE ROOM offers two levels\n"
.string "of challenge, Level 50 and Open Level.\l"
.string "Which is your choice?$"
@ Unused
BattleFrontier_BattleTowerLobby_Text_PleaseSelectMons:
.string "Please select the POKéMON you wish\n"
.string "to enter.$"
BattleFrontier_BattleTowerLobby_Text_OkayToSaveBeforeEntering:
.string "Before entering a BATTLE ROOM, your\n"
.string "progress must be saved. Is that okay?$"
BattleFrontier_BattleTowerLobby_Text_ShowYouToBattleRoom:
.string "I will now show you to the\n"
.string "{STR_VAR_1} BATTLE ROOM.$"
BattleFrontier_BattleTowerLobby_Text_RecordLastMatch:
.string "Shall I record your last BATTLE TOWER\n"
.string "match on your FRONTIER PASS?$"
@ Unused
BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLv50:
.string "Excuse me!\p"
.string "You don't have {STR_VAR_2} eligible POKéMON.\p"
.string "You must have {STR_VAR_2} different POKéMON\n"
.string "of Level 50 or less to enter.\p"
.string "They also must be holding different\n"
.string "kinds of items.\p"
.string "EGGS{STR_VAR_1} ineligible.\p"
.string "Please come see me when you are ready.$"
@ Unused
BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLvOpen:
.string "Excuse me!\p"
.string "You don't have {STR_VAR_2} eligible POKéMON.\p"
.string "You must have {STR_VAR_2} different POKéMON\n"
.string "to enter.\p"
.string "They also must be holding different\n"
.string "kinds of items.\p"
.string "EGGS{STR_VAR_1} ineligible.\p"
.string "Please come see me when you are ready.$"
BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLv50Singles:
.string "Excuse me!\p"
.string "You don't have three eligible POKéMON.\p"
.string "You must have three different POKéMON\n"
.string "of Level 50 or less to enter.\p"
.string "They also must be holding different\n"
.string "kinds of items.\p"
.string "EGGS{STR_VAR_1} ineligible.\p"
.string "Please come see me when you are ready.$"
BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLvOpenSingles:
.string "Excuse me!\p"
.string "You don't have three eligible POKéMON.\p"
.string "You must have three different POKéMON\n"
.string "to enter.\p"
.string "They also must be holding different\n"
.string "kinds of items.\p"
.string "EGGS{STR_VAR_1} ineligible.\p"
.string "Please come see me when you are ready.$"
BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLv50Doubles:
.string "Excuse me!\p"
.string "You don't have four eligible POKéMON.\p"
.string "You must have four different POKéMON\n"
.string "of Level 50 or less to enter.\p"
.string "They also must be holding different\n"
.string "kinds of items.\p"
.string "EGGS{STR_VAR_1} ineligible.\p"
.string "Please come see me when you are ready.$"
BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLvOpenDoubles:
.string "Excuse me!\p"
.string "You don't have four eligible POKéMON.\p"
.string "You must have four different POKéMON\n"
.string "to enter.\p"
.string "They also must be holding different\n"
.string "kinds of items.\p"
.string "EGGS{STR_VAR_1} ineligible.\p"
.string "Please come see me when you are ready.$"
BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLv50Multis:
.string "Excuse me!\p"
.string "You don't have two eligible POKéMON.\p"
.string "You must have two different POKéMON\n"
.string "of Level 50 or less to enter.\p"
.string "They also must be holding different\n"
.string "kinds of items.\p"
.string "EGGS{STR_VAR_1} ineligible.\p"
.string "Please come see me when you are ready.$"
BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLvOpenMultis:
.string "Excuse me!\p"
.string "You don't have two eligible POKéMON.\p"
.string "You must have two different POKéMON\n"
.string "to enter.\p"
.string "They also must be holding different\n"
.string "kinds of items.\p"
.string "EGGS{STR_VAR_1} ineligible.\p"
.string "Please come see me when you are ready.$"
BattleFrontier_BattleTowerLobby_Text_WelcomSingleBattle:
.string "Where the talents of TRAINERS\n"
.string "are put to the test!\p"
.string "Welcome to the BATTLE TOWER!\p"
.string "I am your guide to the SINGLE\n"
.string "BATTLE ROOMS.$"
BattleFrontier_BattleTowerLobby_Text_TakeSinglesChallenge:
.string "Would you like to take the SINGLE\n"
.string "BATTLE ROOM challenge?$"
BattleFrontier_BattleTowerLobby_Text_ExplainSinglesChallenge:
.string "The BATTLE TOWER's SINGLE BATTLE\n"
.string "ROOMS are facilities for conducting\l"
.string "SINGLE BATTLES with three POKéMON.\p"
.string "There are many SINGLE BATTLE ROOMS\n"
.string "in the BATTLE TOWER for team battles.\p"
.string "In each of the SINGLE BATTLE ROOMS,\n"
.string "seven TRAINERS await your challenge.\p"
.string "If you manage to defeat all seven,\n"
.string "you will earn Battle Points.\p"
.string "If you want to interrupt your\n"
.string "challenge, please save the game.\p"
.string "If you don't save before interrupting,\n"
.string "you will be disqualified.$"
BattleFrontier_BattleTowerLobby_Text_SelectThreeMons:
.string "Now please select the three POKéMON\n"
.string "that are to be entered.$"
BattleFrontier_BattleTowerLobby_Text_WelcomeDoubleBattle:
.string "Where the talents of TRAINERS\n"
.string "are put to the test!\p"
.string "Welcome to the BATTLE TOWER!\p"
.string "I am your guide to the DOUBLE\n"
.string "BATTLE ROOMS.$"
BattleFrontier_BattleTowerLobby_Text_TakeDoublesChallenge:
.string "Would you like to take the DOUBLE\n"
.string "BATTLE ROOM challenge?$"
BattleFrontier_BattleTowerLobby_Text_ExplainDoublesChallenge:
.string "The BATTLE TOWER's DOUBLE BATTLE\n"
.string "ROOMS are facilities for conducting\l"
.string "DOUBLE BATTLES with four POKéMON.\p"
.string "There are many DOUBLE BATTLE ROOMS\n"
.string "in the BATTLE TOWER for team battles.\p"
.string "In each of the DOUBLE BATTLE ROOMS,\n"
.string "seven TRAINERS await your challenge.\p"
.string "If you manage to defeat all seven,\n"
.string "you will earn Battle Points.\p"
.string "If you want to interrupt your\n"
.string "challenge, please save the game.\p"
.string "If you don't save before interrupting,\n"
.string "you will be disqualified.$"
BattleFrontier_BattleTowerLobby_Text_PleaseSelectFourMons:
.string "Now please select the four POKéMON\n"
.string "that are to be entered.$"
BattleFrontier_BattleTowerLobby_Text_WelcomeMultiBattle:
.string "Where the talents of TRAINERS\n"
.string "are put to the test!\p"
.string "Welcome to the BATTLE TOWER!\p"
.string "I am your guide to the MULTI\n"
.string "BATTLE ROOMS.$"
BattleFrontier_BattleTowerLobby_Text_TakeMultisChallenge:
.string "Would you like to take the MULTI\n"
.string "BATTLE ROOM challenge?$"
BattleFrontier_BattleTowerLobby_Text_ExplainMultisChallenge:
.string "The BATTLE TOWER's MULTI BATTLE\n"
.string "ROOMS are facilities for conducting\l"
.string "MULTI BATTLES.\p"
.string "For MULTI BATTLES, you must partner\n"
.string "with a TRAINER in the TOWER and enter\l"
.string "with two POKéMON each.\p"
.string "Inside the TOWER is a room named\n"
.string "the BATTLE SALON where you may meet\l"
.string "other TRAINERS.\p"
.string "There, you must find a TRAINER to act\n"
.string "as your partner in MULTI BATTLES.\p"
.string "Once you have partnered up, you will\n"
.string "be shown to a MULTI BATTLE ROOM.\p"
.string "In the MULTI BATTLE ROOM, seven\n"
.string "tag teams await your challenge.\p"
.string "If you manage to defeat all seven\n"
.string "teams, you will earn Battle Points.\p"
.string "If you want to interrupt your\n"
.string "challenge, please save the game.\p"
.string "If you don't save before interrupting,\n"
.string "you will be disqualified.$"
BattleFrontier_BattleTowerLobby_Text_PleaseSelectTwoMons:
.string "Now please select the two POKéMON\n"
.string "that are to be entered.$"
BattleFrontier_BattleTowerLobby_Text_WelcomeLinkMultiBattle:
.string "Where the talents of TRAINERS\n"
.string "are put to the test!\p"
.string "Welcome to the BATTLE TOWER!\p"
.string "I am your guide to the LINK MULTI\n"
.string "BATTLE ROOMS.$"
BattleFrontier_BattleTowerLobby_Text_TakeLinkMultisChallenge:
.string "Would you like to take the LINK MULTI\n"
.string "BATTLE ROOM challenge?$"
BattleFrontier_BattleTowerLobby_Text_ExplainLinkMultisChallenge:
.string "The BATTLE TOWER's MULTI BATTLE\n"
.string "ROOMS are facilities for conducting\l"
.string "MULTI BATTLES with a friend.\p"
.string "You must link with your friend using\n"
.string "Wireless Adapters or a Game Boy\l"
.string "Advance Game Link cable.\p"
.string "You must partner with your friend and\n"
.string "enter two different kinds of POKéMON.\p"
.string "There are many MULTI BATTLE ROOMS\n"
.string "in the BATTLE TOWER for team battles.\p"
.string "In a MULTI BATTLE ROOM, seven\n"
.string "tag teams await you and your friend\l"
.string "to make a tag-team challenge.\p"
.string "If you manage to defeat all seven\n"
.string "teams, you will earn Battle Points.\p"
.string "Please beware that unlike other ROOMS,\n"
.string "you may not interrupt your challenge.\p"
.string "Once you start, you must battle seven\n"
.string "MULTI BATTLES in a row nonstop.$"
BattleFrontier_BattleTowerLobby_Text_PleaseSelectTwoMons2:
.string "Now please select the two POKéMON\n"
.string "that are to be entered.$"
@ Unused
BattleFrontier_BattleTowerLobby_Text_ChoseSameMonAsFriend:
.string "You have chosen the same kind of\n"
.string "POKéMON as your friend.\p"
.string "Please choose two POKéMON different\n"
.string "from your friend's, match the level\l"
.string "you wish to enter, and register again.$"
BattleFrontier_BattleTowerLobby_Text_LinkMultiOnlyForTwoPlayers:
.string "The LINK MULTI BATTLE ROOM challenge\n"
.string "is only for two linked players.$"
BattleFrontier_BattleTowerLobby_Text_FriendAlsoSelectedMon:
.string "Your friend has also selected\n"
.string "the POKéMON {STR_VAR_1}.$"
BattleFrontier_BattleTowerLobby_Text_FriendAlsoSelectedMons:
.string "Your friend has also selected the\n"
.string "POKéMON {STR_VAR_1} and {STR_VAR_2}.$"
BattleFrontier_BattleTowerLobby_Text_FriendChoseDifferentLvlMode:
.string "Your friend has chosen a different\n"
.string "battle level.$"
@ Unused
BattleFrontier_BattleTowerLobby_Text_FriendChoseDifferentLvlModeSameMon:
.string "Your friend has chosen a different\n"
.string "battle level.\p"
.string "Your friend has also selected\n"
.string "the POKéMON {STR_VAR_1}.$"
@ Unused
BattleFrontier_BattleTowerLobby_Text_FriendChoseDifferentLvlModeSameMons:
.string "Your friend has chosen a different\n"
.string "battle level.\p"
.string "Your friend has also selected the\n"
.string "POKéMON {STR_VAR_1} and {STR_VAR_2}.$"
BattleFrontier_BattleTowerLobby_Text_ChooseDifferentMonsMatchLvlMode:
.string "Please choose two POKéMON different\n"
.string "from your friend's, match the level\l"
.string "you wish to enter, and register again.$"
BattleFrontier_BattleTowerLobby_Text_SaveGameBeforeShowingIn:
.string "I will save the game before\n"
.string "showing you in. Please wait.$"
BattleFrontier_BattleTowerLobby_Text_CongratsDefeatedMaiden:
.string "Congratulations!\n"
.string "You have defeated the SALON MAIDEN\l"
.string "and swept seven TRAINERS!$"
BattleFrontier_BattleTowerLobby_Text_AwardYouTheseBattlePoints:
.string "In recognition of your infinite talent,\n"
.string "we award you these Battle Point(s).$"
BattleFrontier_Text_ObtainedXBattlePoints:
.string "{PLAYER} obtained {STR_VAR_1} Battle Point(s).$"
BattleFrontier_BattleTowerLobby_Text_RulesAreListed:
.string "The BATTLE TOWER rules are listed.$"
BattleFrontier_BattleTowerLobby_Text_ReadWhichHeading:
.string "Which heading do you want to read?$"
BattleFrontier_BattleTowerLobby_Text_ExplainTowerRules:
.string "The BATTLE TOWER is a facility where\n"
.string "four types of battles are waged--\l"
.string "SINGLE BATTLE, DOUBLE BATTLE, MULTI\l"
.string "BATTLE, and LINK MULTI BATTLE.\p"
.string "For each of these types, there are\n"
.string "separate BATTLE ROOMS.\p"
.string "Please speak with a guide offering\n"
.string "the type of battle you wish to enter.$"
BattleFrontier_BattleTowerLobby_Text_ExplainMonRules:
.string "Depending on the BATTLE ROOM you are\n"
.string "entering, you will be required to take\l"
.string "a certain number of POKéMON.\p"
.string "The SINGLE BATTLE mode requires\n"
.string "three POKéMON.\p"
.string "The DOUBLE BATTLE mode requires four,\n"
.string "and the MULTI modes both require two.$"
BattleFrontier_BattleTowerLobby_Text_ExplainSalonRules:
.string "The BATTLE SALON is where you must\n"
.string "find a partner to form a tag team for\l"
.string "the MULTI BATTLE ROOM challenge.\p"
.string "Choose the best partner for you by\n"
.string "examining other TRAINERS'\l"
.string "POKéMON and their moves.\p"
.string "You may choose a new tag partner\n"
.string "after winning seven straight matches.$"
BattleFrontier_BattleTowerLobby_Text_ExplainMultiLinkRules:
.string "The LINK MULTI BATTLE Mode is for two\n"
.string "friends to mount a challenge together.\p"
.string "You and your friend must be linked with\n"
.string "Wireless Adapters or a GBA Game Link\l"
.string "cable.\p"
.string "You must choose two POKéMON at\n"
.string "the registration counter.\p"
.string "These POKéMON must be different\n"
.string "from those of your friend.\p"
.string "You may not interrupt this challenge\n"
.string "in the middle, unlike other modes.$"