Files
2025-06-11 09:45:39 -04:00

930 lines
39 KiB
C++

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 LOCALID_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 connect, but fails, the counter will still be incremented even if the player never enters the tower.
#ifndef BUGFIX
incrementgamestat GAME_STAT_ENTERED_BATTLE_TOWER
#endif
specialvar VAR_RESULT, IsWirelessAdapterConnected
goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattleTowerLobby_EventScript_TryWirelessLink
goto BattleFrontier_BattleTowerLobby_EventScript_TryCableLink
end
BattleFrontier_BattleTowerLobby_EventScript_FeelingsMan::
lock
faceplayer
message BattleFrontier_BattleTowerLobby_Text_DescribeFeelingsAboutBattleTower
waitmessage
multichoice 16, 4, MULTI_BATTLE_TOWER_FEELINGS, FALSE
switch VAR_RESULT
case 0, BattleFrontier_BattleTowerLobby_EventScript_FeelingsBattleNow
case 1, BattleFrontier_BattleTowerLobby_EventScript_FeelingsIWon
case 2, BattleFrontier_BattleTowerLobby_EventScript_FeelingsILost
case 3, BattleFrontier_BattleTowerLobby_EventScript_FeelingsWontTell
case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_FeelingsWontTell
release
end
BattleFrontier_BattleTowerLobby_EventScript_FeelingsBattleNow::
msgbox BattleFrontier_BattleTowerLobby_Text_FeelWhatWhenYouBegin, MSGBOX_DEFAULT
setvar VAR_0x8004, EASY_CHAT_TYPE_BATTLE_START
call Common_ShowEasyChatScreen
lock
faceplayer
goto BattleFrontier_BattleTowerLobby_EventScript_CheckFeelings
end
BattleFrontier_BattleTowerLobby_EventScript_FeelingsIWon::
msgbox BattleFrontier_BattleTowerLobby_Text_FeelWhatWhenYouveWon, MSGBOX_DEFAULT
setvar VAR_0x8004, EASY_CHAT_TYPE_BATTLE_WON
call Common_ShowEasyChatScreen
lock
faceplayer
goto BattleFrontier_BattleTowerLobby_EventScript_CheckFeelings
end
BattleFrontier_BattleTowerLobby_EventScript_FeelingsILost::
msgbox BattleFrontier_BattleTowerLobby_Text_FeelWhatWhenYouveLost, MSGBOX_DEFAULT
setvar VAR_0x8004, EASY_CHAT_TYPE_BATTLE_LOST
call Common_ShowEasyChatScreen
lock
faceplayer
goto BattleFrontier_BattleTowerLobby_EventScript_CheckFeelings
end
BattleFrontier_BattleTowerLobby_EventScript_FeelingsWontTell::
msgbox BattleFrontier_BattleTowerLobby_Text_DontThinkMuchAboutIt, MSGBOX_DEFAULT
release
end
BattleFrontier_BattleTowerLobby_EventScript_CheckFeelings::
goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerLobby_EventScript_CanceledEasyChat
goto_if_eq VAR_RESULT, 1, BattleFrontier_BattleTowerLobby_EventScript_SubmittedFeelings
end
BattleFrontier_BattleTowerLobby_EventScript_CanceledEasyChat::
msgbox BattleFrontier_BattleTowerLobby_Text_ChangedYourMind, MSGBOX_DEFAULT
release
end
BattleFrontier_BattleTowerLobby_EventScript_SubmittedFeelings::
msgbox BattleFrontier_BattleTowerLobby_Text_ThatsHowYouFeel, MSGBOX_DEFAULT
release
end
BattleFrontier_BattleTowerLobby_EventScript_Woman::
msgbox BattleFrontier_BattleTowerLobby_Text_WinsInRowRecorded, MSGBOX_NPC
end
BattleFrontier_BattleTowerLobby_EventScript_Boy::
msgbox BattleFrontier_BattleTowerLobby_Text_CanLeaveUntilLossOrSevenWins, MSGBOX_NPC
end
BattleFrontier_BattleTowerLobby_EventScript_ShowSinglesResults::
lockall
frontier_results FRONTIER_FACILITY_TOWER, FRONTIER_MODE_SINGLES
waitbuttonpress
special RemoveRecordsWindow
releaseall
end
BattleFrontier_BattleTowerLobby_EventScript_ShowDoublesResults::
lockall
frontier_results FRONTIER_FACILITY_TOWER, FRONTIER_MODE_DOUBLES
waitbuttonpress
special RemoveRecordsWindow
releaseall
end
BattleFrontier_BattleTowerLobby_EventScript_ShowMultisResults::
lockall
frontier_results FRONTIER_FACILITY_TOWER, FRONTIER_MODE_MULTIS
waitbuttonpress
special RemoveRecordsWindow
releaseall
end
BattleFrontier_BattleTowerLobby_EventScript_ShowLinkMultisResults::
lockall
frontier_results FRONTIER_FACILITY_TOWER, FRONTIER_MODE_LINK_MULTIS
waitbuttonpress
special RemoveRecordsWindow
releaseall
end
BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMons::
switch VAR_RESULT
case FRONTIER_LVL_50, BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLv50
case FRONTIER_LVL_OPEN, BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLvOpen
BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLv50::
switch VAR_FRONTIER_BATTLE_MODE
case FRONTIER_MODE_SINGLES, BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLv50Singles
case FRONTIER_MODE_DOUBLES, BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLv50Doubles
msgbox BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLv50Multis, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_EndCancelChallenge
end
BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLv50Singles::
msgbox BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLv50Singles, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_EndCancelChallenge
end
BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLv50Doubles::
msgbox BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLv50Doubles, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_EndCancelChallenge
end
BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLvOpen::
switch VAR_FRONTIER_BATTLE_MODE
case FRONTIER_MODE_SINGLES, BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLvOpenSingles
case FRONTIER_MODE_DOUBLES, BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLvOpenDoubles
msgbox BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLvOpenMultis, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_EndCancelChallenge
end
BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLvOpenSingles::
msgbox BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLvOpenSingles, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_EndCancelChallenge
end
BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLvOpenDoubles::
msgbox BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLvOpenDoubles, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_EndCancelChallenge
end
BattleFrontier_BattleTowerLobby_EventScript_CancelChallengeSaveFailed::
frontier_set FRONTIER_DATA_CHALLENGE_STATUS @ No status provided, so it relies on VAR_0x8006 being 0 already
goto BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
end
BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge::
special LoadPlayerParty
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 LOCALID_PLAYER, BattleFrontier_BattleTowerLobby_Movement_WalkToElevator
waitmovement 0
opendoor VAR_0x8004, 1
waitdooranim
applymovement VAR_LAST_TALKED, BattleFrontier_BattleTowerLobby_Movement_AttendantEnterElevator
applymovement LOCALID_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_TOWER_ATTENDANT_SINGLES
return
BattleFrontier_BattleTowerLobby_EventScript_TalkedToDoublesAttendant::
setvar VAR_LAST_TALKED, LOCALID_TOWER_ATTENDANT_DOUBLES
return
BattleFrontier_BattleTowerLobby_EventScript_TalkedToMultisAttendant::
setvar VAR_LAST_TALKED, LOCALID_TOWER_ATTENDANT_MULTIS
return
BattleFrontier_BattleTowerLobby_EventScript_TalkedToLinkMultisAttendant::
setvar VAR_LAST_TALKED, LOCALID_TOWER_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
.ifdef FRENCH
.include "data/maps/BattleFrontier_BattleTowerLobby/text_fr.inc"
.else
.ifdef ITALIAN
.include "data/maps/BattleFrontier_BattleTowerLobby/text_it.inc"
.else
.ifdef SPANISH
.include "data/maps/BattleFrontier_BattleTowerLobby/text_es.inc"
.else
.include "data/maps/BattleFrontier_BattleTowerLobby/text.inc"
.endif
.endif
.endif