-
Notifications
You must be signed in to change notification settings - Fork 831
/
Copy pathAzaleaTown.asm
496 lines (403 loc) · 11.1 KB
/
AzaleaTown.asm
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
object_const_def
const AZALEATOWN_AZALEA_ROCKET1
const AZALEATOWN_GRAMPS
const AZALEATOWN_TEACHER
const AZALEATOWN_YOUNGSTER
const AZALEATOWN_SLOWPOKE1
const AZALEATOWN_SLOWPOKE2
const AZALEATOWN_SLOWPOKE3
const AZALEATOWN_SLOWPOKE4
const AZALEATOWN_FRUIT_TREE
const AZALEATOWN_RIVAL
const AZALEATOWN_AZALEA_ROCKET3
const AZALEATOWN_KURT_OUTSIDE
AzaleaTown_MapScripts:
def_scene_scripts
scene_script AzaleaTownNoop1Scene, SCENE_AZALEATOWN_NOOP
scene_script AzaleaTownNoop2Scene, SCENE_AZALEATOWN_RIVAL_BATTLE
scene_script AzaleaTownNoop3Scene, SCENE_AZALEATOWN_KURT_RETURNS_GS_BALL
def_callbacks
callback MAPCALLBACK_NEWMAP, AzaleaTownFlypointCallback
AzaleaTownNoop1Scene:
end
AzaleaTownNoop2Scene:
end
AzaleaTownNoop3Scene:
end
AzaleaTownFlypointCallback:
setflag ENGINE_FLYPOINT_AZALEA
endcallback
AzaleaTownRivalBattleScene1:
moveobject AZALEATOWN_RIVAL, 11, 11
turnobject PLAYER, RIGHT
showemote EMOTE_SHOCK, PLAYER, 15
special FadeOutMusic
pause 15
appear AZALEATOWN_RIVAL
applymovement AZALEATOWN_RIVAL, AzaleaTownRivalBattleApproachMovement1
turnobject PLAYER, DOWN
sjump AzaleaTownRivalBattleScript
AzaleaTownRivalBattleScene2:
turnobject PLAYER, RIGHT
showemote EMOTE_SHOCK, PLAYER, 15
special FadeOutMusic
pause 15
appear AZALEATOWN_RIVAL
applymovement AZALEATOWN_RIVAL, AzaleaTownRivalBattleApproachMovement2
turnobject PLAYER, UP
AzaleaTownRivalBattleScript:
playmusic MUSIC_RIVAL_ENCOUNTER
opentext
writetext AzaleaTownRivalBeforeText
waitbutton
closetext
setevent EVENT_RIVAL_AZALEA_TOWN
checkevent EVENT_GOT_TOTODILE_FROM_ELM
iftrue .Totodile
checkevent EVENT_GOT_CHIKORITA_FROM_ELM
iftrue .Chikorita
winlosstext AzaleaTownRivalWinText, AzaleaTownRivalLossText
setlasttalked AZALEATOWN_RIVAL
loadtrainer RIVAL1, RIVAL1_2_TOTODILE
startbattle
dontrestartmapmusic
reloadmapafterbattle
sjump .AfterBattle
.Totodile:
winlosstext AzaleaTownRivalWinText, AzaleaTownRivalLossText
setlasttalked AZALEATOWN_RIVAL
loadtrainer RIVAL1, RIVAL1_2_CHIKORITA
startbattle
dontrestartmapmusic
reloadmapafterbattle
sjump .AfterBattle
.Chikorita:
winlosstext AzaleaTownRivalWinText, AzaleaTownRivalLossText
setlasttalked AZALEATOWN_RIVAL
loadtrainer RIVAL1, RIVAL1_2_CYNDAQUIL
startbattle
dontrestartmapmusic
reloadmapafterbattle
sjump .AfterBattle
.AfterBattle:
playmusic MUSIC_RIVAL_AFTER
opentext
writetext AzaleaTownRivalAfterText
waitbutton
closetext
turnobject PLAYER, LEFT
applymovement AZALEATOWN_RIVAL, AzaleaTownRivalBattleExitMovement
playsound SFX_EXIT_BUILDING
disappear AZALEATOWN_RIVAL
setscene SCENE_AZALEATOWN_NOOP
waitsfx
playmapmusic
end
AzaleaTownRocket1Script:
jumptextfaceplayer AzaleaTownRocket1Text
AzaleaTownRocket2Script:
jumptextfaceplayer AzaleaTownRocket2Text
AzaleaTownGrampsScript:
faceplayer
opentext
checkevent EVENT_CLEARED_SLOWPOKE_WELL
iftrue .ClearedWell
writetext AzaleaTownGrampsTextBefore
waitbutton
closetext
end
.ClearedWell:
writetext AzaleaTownGrampsTextAfter
waitbutton
closetext
end
AzaleaTownTeacherScript:
jumptextfaceplayer AzaleaTownTeacherText
AzaleaTownYoungsterScript:
jumptextfaceplayer AzaleaTownYoungsterText
AzaleaTownSlowpokeScript:
opentext
writetext AzaleaTownSlowpokeText1
pause 60
writetext AzaleaTownSlowpokeText2
cry SLOWPOKE
waitbutton
closetext
end
UnusedWoosterScript: ; unreferenced
faceplayer
opentext
writetext WoosterText
cry QUAGSIRE
waitbutton
closetext
end
AzaleaTownCelebiScene:
applymovement PLAYER, AzaleaTownPlayerLeavesKurtsHouseMovement
opentext
writetext AzaleaTownKurtText1
promptbutton
turnobject AZALEATOWN_KURT_OUTSIDE, RIGHT
writetext AzaleaTownKurtText2
promptbutton
writetext AzaleaTownKurtText3
waitbutton
verbosegiveitem GS_BALL
turnobject AZALEATOWN_KURT_OUTSIDE, LEFT
setflag ENGINE_FOREST_IS_RESTLESS
clearevent EVENT_ILEX_FOREST_LASS
setevent EVENT_ROUTE_34_ILEX_FOREST_GATE_LASS
setscene SCENE_AZALEATOWN_NOOP
closetext
end
AzaleaTownKurtScript:
faceplayer
opentext
writetext AzaleaTownKurtText3
waitbutton
turnobject AZALEATOWN_KURT_OUTSIDE, LEFT
closetext
end
AzaleaTownSign:
jumptext AzaleaTownSignText
KurtsHouseSign:
jumptext KurtsHouseSignText
AzaleaGymSign:
jumptext AzaleaGymSignText
SlowpokeWellSign:
jumptext SlowpokeWellSignText
CharcoalKilnSign:
jumptext CharcoalKilnSignText
AzaleaTownIlextForestSign:
jumptext AzaleaTownIlexForestSignText
AzaleaTownPokecenterSign:
jumpstd PokecenterSignScript
AzaleaTownMartSign:
jumpstd MartSignScript
WhiteApricornTree:
fruittree FRUITTREE_AZALEA_TOWN
AzaleaTownHiddenFullHeal:
hiddenitem FULL_HEAL, EVENT_AZALEA_TOWN_HIDDEN_FULL_HEAL
AzaleaTownRivalBattleApproachMovement1:
step LEFT
step LEFT
step LEFT
step LEFT
step LEFT
step LEFT
turn_head UP
step_end
AzaleaTownRivalBattleApproachMovement2:
step LEFT
step LEFT
step LEFT
step LEFT
step LEFT
step LEFT
turn_head DOWN
step_end
AzaleaTownRivalBattleExitMovement:
step LEFT
step LEFT
step LEFT
step_end
AzaleaTownPlayerLeavesKurtsHouseMovement:
step LEFT
step LEFT
step UP
turn_head LEFT
step_end
AzaleaTownRivalBeforeText:
text "…Tell me some-"
line "thing."
para "Is it true that"
line "TEAM ROCKET has"
cont "returned?"
para "What? You beat"
line "them? Hah! Quit"
cont "lying."
para "You're not joking?"
line "Then let's see how"
cont "good you are."
done
AzaleaTownRivalWinText:
text "… Humph! Useless"
line "#MON!"
para "Listen, you. You"
line "only won because"
para "my #MON were"
line "weak."
done
AzaleaTownRivalAfterText:
text "I hate the weak."
para "#MON, trainers."
line "It doesn't matter"
cont "who or what."
para "I'm going to be"
line "strong and wipe"
cont "out the weak."
para "That goes for TEAM"
line "ROCKET too."
para "They act big and"
line "tough in a group."
para "But get them"
line "alone, and they're"
cont "weak."
para "I hate them all."
para "You stay out of my"
line "way. A weakling"
para "like you is only a"
line "distraction."
done
AzaleaTownRivalLossText:
text "…Humph! I knew"
line "you were lying."
done
AzaleaTownRocket1Text:
text "It's unsafe to go"
line "in there, so I'm"
cont "standing guard."
para "Aren't I a good"
line "Samaritan?"
done
AzaleaTownRocket2Text:
text "Do you know about"
line "SLOWPOKETAIL? I"
cont "heard it's tasty!"
para "Aren't you glad I"
line "told you that?"
done
AzaleaTownGrampsTextBefore:
text "The SLOWPOKE have"
line "disappeared from"
cont "town…"
para "I heard their"
line "TAILS are being"
cont "sold somewhere."
done
AzaleaTownGrampsTextAfter:
text "The SLOWPOKE have"
line "returned."
para "Knowing them, they"
line "could've just been"
para "goofing off some-"
line "where."
done
AzaleaTownTeacherText:
text "Did you come to"
line "get KURT to make"
cont "some BALLS?"
para "A lot of people do"
line "just that."
done
AzaleaTownYoungsterText:
text "Cut through AZALEA"
line "and you'll be in"
cont "ILEX FOREST."
para "But these skinny"
line "trees make it"
para "impossible to get"
line "through."
para "The CHARCOAL MAN's"
line "#MON can CUT"
cont "down trees."
done
AzaleaTownSlowpokeText1:
text "SLOWPOKE: …"
para "<……> <……> <……>"
done
AzaleaTownSlowpokeText2:
text "<……> <……>Yawn?"
done
WoosterText:
text "WOOSTER: Gugyoo…"
done
AzaleaTownKurtText1:
text "ILEX FOREST is"
line "restless!"
para "What is going on?"
done
AzaleaTownKurtText2:
text "<PLAYER>, here's"
line "your GS BALL back!"
done
AzaleaTownKurtText3:
text "Could you go see"
line "why ILEX FOREST is"
cont "so restless?"
done
AzaleaTownSignText:
text "AZALEA TOWN"
line "Where People and"
para "#MON Live in"
line "Happy Harmony"
done
KurtsHouseSignText:
text "KURT'S HOUSE"
done
AzaleaGymSignText:
text "AZALEA TOWN"
line "#MON GYM"
cont "LEADER: BUGSY"
para "The Walking"
line "Bug #MON"
cont "Encyclopedia"
done
SlowpokeWellSignText:
text "SLOWPOKE WELL"
para "Also known as the"
line "RAINMAKER WELL."
para "Locals believe"
line "that a SLOWPOKE's"
cont "yawn summons rain."
para "Records show that"
line "a SLOWPOKE's yawn"
para "ended a drought"
line "400 years ago."
done
CharcoalKilnSignText:
text "CHARCOAL KILN"
done
AzaleaTownIlexForestSignText:
text "ILEX FOREST"
para "Enter through the"
line "gate."
done
AzaleaTown_MapEvents:
db 0, 0 ; filler
def_warp_events
warp_event 15, 9, AZALEA_POKECENTER_1F, 1
warp_event 21, 13, CHARCOAL_KILN, 1
warp_event 21, 5, AZALEA_MART, 2
warp_event 9, 5, KURTS_HOUSE, 1
warp_event 10, 15, AZALEA_GYM, 1
warp_event 31, 7, SLOWPOKE_WELL_B1F, 1
warp_event 2, 10, ILEX_FOREST_AZALEA_GATE, 3
warp_event 2, 11, ILEX_FOREST_AZALEA_GATE, 4
def_coord_events
coord_event 5, 10, SCENE_AZALEATOWN_RIVAL_BATTLE, AzaleaTownRivalBattleScene1
coord_event 5, 11, SCENE_AZALEATOWN_RIVAL_BATTLE, AzaleaTownRivalBattleScene2
coord_event 9, 6, SCENE_AZALEATOWN_KURT_RETURNS_GS_BALL, AzaleaTownCelebiScene
def_bg_events
bg_event 19, 9, BGEVENT_READ, AzaleaTownSign
bg_event 10, 9, BGEVENT_READ, KurtsHouseSign
bg_event 14, 15, BGEVENT_READ, AzaleaGymSign
bg_event 29, 7, BGEVENT_READ, SlowpokeWellSign
bg_event 19, 13, BGEVENT_READ, CharcoalKilnSign
bg_event 16, 9, BGEVENT_READ, AzaleaTownPokecenterSign
bg_event 22, 5, BGEVENT_READ, AzaleaTownMartSign
bg_event 3, 9, BGEVENT_READ, AzaleaTownIlextForestSign
bg_event 31, 6, BGEVENT_ITEM, AzaleaTownHiddenFullHeal
def_object_events
object_event 31, 9, SPRITE_AZALEA_ROCKET, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, AzaleaTownRocket1Script, EVENT_AZALEA_TOWN_SLOWPOKETAIL_ROCKET
object_event 21, 9, SPRITE_GRAMPS, SPRITEMOVEDATA_WANDER, 1, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, AzaleaTownGrampsScript, -1
object_event 15, 13, SPRITE_TEACHER, SPRITEMOVEDATA_WALK_UP_DOWN, 0, 2, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, AzaleaTownTeacherScript, -1
object_event 7, 9, SPRITE_YOUNGSTER, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 1, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, AzaleaTownYoungsterScript, -1
object_event 8, 17, SPRITE_SLOWPOKE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, AzaleaTownSlowpokeScript, EVENT_AZALEA_TOWN_SLOWPOKES
object_event 18, 9, SPRITE_SLOWPOKE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, AzaleaTownSlowpokeScript, EVENT_AZALEA_TOWN_SLOWPOKES
object_event 29, 9, SPRITE_SLOWPOKE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, AzaleaTownSlowpokeScript, EVENT_AZALEA_TOWN_SLOWPOKES
object_event 15, 15, SPRITE_SLOWPOKE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, AzaleaTownSlowpokeScript, EVENT_AZALEA_TOWN_SLOWPOKES
object_event 8, 2, SPRITE_FRUIT_TREE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, WhiteApricornTree, -1
object_event 11, 10, SPRITE_AZALEA_ROCKET, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_RIVAL_AZALEA_TOWN
object_event 10, 16, SPRITE_AZALEA_ROCKET, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, AzaleaTownRocket2Script, EVENT_SLOWPOKE_WELL_ROCKETS
object_event 6, 5, SPRITE_KURT_OUTSIDE, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, AzaleaTownKurtScript, EVENT_AZALEA_TOWN_KURT