pokeheartgold/files/fielddata/script/scr_seq/scr_seq_0825_T10R0701.s

209 lines
4.2 KiB
ArmAsm

#include "constants/scrcmd.h"
#include "fielddata/script/scr_seq/event_T10R0701.h"
#include "msgdata/msg/msg_0528_T10R0701.h"
.include "asm/macros/script.inc"
.rodata
scrdef scr_seq_T10R0701_000
scrdef scr_seq_T10R0701_001
scrdef_end
scr_seq_T10R0701_001:
stop_bgm 0
end
scr_seq_T10R0701_000:
scrcmd_609
lockall
toggle_following_pokemon_movement 0
wait_following_pokemon_movement
following_pokemon_movement 55
apply_movement obj_player, _0188
apply_movement obj_T10R0701_wataru, _0194
wait_movement
wait_following_pokemon_movement
toggle_following_pokemon_movement 1
following_pokemon_movement 48
buffer_players_name 0
gender_msgbox msg_0528_T10R0701_00000, msg_0528_T10R0701_00001
closemsg
toggle_following_pokemon_movement 0
wait_following_pokemon_movement
following_pokemon_movement 55
apply_movement obj_player, _01A8
wait_movement
wait_following_pokemon_movement
toggle_following_pokemon_movement 1
following_pokemon_movement 48
party_count_not_egg VAR_SPECIAL_RESULT
hall_of_fame_anim VAR_SPECIAL_RESULT
add_special_game_stat 23
fade_screen 6, 1, 0, RGB_BLACK
wait_fade
call _01B4
hasitem ITEM_S_S__TICKET, 1, VAR_SPECIAL_RESULT
compare VAR_SPECIAL_RESULT, 1
goto_if_eq _009A
setvar VAR_SCENE_PLAYERS_HOUSE_1F, 3
_009A:
setflag FLAG_UNK_97E
clearflag FLAG_HIDE_LAKE_OF_RAGE_PRYCE
call_if_unset FLAG_CAUGHT_HO_OH, _01C9
call_if_unset FLAG_CAUGHT_LUGIA, _01CF
call_if_unset FLAG_CAUGHT_SUDOWOODO, _01D5
call_if_unset FLAG_CAUGHT_RED_GYARADOS, _01DB
call_if_unset FLAG_CAUGHT_MEWTWO, _01E1
call_if_unset FLAG_CAUGHT_ARTICUNO, _01E7
call_if_unset FLAG_CAUGHT_ZAPDOS, _01ED
call_if_unset FLAG_CAUGHT_MOLTRES, _0206
goto_if_unset FLAG_CAUGHT_SNORLAX, _020C
_0105:
call_if_unset FLAG_CAUGHT_SUICUNE, _0227
get_game_version VAR_TEMP_x4000
compare VAR_TEMP_x4000, 7
goto_if_ne _012D
goto _023A
_0127:
goto _0133
_012D:
goto _024F
_0133:
call_if_unset FLAG_CAUGHT_RAYQUAZA, _0264
compare VAR_ROAMER_ENTEI_STATUS, 2
call_if_eq _026A
compare VAR_ROAMER_RAIKOU_STATUS, 2
call_if_eq _0275
compare VAR_ROAMER_LATIAS_STATUS, 2
call_if_eq _0280
compare VAR_ROAMER_LATIOS_STATUS, 2
call_if_eq _028B
hof_credits 0
scrcmd_150
fade_screen 6, 1, 1, RGB_BLACK
wait_fade
releaseall
end
.balign 4, 0
_0188:
step 12, 14
step 3, 2
step_end
.balign 4, 0
_0194:
step 12, 12
step 3, 2
step 15, 1
step 2, 2
step_end
.balign 4, 0
_01A8:
step 0, 2
step 12, 4
step_end
_01B4:
goto_if_set FLAG_GAME_CLEAR, _01C3
setflag FLAG_UNK_998
_01C3:
clearflag FLAG_UNK_25F
return
_01C9:
clearflag FLAG_HIDE_BELL_TOWER_HO_OH
return
_01CF:
clearflag FLAG_HIDE_WHIRL_ISLAND_LUGIA
return
_01D5:
clearflag FLAG_HIDE_ROUTE_36_SUDOWOODO
return
_01DB:
clearflag FLAG_HIDE_LAKE_OF_RAGE_RED_GYARADOS
return
_01E1:
clearflag FLAG_HIDE_CERULEAN_CAVE_MEWTWO
return
_01E7:
clearflag FLAG_HIDE_SEAFOAM_ISLAND_ARTICUNO
return
_01ED:
check_badge BADGE_EARTH, VAR_SPECIAL_RESULT
compare VAR_SPECIAL_RESULT, 1
goto_if_ne _0204
clearflag FLAG_HIDE_ROUTE_10_ZAPDOS
_0204:
return
_0206:
clearflag FLAG_HIDE_MT_SILVER_CAVE_MOLTRES
return
_020C:
goto_if_set FLAG_SNORLAX_MEET, _021D
goto _0105
_021D:
clearflag FLAG_HIDE_ROUTE_12_SNORLAX
goto _0105
_0227:
compare VAR_SCENE_ROUTE_25, 3
goto_if_ne _0238
clearflag FLAG_HIDE_BURNED_TOWER_STATIC_SUICUNE
_0238:
return
_023A:
goto_if_set FLAG_CAUGHT_KYOGRE, _0133
clearflag FLAG_BEAT_OR_ESCAPED_FROM_GROUDON_OR_KYOGRE
goto _0133
// This branch is for SoulSilver, so this should be checking
// FLAG_CAUGHT_GROUDON instead of FLAG_CAUGHT_KYOGRE. This problem
// has existed since this file was disassembled and is probably a
// mistake in SoulSilver. Because capturing Groudon sets
// VAR_SCENE_EMBEDDED_TOWER to 4 and the tower does not regenerate
// Groudon if the variable is 4 or more, the mistake has no effect.
_024F:
goto_if_set FLAG_CAUGHT_KYOGRE, _0133
clearflag FLAG_BEAT_OR_ESCAPED_FROM_GROUDON_OR_KYOGRE
goto _0133
_0264:
clearflag FLAG_HIDE_EMBEDDED_TOWER_RAYQUAZA
return
_026A:
setvar VAR_ROAMER_ENTEI_STATUS, 0
create_roamer 1
return
_0275:
setvar VAR_ROAMER_RAIKOU_STATUS, 0
create_roamer 0
return
_0280:
setvar VAR_ROAMER_LATIAS_STATUS, 0
create_roamer 2
return
_028B:
setvar VAR_ROAMER_LATIOS_STATUS, 0
create_roamer 3
return
.balign 4, 0