summaryrefslogtreecommitdiff
path: root/maps/Route42.asm
blob: 3460d74fec2d3597ebccc7fac76019763740e802 (plain)
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
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
Route42_MapScriptHeader: ; 0x1a920c
	; trigger count
	db 2

	; triggers
	dw UnknownScript_0x1a9216, $0000
	dw UnknownScript_0x1a9217, $0000

	; callback count
	db 0
; 0x1a9216

UnknownScript_0x1a9216: ; 0x1a9216
	end
; 0x1a9217

UnknownScript_0x1a9217: ; 0x1a9217
	end
; 0x1a9218

UnknownScript_0x1a9218: ; 0x1a9218
	showemote $0, $0, 15
	pause 15
	playsound $0014
	applymovement $a, MovementData_0x1a9356
	disappear $a
	pause 10
	dotrigger $0
	clearevent EVENT_SAW_SUICUNE_ON_ROUTE_36
	domaptrigger GROUP_ROUTE_36, MAP_ROUTE_36, $1
	end
; 0x1a9233

TrainerFisherTully1: ; 0x1a9233
	; bit/flag number
	dw $454

	; trainer group && trainer id
	db FISHER, TULLY1

	; text when seen
	dw FisherTully1SeenText

	; text when trainer beaten
	dw FisherTully1BeatenText

	; script when lost
	dw $0000

	; script when talk again
	dw FisherTully1Script
; 0x1a923f

FisherTully1Script: ; 0x1a923f
	writecode $17, $1d
	talkaftercancel
	loadfont
	checkflag $0076
	iftrue UnknownScript_0x1a927f
	checkflag $0084
	iftrue UnknownScript_0x1a92dc
	checkcellnum $1d
	iftrue UnknownScript_0x1a92fd
	checkevent $028f
	iftrue UnknownScript_0x1a9268
	2writetext UnknownText_0x1a93ab
	keeptextopen
	setevent $028f
	2call UnknownScript_0x1a92f1
	2jump UnknownScript_0x1a926b
; 0x1a9268

UnknownScript_0x1a9268: ; 0x1a9268
	2call UnknownScript_0x1a92f5
UnknownScript_0x1a926b: ; 0x1a926b
	askforphonenumber $1d
	if_equal $1, UnknownScript_0x1a9305
	if_equal $2, UnknownScript_0x1a9301
	trainertotext FISHER, TULLY1, $0
	2call UnknownScript_0x1a92f9
	2jump UnknownScript_0x1a92fd
; 0x1a927f

UnknownScript_0x1a927f: ; 0x1a927f
	2call UnknownScript_0x1a9309
	winlosstext FisherTully1BeatenText, $0000
	copybytetovar $da06
	if_equal $3, UnknownScript_0x1a929a
	if_equal $2, UnknownScript_0x1a92a0
	if_equal $1, UnknownScript_0x1a92a6
	if_equal $0, UnknownScript_0x1a92ac
UnknownScript_0x1a929a: ; 0x1a929a
	checkevent EVENT_RESTORED_POWER_TO_KANTO
	iftrue UnknownScript_0x1a92d3
UnknownScript_0x1a92a0: ; 0x1a92a0
	checkevent $0044
	iftrue UnknownScript_0x1a92c6
UnknownScript_0x1a92a6: ; 0x1a92a6
	checkevent EVENT_CLEARED_ROCKET_HIDEOUT
	iftrue UnknownScript_0x1a92b9
UnknownScript_0x1a92ac: ; 0x1a92ac
	loadtrainer FISHER, TULLY1
	startbattle
	returnafterbattle
	loadvar $da06, $1
	clearflag $0076
	end
; 0x1a92b9

UnknownScript_0x1a92b9: ; 0x1a92b9
	loadtrainer FISHER, TULLY2
	startbattle
	returnafterbattle
	loadvar $da06, $2
	clearflag $0076
	end
; 0x1a92c6

UnknownScript_0x1a92c6: ; 0x1a92c6
	loadtrainer FISHER, TULLY3
	startbattle
	returnafterbattle
	loadvar $da06, $3
	clearflag $0076
	end
; 0x1a92d3

UnknownScript_0x1a92d3: ; 0x1a92d3
	loadtrainer FISHER, TULLY4
	startbattle
	returnafterbattle
	clearflag $0076
	end
; 0x1a92dc

UnknownScript_0x1a92dc: ; 0x1a92dc
	2call UnknownScript_0x1a930d
	verbosegiveitem WATER_STONE, 1
	iffalse UnknownScript_0x1a92ee
	clearflag $0084
	setevent $0103
	2jump UnknownScript_0x1a92fd
