pokefirered/data/maps/PokemonLeague_ChampionsRoom/scripts.inc
2022-06-24 21:10:48 -04:00

239 lines
7.1 KiB
C++

.equ LOCALID_RIVAL, 1
.equ LOCALID_PROF_OAK, 2
PokemonLeague_ChampionsRoom_MapScripts::
map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, PokemonLeague_ChampionsRoom_OnWarp
map_script MAP_SCRIPT_ON_RESUME, PokemonLeague_ChampionsRoom_OnResume
map_script MAP_SCRIPT_ON_FRAME_TABLE, PokemonLeague_ChampionsRoom_OnFrame
.byte 0
PokemonLeague_ChampionsRoom_OnResume::
setvar VAR_0x8004, 4
call PokemonLeague_EventScript_DoLightingEffect
compare VAR_STARTER_MON, 2
call_if_eq PokemonLeague_ChampionsRoom_EventScript_CheckStopTriggerSquirtle
compare VAR_STARTER_MON, 1
call_if_eq PokemonLeague_ChampionsRoom_EventScript_CheckStopTriggerBulbasaur
compare VAR_STARTER_MON, 0
call_if_eq PokemonLeague_ChampionsRoom_EventScript_CheckStopTriggerCharmander
end
PokemonLeague_ChampionsRoom_EventScript_CheckStopTriggerSquirtle::
goto_if_defeated TRAINER_CHAMPION_FIRST_SQUIRTLE, PokemonLeague_ChampionsRoom_EventScript_StopSceneTrigger
goto_if_defeated TRAINER_CHAMPION_REMATCH_SQUIRTLE, PokemonLeague_ChampionsRoom_EventScript_StopSceneTrigger
return
PokemonLeague_ChampionsRoom_EventScript_CheckStopTriggerBulbasaur::
goto_if_defeated TRAINER_CHAMPION_FIRST_BULBASAUR, PokemonLeague_ChampionsRoom_EventScript_StopSceneTrigger
goto_if_defeated TRAINER_CHAMPION_REMATCH_BULBASAUR, PokemonLeague_ChampionsRoom_EventScript_StopSceneTrigger
return
PokemonLeague_ChampionsRoom_EventScript_CheckStopTriggerCharmander::
goto_if_defeated TRAINER_CHAMPION_FIRST_CHARMANDER, PokemonLeague_ChampionsRoom_EventScript_StopSceneTrigger
goto_if_defeated TRAINER_CHAMPION_REMATCH_CHARMANDER, PokemonLeague_ChampionsRoom_EventScript_StopSceneTrigger
return
PokemonLeague_ChampionsRoom_EventScript_StopSceneTrigger::
setvar VAR_TEMP_1, 1
return
PokemonLeague_ChampionsRoom_OnWarp::
map_script_2 VAR_TEMP_1, 0, PokemonLeague_ChampionsRoom_EventScript_TurnPlayerNorth
.2byte 0
PokemonLeague_ChampionsRoom_EventScript_TurnPlayerNorth::
turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH
end
PokemonLeague_ChampionsRoom_OnFrame::
map_script_2 VAR_TEMP_1, 0, PokemonLeague_ChampionsRoom_EventScript_EnterRoom
.2byte 0
PokemonLeague_ChampionsRoom_EventScript_EnterRoom::
lockall
textcolor 0
setflag FLAG_TEMP_2
applymovement OBJ_EVENT_ID_PLAYER, PokemonLeague_ChampionsRoom_Movement_PlayerEnter
waitmovement 0
delay 20
call_if_unset FLAG_SYS_GAME_CLEAR, PokemonLeague_ChampionsRoom_EventScript_Intro
call_if_set FLAG_SYS_GAME_CLEAR, PokemonLeague_ChampionsRoom_EventScript_RematchIntro
goto_if_questlog PokemonLeague_ChampionsRoom_EventScript_QuestLogEnd
setflag FLAG_TEMP_3
setflag FLAG_TEMP_5
savebgm MUS_VICTORY_GYM_LEADER
call_if_unset FLAG_SYS_CAN_LINK_WITH_RS, PokemonLeague_ChampionsRoom_EventScript_Battle
call_if_set FLAG_SYS_CAN_LINK_WITH_RS, PokemonLeague_ChampionsRoom_EventScript_Rematch
setflag FLAG_TEMP_4
clearflag FLAG_TEMP_5
setflag FLAG_DEFEATED_CHAMP
setflag FLAG_TEMP_4
msgbox PokemonLeague_ChampionsRoom_Text_PostBattle
playbgm MUS_SLOW_PALLET, 0
addobject LOCALID_PROF_OAK
msgbox PokemonLeague_ChampionsRoom_Text_OakPlayer
closemessage
applymovement OBJ_EVENT_ID_PLAYER, PokemonLeague_ChampionsRoom_Movement_PlayerWatchOakEnter
applymovement LOCALID_RIVAL, PokemonLeague_ChampionsRoom_Movement_RivalWatchOakEnter
applymovement LOCALID_PROF_OAK, PokemonLeague_ChampionsRoom_Movement_OakEnter
waitmovement 0
delay 25
specialvar VAR_RESULT, GetStarterSpecies
getspeciesname 0, VAR_RESULT
msgbox PokemonLeague_ChampionsRoom_Text_OakCongratulations
applymovement LOCALID_PROF_OAK, Movement_WalkInPlaceFastestRight
applymovement LOCALID_RIVAL, Movement_WalkInPlaceFastestLeft
waitmovement 0
msgbox PokemonLeague_ChampionsRoom_Text_OakImDisappointedRival
closemessage
applymovement LOCALID_PROF_OAK, Movement_WalkInPlaceFastestDown
waitmovement 0
delay 20
msgbox PokemonLeague_ChampionsRoom_Text_OakPlayerComeWithMe
closemessage
delay 13
applymovement LOCALID_PROF_OAK, PokemonLeague_ChampionsRoom_Movement_OakExit
applymovement OBJ_EVENT_ID_PLAYER, PokemonLeague_ChampionsRoom_Movement_PlayerExit
waitmovement 0
setvar VAR_TEMP_1, 1
warp MAP_POKEMON_LEAGUE_HALL_OF_FAME, 255, 5, 12
waitstate
releaseall
end
PokemonLeague_ChampionsRoom_EventScript_QuestLogEnd::
call PokemonLeague_ChampionsRoom_EventScript_StopSceneTrigger
releaseall
end
PokemonLeague_ChampionsRoom_EventScript_Battle::
compare VAR_STARTER_MON, 2
call_if_eq PokemonLeague_ChampionsRoom_EventScript_BattleSquirtle
compare VAR_STARTER_MON, 1
call_if_eq PokemonLeague_ChampionsRoom_EventScript_BattleBulbasaur
compare VAR_STARTER_MON, 0
call_if_eq PokemonLeague_ChampionsRoom_EventScript_BattleCharmander
return
PokemonLeague_ChampionsRoom_EventScript_Rematch::
compare VAR_STARTER_MON, 2
call_if_eq PokemonLeague_ChampionsRoom_EventScript_RematchSquirtle
compare VAR_STARTER_MON, 1
call_if_eq PokemonLeague_ChampionsRoom_EventScript_RematchBulbasaur
compare VAR_STARTER_MON, 0
call_if_eq PokemonLeague_ChampionsRoom_EventScript_RematchCharmander
return
PokemonLeague_ChampionsRoom_EventScript_Intro::
msgbox PokemonLeague_ChampionsRoom_Text_Intro
return
PokemonLeague_ChampionsRoom_EventScript_RematchIntro::
msgbox PokemonLeague_ChampionsRoom_Text_RematchIntro
return
PokemonLeague_ChampionsRoom_EventScript_BattleSquirtle::
trainerbattle_no_intro TRAINER_CHAMPION_FIRST_SQUIRTLE, PokemonLeague_ChampionsRoom_Text_Defeat
return
PokemonLeague_ChampionsRoom_EventScript_BattleBulbasaur::
trainerbattle_no_intro TRAINER_CHAMPION_FIRST_BULBASAUR, PokemonLeague_ChampionsRoom_Text_Defeat
return
PokemonLeague_ChampionsRoom_EventScript_BattleCharmander::
trainerbattle_no_intro TRAINER_CHAMPION_FIRST_CHARMANDER, PokemonLeague_ChampionsRoom_Text_Defeat
return
PokemonLeague_ChampionsRoom_EventScript_RematchSquirtle::
trainerbattle_no_intro TRAINER_CHAMPION_REMATCH_SQUIRTLE, PokemonLeague_ChampionsRoom_Text_Defeat
return
PokemonLeague_ChampionsRoom_EventScript_RematchBulbasaur::
trainerbattle_no_intro TRAINER_CHAMPION_REMATCH_BULBASAUR, PokemonLeague_ChampionsRoom_Text_Defeat
return
PokemonLeague_ChampionsRoom_EventScript_RematchCharmander::
trainerbattle_no_intro TRAINER_CHAMPION_REMATCH_CHARMANDER, PokemonLeague_ChampionsRoom_Text_Defeat
return
PokemonLeague_ChampionsRoom_Movement_PlayerEnter::
walk_up
walk_up
walk_up
walk_up
walk_up
walk_up
walk_up
walk_up
walk_up
walk_up
step_end
PokemonLeague_ChampionsRoom_Movement_PlayerExit::
delay_16
walk_left
walk_up
walk_up
walk_up
walk_right
walk_up
walk_up
walk_up
walk_up
delay_8
set_invisible
step_end
PokemonLeague_ChampionsRoom_Movement_PlayerWatchOakEnter::
delay_8
walk_in_place_fastest_down
delay_16
delay_16
delay_16
delay_16
delay_16
delay_16
delay_16
walk_in_place_fastest_left
step_end
PokemonLeague_ChampionsRoom_Movement_OakEnter::
delay_16
delay_16
walk_up
walk_up
walk_up
walk_up
walk_up
walk_left
walk_up
walk_up
walk_in_place_fastest_down
delay_16
step_end
PokemonLeague_ChampionsRoom_Movement_OakExit::
walk_up
walk_up
walk_right
walk_up
walk_up
walk_up
walk_up
delay_8
set_invisible
step_end
PokemonLeague_ChampionsRoom_Movement_RivalWatchOakEnter::
delay_16
delay_16
delay_16
delay_16
delay_16
delay_16
delay_16
delay_16
delay_16
walk_in_place_fastest_left
step_end