mirror of
https://github.com/pret/pokeemerald.git
synced 2026-09-27 05:35:24 -04:00
285 lines
12 KiB
C++
285 lines
12 KiB
C++
BattleFrontier_BattleDomePreBattleRoom_MapScripts::
|
|
map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleDomePreBattleRoom_OnFrame
|
|
map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleDomePreBattleRoom_OnWarp
|
|
.byte 0
|
|
|
|
BattleFrontier_BattleDomePreBattleRoom_OnWarp:
|
|
map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_TurnPlayerNorth
|
|
.2byte 0
|
|
|
|
BattleFrontier_BattleDomePreBattleRoom_EventScript_TurnPlayerNorth::
|
|
setvar VAR_TEMP_1, 1
|
|
turnobject LOCALID_PLAYER, DIR_NORTH
|
|
end
|
|
|
|
BattleFrontier_BattleDomePreBattleRoom_OnFrame:
|
|
map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_EnterRoom
|
|
.2byte 0
|
|
|
|
BattleFrontier_BattleDomePreBattleRoom_EventScript_EnterRoom::
|
|
goto_if_eq VAR_0x8006, 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_ReturnFromBattle
|
|
frontier_set FRONTIER_DATA_RECORD_DISABLED, TRUE
|
|
setvar VAR_TEMP_0, 1
|
|
applymovement LOCALID_PLAYER, BattleFrontier_BattleDomePreBattleRoom_Movement_PlayerEnter
|
|
waitmovement 0
|
|
lockall
|
|
BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound::
|
|
call BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForNextRoundMessage
|
|
waitmessage
|
|
switch VAR_RESULT @ No case?
|
|
call BattleFrontier_EventScript_GetCantRecordBattle
|
|
goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRoundNoRecord
|
|
multichoice 16, 0, MULTI_TOURNEY_WITH_RECORD, TRUE
|
|
switch VAR_RESULT
|
|
case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_ShowOpponentInfo
|
|
case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_ShowTourneyTree
|
|
case 2, BattleFrontier_BattleDomePreBattleRoom_EventScript_ContinueChallenge
|
|
case 3, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskRecordBattle
|
|
case 4, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskPauseChallenge
|
|
case 5, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskRetireChallenge
|
|
case MULTI_B_PRESSED, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound
|
|
|
|
BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRoundNoRecord::
|
|
multichoice 16, 2, MULTI_TOURNEY_NO_RECORD, TRUE
|
|
switch VAR_RESULT
|
|
case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_ShowOpponentInfo
|
|
case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_ShowTourneyTree
|
|
case 2, BattleFrontier_BattleDomePreBattleRoom_EventScript_ContinueChallenge
|
|
case 3, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskPauseChallenge
|
|
case 4, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskRetireChallenge
|
|
case MULTI_B_PRESSED, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound
|
|
|
|
BattleFrontier_BattleDomePreBattleRoom_EventScript_AskRecordBattle::
|
|
message BattleFrontier_BattleDomePreBattleRoom_Text_RecordLastMatch
|
|
waitmessage
|
|
multichoicedefault 20, 8, MULTI_YESNO, 1, FALSE
|
|
switch VAR_RESULT
|
|
case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound
|
|
case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_RecordBattle
|
|
case MULTI_B_PRESSED, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound
|
|
|
|
BattleFrontier_BattleDomePreBattleRoom_EventScript_RecordBattle::
|
|
call BattleFrontier_EventScript_SaveBattle
|
|
goto BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound
|
|
|
|
BattleFrontier_BattleDomePreBattleRoom_EventScript_AskPauseChallenge::
|
|
msgbox BattleFrontier_BattleDomePreBattleRoom_Text_SaveAndQuitGame, MSGBOX_YESNO
|
|
switch VAR_RESULT
|
|
case NO, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound
|
|
case YES, BattleFrontier_BattleDomePreBattleRoom_EventScript_PauseChallenge
|
|
case MULTI_B_PRESSED, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound
|
|
|
|
BattleFrontier_BattleDomePreBattleRoom_EventScript_AskRetireChallenge::
|
|
message BattleFrontier_BattleDomePreBattleRoom_Text_RetireYourChallenge
|
|
waitmessage
|
|
multichoicedefault 20, 8, MULTI_YESNO, 1, FALSE
|
|
switch VAR_RESULT
|
|
case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound
|
|
case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_RetireChallenge
|
|
case MULTI_B_PRESSED, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound
|
|
|
|
BattleFrontier_BattleDomePreBattleRoom_EventScript_RetireChallenge::
|
|
dome_resolvewinners DOME_PLAYER_RETIRED
|
|
goto BattleFrontier_BattleDomeBattleRoom_EventScript_WarpToLobbyLost
|
|
|
|
BattleFrontier_BattleDomePreBattleRoom_EventScript_PauseChallenge::
|
|
message BattleFrontier_BattleDomePreBattleRoom_Text_SavingDataPleaseWait
|
|
waitmessage
|
|
dome_save CHALLENGE_STATUS_PAUSED
|
|
playse SE_SAVE
|
|
waitse
|
|
fadescreen FADE_TO_BLACK
|
|
frontier_reset
|
|
end
|
|
|
|
BattleFrontier_BattleDomePreBattleRoom_EventScript_ShowOpponentInfo::
|
|
msgbox BattleFrontier_BattleDomePreBattleRoom_Text_PlayersNextOpponentIsTrainer, MSGBOX_DEFAULT
|
|
fadescreen FADE_TO_BLACK
|
|
dome_showopponentinfo
|
|
waitstate
|
|
goto BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound
|
|
|
|
BattleFrontier_BattleDomePreBattleRoom_EventScript_ShowTourneyTree::
|
|
call BattleFrontier_BattleDomePreBattleRoom_EventScript_ShowRoundMessage
|
|
fadescreen FADE_TO_BLACK
|
|
dome_showtourneytree
|
|
waitstate
|
|
goto BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound
|
|
|
|
BattleFrontier_BattleDomePreBattleRoom_EventScript_ShowRoundMessage::
|
|
frontier_get FRONTIER_DATA_BATTLE_NUM
|
|
switch VAR_RESULT
|
|
case DOME_ROUND1, BattleFrontier_BattleDomePreBattleRoom_EventScript_TourneyInRound1
|
|
case DOME_ROUND2, BattleFrontier_BattleDomePreBattleRoom_EventScript_TourneyInRound2
|
|
case DOME_SEMIFINAL, BattleFrontier_BattleDomePreBattleRoom_EventScript_TourneyInSemifinals
|
|
case DOME_FINAL, BattleFrontier_BattleDomePreBattleRoom_EventScript_TourneyInFinals
|
|
return
|
|
|
|
BattleFrontier_BattleDomePreBattleRoom_EventScript_TourneyInRound1::
|
|
msgbox BattleFrontier_BattleDomePreBattleRoom_Text_TourneyInRound1, MSGBOX_DEFAULT
|
|
return
|
|
|
|
BattleFrontier_BattleDomePreBattleRoom_EventScript_TourneyInRound2::
|
|
msgbox BattleFrontier_BattleDomePreBattleRoom_Text_TourneyInRound2, MSGBOX_DEFAULT
|
|
return
|
|
|
|
BattleFrontier_BattleDomePreBattleRoom_EventScript_TourneyInSemifinals::
|
|
msgbox BattleFrontier_BattleDomePreBattleRoom_Text_TourneyInSemifinals, MSGBOX_DEFAULT
|
|
return
|
|
|
|
BattleFrontier_BattleDomePreBattleRoom_EventScript_TourneyInFinals::
|
|
msgbox BattleFrontier_BattleDomePreBattleRoom_Text_TourneyInFinals, MSGBOX_DEFAULT
|
|
return
|
|
|
|
BattleFrontier_BattleDomePreBattleRoom_EventScript_ContinueChallenge::
|
|
message BattleFrontier_BattleDomePreBattleRoom_Text_ChooseTwoMons
|
|
waitmessage
|
|
waitbuttonpress
|
|
fadescreen FADE_TO_BLACK
|
|
call BattleFrontier_EventScript_GetLvlMode
|
|
copyvar VAR_0x8004, VAR_RESULT
|
|
setvar VAR_0x8005, DOME_BATTLE_PARTY_SIZE @ 2 of the 3 party mons are selected for battle
|
|
special ChoosePartyForBattleFrontier
|
|
waitstate
|
|
frontier_resetsketch
|
|
goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound
|
|
dome_set DOME_DATA_SELECTED_MONS
|
|
dome_reduceparty
|
|
dome_setopponent
|
|
msgbox BattleFrontier_BattleDomePreBattleRoom_Text_RightThisWay, MSGBOX_DEFAULT
|
|
closemessage
|
|
applymovement LOCALID_DOME_PRE_BATTLE_ATTENDANT, BattleFrontier_BattleDomePreBattleRoom_Movement_AttendantMoveAside
|
|
waitmovement 0
|
|
applymovement LOCALID_PLAYER, BattleFrontier_BattleDomePreBattleRoom_Movement_PlayerWalkToDoor
|
|
waitmovement 0
|
|
opendoor 5, 1
|
|
waitdooranim
|
|
applymovement LOCALID_PLAYER, BattleFrontier_BattleDomePreBattleRoom_Movement_PlayerEnterDoor
|
|
waitmovement 0
|
|
closedoor 5, 1
|
|
waitdooranim
|
|
warp MAP_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM, 9, 5
|
|
setvar VAR_TEMP_0, 0
|
|
waitstate
|
|
end
|
|
|
|
BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForNextRoundMessage::
|
|
frontier_get FRONTIER_DATA_BATTLE_NUM
|
|
switch VAR_RESULT
|
|
case DOME_ROUND1, BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForRound1
|
|
case DOME_ROUND2, BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForRound2
|
|
case DOME_SEMIFINAL, BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForSemifinals
|
|
case DOME_FINAL, BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForFinals
|
|
return
|
|
|
|
BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForRound1::
|
|
message BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForRound1
|
|
return
|
|
|
|
BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForRound2::
|
|
message BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForRound2
|
|
return
|
|
|
|
BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForSemifinals::
|
|
message BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForSemifinals
|
|
return
|
|
|
|
BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForFinals::
|
|
frontier_getbrainstatus
|
|
switch VAR_RESULT
|
|
case FRONTIER_BRAIN_SILVER, BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForTuckerSilver
|
|
case FRONTIER_BRAIN_GOLD, BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForTuckerGold
|
|
case FRONTIER_BRAIN_STREAK, BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForTuckerSilver
|
|
case FRONTIER_BRAIN_STREAK_LONG, BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForTuckerGold
|
|
message BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForFinals
|
|
return
|
|
|
|
BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForTuckerSilver::
|
|
goto_if_set FLAG_TEMP_1, BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForTuckerSilverShort
|
|
msgbox BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForTuckerSilver, MSGBOX_DEFAULT
|
|
setflag FLAG_TEMP_1
|
|
return
|
|
|
|
BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForTuckerGold::
|
|
goto_if_set FLAG_TEMP_1, BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForTuckerGoldShort
|
|
msgbox BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForTuckerGold, MSGBOX_DEFAULT
|
|
setflag FLAG_TEMP_1
|
|
return
|
|
|
|
BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForTuckerSilverShort::
|
|
msgbox BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForTuckerSilverShort, MSGBOX_DEFAULT
|
|
return
|
|
|
|
BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForTuckerGoldShort::
|
|
msgbox BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForTuckerGoldShort, MSGBOX_DEFAULT
|
|
return
|
|
|
|
BattleFrontier_BattleDomePreBattleRoom_EventScript_ReturnFromBattle::
|
|
setvar VAR_TEMP_0, 1
|
|
msgbox BattleFrontier_BattleDomePreBattleRoom_Text_RestoreMonsToFullHealth, MSGBOX_DEFAULT
|
|
special LoadPlayerParty
|
|
frontier_setpartyorder FRONTIER_PARTY_SIZE
|
|
playfanfare MUS_HEAL
|
|
waitfanfare
|
|
special HealPlayerParty
|
|
call BattleFrontier_BattleDomePreBattleRoom_EventScript_RoundCompleteMessage
|
|
fadescreen FADE_TO_BLACK
|
|
dome_showstatictourneytree
|
|
waitstate
|
|
goto BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound
|
|
|
|
BattleFrontier_BattleDomePreBattleRoom_EventScript_RoundCompleteMessage::
|
|
frontier_get FRONTIER_DATA_BATTLE_NUM
|
|
switch VAR_RESULT
|
|
case DOME_ROUND2, BattleFrontier_BattleDomePreBattleRoom_EventScript_Round1Complete
|
|
case DOME_SEMIFINAL, BattleFrontier_BattleDomePreBattleRoom_EventScript_Round2Complete
|
|
case DOME_FINAL, BattleFrontier_BattleDomePreBattleRoom_EventScript_SemifinalsComplete
|
|
return
|
|
|
|
BattleFrontier_BattleDomePreBattleRoom_EventScript_Round1Complete::
|
|
msgbox BattleFrontier_BattleDomePreBattleRoom_Text_Round1Complete, MSGBOX_DEFAULT
|
|
return
|
|
|
|
BattleFrontier_BattleDomePreBattleRoom_EventScript_Round2Complete::
|
|
msgbox BattleFrontier_BattleDomePreBattleRoom_Text_Round2Complete, MSGBOX_DEFAULT
|
|
return
|
|
|
|
BattleFrontier_BattleDomePreBattleRoom_EventScript_SemifinalsComplete::
|
|
msgbox BattleFrontier_BattleDomePreBattleRoom_Text_SemifinalsComplete, MSGBOX_DEFAULT
|
|
return
|
|
|
|
BattleFrontier_BattleDomePreBattleRoom_Movement_AttendantMoveAside:
|
|
walk_right
|
|
face_left
|
|
step_end
|
|
|
|
BattleFrontier_BattleDomePreBattleRoom_Movement_PlayerEnter:
|
|
walk_up
|
|
walk_up
|
|
walk_up
|
|
walk_up
|
|
step_end
|
|
|
|
BattleFrontier_BattleDomePreBattleRoom_Movement_PlayerWalkToDoor:
|
|
walk_up
|
|
step_end
|
|
|
|
BattleFrontier_BattleDomePreBattleRoom_Movement_PlayerEnterDoor:
|
|
walk_up
|
|
set_invisible
|
|
step_end
|
|
|
|
.ifdef FRENCH
|
|
.include "data/maps/BattleFrontier_BattleDomePreBattleRoom/text_fr.inc"
|
|
.else
|
|
.ifdef ITALIAN
|
|
.include "data/maps/BattleFrontier_BattleDomePreBattleRoom/text_it.inc"
|
|
.else
|
|
.ifdef SPANISH
|
|
.include "data/maps/BattleFrontier_BattleDomePreBattleRoom/text_es.inc"
|
|
.else
|
|
.include "data/maps/BattleFrontier_BattleDomePreBattleRoom/text.inc"
|
|
.endif
|
|
.endif
|
|
.endif
|