pokeemerald/data/maps/TerraCave_End/scripts.inc

75 lines
2.0 KiB
C++

.set LOCALID_GROUDON, 1
TerraCave_End_MapScripts::
map_script MAP_SCRIPT_ON_RESUME, TerraCave_End_OnResume
map_script MAP_SCRIPT_ON_TRANSITION, TerraCave_End_OnTransition
.byte 0
TerraCave_End_OnResume:
call_if_set FLAG_SYS_CTRL_OBJ_DELETE, TerraCave_End_EventScript_TryRemoveGroudon
end
TerraCave_End_EventScript_TryRemoveGroudon::
specialvar VAR_RESULT, GetBattleOutcome
goto_if_ne VAR_RESULT, B_OUTCOME_CAUGHT, Common_EventScript_NopReturn
removeobject LOCALID_GROUDON
return
TerraCave_End_OnTransition:
call_if_unset FLAG_DEFEATED_GROUDON, TerraCave_End_EventScript_ShowGroudon
end
TerraCave_End_EventScript_ShowGroudon::
clearflag FLAG_HIDE_TERRA_CAVE_GROUDON
setvar VAR_TEMP_1, 1
return
TerraCave_End_EventScript_Groudon::
lockall
applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_FaceUp
waitmovement 0
applymovement LOCALID_GROUDON, TerraCave_End_Movement_GroudonApproach
waitmovement 0
waitse
playmoncry SPECIES_GROUDON, CRY_MODE_ENCOUNTER
delay 40
waitmoncry
setvar VAR_LAST_TALKED, LOCALID_GROUDON
setwildbattle SPECIES_GROUDON, 70, ITEM_NONE
setflag FLAG_SYS_CTRL_OBJ_DELETE
special BattleSetup_StartLegendaryBattle
waitstate
clearflag FLAG_SYS_CTRL_OBJ_DELETE
setvar VAR_TEMP_1, 0
specialvar VAR_RESULT, GetBattleOutcome
goto_if_eq VAR_RESULT, B_OUTCOME_WON, TerraCave_End_EventScript_DefeatedGroudon
goto_if_eq VAR_RESULT, B_OUTCOME_RAN, TerraCave_End_EventScript_RanFromGroudon
goto_if_eq VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED, TerraCave_End_EventScript_RanFromGroudon
setvar VAR_SHOULD_END_ABNORMAL_WEATHER, 1
setflag FLAG_DEFEATED_GROUDON
releaseall
end
TerraCave_End_EventScript_DefeatedGroudon::
setvar VAR_SHOULD_END_ABNORMAL_WEATHER, 1
setflag FLAG_DEFEATED_GROUDON
goto Common_EventScript_RemoveStaticPokemon
end
TerraCave_End_EventScript_RanFromGroudon::
setvar VAR_0x8004, SPECIES_GROUDON
goto Common_EventScript_LegendaryFlewAway
end
TerraCave_End_Movement_GroudonApproach:
init_affine_anim
walk_down_start_affine
delay_16
delay_16
walk_down_affine
delay_16
delay_16
walk_down_affine
step_end