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

366 lines
13 KiB
C++

BattleFrontier_BattleArenaLobby_MapScripts::
map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleArenaLobby_OnFrame
map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleArenaLobby_OnWarp
.byte 0
BattleFrontier_BattleArenaLobby_OnWarp:
map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleArenaLobby_EventScript_TurnPlayerNorth
.2byte 0
BattleFrontier_BattleArenaLobby_EventScript_TurnPlayerNorth::
setvar VAR_TEMP_1, 1
turnobject LOCALID_PLAYER, DIR_NORTH
end
BattleFrontier_BattleArenaLobby_OnFrame:
map_script_2 VAR_TEMP_CHALLENGE_STATUS, 0, BattleFrontier_BattleArenaLobby_EventScript_GetChallengeStatus
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING, BattleFrontier_BattleArenaLobby_EventScript_QuitWithoutSaving
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattleArenaLobby_EventScript_ResumeChallenge
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_WON, BattleFrontier_BattleArenaLobby_EventScript_WonChallenge
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST, BattleFrontier_BattleArenaLobby_EventScript_LostChallenge
.2byte 0
BattleFrontier_BattleArenaLobby_EventScript_GetChallengeStatus::
frontier_getstatus
end
BattleFrontier_BattleArenaLobby_EventScript_QuitWithoutSaving::
lockall
msgbox BattleFrontier_BattleArenaLobby_Text_DidntSaveBeforeShuttingDown, MSGBOX_DEFAULT
closemessage
arena_set ARENA_DATA_WIN_STREAK, 0
arena_set ARENA_DATA_WIN_STREAK_ACTIVE, FALSE
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
setvar VAR_TEMP_CHALLENGE_STATUS, 255
releaseall
end
BattleFrontier_BattleArenaLobby_EventScript_WonChallenge::
lockall
frontier_isbrain
goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattleArenaLobby_EventScript_DefeatedTycoon
msgbox BattleFrontier_BattleArenaLobby_Text_CongratsOnSevenWins, MSGBOX_DEFAULT
goto BattleFrontier_BattleArenaLobby_EventScript_GiveBattlePoints
BattleFrontier_BattleArenaLobby_EventScript_DefeatedTycoon::
msgbox BattleFrontier_BattleArenaLobby_Text_CongratsOnDefeatingTycoon, MSGBOX_DEFAULT
BattleFrontier_BattleArenaLobby_EventScript_GiveBattlePoints::
msgbox BattleFrontier_BattleArenaLobby_Text_PleaseAcceptBattlePoints, MSGBOX_DEFAULT
frontier_givepoints
msgbox BattleFrontier_Text_ObtainedXBattlePoints, MSGBOX_GETPOINTS
message BattleFrontier_BattleArenaLobby_Text_RecordAchievement
waitmessage
call BattleFrontier_BattleArenaLobby_EventScript_SaveAfterChallenge
msgbox BattleFrontier_BattleArenaLobby_Text_AwaitAnotherChallenge2, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_CHALLENGE_STATUS, 255
releaseall
end
BattleFrontier_BattleArenaLobby_EventScript_LostChallenge::
lockall
message BattleFrontier_BattleArenaLobby_Text_ThankYouWaitWhileSave
waitmessage
arena_set ARENA_DATA_WIN_STREAK_ACTIVE, FALSE
call BattleFrontier_BattleArenaLobby_EventScript_SaveAfterChallenge
msgbox BattleFrontier_BattleArenaLobby_Text_AwaitAnotherChallenge2, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_CHALLENGE_STATUS, 255
releaseall
end
BattleFrontier_BattleArenaLobby_EventScript_SaveAfterChallenge::
frontier_checkairshow
special LoadPlayerParty
special HealPlayerParty
arena_save 0
playse SE_SAVE
waitse
call BattleFrontier_EventScript_GetCantRecordBattle
goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattleArenaLobby_EventScript_EndSaveAfterChallenge
message BattleFrontier_BattleArenaLobby_Text_RecordLastMatch
waitmessage
multichoicedefault 20, 8, MULTI_YESNO, 1, FALSE
switch VAR_RESULT
case 1, BattleFrontier_BattleArenaLobby_EventScript_EndSaveAfterChallenge
case 0, BattleFrontier_BattleArenaLobby_EventScript_RecordMatch
case MULTI_B_PRESSED, BattleFrontier_BattleArenaLobby_EventScript_EndSaveAfterChallenge
BattleFrontier_BattleArenaLobby_EventScript_RecordMatch::
call BattleFrontier_EventScript_SaveBattle
BattleFrontier_BattleArenaLobby_EventScript_EndSaveAfterChallenge::
return
BattleFrontier_BattleArenaLobby_EventScript_ResumeChallenge::
lockall
message BattleFrontier_BattleArenaLobby_Text_LookingForwardToArrivalSaveGame
waitmessage
arena_save CHALLENGE_STATUS_SAVING
playse SE_SAVE
waitse
frontier_set FRONTIER_DATA_PAUSED, FALSE
setvar VAR_TEMP_CHALLENGE_STATUS, 255
goto BattleFrontier_BattleArenaLobby_EventScript_EnterChallenge
BattleFrontier_BattleArenaLobby_EventScript_Attendant::
lock
faceplayer
setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_ARENA
setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
special SavePlayerParty
msgbox BattleFrontier_BattleArenaLobby_Text_WelcomeToBattleArena, MSGBOX_DEFAULT
BattleFrontier_BattleArenaLobby_EventScript_AskTakeChallenge::
message BattleFrontier_BattleArenaLobby_Text_WishToTakeChallenge
waitmessage
multichoice 17, 6, MULTI_CHALLENGEINFO, FALSE
switch VAR_RESULT
case 0, BattleFrontier_BattleArenaLobby_EventScript_TryEnterChallenge
case 1, BattleFrontier_BattleArenaLobby_EventScript_ExplainChallenge
case 2, BattleFrontier_BattleArenaLobby_EventScript_CancelChallenge
case MULTI_B_PRESSED, BattleFrontier_BattleArenaLobby_EventScript_CancelChallenge
BattleFrontier_BattleArenaLobby_EventScript_TryEnterChallenge::
message BattleFrontier_BattleArenaLobby_Text_WhichLevelMode
waitmessage
multichoice 17, 6, MULTI_LEVEL_MODE, FALSE
switch VAR_RESULT
case FRONTIER_LVL_TENT, BattleFrontier_BattleArenaLobby_EventScript_CancelChallenge
case MULTI_B_PRESSED, BattleFrontier_BattleArenaLobby_EventScript_CancelChallenge
frontier_checkineligible
goto_if_eq VAR_0x8004, TRUE, BattleFrontier_BattleArenaLobby_EventScript_NotEnoughValidMons
frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT
msgbox BattleFrontier_BattleArenaLobby_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_BattleArenaLobby_EventScript_LoadPartyAndCancelChallenge
msgbox BattleFrontier_BattleArenaLobby_Text_OkayToSave, MSGBOX_YESNO
switch VAR_RESULT
case NO, BattleFrontier_BattleArenaLobby_EventScript_LoadPartyAndCancelChallenge
case YES, BattleFrontier_BattleArenaLobby_EventScript_SaveBeforeChallenge
case MULTI_B_PRESSED, BattleFrontier_BattleArenaLobby_EventScript_LoadPartyAndCancelChallenge
BattleFrontier_BattleArenaLobby_EventScript_SaveBeforeChallenge::
setvar VAR_TEMP_CHALLENGE_STATUS, 0
frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
arena_init
arena_set ARENA_DATA_WIN_STREAK_ACTIVE, TRUE
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING
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_BattleArenaLobby_EventScript_CancelChallengeSaveFailed
BattleFrontier_BattleArenaLobby_EventScript_EnterChallenge::
special SavePlayerParty
frontier_setpartyorder FRONTIER_PARTY_SIZE
msgbox BattleFrontier_BattleArenaLobby_Text_GuideYouToArena, MSGBOX_DEFAULT
closemessage
frontier_get FRONTIER_DATA_LVL_MODE
call_if_eq VAR_RESULT, FRONTIER_LVL_50, BattleFrontier_BattleArenaLobby_EventScript_WalkToDoorLv50
call_if_eq VAR_RESULT, FRONTIER_LVL_OPEN, BattleFrontier_BattleArenaLobby_EventScript_WalkToDoorLvOpen
warp MAP_BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR, 9, 13
setvar VAR_TEMP_CHALLENGE_STATUS, 0
waitstate
end
BattleFrontier_BattleArenaLobby_EventScript_ExplainChallenge::
msgbox BattleFrontier_BattleArenaLobby_Text_ExplainChallenge, MSGBOX_DEFAULT
goto BattleFrontier_BattleArenaLobby_EventScript_AskTakeChallenge
BattleFrontier_BattleArenaLobby_EventScript_NotEnoughValidMons::
switch VAR_RESULT
case FRONTIER_LVL_50, BattleFrontier_BattleArenaLobby_EventScript_NotEnoughValidMonsLv50
case FRONTIER_LVL_OPEN, BattleFrontier_BattleArenaLobby_EventScript_NotEnoughValidMonsLvOpen
BattleFrontier_BattleArenaLobby_EventScript_NotEnoughValidMonsLv50::
msgbox BattleFrontier_BattleArenaLobby_Text_NotEnoughValidMonsLv50, MSGBOX_DEFAULT
goto BattleFrontier_BattleArenaLobby_EventScript_EndCancelChallenge
BattleFrontier_BattleArenaLobby_EventScript_NotEnoughValidMonsLvOpen::
msgbox BattleFrontier_BattleArenaLobby_Text_NotEnoughValidMonsLvOpen, MSGBOX_DEFAULT
goto BattleFrontier_BattleArenaLobby_EventScript_EndCancelChallenge
BattleFrontier_BattleArenaLobby_EventScript_CancelChallengeSaveFailed::
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
goto BattleFrontier_BattleArenaLobby_EventScript_CancelChallenge
BattleFrontier_BattleArenaLobby_EventScript_LoadPartyAndCancelChallenge::
special LoadPlayerParty
BattleFrontier_BattleArenaLobby_EventScript_CancelChallenge::
msgbox BattleFrontier_BattleArenaLobby_Text_AwaitAnotherChallenge, MSGBOX_DEFAULT
BattleFrontier_BattleArenaLobby_EventScript_EndCancelChallenge::
release
end
BattleFrontier_BattleArenaLobby_EventScript_WalkToDoorLv50::
applymovement LOCALID_ARENA_ATTENDANT, BattleFrontier_BattleArenaLobby_Movement_AttendantWalkToLeftDoor
applymovement LOCALID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_PlayerWalkToLeftDoor
waitmovement 0
opendoor 2, 2
waitdooranim
applymovement LOCALID_ARENA_ATTENDANT, BattleFrontier_BattleArenaLobby_Movement_AttendantEnterDoor
applymovement LOCALID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_PlayerEnterDoor
waitmovement 0
closedoor 2, 2
waitdooranim
return
BattleFrontier_BattleArenaLobby_Movement_AttendantWalkToLeftDoor:
walk_up
walk_up
walk_up
walk_left
walk_left
walk_left
walk_left
walk_left
walk_up
step_end
BattleFrontier_BattleArenaLobby_Movement_AttendantEnterDoor:
walk_up
set_invisible
step_end
BattleFrontier_BattleArenaLobby_Movement_PlayerWalkToLeftDoor:
walk_up
walk_up
walk_up
walk_up
walk_left
walk_left
walk_left
walk_left
walk_left
walk_in_place_faster_up
step_end
BattleFrontier_BattleArenaLobby_Movement_PlayerEnterDoor:
walk_up
walk_up
set_invisible
step_end
BattleFrontier_BattleArenaLobby_EventScript_WalkToDoorLvOpen::
applymovement LOCALID_ARENA_ATTENDANT, BattleFrontier_BattleArenaLobby_Movement_AttendantWalkToRightDoor
applymovement LOCALID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_PlayerWalkToRightDoor
waitmovement 0
opendoor 11, 2
waitdooranim
applymovement LOCALID_ARENA_ATTENDANT, BattleFrontier_BattleArenaLobby_Movement_AttendantEnterDoor
applymovement LOCALID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_PlayerEnterDoor
waitmovement 0
closedoor 11, 2
waitdooranim
return
BattleFrontier_BattleArenaLobby_Movement_AttendantWalkToRightDoor:
walk_up
walk_up
walk_up
walk_right
walk_right
walk_right
walk_right
walk_up
step_end
BattleFrontier_BattleArenaLobby_Movement_PlayerWalkToRightDoor:
walk_up
walk_up
walk_up
walk_up
walk_right
walk_right
walk_right
walk_right
walk_in_place_faster_up
step_end
BattleFrontier_BattleArenaLobby_EventScript_ShowResults::
lockall
frontier_results FRONTIER_FACILITY_ARENA
waitbuttonpress
special RemoveRecordsWindow
releaseall
end
BattleFrontier_BattleArenaLobby_EventScript_Youngster::
msgbox BattleFrontier_BattleArenaLobby_Text_BadIdeaToNotAttack, MSGBOX_NPC
end
BattleFrontier_BattleArenaLobby_EventScript_Man::
msgbox BattleFrontier_BattleArenaLobby_Text_LandingHitsWorked, MSGBOX_NPC
end
BattleFrontier_BattleArenaLobby_EventScript_Camper::
msgbox BattleFrontier_BattleArenaLobby_Text_MatchWasDeclaredDraw, MSGBOX_NPC
end
BattleFrontier_BattleArenaLobby_EventScript_Woman::
msgbox BattleFrontier_BattleArenaLobby_Text_OrderOfMonsImportant, MSGBOX_NPC
end
BattleFrontier_BattleArenaLobby_EventScript_RulesBoard::
lockall
msgbox BattleFrontier_BattleArenaLobby_Text_RulesAreListed, MSGBOX_DEFAULT
goto BattleFrontier_BattleArenaLobby_EventScript_ReadRulesBoard
end
BattleFrontier_BattleArenaLobby_EventScript_ReadRulesBoard::
message BattleFrontier_BattleArenaLobby_Text_ReadWhichHeading
waitmessage
multichoice 17, 2, MULTI_BATTLE_ARENA_RULES, FALSE
switch VAR_RESULT
case 0, BattleFrontier_BattleArenaLobby_EventScript_BattleRules
case 1, BattleFrontier_BattleArenaLobby_EventScript_MindRules
case 2, BattleFrontier_BattleArenaLobby_EventScript_SkillRules
case 3, BattleFrontier_BattleArenaLobby_EventScript_BodyRules
case 4, BattleFrontier_BattleArenaLobby_EventScript_ExitRules
case MULTI_B_PRESSED, BattleFrontier_BattleArenaLobby_EventScript_ExitRules
end
BattleFrontier_BattleArenaLobby_EventScript_BattleRules::
msgbox BattleFrontier_BattleArenaLobby_Text_ExplainBattleRules, MSGBOX_DEFAULT
goto BattleFrontier_BattleArenaLobby_EventScript_ReadRulesBoard
end
BattleFrontier_BattleArenaLobby_EventScript_MindRules::
msgbox BattleFrontier_BattleArenaLobby_Text_ExplainMindRules, MSGBOX_DEFAULT
goto BattleFrontier_BattleArenaLobby_EventScript_ReadRulesBoard
end
BattleFrontier_BattleArenaLobby_EventScript_SkillRules::
msgbox BattleFrontier_BattleArenaLobby_Text_ExplainSkillRules, MSGBOX_DEFAULT
goto BattleFrontier_BattleArenaLobby_EventScript_ReadRulesBoard
end
BattleFrontier_BattleArenaLobby_EventScript_BodyRules::
msgbox BattleFrontier_BattleArenaLobby_Text_ExplainBodyRules, MSGBOX_DEFAULT
goto BattleFrontier_BattleArenaLobby_EventScript_ReadRulesBoard
end
BattleFrontier_BattleArenaLobby_EventScript_ExitRules::
releaseall
end
.ifdef FRENCH
.include "data/maps/BattleFrontier_BattleArenaLobby/text_fr.inc"
.else
.ifdef ITALIAN
.include "data/maps/BattleFrontier_BattleArenaLobby/text_it.inc"
.else
.ifdef SPANISH
.include "data/maps/BattleFrontier_BattleArenaLobby/text_es.inc"
.else
.include "data/maps/BattleFrontier_BattleArenaLobby/text.inc"
.endif
.endif
.endif