summaryrefslogtreecommitdiff
path: root/maps/Route30.asm
blob: 94efe9c5fa94883e7e2a29a5d1f329fb377a9a56 (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
Route30_MapScriptHeader:
	; trigger count
	db 0

	; callback count
	db 0

YoungsterScript_0x1a1673:
	waitbutton
	playmusic MUSIC_JOHTO_TRAINER_BATTLE
	loadfont
	writetext UnknownText_0x1a1806
	pause 30
	loadmovesprites
	playsound SFX_TACKLE
	applymovement $8, MovementData_0x1a17fe
	loadfont
	faceplayer
	writetext UnknownText_0x1a181c
	closetext
	spriteface $2, UP
	loadmovesprites
	playsound SFX_TACKLE
	applymovement $7, MovementData_0x1a1802
	special RestartMapMusic
	end

TrainerYoungsterJoey:
	; bit/flag number
	dw EVENT_BEAT_YOUNGSTER_JOEY

	; trainer group && trainer id
	db YOUNGSTER, JOEY1

	; text when seen
	dw YoungsterJoey1SeenText

	; text when trainer beaten
	dw YoungsterJoey1BeatenText

	; script when lost
	dw $0000

	; script when talk again
	dw YoungsterJoey1Script

YoungsterJoey1Script:
	writecode VAR_CALLERID, $f
	talkaftercancel
	loadfont
	checkflag ENGINE_JOEY
	iftrue UnknownScript_0x1a16e0
	checkcellnum $f
	iftrue UnknownScript_0x1a178f
	checkevent EVENT_JOEY_ASKED_FOR_PHONE_NUMBER
	iftrue UnknownScript_0x1a16c9
	writetext UnknownText_0x1a18c2
	keeptextopen
	setevent EVENT_JOEY_ASKED_FOR_PHONE_NUMBER
	scall UnknownScript_0x1a1783
	jump UnknownScript_0x1a16cc

UnknownScript_0x1a16c9:
	scall UnknownScript_0x1a1787
UnknownScript_0x1a16cc:
	askforphonenumber $f
	if_equal $1, UnknownScript_0x1a1797
	if_equal $2, UnknownScript_0x1a1793
	trainertotext YOUNGSTER, JOEY1, $0
	scall UnknownScript_0x1a178b
	jump UnknownScript_0x1a178f

UnknownScript_0x1a16e0:
	scall UnknownScript_0x1a179b
	winlosstext YoungsterJoey1BeatenText, $0000
	copybytetovar wJoeyFightCount
	if_equal 4, .Fight4
	if_equal 3, .Fight3
	if_equal 2, .Fight2
	if_equal 1, .Fight1
	if_equal 0, .LoadFight0
.Fight4
	checkevent EVENT_BEAT_ELITE_FOUR
	iftrue .LoadFight4
.Fight3
	checkevent EVENT_CLEARED_RADIO_TOWER
	iftrue .LoadFight3
.Fight2
	checkflag ENGINE_FLYPOINT_OLIVINE
	iftrue .LoadFight2
.Fight1
	checkflag ENGINE_FLYPOINT_GOLDENROD
	iftrue .LoadFight1
.LoadFight0
	loadtrainer YOUNGSTER, JOEY1
	startbattle
	returnafterbattle
	loadvar wJoeyFightCount, 1
	clearflag ENGINE_JOEY
	end

.LoadFight1
	loadtrainer YOUNGSTER, JOEY2
	startbattle
	returnafterbattle
	loadvar wJoeyFightCount, 2
	clearflag ENGINE_JOEY
	end

.LoadFight2
	loadtrainer YOUNGSTER, JOEY3
	startbattle
	returnafterbattle
	loadvar wJoeyFightCount, 3
	clearflag ENGINE_JOEY
	end

.LoadFight3
	loadtrainer YOUNGSTER, JOEY4
	startbattle
	returnafterbattle
	loadvar wJoeyFightCount, 4
	clearflag ENGINE_JOEY
	end

.LoadFight4
	loadtrainer YOUNGSTER, JOEY5
	startbattle
	returnafterbattle
	clearflag ENGINE_JOEY
	checkevent EVENT_JOEY_HP_UP
	iftrue UnknownScript_0x1a176f
	checkevent EVENT_GOT_HP_UP_FROM_JOEY
	iftrue UnknownScript_0x1a176e
	scall UnknownScript_0x1a17a6
	verbosegiveitem HP_UP, 1
	iffalse UnknownScript_0x1a179f
	setevent EVENT_GOT_HP_UP_FROM_JOEY
	jump UnknownScript_0x1a178f

UnknownScript_0x1a176e:
	end

UnknownScript_0x1a176f:
	loadfont
	writetext UnknownText_0x1a1bc0
	closetext
	verbosegiveitem HP_UP, 1
	iffalse UnknownScript_0x1a179f
	clearevent EVENT_JOEY_HP_UP
	setevent EVENT_GOT_HP_UP_FROM_JOEY
	jump UnknownScript_0x1a178f

UnknownScript_0x1a1783:
	jumpstd asknumber1m
	end

UnknownScript_0x1a1787:
	jumpstd asknumber2m
	end

UnknownScript_0x1a178b:
	jumpstd registerednumberm
	end

UnknownScript_0x1a178f:
	jumpstd numberacceptedm
	end

UnknownScript_0x1a1793:
	jumpstd numberdeclinedm
	end

UnknownScript_0x1a1797:
	jumpstd phonefullm
	end

UnknownScript_0x1a179b:
	jumpstd rematchm
	end

UnknownScript_0x1a179f:
	setevent EVENT_JOEY_HP_UP
	jumpstd packfullm
	end

UnknownScript_0x1a17a6:
	jumpstd rematchgiftm
	end

TrainerYoungsterMikey:
	; bit/flag number
	dw EVENT_BEAT_YOUNGSTER_MIKEY

	; trainer group && trainer id
	db YOUNGSTER, MIKEY

	; text when seen
	dw YoungsterMikeySeenText

	; text when trainer beaten
	dw YoungsterMikeyBeatenText

	; script when lost
	dw $0000

	; script when talk again
	dw YoungsterMikeyScript

YoungsterMikeyScript:
	talkaftercancel
	loadfont
	writetext UnknownText_0x1a197d
	closetext
	loadmovesprites
	end

TrainerBug_catcherDon:
	; bit/flag number
	dw EVENT_BEAT_BUG_CATCHER_DON

	; trainer group && trainer id
	db BUG_CATCHER, DON

	; text when seen
	dw Bug_catcherDonSeenText

	; text when trainer beaten
	dw Bug_catcherDonBeatenText

	; script when lost
	dw $0000

	; script when talk again
	dw Bug_catcherDonScript

Bug_catcherDonScript:
	talkaftercancel
	loadfont
	writetext UnknownText_0x1a1a1c
	closetext
	loadmovesprites
	end

YoungsterScript_0x1a17d2:
	faceplayer
	loadfont
	checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
	iftrue UnknownScript_0x1a17e0
	writetext UnknownText_0x1a1a6a
	closetext
	loadmovesprites
	end

UnknownScript_0x1a17e0:
	writetext UnknownText_0x1a1a94
	closetext
	loadmovesprites
	end

CooltrainerFScript_0x1a17e6:
	jumptextfaceplayer UnknownText_0x1a1ac4

MapRoute30Signpost0Script:
	jumptext UnknownText_0x1a1b0b

MapRoute30Signpost1Script:
	jumptext UnknownText_0x1a1b34

MapRoute30Signpost2Script:
	jumptext UnknownText_0x1a1b55

MapRoute30Signpost3Script:
	jumptext UnknownText_0x1a1b66

ItemFragment_0x1a17f5:
	db ANTIDOTE, 1

FruitTreeScript_0x1a17f7:
	fruittree $2

FruitTreeScript_0x1a17f9:
	fruittree $5

MapRoute30SignpostItem4:
	dw $00a4
	db POTION
	

MovementData_0x1a17fe:
	fix_facing
	big_step_up
	big_step_down
	step_end

MovementData_0x1a1802:
	fix_facing
	big_step_down
	big_step_up
	step_end

UnknownText_0x1a1806:
	text "Go, RATTATA!"

	para "TACKLE!"
	done

UnknownText_0x1a181c:
	text "What? This is a"
	line "big battle!"
	cont "Leave me alone!"
	done

YoungsterJoey1SeenText:
	text "I just lost, so"
	line "I'm trying to find"
	cont "more #MON."

	para "Wait! You look"
	line "weak! Come on,"
	cont "let's battle!"
	done

YoungsterJoey1BeatenText:
	text "Ack! I lost again!"
	line "Doggone it!"
	done

UnknownText_0x1a18c2:
	text "Do I have to have"
	line "more #MON in"

	para "order to battle"
	line "better?"

	para "No! I'm sticking"
	line "with this one no"
	cont "matter what!"
	done

YoungsterMikeySeenText:
	text "You're a #MON"
	line "trainer, right?"

	para "Then you have to"
	line "battle!"
	done

YoungsterMikeyBeatenText:
	text "That's strange."
	line "I won before."
	done

UnknownText_0x1a197d:
	text "Becoming a good"
	line "trainer is really"
	cont "tough."

	para "I'm going to bat-"
	line "tle other people"
	cont "to get better."
	done

Bug_catcherDonSeenText:
	text "Instead of a bug"
	line "#MON, I found"
	cont "a trainer!"
	done

Bug_catcherDonBeatenText:
	text "Argh! You're too"
	line "strong!"
	done

UnknownText_0x1a1a1c:
	text "I ran out of #"
	line "BALLS while I was"
	cont "catching #MON."

	para "I should've bought"
	line "some more…"
	done

UnknownText_0x1a1a6a:
	text "MR.#MON's"
	line "house? It's a bit"
	cont "farther ahead."
	done

UnknownText_0x1a1a94:
	text "Everyone's having"
	line "fun battling!"
	cont "You should too!"
	done

UnknownText_0x1a1ac4:
	text "I'm not a trainer."

	para "But if you look"
	line "one in the eyes,"
	cont "prepare to battle."
	done

UnknownText_0x1a1b0b:
	text "ROUTE 30"

	para "VIOLET CITY -"
	line "CHERRYGROVE CITY"
	done

UnknownText_0x1a1b34:
	text "MR.#MON'S HOUSE"
	line "STRAIGHT AHEAD!"
	done

UnknownText_0x1a1b55:
	text "MR.#MON'S HOUSE"
	done

UnknownText_0x1a1b66:
	text "TRAINER TIPS"

	para "No stealing other"
	line "people's #MON!"

	para "# BALLS are to"
	line "be thrown only at"
	cont "wild #MON!"
	done

UnknownText_0x1a1bc0:
	text "I lost again…"
	line "Gee, you're tough!"

	para "Oh yeah, I almost"
	line "forgot that I had"
	cont "to give you this."

	para "Use it to get even"
	line "tougher, OK?"

	para "I'm going to get"
	line "tougher too."
	done

Route30_MapEventHeader:
	; filler
	db 0, 0

	; warps
	db 2
	warp_def $27, $7, 1, GROUP_ROUTE_30_BERRY_SPEECH_HOUSE, MAP_ROUTE_30_BERRY_SPEECH_HOUSE
	warp_def $5, $11, 1, GROUP_MR_POKEMONS_HOUSE, MAP_MR_POKEMONS_HOUSE

	; xy triggers
	db 0

	; signposts
	db 5
	signpost 43, 9, SIGNPOST_READ, MapRoute30Signpost0Script
	signpost 29, 13, SIGNPOST_READ, MapRoute30Signpost1Script
	signpost 5, 15, SIGNPOST_READ, MapRoute30Signpost2Script
	signpost 21, 3, SIGNPOST_READ, MapRoute30Signpost3Script
	signpost 9, 14, SIGNPOST_ITEMIFSET, MapRoute30SignpostItem4

	; people-events
	db 11
	person_event SPRITE_YOUNGSTER, 30, 9, UP << 2 | $3, $0, -1, -1, (PAL_OW_BLUE << 4) | $80, 0, YoungsterScript_0x1a1673, EVENT_714
	person_event SPRITE_YOUNGSTER, 32, 6, LEFT << 2 | $1, $0, -1, -1, (PAL_OW_BLUE << 4) | $82, 3, TrainerYoungsterJoey, EVENT_715
	person_event SPRITE_YOUNGSTER, 27, 9, UP << 2 | $2, $0, -1, -1, (PAL_OW_BLUE << 4) | $82, 1, TrainerYoungsterMikey, -1
	person_event SPRITE_BUG_CATCHER, 11, 5, UP << 2 | $2, $0, -1, -1, (PAL_OW_BROWN << 4) | $82, 3, TrainerBug_catcherDon, -1
	person_event SPRITE_YOUNGSTER, 34, 11, UP << 2 | $1, $1, -1, -1, (PAL_OW_RED << 4) | $80, 0, YoungsterScript_0x1a17d2, -1
	person_event SPRITE_MONSTER, 28, 9, UP << 2 | $2, $0, -1, -1, (PAL_OW_RED << 4) | $80, 0, ObjectEvent, EVENT_714
	person_event SPRITE_MONSTER, 29, 9, UP << 2 | $3, $0, -1, -1, (PAL_OW_BLUE << 4) | $80, 0, ObjectEvent, EVENT_714
	person_event SPRITE_FRUIT_TREE, 43, 9, DOWN << 2 | $1, $0, -1, -1, $0, 0, FruitTreeScript_0x1a17f7, -1
	person_event SPRITE_FRUIT_TREE, 9, 15, DOWN << 2 | $1, $0, -1, -1, $0, 0, FruitTreeScript_0x1a17f9, -1
	person_event SPRITE_COOLTRAINER_F, 17, 6, UP << 2 | $2, $0, -1, -1, $0, 0, CooltrainerFScript_0x1a17e6, -1
	person_event SPRITE_POKE_BALL, 39, 12, DOWN << 2 | $1, $0, -1, -1, $1, 0, ItemFragment_0x1a17f5, EVENT_7B8