; 0x1a92ee

UnknownScript_0x1a92ee: ; 0x1a92ee
	2jump UnknownScript_0x1a9311
; 0x1a92f1

UnknownScript_0x1a92f1: ; 0x1a92f1
	jumpstd $0019
	end
; 0x1a92f5

UnknownScript_0x1a92f5: ; 0x1a92f5
	jumpstd $001a
	end
; 0x1a92f9

UnknownScript_0x1a92f9: ; 0x1a92f9
	jumpstd $001b
	end
; 0x1a92fd

UnknownScript_0x1a92fd: ; 0x1a92fd
	jumpstd $001c
	end
; 0x1a9301

UnknownScript_0x1a9301: ; 0x1a9301
	jumpstd $001d
	end
; 0x1a9305

UnknownScript_0x1a9305: ; 0x1a9305
	jumpstd $001e
	end
; 0x1a9309

UnknownScript_0x1a9309: ; 0x1a9309
	jumpstd $001f
	end
; 0x1a930d

UnknownScript_0x1a930d: ; 0x1a930d
	jumpstd $0020
	end
; 0x1a9311

UnknownScript_0x1a9311: ; 0x1a9311
	jumpstd $0021
	end
; 0x1a9315

TrainerPokemaniacShane: ; 0x1a9315
	; bit/flag number
	dw $4e7

	; trainer group && trainer id
	db POKEMANIAC, SHANE

	; text when seen
	dw PokemaniacShaneSeenText

	; text when trainer beaten
	dw PokemaniacShaneBeatenText

	; script when lost
	dw $0000

	; script when talk again
	dw PokemaniacShaneScript
; 0x1a9321

PokemaniacShaneScript: ; 0x1a9321
	talkaftercancel
	loadfont
	2writetext UnknownText_0x1a94d6
	closetext
	loadmovesprites
	end
; 0x1a9329

TrainerHikerBenjamin: ; 0x1a9329
	; bit/flag number
	dw $529

	; trainer group && trainer id
	db HIKER, BENJAMIN

	; text when seen
	dw HikerBenjaminSeenText

	; text when trainer beaten
	dw HikerBenjaminBeatenText

	; script when lost
	dw $0000

	; script when talk again
	dw HikerBenjaminScript
; 0x1a9335

HikerBenjaminScript: ; 0x1a9335
	talkaftercancel
	loadfont
	2writetext UnknownText_0x1a943f
	closetext
	loadmovesprites
	end
; 0x1a933d

MapRoute42Signpost0Script: ; 0x1a933d
	jumptext UnknownText_0x1a9537
; 0x1a9340

MapRoute42Signpost1Script: ; 0x1a9340
	jumptext UnknownText_0x1a955f
; 0x1a9343

MapRoute42Signpost2Script: ; 0x1a9343
	jumptext UnknownText_0x1a9580
; 0x1a9346

MapRoute42Signpost3Script: ; 0x1a9346
	jumptext UnknownText_0x1a95a1
; 0x1a9349

ItemFragment_0x1a9349: ; 0x1a9349
	db ULTRA_BALL, 1
; 0x1a934b

ItemFragment_0x1a934b: ; 0x1a934b
	db SUPER_POTION, 1
; 0x1a934d

FruitTreeScript_0x1a934d: ; 0x1a934d
	fruittree $15
; 0x1a934f

FruitTreeScript_0x1a934f: ; 0x1a934f
	fruittree $16
; 0x1a9351

FruitTreeScript_0x1a9351: ; 0x1a9351
	fruittree $17
; 0x1a9353

MapRoute42SignpostItem4: ; 0x1a9353
	dw $00ad
	db MAX_POTION
	
; 0x1a9356

MovementData_0x1a9356: ; 0x1a9356
	db $39 ; movement
	fast_jump_step_up
	fast_jump_step_up
	fast_jump_step_up
	fast_jump_step_right
	fast_jump_step_right
	fast_jump_step_right
	db $38 ; movement
	step_end
; 0x1a935f

FisherTully1SeenText: ; 0x1a935f
	text "Let me demonstrate"
	line "the power of the"
	cont "#MON I caught!"
	done
; 0x1a9393

FisherTully1BeatenText: ; 0x1a9393
	text "What? That's not"
	line "right."
	done
; 0x1a93ab

UnknownText_0x1a93ab: ; 0x1a93ab
	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
; 0x1a9408

