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
|
object_const_def
const ROUTE42_FISHER
const ROUTE42_POKEFAN_M
const ROUTE42_SUPER_NERD
const ROUTE42_FRUIT_TREE1
const ROUTE42_FRUIT_TREE2
const ROUTE42_FRUIT_TREE3
const ROUTE42_POKE_BALL1
const ROUTE42_POKE_BALL2
const ROUTE42_SUICUNE
Route42_MapScripts:
def_scene_scripts
scene_script .DummyScene0 ; SCENE_ROUTE42_NOTHING
scene_script .DummyScene1 ; SCENE_ROUTE42_SUICUNE
def_callbacks
.DummyScene0:
end
.DummyScene1:
end
Route42SuicuneScript:
showemote EMOTE_SHOCK, PLAYER, 15
pause 15
playsound SFX_WARP_FROM
applymovement ROUTE42_SUICUNE, Route42SuicuneMovement
disappear ROUTE42_SUICUNE
pause 10
setscene SCENE_ROUTE42_NOTHING
clearevent EVENT_SAW_SUICUNE_ON_ROUTE_36
setmapscene ROUTE_36, SCENE_ROUTE36_SUICUNE
end
TrainerFisherTully:
trainer FISHER, TULLY1, EVENT_BEAT_FISHER_TULLY, FisherTullySeenText, FisherTullyBeatenText, 0, .Script
.Script:
loadvar VAR_CALLERID, PHONE_FISHER_TULLY
endifjustbattled
opentext
checkflag ENGINE_TULLY_READY_FOR_REMATCH
iftrue .WantsBattle
checkflag ENGINE_TULLY_HAS_WATER_STONE
iftrue .HasWaterStone
checkcellnum PHONE_FISHER_TULLY
iftrue .NumberAccepted
checkevent EVENT_TULLY_ASKED_FOR_PHONE_NUMBER
iftrue .AskedAlready
writetext FisherTullyAfterBattleText
promptbutton
setevent EVENT_TULLY_ASKED_FOR_PHONE_NUMBER
scall .AskNumber1
sjump .AskForNumber
.AskedAlready:
scall .AskNumber2
.AskForNumber:
askforphonenumber PHONE_FISHER_TULLY
ifequal PHONE_CONTACTS_FULL, .PhoneFull
ifequal PHONE_CONTACT_REFUSED, .NumberDeclined
gettrainername STRING_BUFFER_3, FISHER, TULLY1
scall .RegisteredNumber
sjump .NumberAccepted
.WantsBattle:
scall .Rematch
winlosstext FisherTullyBeatenText, 0
readmem wTullyFightCount
ifequal 3, .Fight3
ifequal 2, .Fight2
ifequal 1, .Fight1
ifequal 0, .LoadFight0
.Fight3:
checkevent EVENT_RESTORED_POWER_TO_KANTO
iftrue .LoadFight3
.Fight2:
checkevent EVENT_BEAT_ELITE_FOUR
iftrue .LoadFight2
.Fight1:
checkevent EVENT_CLEARED_ROCKET_HIDEOUT
iftrue .LoadFight1
.LoadFight0:
loadtrainer FISHER, TULLY1
startbattle
reloadmapafterbattle
loadmem wTullyFightCount, 1
clearflag ENGINE_TULLY_READY_FOR_REMATCH
end
.LoadFight1:
loadtrainer FISHER, TULLY2
startbattle
reloadmapafterbattle
loadmem wTullyFightCount, 2
clearflag ENGINE_TULLY_READY_FOR_REMATCH
end
.LoadFight2:
loadtrainer FISHER, TULLY3
startbattle
reloadmapafterbattle
loadmem wTullyFightCount, 3
clearflag ENGINE_TULLY_READY_FOR_REMATCH
end
.LoadFight3:
loadtrainer FISHER, TULLY4
startbattle
reloadmapafterbattle
clearflag ENGINE_TULLY_READY_FOR_REMATCH
end
.HasWaterStone:
scall .Gift
verbosegiveitem WATER_STONE
iffalse .NoRoom
clearflag ENGINE_TULLY_HAS_WATER_STONE
setevent EVENT_TULLY_GAVE_WATER_STONE
sjump .NumberAccepted
.NoRoom:
sjump .PackFull
.AskNumber1:
jumpstd AskNumber1MScript
end
.AskNumber2:
jumpstd AskNumber2MScript
end
.RegisteredNumber:
jumpstd RegisteredNumberMScript
end
.NumberAccepted:
jumpstd NumberAcceptedMScript
end
.NumberDeclined:
jumpstd NumberDeclinedMScript
end
.PhoneFull:
jumpstd PhoneFullMScript
end
.Rematch:
jumpstd RematchMScript
end
.Gift:
jumpstd GiftMScript
end
.PackFull:
jumpstd PackFullMScript
end
TrainerPokemaniacShane:
trainer POKEMANIAC, SHANE, EVENT_BEAT_POKEMANIAC_SHANE, PokemaniacShaneSeenText, PokemaniacShaneBeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext PokemaniacShaneAfterBattleText
waitbutton
closetext
end
TrainerHikerBenjamin:
trainer HIKER, BENJAMIN, EVENT_BEAT_HIKER_BENJAMIN, HikerBenjaminSeenText, HikerBenjaminBeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext HikerBenjaminAfterBattleText
waitbutton
closetext
end
Route42Sign1:
jumptext Route42Sign1Text
MtMortarSign1:
jumptext MtMortarSign1Text
MtMortarSign2:
jumptext MtMortarSign2Text
Route42Sign2:
jumptext Route42Sign2Text
Route42UltraBall:
itemball ULTRA_BALL
Route42SuperPotion:
itemball SUPER_POTION
Route42FruitTree1:
fruittree FRUITTREE_ROUTE_42_1
Route42FruitTree2:
fruittree FRUITTREE_ROUTE_42_2
Route42FruitTree3:
fruittree FRUITTREE_ROUTE_42_3
Route42HiddenMaxPotion:
hiddenitem MAX_POTION, EVENT_ROUTE_42_HIDDEN_MAX_POTION
Route42SuicuneMovement:
set_sliding
fast_jump_step UP
fast_jump_step UP
fast_jump_step UP
fast_jump_step RIGHT
fast_jump_step RIGHT
fast_jump_step RIGHT
remove_sliding
step_end
FisherTullySeenText:
text "Let me demonstrate"
line "the power of the"
cont "#MON I caught!"
done
FisherTullyBeatenText:
text "What? That's not"
line "right."
done
FisherTullyAfterBattleText:
text "I want to become"
line "the trainer CHAMP"
para "using the #MON"
line "I caught."
para "That's the best"
line "part of fishing!"
done
HikerBenjaminSeenText:
text "Ah, it's good to"
line "be outside!"
cont "I feel so free!"
done
HikerBenjaminBeatenText:
text "Gahahah!"
done
HikerBenjaminAfterBattleText:
text "Losing feels in-"
line "significant if you"
para "look up at the big"
line "sky!"
done
PokemaniacShaneSeenText:
text "HEY!"
para "This is my secret"
line "place! Get lost,"
cont "you outsider!"
done
PokemaniacShaneBeatenText:
text "I should have used"
line "my MOON STONE…"
done
PokemaniacShaneAfterBattleText:
text "You're working on"
line "a #DEX?"
para "Wow, you must know"
line "some pretty rare"
cont "#MON!"
para "May I please see"
line "it. Please?"
done
Route42Sign1Text:
text "ROUTE 42"
para "ECRUTEAK CITY -"
line "MAHOGANY TOWN"
done
MtMortarSign1Text:
text "MT.MORTAR"
para "WATERFALL CAVE"
line "INSIDE"
done
MtMortarSign2Text:
text "MT.MORTAR"
para "WATERFALL CAVE"
line "INSIDE"
done
Route42Sign2Text:
text "ROUTE 42"
para "ECRUTEAK CITY -"
line "MAHOGANY TOWN"
done
Route42_MapEvents:
db 0, 0 ; filler
def_warp_events
warp_event 0, 8, ROUTE_42_ECRUTEAK_GATE, 3
warp_event 0, 9, ROUTE_42_ECRUTEAK_GATE, 4
warp_event 10, 5, MOUNT_MORTAR_1F_OUTSIDE, 1
warp_event 28, 9, MOUNT_MORTAR_1F_OUTSIDE, 2
warp_event 46, 7, MOUNT_MORTAR_1F_OUTSIDE, 3
def_coord_events
coord_event 24, 14, SCENE_ROUTE42_SUICUNE, Route42SuicuneScript
def_bg_events
bg_event 4, 10, BGEVENT_READ, Route42Sign1
bg_event 7, 5, BGEVENT_READ, MtMortarSign1
bg_event 45, 9, BGEVENT_READ, MtMortarSign2
bg_event 54, 8, BGEVENT_READ, Route42Sign2
bg_event 16, 11, BGEVENT_ITEM, Route42HiddenMaxPotion
def_object_events
object_event 40, 10, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 1, TrainerFisherTully, -1
object_event 51, 9, SPRITE_POKEFAN_M, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 3, TrainerHikerBenjamin, -1
object_event 47, 8, SPRITE_SUPER_NERD, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerPokemaniacShane, -1
object_event 27, 16, SPRITE_FRUIT_TREE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route42FruitTree1, -1
object_event 28, 16, SPRITE_FRUIT_TREE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route42FruitTree2, -1
object_event 29, 16, SPRITE_FRUIT_TREE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route42FruitTree3, -1
object_event 6, 4, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, Route42UltraBall, EVENT_ROUTE_42_ULTRA_BALL
object_event 33, 8, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, Route42SuperPotion, EVENT_ROUTE_42_SUPER_POTION
object_event 26, 16, SPRITE_SUICUNE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_SAW_SUICUNE_ON_ROUTE_42
|