tumbledemerald-legacy/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc
2022-05-19 17:14:13 +00:00

180 lines
6.8 KiB
C++

.set LOCALID_PLAYER, 1
.set LOCALID_OPPONENT, 2
.set LOCALID_ATTENDANT, 3
VerdanturfTown_BattleTentBattleRoom_MapScripts::
map_script MAP_SCRIPT_ON_TRANSITION, VerdanturfTown_BattleTentBattleRoom_OnTransition
map_script MAP_SCRIPT_ON_FRAME_TABLE, VerdanturfTown_BattleTentBattleRoom_OnFrame
map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, VerdanturfTown_BattleTentBattleRoom_OnWarp
.byte 0
@ On this map the player (OBJ_EVENT_ID_PLAYER) is hidden
@ The player is represented instead by object event 1, which has the gfx id VAR_OBJ_GFX_ID_1
@ The opponent is represented by object event 2, which has the gfx id VAR_OBJ_GFX_ID_0
VerdanturfTown_BattleTentBattleRoom_OnTransition:
call VerdanturfTown_BattleTentBattleRoom_EventScript_SetPlayerGfx
end
VerdanturfTown_BattleTentBattleRoom_EventScript_SetPlayerGfx::
checkplayergender
goto_if_eq VAR_RESULT, MALE, VerdanturfTown_BattleTentBattleRoom_EventScript_SetPlayerGfxMale
goto_if_eq VAR_RESULT, FEMALE, VerdanturfTown_BattleTentBattleRoom_EventScript_SetPlayerGfxFemale
return
VerdanturfTown_BattleTentBattleRoom_EventScript_SetPlayerGfxMale::
setvar VAR_OBJ_GFX_ID_1, OBJ_EVENT_GFX_RIVAL_BRENDAN_NORMAL
setvar VAR_OBJ_GFX_ID_0, OBJ_EVENT_GFX_RIVAL_BRENDAN_NORMAL
return
VerdanturfTown_BattleTentBattleRoom_EventScript_SetPlayerGfxFemale::
setvar VAR_OBJ_GFX_ID_1, OBJ_EVENT_GFX_RIVAL_MAY_NORMAL
setvar VAR_OBJ_GFX_ID_0, OBJ_EVENT_GFX_RIVAL_MAY_NORMAL
return
VerdanturfTown_BattleTentBattleRoom_OnFrame:
map_script_2 VAR_TEMP_0, 0, VerdanturfTown_BattleTentBattleRoom_EventScript_EnterRoom
.2byte 0
VerdanturfTown_BattleTentBattleRoom_EventScript_EnterRoom::
showobjectat LOCALID_PLAYER, MAP_VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM
applymovement LOCALID_PLAYER, VerdanturfTown_BattleTentBattleRoom_Movement_PlayerEnter
waitmovement 0
frontier_get FRONTIER_DATA_BATTLE_NUM
goto_if_ne VAR_RESULT, 0, VerdanturfTown_BattleTentBattleRoom_EventScript_AskContinueChallenge
VerdanturfTown_BattleTentBattleRoom_EventScript_NextOpponentEnter::
tower_setopponent
addobject LOCALID_OPPONENT
applymovement LOCALID_OPPONENT, VerdanturfTown_BattleTentBattleRoom_Movement_OpponentEnter
waitmovement 0
battletent_getopponentintro
msgbox gStringVar4, MSGBOX_DEFAULT
waitmessage
call BattleFrontier_BattlePalaceBattleRoom_EventScript_DoPalaceBattle
switch VAR_RESULT
case 1, VerdanturfTown_BattleTentBattleRoom_EventScript_DefeatedOpponent
VerdanturfTown_BattleTentBattleRoom_EventScript_WarpToLobbyLost::
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST
special LoadPlayerParty
warp MAP_VERDANTURF_TOWN_BATTLE_TENT_LOBBY, 6, 6
waitstate
VerdanturfTown_BattleTentBattleRoom_EventScript_DefeatedOpponent::
frontier_get FRONTIER_DATA_BATTLE_NUM
addvar VAR_RESULT, 1
frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT
switch VAR_RESULT
case 3, VerdanturfTown_BattleTentBattleRoom_EventScript_WarpToLobbyWon
applymovement LOCALID_OPPONENT, VerdanturfTown_BattleTentBattleRoom_Movement_OpponentExit
waitmovement 0
removeobject LOCALID_OPPONENT
applymovement LOCALID_ATTENDANT, Common_Movement_WalkInPlaceFasterDown
applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp
waitmovement 0
msgbox BattleFrontier_BattlePalaceBattleRoom_Text_LetMeRestoreYourMons, MSGBOX_DEFAULT
special LoadPlayerParty
special SavePlayerParty
frontier_setpartyorder FRONTIER_PARTY_SIZE
playfanfare MUS_HEAL
waitfanfare
special HealPlayerParty
VerdanturfTown_BattleTentBattleRoom_EventScript_AskContinueChallenge::
frontier_get FRONTIER_DATA_BATTLE_NUM
call_if_eq VAR_RESULT, 1, VerdanturfTown_BattleTentBattleRoom_EventScript_ReadyFor2ndOpponent
call_if_eq VAR_RESULT, 2, VerdanturfTown_BattleTentBattleRoom_EventScript_ReadyFor3rdOpponent
multichoice 20, 6, MULTI_GO_ON_REST_RETIRE, TRUE
switch VAR_RESULT
case 0, VerdanturfTown_BattleTentBattleRoom_EventScript_ContinueChallenge
case 1, VerdanturfTown_BattleTentBattleRoom_EventScript_AskPauseChallenge
case 2, VerdanturfTown_BattleTentBattleRoom_EventScript_AskRetireChallenge
VerdanturfTown_BattleTentBattleRoom_EventScript_AskPauseChallenge::
msgbox BattleFrontier_BattlePalaceBattleRoom_Text_SaveAndQuitGame, MSGBOX_YESNO
switch VAR_RESULT
case NO, VerdanturfTown_BattleTentBattleRoom_EventScript_AskContinueChallenge
case YES, VerdanturfTown_BattleTentBattleRoom_EventScript_PauseChallenge
case MULTI_B_PRESSED, VerdanturfTown_BattleTentBattleRoom_EventScript_AskContinueChallenge
VerdanturfTown_BattleTentBattleRoom_EventScript_AskRetireChallenge::
message BattleFrontier_BattlePalaceBattleRoom_Text_WishToQuitChallenge
waitmessage
multichoicedefault 20, 8, MULTI_YESNO, 1, FALSE
switch VAR_RESULT
case 1, VerdanturfTown_BattleTentBattleRoom_EventScript_AskContinueChallenge
case 0, VerdanturfTown_BattleTentBattleRoom_EventScript_WarpToLobbyLost
case MULTI_B_PRESSED, VerdanturfTown_BattleTentBattleRoom_EventScript_AskContinueChallenge
VerdanturfTown_BattleTentBattleRoom_EventScript_ContinueChallenge::
applymovement LOCALID_ATTENDANT, Common_Movement_WalkInPlaceFasterRight
applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight
waitmovement 0
closemessage
goto VerdanturfTown_BattleTentBattleRoom_EventScript_NextOpponentEnter
VerdanturfTown_BattleTentBattleRoom_EventScript_WarpToLobbyWon::
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON
special LoadPlayerParty
warp MAP_VERDANTURF_TOWN_BATTLE_TENT_LOBBY, 6, 6
waitstate
VerdanturfTown_BattleTentBattleRoom_EventScript_PauseChallenge::
message BattleFrontier_BattlePalaceBattleRoom_Text_SavingData
waitmessage
verdanturftent_save CHALLENGE_STATUS_PAUSED
playse SE_SAVE
waitse
fadescreen FADE_TO_BLACK
frontier_reset
end
VerdanturfTown_BattleTentBattleRoom_OnWarp:
map_script_2 VAR_TEMP_1, 0, VerdanturfTown_BattleTentBattleRoom_EventScript_SetUpObjects
.2byte 0
VerdanturfTown_BattleTentBattleRoom_EventScript_SetUpObjects::
hideobjectat LOCALID_PLAYER, MAP_VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM
call VerdanturfTown_BattleTentBattleRoom_EventScript_SetPlayerGfx
setvar VAR_TEMP_1, 1
applymovement OBJ_EVENT_ID_PLAYER, VerdanturfTown_BattleTentBattleRoom_Movement_SetInvisible
removeobject LOCALID_OPPONENT
end
VerdanturfTown_BattleTentBattleRoom_EventScript_ReadyFor2ndOpponent::
message BattleFrontier_BattlePalaceBattleRoom_Text_PreparedFor2ndOpponent
waitmessage
return
VerdanturfTown_BattleTentBattleRoom_EventScript_ReadyFor3rdOpponent::
message BattleFrontier_BattlePalaceBattleRoom_Text_PreparedFor3rdOpponent
waitmessage
return
VerdanturfTown_BattleTentBattleRoom_Movement_SetInvisible:
set_invisible
step_end
VerdanturfTown_BattleTentBattleRoom_Movement_PlayerEnter:
set_visible
walk_up
walk_up
walk_up
face_right
step_end
VerdanturfTown_BattleTentBattleRoom_Movement_OpponentEnter:
walk_down
walk_down
walk_down
walk_down
face_left
step_end
VerdanturfTown_BattleTentBattleRoom_Movement_OpponentExit:
walk_up
walk_up
walk_up
walk_up
step_end