1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
|
.set LOCALID_RAYQUAZA_SLEEPING, 1
SkyPillar_Top_MapScripts::
map_script MAP_SCRIPT_ON_RESUME, SkyPillar_Top_OnResume
map_script MAP_SCRIPT_ON_TRANSITION, SkyPillar_Top_OnTransition
map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SkyPillar_Top_OnWarp
.byte 0
SkyPillar_Top_OnResume:
call_if_set FLAG_SYS_CTRL_OBJ_DELETE, SkyPillar_Top_EventScript_TryRemoveRayquaza
end
SkyPillar_Top_EventScript_TryRemoveRayquaza::
specialvar VAR_RESULT, GetBattleOutcome
goto_if_ne VAR_RESULT, B_OUTCOME_CAUGHT, Common_EventScript_NopReturn
removeobject VAR_LAST_TALKED
return
SkyPillar_Top_OnTransition:
call_if_lt VAR_SKY_PILLAR_STATE, 2, SkyPillar_Top_EventScript_SetCleanLayout
call_if_ge VAR_SKY_PILLAR_STATE, 2, SkyPillar_Top_EventScript_TryShowRayquaza
end
SkyPillar_Top_EventScript_SetCleanLayout::
setmaplayoutindex LAYOUT_SKY_PILLAR_TOP_CLEAN
setobjectmovementtype LOCALID_RAYQUAZA_SLEEPING, MOVEMENT_TYPE_FACE_DOWN
return
SkyPillar_Top_EventScript_TryShowRayquaza::
call_if_unset FLAG_DEFEATED_RAYQUAZA, SkyPillar_Top_EventScript_ShowRayquaza
return
SkyPillar_Top_EventScript_ShowRayquaza::
clearflag FLAG_HIDE_SKY_PILLAR_TOP_RAYQUAZA_STILL
return
SkyPillar_Top_OnWarp:
map_script_2 VAR_SKY_PILLAR_STATE, 0, SkyPillar_Top_EventScript_RayquazaFaceDown
.2byte 0
SkyPillar_Top_EventScript_RayquazaFaceDown::
turnobject LOCALID_RAYQUAZA_SLEEPING, DIR_SOUTH
end
SkyPillar_Top_EventScript_Rayquaza::
lockall
waitse
playmoncry SPECIES_RAYQUAZA, CRY_MODE_ENCOUNTER
delay 40
waitmoncry
setwildbattle SPECIES_RAYQUAZA, 70
setflag FLAG_SYS_CTRL_OBJ_DELETE
special BattleSetup_StartLegendaryBattle
waitstate
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
goto_if_eq VAR_RESULT, B_OUTCOME_WON, SkyPillar_Top_EventScript_DefeatedRayquaza
goto_if_eq VAR_RESULT, B_OUTCOME_RAN, SkyPillar_Top_EventScript_RanFromRayquaza
goto_if_eq VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED, SkyPillar_Top_EventScript_RanFromRayquaza
setflag FLAG_DEFEATED_RAYQUAZA
releaseall
end
SkyPillar_Top_EventScript_DefeatedRayquaza::
setflag FLAG_DEFEATED_RAYQUAZA
goto SkyPillar_Top_EventScript_DefeatedRayquaza2
end
SkyPillar_Top_EventScript_RanFromRayquaza::
setvar VAR_0x8004, SPECIES_RAYQUAZA
goto SkyPillar_Top_EventScript_RanFromRayquaza2
end
SkyPillar_Top_EventScript_DefeatedRayquaza2::
fadescreenswapbuffers FADE_TO_BLACK
removeobject VAR_LAST_TALKED
fadescreenswapbuffers FADE_FROM_BLACK
releaseall
end
SkyPillar_Top_EventScript_RanFromRayquaza2::
fadescreenswapbuffers FADE_TO_BLACK
removeobject VAR_LAST_TALKED
fadescreenswapbuffers FADE_FROM_BLACK
bufferspeciesname STR_VAR_1, VAR_0x8004
msgbox gText_LegendaryFlewAway, MSGBOX_DEFAULT
releaseall
end
SkyPillar_Top_EventScript_AwakenRayquaza::
lockall
fadeoutbgm 1
applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_FaceUp
waitmovement 0
special SpawnCameraObject
applymovement OBJ_EVENT_ID_CAMERA, SkyPillar_Top_Movement_CameraPanUp
waitmovement 0
special RemoveCameraObject
applymovement LOCALID_RAYQUAZA_SLEEPING, SkyPillar_Top_Movement_RayquazaStir
waitmovement 0
waitse
playmoncry SPECIES_RAYQUAZA, CRY_MODE_ENCOUNTER
setvar VAR_0x8004, 1 @ vertical pan
setvar VAR_0x8005, 1 @ horizontal pan
setvar VAR_0x8006, 8 @ num shakes
setvar VAR_0x8007, 3 @ shake delay
special ShakeCamera
waitstate
waitse
playmoncry SPECIES_RAYQUAZA, CRY_MODE_ENCOUNTER
setvar VAR_0x8004, 1 @ vertical pan
setvar VAR_0x8005, 2 @ horizontal pan
setvar VAR_0x8006, 8 @ num shakes
setvar VAR_0x8007, 5 @ shake delay
special ShakeCamera
waitstate
waitmoncry
applymovement LOCALID_RAYQUAZA_SLEEPING, SkyPillar_Top_Movement_RayquazaFlyOff
waitmovement 0
removeobject LOCALID_RAYQUAZA_SLEEPING
msgbox SkyPillar_Top_Text_RayquazaFlewOff, MSGBOX_DEFAULT
closemessage
delay 20
fadeinbgm 1
special SpawnCameraObject
applymovement OBJ_EVENT_ID_CAMERA, SkyPillar_Top_Movement_CameraPanDown
waitmovement 0
special RemoveCameraObject
setvar VAR_SOOTOPOLIS_CITY_STATE, 5
setvar VAR_SKY_PILLAR_STATE, 1
setvar VAR_SKY_PILLAR_RAQUAZA_CRY_DONE, 1
releaseall
end
@ Rayquaza has unusual movement frames
@ See comments, or sAnimTable_Rayquaza
SkyPillar_Top_Movement_RayquazaStir:
delay_16
walk_in_place_fast_left @ Coiled, awake
delay_16
delay_16
delay_16
delay_16
delay_16
walk_in_place_left @ Coiled, mouth open
delay_16
walk_in_place_right @ Normal, awake
delay_16
delay_16
delay_16
delay_16
delay_16
delay_16
step_end
SkyPillar_Top_Movement_RayquazaFlyOff:
delay_16
walk_in_place_down @ Coiled, asleep
delay_8
walk_in_place_right @ Normal, awake
delay_8
walk_faster_up @ Fly up
slide_up
slide_up
slide_up
slide_up
slide_up
slide_up
step_end
SkyPillar_Top_Movement_CameraPanUp:
walk_slow_up
walk_slow_up
walk_slow_up
step_end
SkyPillar_Top_Movement_CameraPanDown:
walk_slow_down
walk_slow_down
walk_slow_down
step_end
SkyPillar_Top_Text_RayquazaFlewOff:
.string "The awakened RAYQUAZA flew off…$"
|