.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_0, 0, BattleFrontier_BattleTowerLobby_EventScript_GetChallengeStatus map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattleTowerLobby_EventScript_QuitWithoutSaving map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattleTowerLobby_EventScript_ResumeChallenge map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattleTowerLobby_EventScript_WonChallenge map_script_2 VAR_TEMP_0, 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_0, 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_0, 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_0, 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_0, 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_0, 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_0, 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_0, 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_0, 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_0, 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_0, 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_0, 255 goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerLobby_EventScript_CancelChallengeSaveFailed incrementgamestat GAME_STAT_ENTERED_BATTLE_TOWER 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_0, 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.$"