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
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
|
.set LOCALID_RIVAL, 2
Route103_MapScripts::
map_script MAP_SCRIPT_ON_TRANSITION, Route103_OnTransition
map_script MAP_SCRIPT_ON_LOAD, Route103_OnLoad
.byte 0
Route103_OnTransition:
call Common_EventScript_SetupRivalGfxId
call ProfBirch_EventScript_UpdateLocation
end
Route103_OnLoad:
call_if_set FLAG_SYS_GAME_CLEAR, Route103_EventScript_OpenAlteringCave
end
Route103_EventScript_OpenAlteringCave::
setmetatile 45, 5, METATILE_General_CaveEntrance_Top, TRUE
setmetatile 45, 6, METATILE_General_CaveEntrance_Bottom, FALSE
return
Route103_EventScript_Rival::
lockall
checkplayergender
goto_if_eq VAR_RESULT, MALE, Route103_EventScript_RivalMay
goto_if_eq VAR_RESULT, FEMALE, Route103_EventScript_RivalBrendan
end
Route103_EventScript_RivalMay::
msgbox Route103_Text_MayRoute103Pokemon, MSGBOX_DEFAULT
closemessage
playbgm MUS_ENCOUNTER_MAY, TRUE
applymovement LOCALID_RIVAL, Common_Movement_FacePlayer
waitmovement 0
applymovement LOCALID_RIVAL, Common_Movement_ExclamationMark
waitmovement 0
applymovement LOCALID_RIVAL, Common_Movement_Delay48
waitmovement 0
msgbox Route103_Text_MayLetsBattle, MSGBOX_DEFAULT
switch VAR_STARTER_MON
case 0, Route103_EventScript_StartMayBattleTreecko
case 1, Route103_EventScript_StartMayBattleTorchic
case 2, Route103_EventScript_StartMayBattleMudkip
end
Route103_EventScript_RivalBrendan::
msgbox Route103_Text_BrendanRoute103Pokemon, MSGBOX_DEFAULT
closemessage
playbgm MUS_ENCOUNTER_BRENDAN, TRUE
applymovement LOCALID_RIVAL, Common_Movement_FacePlayer
waitmovement 0
applymovement LOCALID_RIVAL, Common_Movement_ExclamationMark
waitmovement 0
applymovement LOCALID_RIVAL, Common_Movement_Delay48
waitmovement 0
msgbox Route103_Text_BrendanLetsBattle, MSGBOX_DEFAULT
switch VAR_STARTER_MON
case 0, Route103_EventScript_StartBrendanBattleTreecko
case 1, Route103_EventScript_StartBrendanBattleTorchic
case 2, Route103_EventScript_StartBrendanBattleMudkip
end
Route103_EventScript_StartMayBattleTreecko::
trainerbattle_no_intro TRAINER_MAY_ROUTE_103_TREECKO, Route103_Text_MayDefeated
goto Route103_EventScript_AfterMayBattle
end
Route103_EventScript_StartMayBattleTorchic::
trainerbattle_no_intro TRAINER_MAY_ROUTE_103_TORCHIC, Route103_Text_MayDefeated
goto Route103_EventScript_AfterMayBattle
end
Route103_EventScript_StartMayBattleMudkip::
trainerbattle_no_intro TRAINER_MAY_ROUTE_103_MUDKIP, Route103_Text_MayDefeated
goto Route103_EventScript_AfterMayBattle
end
Route103_EventScript_StartBrendanBattleTreecko::
trainerbattle_no_intro TRAINER_BRENDAN_ROUTE_103_TREECKO, Route103_Text_BrendanDefeated
goto Route103_EventScript_AfterBrendanBattle
end
Route103_EventScript_StartBrendanBattleTorchic::
trainerbattle_no_intro TRAINER_BRENDAN_ROUTE_103_TORCHIC, Route103_Text_BrendanDefeated
goto Route103_EventScript_AfterBrendanBattle
end
Route103_EventScript_StartBrendanBattleMudkip::
trainerbattle_no_intro TRAINER_BRENDAN_ROUTE_103_MUDKIP, Route103_Text_BrendanDefeated
goto Route103_EventScript_AfterBrendanBattle
end
Route103_EventScript_AfterMayBattle::
msgbox Route103_Text_MayTimeToHeadBack, MSGBOX_DEFAULT
goto Route103_EventScript_RivalExit
end
Route103_EventScript_AfterBrendanBattle::
msgbox Route103_Text_BrendanTimeToHeadBack, MSGBOX_DEFAULT
goto Route103_EventScript_RivalExit
end
Route103_EventScript_RivalExit::
closemessage
switch VAR_FACING
case DIR_SOUTH, Route103_EventScript_RivalExitFacingSouth
case DIR_NORTH, Route103_EventScript_RivalExitFacingNorth
case DIR_WEST, Route103_EventScript_RivalExitFacingEastOrWest
case DIR_EAST, Route103_EventScript_RivalExitFacingEastOrWest
end
Route103_EventScript_RivalExitFacingNorth::
applymovement OBJ_EVENT_ID_PLAYER, Route103_Movement_WatchRivalExitFacingNorth
applymovement LOCALID_RIVAL, Route103_Movement_RivalExitFacingNorth1
waitmovement 0
playse SE_LEDGE
applymovement LOCALID_RIVAL, Route103_EventScript_RivalExitFacingNorth2
waitmovement 0
goto Route103_EventScript_RivalEnd
end
Route103_EventScript_RivalExitFacingEastOrWest::
applymovement OBJ_EVENT_ID_PLAYER, Route103_Movement_WatchRivalExitFacingEastOrWest
applymovement LOCALID_RIVAL, Route103_Movement_RivalExit1
waitmovement 0
playse SE_LEDGE
applymovement LOCALID_RIVAL, Route103_Movement_RivalExit2
waitmovement 0
goto Route103_EventScript_RivalEnd
end
Route103_EventScript_RivalExitFacingSouth::
applymovement LOCALID_RIVAL, Route103_Movement_RivalExit1
waitmovement 0
playse SE_LEDGE
applymovement LOCALID_RIVAL, Route103_Movement_RivalExit2
waitmovement 0
goto Route103_EventScript_RivalEnd
end
Route103_EventScript_RivalEnd::
removeobject LOCALID_RIVAL
setvar VAR_BIRCH_LAB_STATE, 4
clearflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_RIVAL
setflag FLAG_DEFEATED_RIVAL_ROUTE103
setvar VAR_OLDALE_RIVAL_STATE, 1
clearflag FLAG_HIDE_OLDALE_TOWN_RIVAL
savebgm MUS_DUMMY
fadedefaultbgm
releaseall
end
Route103_Movement_RivalExitFacingNorth1:
walk_left
walk_down
step_end
Route103_EventScript_RivalExitFacingNorth2:
jump_2_down
delay_16
walk_down
walk_down
walk_down
walk_down
step_end
Route103_Movement_WatchRivalExitFacingNorth:
delay_16
delay_4
walk_in_place_faster_left
delay_16
walk_in_place_faster_down
step_end
Route103_Movement_RivalExit1:
walk_down
step_end
Route103_Movement_RivalExit2:
jump_2_down
delay_16
walk_down
walk_down
walk_down
step_end
Route103_Movement_WatchRivalExitFacingEastOrWest:
delay_16
walk_in_place_faster_down
step_end
Route103_EventScript_Boy::
msgbox Route103_Text_ShouldHaveBroughtPotion, MSGBOX_NPC
end
Route103_EventScript_Man::
msgbox Route103_Text_ShortcutToOldale, MSGBOX_NPC
end
Route103_EventScript_RouteSign::
msgbox Route103_Text_RouteSign, MSGBOX_SIGN
end
Route103_EventScript_Daisy::
trainerbattle_single TRAINER_DAISY, Route103_Text_DaisyIntro, Route103_Text_DaisyDefeated
msgbox Route103_Text_DaisyPostBattle, MSGBOX_AUTOCLOSE
end
Route103_EventScript_Amy::
trainerbattle_double TRAINER_AMY_AND_LIV_1, Route103_Text_AmyIntro, Route103_Text_AmyDefeated, Route103_Text_AmyNotEnoughPokemon, Route102_EventScript_AmyRegisterMatchCallAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
goto_if_eq VAR_RESULT, TRUE, Route102_EventScript_AmyRematch
msgbox Route103_Text_AmyPostBattle, MSGBOX_AUTOCLOSE
end
Route102_EventScript_AmyRegisterMatchCallAfterBattle::
msgbox Route103_Text_AmyLivRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_AMY_AND_LIV_1
release
end
Route102_EventScript_AmyRematch::
trainerbattle_rematch_double TRAINER_AMY_AND_LIV_1, Route103_Text_AmyRematchIntro, Route103_Text_AmyRematchDefeated, Route103_Text_AmyRematchNotEnoughPokemon
msgbox Route103_Text_AmyRematchPostBattle, MSGBOX_AUTOCLOSE
end
Route103_EventScript_Liv::
trainerbattle_double TRAINER_AMY_AND_LIV_1, Route103_Text_LivIntro, Route103_Text_LivDefeated, Route103_Text_LivNotEnoughPokemon, Route102_EventScript_LivRegisterMatchCallAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
goto_if_eq VAR_RESULT, TRUE, Route102_EventScript_LivRematch
msgbox Route103_Text_LivPostBattle, MSGBOX_AUTOCLOSE
end
Route102_EventScript_LivRegisterMatchCallAfterBattle::
msgbox Route103_Text_AmyLivRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_AMY_AND_LIV_1
release
end
Route102_EventScript_LivRematch::
trainerbattle_rematch_double TRAINER_AMY_AND_LIV_1, Route103_Text_LivRematchIntro, Route103_Text_LivRematchDefeated, Route103_Text_LivRematchNotEnoughPokemon
msgbox Route103_Text_LivRematchPostBattle, MSGBOX_AUTOCLOSE
end
Route103_EventScript_Andrew::
trainerbattle_single TRAINER_ANDREW, Route103_Text_AndrewIntro, Route103_Text_AndrewDefeated
msgbox Route103_Text_AndrewPostBattle, MSGBOX_AUTOCLOSE
end
Route103_EventScript_Miguel::
trainerbattle_single TRAINER_MIGUEL_1, Route103_Text_MiguelIntro, Route103_Text_MiguelDefeated, Route102_EventScript_MiguelRegisterMatchCallAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
goto_if_eq VAR_RESULT, TRUE, Route103_EventScript_MiguelRematch
msgbox Route103_Text_MiguelPostBattle, MSGBOX_DEFAULT
release
end
Route102_EventScript_MiguelRegisterMatchCallAfterBattle::
special PlayerFaceTrainerAfterBattle
waitmovement 0
msgbox Route103_Text_MiguelRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_MIGUEL_1
release
end
Route103_EventScript_MiguelRematch::
trainerbattle_rematch TRAINER_MIGUEL_1, Route103_Text_MiguelRematchIntro, Route103_Text_MiguelRematchDefeated
msgbox Route103_Text_MiguelRematchPostBattle, MSGBOX_AUTOCLOSE
end
Route103_EventScript_Marcos::
trainerbattle_single TRAINER_MARCOS, Route103_Text_MarcosIntro, Route103_Text_MarcosDefeated
msgbox Route103_Text_MarcosPostBattle, MSGBOX_AUTOCLOSE
end
Route103_EventScript_Rhett::
trainerbattle_single TRAINER_RHETT, Route103_Text_RhettIntro, Route103_Text_RhettDefeated
msgbox Route103_Text_RhettPostBattle, MSGBOX_AUTOCLOSE
end
Route103_EventScript_Pete::
trainerbattle_single TRAINER_PETE, Route103_Text_PeteIntro, Route103_Text_PeteDefeated
msgbox Route103_Text_PetePostBattle, MSGBOX_AUTOCLOSE
end
Route103_EventScript_Isabelle::
trainerbattle_single TRAINER_ISABELLE, Route103_Text_IsabelleIntro, Route103_Text_IsabelleDefeated
msgbox Route103_Text_IsabellePostBattle, MSGBOX_AUTOCLOSE
end
Route103_Text_MayRoute103Pokemon:
.string "MAY: Let's see… The POKéMON found\n"
.string "on ROUTE 103 include…$"
Route103_Text_MayLetsBattle:
.string "Oh, hi, {PLAYER}{KUN}!\p"
.string "…Oh, I see, my dad gave you\n"
.string "a POKéMON as a gift.\p"
.string "Since we're here, let's have a quick\n"
.string "battle!\p"
.string "I'll give you a taste of what being\n"
.string "a TRAINER is like.$"
Route103_Text_MayDefeated:
.string "Wow! That's great!\n"
.string "{PLAYER}{KUN}, you're pretty good!$"
Route103_Text_MayTimeToHeadBack:
.string "MAY: I think I know why my dad has\n"
.string "an eye out for you now.\p"
.string "I mean, you just got that POKéMON,\n"
.string "but it already likes you.\p"
.string "You might be able to befriend any\n"
.string "kind of POKéMON easily.\p"
.string "Well, it's time to head back to\n"
.string "the LAB.$"
Route103_Text_BrendanRoute103Pokemon:
.string "BRENDAN: Okay, so it's this one and\n"
.string "that one that live on ROUTE 103…$"
Route103_Text_BrendanLetsBattle:
.string "Hey, it's {PLAYER}!\p"
.string "…Oh, yeah, Dad gave you a POKéMON.\p"
.string "Since we're here, how about a little\n"
.string "battle?\p"
.string "I'll teach you what being a TRAINER's\n"
.string "about!$"
Route103_Text_BrendanDefeated:
.string "Huh, {PLAYER}, you're not too shabby.$"
Route103_Text_BrendanTimeToHeadBack:
.string "BRENDAN: I think I get it.\n"
.string "I think I know why my dad has his eye\l"
.string "out for you now.\p"
.string "Look, your POKéMON already likes you,\n"
.string "even though you just got it.\p"
.string "{PLAYER}, I get the feeling that you\n"
.string "could befriend any POKéMON with ease.\p"
.string "We should head back to the LAB.$"
Route103_Text_ShouldHaveBroughtPotion:
.string "My POKéMON is staggeringly tired…\n"
.string "I should have brought a POTION…$"
Route103_Text_ShortcutToOldale:
.string "If you cross the sea from here,\n"
.string "it'll be a shortcut to OLDALE TOWN.\p"
.string "Fufufu, that's useful, isn't it?$"
Route103_Text_RouteSign:
.string "ROUTE 103\n"
.string "{DOWN_ARROW} OLDALE TOWN$"
|