summaryrefslogtreecommitdiff
path: root/maps/Route27.asm
blob: cc3bd88a6740814344100bc6125aa629c090ec0c (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
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
Route27_MapScriptHeader: ; 0x1a0867
	; trigger count
	db 2

	; triggers
	dw UnknownScript_0x1a0871, $0000
	dw UnknownScript_0x1a0872, $0000

	; callback count
	db 0
; 0x1a0871

UnknownScript_0x1a0871: ; 0x1a0871
	end
; 0x1a0872

UnknownScript_0x1a0872: ; 0x1a0872
	end
; 0x1a0873

UnknownScript_0x1a0873: ; 0x1a0873
	spriteface $a, $2
	showemote $0, $a, 15
	applymovement $a, MovementData_0x1a0a66
	2jump UnknownScript_0x1a088c
; 0x1a0881

UnknownScript_0x1a0881: ; 0x1a0881
	spriteface $a, $2
	showemote $0, $a, 15
	applymovement $a, MovementData_0x1a0a69
UnknownScript_0x1a088c: ; 0x1a088c
	spriteface $0, $3
	loadfont
	2writetext UnknownText_0x1a0a6b
	keeptextopen
	2writetext UnknownText_0x1a0a71
	closetext
	loadmovesprites
	dotrigger $1
	end
; 0x1a089c

FisherScript_0x1a089c: ; 0x1a089c
	jumptextfaceplayer UnknownText_0x1a0a71
; 0x1a089f

TrainerPsychicGilbert: ; 0x1a089f
	; bit/flag number
	dw $443

	; trainer group && trainer id
	db PSYCHIC_T, GILBERT

	; text when seen
	dw PsychicGilbertSeenText

	; text when trainer beaten
	dw PsychicGilbertBeatenText

	; script when lost
	dw $0000

	; script when talk again
	dw PsychicGilbertScript
; 0x1a08ab

PsychicGilbertScript: ; 0x1a08ab
	talkaftercancel
	loadfont
	2writetext UnknownText_0x1a0dd2
	closetext
	loadmovesprites
	end
; 0x1a08b3

TrainerBird_keeperJose2: ; 0x1a08b3
	; bit/flag number
	dw $408

	; trainer group && trainer id
	db BIRD_KEEPER, JOSE2

	; text when seen
	dw Bird_keeperJose2SeenText

	; text when trainer beaten
	dw Bird_keeperJose2BeatenText

	; script when lost
	dw $0000

	; script when talk again
	dw Bird_keeperJose2Script
; 0x1a08bf

Bird_keeperJose2Script: ; 0x1a08bf
	writecode $17, $d
	talkaftercancel
	loadfont
	checkflag $0069
	iftrue UnknownScript_0x1a08ff
	checkflag $007e
	iftrue UnknownScript_0x1a0945
	checkcellnum $d
	iftrue UnknownScript_0x1a0963
	checkevent $026f
	iftrue UnknownScript_0x1a08e8
	2writetext UnknownText_0x1a0e42
	keeptextopen
	setevent $026f
	2call UnknownScript_0x1a0957
	2jump UnknownScript_0x1a08eb
; 0x1a08e8

UnknownScript_0x1a08e8: ; 0x1a08e8
	2call UnknownScript_0x1a095b
UnknownScript_0x1a08eb: ; 0x1a08eb
	askforphonenumber $d
	if_equal $1, UnknownScript_0x1a096b
	if_equal $2, UnknownScript_0x1a0967
	trainertotext BIRD_KEEPER, JOSE2, $0
	2call UnknownScript_0x1a095f
	2jump UnknownScript_0x1a0963
; 0x1a08ff

UnknownScript_0x1a08ff: ; 0x1a08ff
	2call UnknownScript_0x1a096f
	winlosstext Bird_keeperJose2BeatenText, $0000
	copybytetovar $d9f7
	if_equal $2, UnknownScript_0x1a0916
	if_equal $1, UnknownScript_0x1a091c
	if_equal $0, UnknownScript_0x1a0922
UnknownScript_0x1a0916: ; 0x1a0916
	checkevent EVENT_RESTORED_POWER_TO_KANTO
	iftrue UnknownScript_0x1a093c
UnknownScript_0x1a091c: ; 0x1a091c
	checkevent $0044
	iftrue UnknownScript_0x1a092f
UnknownScript_0x1a0922: ; 0x1a0922
	loadtrainer BIRD_KEEPER, JOSE2
	startbattle
	returnafterbattle
	loadvar $d9f7, $1
	clearflag $0069
	end
; 0x1a092f

UnknownScript_0x1a092f: ; 0x1a092f
	loadtrainer BIRD_KEEPER, JOSE1
	startbattle
	returnafterbattle
	loadvar $d9f7, $2
	clearflag $0069
	end
; 0x1a093c

UnknownScript_0x1a093c: ; 0x1a093c
	loadtrainer BIRD_KEEPER, JOSE3
	startbattle
	returnafterbattle
	clearflag $0069
	end
; 0x1a0945

UnknownScript_0x1a0945: ; 0x1a0945
	2call UnknownScript_0x1a0973
	verbosegiveitem STAR_PIECE, 1
	iffalse UnknownScript_0x1a0954
	clearflag $007e
	2jump UnknownScript_0x1a0963
; 0x1a0954

UnknownScript_0x1a0954: ; 0x1a0954
	2jump UnknownScript_0x1a0977
; 0x1a0957

UnknownScript_0x1a0957: ; 0x1a0957
	jumpstd $0019
	end
; 0x1a095b

UnknownScript_0x1a095b: ; 0x1a095b
	jumpstd $001a
	end
; 0x1a095f

UnknownScript_0x1a095f: ; 0x1a095f
	jumpstd $001b
	end
; 0x1a0963

UnknownScript_0x1a0963: ; 0x1a0963
	jumpstd $001c
	end
; 0x1a0967

UnknownScript_0x1a0967: ; 0x1a0967
	jumpstd $001d
	end
; 0x1a096b

UnknownScript_0x1a096b: ; 0x1a096b
	jumpstd $001e
	end
; 0x1a096f

UnknownScript_0x1a096f: ; 0x1a096f
	jumpstd $001f
	end
; 0x1a0973

UnknownScript_0x1a0973: ; 0x1a0973
	jumpstd $0020
	end
; 0x1a0977

UnknownScript_0x1a0977: ; 0x1a0977
	jumpstd $0021
	end
; 0x1a097b

TrainerCooltrainermBlake: ; 0x1a097b
	; bit/flag number
	dw $552

	; trainer group && trainer id
	db COOLTRAINERM, BLAKE

	; text when seen
	dw CooltrainermBlakeSeenText

	; text when trainer beaten
	dw CooltrainermBlakeBeatenText

	; script when lost
	dw $0000

	; script when talk again
	dw CooltrainermBlakeScript
; 0x1a0987

CooltrainermBlakeScript: ; 0x1a0987
	talkaftercancel
	loadfont
	2writetext UnknownText_0x1a0b0b
	closetext
	loadmovesprites
	end
; 0x1a098f

TrainerCooltrainermBrian: ; 0x1a098f
	; bit/flag number
	dw $553

	; trainer group && trainer id
	db COOLTRAINERM, BRIAN

	; text when seen
	dw CooltrainermBrianSeenText

	; text when trainer beaten
	dw CooltrainermBrianBeatenText

	; script when lost
	dw $0000

	; script when talk again
	dw CooltrainermBrianScript
; 0x1a099b

CooltrainermBrianScript: ; 0x1a099b
	talkaftercancel
	loadfont
	2writetext UnknownText_0x1a0bac
	closetext
	loadmovesprites
	end
; 0x1a09a3

TrainerCooltrainerfReena1: ; 0x1a09a3
	; bit/flag number
	dw $564

	; trainer group && trainer id
	db COOLTRAINERF, REENA1

	; text when seen
	dw CooltrainerfReena1SeenText

	; text when trainer beaten
	dw CooltrainerfReena1BeatenText

	; script when lost
	dw $0000

	; script when talk again
	dw CooltrainerfReena1Script
; 0x1a09af

CooltrainerfReena1Script: ; 0x1a09af
	writecode $17, $e
	talkaftercancel
	loadfont
	checkflag $006a
	iftrue UnknownScript_0x1a09e9
	checkcellnum $e
	iftrue UnknownScript_0x1a0a3b
	checkevent $0271
	iftrue UnknownScript_0x1a09d2
	2writetext UnknownText_0x1a0c35
	keeptextopen
	setevent $0271
	2call UnknownScript_0x1a0a2f
	2jump UnknownScript_0x1a09d5
; 0x1a09d2

UnknownScript_0x1a09d2: ; 0x1a09d2
	2call UnknownScript_0x1a0a33
UnknownScript_0x1a09d5: ; 0x1a09d5
	askforphonenumber $e
	if_equal $1, UnknownScript_0x1a0a43
	if_equal $2, UnknownScript_0x1a0a3f
	trainertotext COOLTRAINERF, REENA1, $0
	2call UnknownScript_0x1a0a37
	2jump UnknownScript_0x1a0a3b
; 0x1a09e9

UnknownScript_0x1a09e9: ; 0x1a09e9
	2call UnknownScript_0x1a0a47
	winlosstext CooltrainerfReena1BeatenText, $0000
	copybytetovar $d9f8
	if_equal $2, UnknownScript_0x1a0a00
	if_equal $1, UnknownScript_0x1a0a06
	if_equal $0, UnknownScript_0x1a0a0c
UnknownScript_0x1a0a00: ; 0x1a0a00
	checkevent EVENT_RESTORED_POWER_TO_KANTO
	iftrue UnknownScript_0x1a0a26
UnknownScript_0x1a0a06: ; 0x1a0a06
	checkevent $0044
	iftrue UnknownScript_0x1a0a19
UnknownScript_0x1a0a0c: ; 0x1a0a0c
	loadtrainer COOLTRAINERF, REENA1
	startbattle
	returnafterbattle
	loadvar $d9f8, $1
	clearflag $006a
	end
; 0x1a0a19

UnknownScript_0x1a0a19: ; 0x1a0a19
	loadtrainer COOLTRAINERF, REENA2
	startbattle
	returnafterbattle
	loadvar $d9f8, $2
	clearflag $006a
	end
; 0x1a0a26

UnknownScript_0x1a0a26: ; 0x1a0a26
	loadtrainer COOLTRAINERF, REENA3
	startbattle
	returnafterbattle
	clearflag $006a
	end
; 0x1a0a2f

UnknownScript_0x1a0a2f: ; 0x1a0a2f
	jumpstd $0023
	end
; 0x1a0a33

UnknownScript_0x1a0a33: ; 0x1a0a33
	jumpstd $0024
	end
; 0x1a0a37

UnknownScript_0x1a0a37: ; 0x1a0a37
	jumpstd $0025
	end
; 0x1a0a3b

UnknownScript_0x1a0a3b: ; 0x1a0a3b
	jumpstd $0026
	end
; 0x1a0a3f

UnknownScript_0x1a0a3f: ; 0x1a0a3f
	jumpstd $0027
	end
; 0x1a0a43

UnknownScript_0x1a0a43: ; 0x1a0a43
	jumpstd $0028
	end
; 0x1a0a47

UnknownScript_0x1a0a47: ; 0x1a0a47
	jumpstd $0029
	end
; 0x1a0a4b

TrainerCooltrainerfMegan: ; 0x1a0a4b
	; bit/flag number
	dw $565

	; trainer group && trainer id
	db COOLTRAINERF, MEGAN

	; text when seen
	dw CooltrainerfMeganSeenText

	; text when trainer beaten
	dw CooltrainerfMeganBeatenText

	; script when lost
	dw $0000

	; script when talk again
	dw CooltrainerfMeganScript
; 0x1a0a57

CooltrainerfMeganScript: ; 0x1a0a57
	talkaftercancel
	loadfont
	2writetext UnknownText_0x1a0cce
	closetext
	loadmovesprites
	end
; 0x1a0a5f

MapRoute27Signpost0Script: ; 0x1a0a5f
	jumptext UnknownText_0x1a0e7f
; 0x1a0a62

ItemFragment_0x1a0a62: ; 0x1a0a62
	db TM_22, 1
; 0x1a0a64

ItemFragment_0x1a0a64: ; 0x1a0a64
	db RARE_CANDY, 1
; 0x1a0a66

MovementData_0x1a0a66: ; 0x1a0a66
	step_left
	step_left
	step_end
; 0x1a0a69

MovementData_0x1a0a69: ; 0x1a0a69
	step_left
	step_end
; 0x1a0a6b

UnknownText_0x1a0a6b: ; 0x1a0a6b
	text "Hey!"
	done
; 0x1a0a71

UnknownText_0x1a0a71: ; 0x1a0a71
	text "Do you know what"
	line "you just did?"

	para "You've taken your"
	line "first step into"
	cont "KANTO."

	para "Check your #-"
	line "GEAR MAP and see."
	done
; 0x1a0ad9

CooltrainermBlakeSeenText: ; 0x1a0ad9
	text "You look pretty"
	line "strong."
	cont "Let me battle you!"
	done
; 0x1a0b05

CooltrainermBlakeBeatenText: ; 0x1a0b05
	text "Yow!"
	done
; 0x1a0b0b

UnknownText_0x1a0b0b: ; 0x1a0b0b
	text "If you prevail on"
	line "this harsh trek,"

	para "the truth will be"
	line "revealed!"

	para "Heh, sorry, I just"
	line "wanted to say"
	cont "something cool."
	done
; 0x1a0b7c

CooltrainermBrianSeenText: ; 0x1a0b7c
	text "Hm? You're good,"
	line "aren't you?"
	done
; 0x1a0b98

CooltrainermBrianBeatenText: ; 0x1a0b98
	text "Just as I thought!"
	done
; 0x1a0bac

UnknownText_0x1a0bac: ; 0x1a0bac
	text "A good trainer can"
	line "recognize other"
	cont "good trainers."
	done
; 0x1a0bdf

CooltrainerfReena1SeenText: ; 0x1a0bdf
	text "You shouldn't"
	line "underestimate the"

	para "wild #MON in"
	line "these parts."
	done
; 0x1a0c19

CooltrainerfReena1BeatenText: ; 0x1a0c19
	text "Oh! You're much"
	line "too strong!"
	done
; 0x1a0c35

UnknownText_0x1a0c35: ; 0x1a0c35
	text "You're just a kid,"
	line "but you're not to"

	para "be underestimated"
	line "either."
	done
; 0x1a0c73

CooltrainerfMeganSeenText: ; 0x1a0c73
	text "It's rare to see"
	line "anyone come here."

	para "Are you training"
	line "on your own?"
	done
; 0x1a0cb4

CooltrainerfMeganBeatenText: ; 0x1a0cb4
	text "Oh! You're really"
	line "strong!"
	done
; 0x1a0cce

UnknownText_0x1a0cce: ; 0x1a0cce
	text "I'm checking out"
	line "pre- and post-"
	cont "evolution #MON."

	para "Evolution really"
	line "does make #MON"
	cont "stronger."

	para "But evolved forms"
	line "also learn moves"
	cont "later on."
	done
; 0x1a0d55

PsychicGilbertSeenText: ; 0x1a0d55
	text "Don't say a thing!"

	para "Let me guess what"
	line "you're thinking."

	para "Mmmmmmm…"

	para "I got it! You're"
	line "on the #MON"
	cont "LEAGUE challenge!"
	done
; 0x1a0dc1

PsychicGilbertBeatenText: ; 0x1a0dc1
	text "You're too much!"
	done
; 0x1a0dd2

UnknownText_0x1a0dd2: ; 0x1a0dd2
	text "With your skills,"
	line "you'll do well at"
	cont "the LEAGUE."

	para "That's what my"
	line "premonition says."
	done
; 0x1a0e22

Bird_keeperJose2SeenText: ; 0x1a0e22
	text "Tweet! Tweet!"
	line "Tetweet!"
	done
; 0x1a0e3a

Bird_keeperJose2BeatenText: ; 0x1a0e3a
	text "Tweet!"
	done
; 0x1a0e42

UnknownText_0x1a0e42: ; 0x1a0e42
	text "BIRD KEEPERS like"
	line "me mimic bird"

	para "whistles to com-"
	line "mand #MON."
	done
; 0x1a0e7f

UnknownText_0x1a0e7f: ; 0x1a0e7f
	text "TOHJO FALLS"

	para "THE LINK BETWEEN"
	line "KANTO AND JOHTO"
	done
; 0x1a0ead

Route27_MapEventHeader: ; 0x1a0ead
	; filler
	db 0, 0

	; warps
	db 3
	warp_def $7, $21, 1, GROUP_ROUTE_27_SANDSTORM_HOUSE, MAP_ROUTE_27_SANDSTORM_HOUSE
	warp_def $5, $1a, 1, GROUP_TOHJO_FALLS, MAP_TOHJO_FALLS
	warp_def $5, $24, 2, GROUP_TOHJO_FALLS, MAP_TOHJO_FALLS

	; xy triggers
	db 2
	xy_trigger 0, $a, $12, $0, UnknownScript_0x1a0873, $0, $0
	xy_trigger 0, $a, $13, $0, UnknownScript_0x1a0881, $0, $0

	; signposts
	db 1
	signpost 7, 25, $0, MapRoute27Signpost0Script

	; people-events
	db 9
	person_event SPRITE_COOLTRAINER_M, 11, 52, $7, $0, 255, 255, $82, 3, TrainerCooltrainermBlake, $ffff
	person_event SPRITE_COOLTRAINER_M, 10, 62, $9, $0, 255, 255, $82, 4, TrainerCooltrainermBrian, $ffff
	person_event SPRITE_COOLTRAINER_F, 14, 76, $7, $0, 255, 255, $82, 4, TrainerCooltrainerfReena1, $ffff
	person_event SPRITE_COOLTRAINER_F, 10, 41, $1f, $0, 255, 255, $82, 2, TrainerCooltrainerfMegan, $ffff
	person_event SPRITE_YOUNGSTER, 11, 69, $8, $0, 255, 255, $92, 3, TrainerPsychicGilbert, $ffff
	person_event SPRITE_YOUNGSTER, 17, 62, $9, $0, 255, 255, $92, 3, TrainerBird_keeperJose2, $ffff
	person_event SPRITE_POKE_BALL, 16, 64, $1, $0, 255, 255, $1, 0, ItemFragment_0x1a0a62, $06ab
	person_event SPRITE_POKE_BALL, 16, 57, $1, $0, 255, 255, $1, 0, ItemFragment_0x1a0a64, $06ac
	person_event SPRITE_FISHER, 14, 25, $3, $0, 255, 255, $0, 3, FisherScript_0x1a089c, $ffff
; 0x1a0f4c