HikerBenjaminSeenText: ; 0x1a9408
	text "Ah, it's good to"
	line "be outside!"
	cont "I feel so free!"
	done
; 0x1a9435

HikerBenjaminBeatenText: ; 0x1a9435
	text "Gahahah!"
	done
; 0x1a943f

UnknownText_0x1a943f: ; 0x1a943f
	text "Losing feels in-"
	line "significant if you"

	para "look up at the big"
	line "sky!"
	done
; 0x1a947c

PokemaniacShaneSeenText: ; 0x1a947c
	text "HEY!"

	para "This is my secret"
	line "place! Get lost,"
	cont "you outsider!"
	done
; 0x1a94b3

PokemaniacShaneBeatenText: ; 0x1a94b3
	text "I should have used"
	line "my MOON STONE…"
	done
; 0x1a94d6

UnknownText_0x1a94d6: ; 0x1a94d6
	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
; 0x1a9537

UnknownText_0x1a9537: ; 0x1a9537
	text "ROUTE 42"

	para "ECRUTEAK CITY -"
	line "MAHOGANY TOWN"
	done
; 0x1a955f

UnknownText_0x1a955f: ; 0x1a955f
	text "MT.MORTAR"

	para "WATERFALL CAVE"
	line "INSIDE"
	done
; 0x1a9580

UnknownText_0x1a9580: ; 0x1a9580
	text "MT.MORTAR"

	para "WATERFALL CAVE"
	line "INSIDE"
	done
; 0x1a95a1

UnknownText_0x1a95a1: ; 0x1a95a1
	text "ROUTE 42"

	para "ECRUTEAK CITY -"
	line "MAHOGANY TOWN"
	done
; 0x1a95c9

Route42_MapEventHeader: ; 0x1a95c9
	; filler
	db 0, 0

	; warps
	db 5
	warp_def $8, $0, 3, GROUP_ROUTE_42_ECRUTEAK_GATE, MAP_ROUTE_42_ECRUTEAK_GATE
	warp_def $9, $0, 4, GROUP_ROUTE_42_ECRUTEAK_GATE, MAP_ROUTE_42_ECRUTEAK_GATE
	warp_def $5, $a, 1, GROUP_MOUNT_MORTAR_1F_OUTSIDE, MAP_MOUNT_MORTAR_1F_OUTSIDE
	warp_def $9, $1c, 2, GROUP_MOUNT_MORTAR_1F_OUTSIDE, MAP_MOUNT_MORTAR_1F_OUTSIDE
	warp_def $7, $2e, 3, GROUP_MOUNT_MORTAR_1F_OUTSIDE, MAP_MOUNT_MORTAR_1F_OUTSIDE

	; xy triggers
	db 1
	xy_trigger 1, $e, $18, $0, UnknownScript_0x1a9218, $0, $0

	; signposts
	db 5
	signpost 10, 4, $0, MapRoute42Signpost0Script
	signpost 5, 7, $0, MapRoute42Signpost1Script
	signpost 9, 45, $0, MapRoute42Signpost2Script
	signpost 8, 54, $0, MapRoute42Signpost3Script
	signpost 11, 16, $7, MapRoute42SignpostItem4

	; people-events
	db 9
	person_event SPRITE_FISHER, 14, 44, $8, $0, 255, 255, $a2, 1, TrainerFisherTully1, $ffff
	person_event SPRITE_POKEFAN_M, 13, 55, $a, $0, 255, 255, $b2, 3, TrainerHikerBenjamin, $ffff
	person_event SPRITE_SUPER_NERD, 12, 51, $6, $0, 255, 255, $92, 3, TrainerPokemaniacShane, $ffff
	person_event SPRITE_FRUIT_TREE, 20, 31, $1, $0, 255, 255, $0, 0, FruitTreeScript_0x1a934d, $ffff
	person_event SPRITE_FRUIT_TREE, 20, 32, $1, $0, 255, 255, $0, 0, FruitTreeScript_0x1a934f, $ffff
	person_event SPRITE_FRUIT_TREE, 20, 33, $1, $0, 255, 255, $0, 0, FruitTreeScript_0x1a9351, $ffff
	person_event SPRITE_POKE_BALL, 8, 10, $1, $0, 255, 255, $1, 0, ItemFragment_0x1a9349, $06b3
	person_event SPRITE_POKE_BALL, 12, 37, $1, $0, 255, 255, $1, 0, ItemFragment_0x1a934b, $06b4
	person_event SPRITE_SUICUNE, 20, 30, $1, $0, 255, 255, $90, 0, ObjectEvent, $07af
; 0x1a967e