-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathGoldenrodCity.asm
603 lines (489 loc) · 14 KB
/
GoldenrodCity.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
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
const_def 2 ; object constants
const GOLDENRODCITY_POKEFAN_M1
const GOLDENRODCITY_YOUNGSTER1
const GOLDENRODCITY_COOLTRAINER_F1
const GOLDENRODCITY_COOLTRAINER_F2
const GOLDENRODCITY_YOUNGSTER2
const GOLDENRODCITY_LASS
const GOLDENRODCITY_GRAMPS
const GOLDENRODCITY_ROCKETSCOUT
const GOLDENRODCITY_ROCKET1
const GOLDENRODCITY_ROCKET2
const GOLDENRODCITY_ROCKET3
const GOLDENRODCITY_ROCKET4
const GOLDENRODCITY_ROCKET5
const GOLDENRODCITY_ROCKET6
const GOLDENRODCITY_MOVETUTOR
GoldenrodCity_MapScripts:
db 0 ; scene scripts
db 2 ; callbacks
callback MAPCALLBACK_NEWMAP, .FlyPointAndFloria
callback MAPCALLBACK_OBJECTS, .MoveTutor
.FlyPointAndFloria:
setflag ENGINE_FLYPOINT_GOLDENROD
setflag ENGINE_REACHED_GOLDENROD
checkevent EVENT_MET_FLORIA
iftrue .FloriaDone
clearevent EVENT_FLORIA_AT_SUDOWOODO
.FloriaDone:
return
.MoveTutor:
checkevent EVENT_BEAT_ELITE_FOUR
iffalse .MoveTutorDone
checkitem COIN_CASE
iffalse .MoveTutorDisappear
checkcode VAR_WEEKDAY
ifequal WEDNESDAY, .MoveTutorAppear
ifequal SATURDAY, .MoveTutorAppear
.MoveTutorDisappear:
disappear GOLDENRODCITY_MOVETUTOR
return
.MoveTutorAppear:
checkflag ENGINE_DAILY_MOVE_TUTOR
iftrue .MoveTutorDone
appear GOLDENRODCITY_MOVETUTOR
.MoveTutorDone:
return
MoveTutorScript:
faceplayer
opentext
writetext UnknownText_0x199042
yesorno
iffalse .Refused
special DisplayCoinCaseBalance
writetext UnknownText_0x199090
yesorno
iffalse .Refused2
checkcoins 4000
ifequal HAVE_LESS, .NotEnoughMoney
writetext UnknownText_0x1990ce
loadmenu .MoveMenuHeader
verticalmenu
closewindow
ifequal MOVETUTOR_FLAMETHROWER, .Flamethrower
ifequal MOVETUTOR_THUNDERBOLT, .Thunderbolt
ifequal MOVETUTOR_ICE_BEAM, .IceBeam
jump .Incompatible
.Flamethrower:
writebyte MOVETUTOR_FLAMETHROWER
writetext UnknownText_0x1991cf
special MoveTutor
ifequal FALSE, .TeachMove
jump .Incompatible
.Thunderbolt:
writebyte MOVETUTOR_THUNDERBOLT
writetext UnknownText_0x1991cf
special MoveTutor
ifequal FALSE, .TeachMove
jump .Incompatible
.IceBeam:
writebyte MOVETUTOR_ICE_BEAM
writetext UnknownText_0x1991cf
special MoveTutor
ifequal FALSE, .TeachMove
jump .Incompatible
.MoveMenuHeader:
db MENU_BACKUP_TILES ; flags
menu_coords 0, 2, 15, TEXTBOX_Y - 1
dw .MenuData
db 1 ; default option
.MenuData:
db STATICMENU_CURSOR ; flags
db 4 ; items
db "FLAMETHROWER@"
db "THUNDERBOLT@"
db "ICE BEAM@"
db "CANCEL@"
.Refused:
writetext UnknownText_0x1990b4
waitbutton
closetext
end
.Refused2:
writetext UnknownText_0x199107
waitbutton
closetext
end
.TeachMove:
writetext UnknownText_0x19913a
buttonsound
takecoins 4000
waitsfx
playsound SFX_TRANSACTION
special DisplayCoinCaseBalance
writetext UnknownText_0x19918b
waitbutton
closetext
checkcode VAR_FACING
ifequal LEFT, .WalkAroundPlayer
applymovement GOLDENRODCITY_MOVETUTOR, MovementData_0x198a5f
jump .GoInside
.WalkAroundPlayer:
applymovement GOLDENRODCITY_MOVETUTOR, MovementData_0x198a63
.GoInside:
playsound SFX_ENTER_DOOR
disappear GOLDENRODCITY_MOVETUTOR
clearevent EVENT_GOLDENROD_GAME_CORNER_MOVE_TUTOR
setflag ENGINE_DAILY_MOVE_TUTOR
waitsfx
end
.Incompatible:
writetext UnknownText_0x1991a4
waitbutton
closetext
end
.NotEnoughMoney:
writetext UnknownText_0x1991ac
waitbutton
closetext
end
GoldenrodCityPokefanMScript:
jumptextfaceplayer GoldenrodCityPokefanMText
GoldenrodCityYoungster1Script:
jumptextfaceplayer GoldenrodCityYoungster1Text
GoldenrodCityCooltrainerF1Script:
faceplayer
opentext
checkevent EVENT_CLEARED_RADIO_TOWER
iftrue .ClearedRadioTower
writetext GoldenrodCityCooltrainerF1Text
waitbutton
closetext
end
.ClearedRadioTower:
writetext GoldenrodCityCooltrainerF1Text_ClearedRadioTower
waitbutton
closetext
end
GoldenrodCityCooltrainerF2Script:
faceplayer
opentext
checkflag ENGINE_RADIO_CARD
iftrue .GotRadioCard
writetext GoldenrodCityCooltrainerF2Text
waitbutton
closetext
end
.GotRadioCard:
writetext GoldenrodCityCooltrainerF2Text_GotRadioCard
waitbutton
closetext
end
GoldenrodCityYoungster2Script:
jumptextfaceplayer GoldenrodCityYoungster2Text
GoldenrodCityLassScript:
jumptextfaceplayer GoldenrodCityLassText
GoldenrodCityGrampsScript:
jumptextfaceplayer GoldenrodCityGrampsText
GoldenrodCityRocketScoutScript:
opentext
writetext GoldenrodCityRocketScoutText1
buttonsound
faceplayer
writetext GoldenrodCityRocketScoutText2
waitbutton
closetext
turnobject GOLDENRODCITY_ROCKETSCOUT, UP
end
GoldenrodCityRocket1Script:
jumptextfaceplayer GoldenrodCityRocket1Text
GoldenrodCityRocket2Script:
jumptextfaceplayer GoldenrodCityRocket2Text
GoldenrodCityRocket3Script:
jumptextfaceplayer GoldenrodCityRocket3Text
GoldenrodCityRocket4Script:
jumptextfaceplayer GoldenrodCityRocket4Text
GoldenrodCityRocket5Script:
jumptextfaceplayer GoldenrodCityRocket5Text
GoldenrodCityRocket6Script:
jumptextfaceplayer GoldenrodCityRocket6Text
GoldenrodCityStationSign:
jumptext GoldenrodCityStationSignText
GoldenrodCityRadioTowerSign:
jumptext GoldenrodCityRadioTowerSignText
GoldenrodDeptStoreSign:
jumptext GoldenrodDeptStoreSignText
GoldenrodGymSign:
jumptext GoldenrodGymSignText
GoldenrodCitySign:
jumptext GoldenrodCitySignText
GoldenrodCityBikeShopSign:
jumptext GoldenrodCityBikeShopSignText
GoldenrodCityGameCornerSign:
jumptext GoldenrodCityGameCornerSignText
GoldenrodCityNameRaterSign:
jumptext GoldenrodCityNameRaterSignText
GoldenrodCityUndergroundSignNorth:
jumptext GoldenrodCityUndergroundSignNorthText
GoldenrodCityUndergroundSignSouth:
jumptext GoldenrodCityUndergroundSignSouthText
GoldenrodCityPokecenterSign:
jumpstd pokecentersign
GoldenrodCityFlowerShopSign:
jumptext GoldenrodCityFlowerShopSignText
MovementData_0x198a5f:
step RIGHT
step RIGHT
step UP
step_end
MovementData_0x198a63:
step DOWN
step RIGHT
step RIGHT
step UP
step UP
step_end
GoldenrodCityPokefanMText:
text "They built the new"
line "RADIO TOWER to"
para "replace the old,"
line "creaky one."
done
GoldenrodCityYoungster1Text:
text "I know there's a"
line "new BIKE SHOP, but"
para "I can't find it"
line "anywhere."
done
GoldenrodCityCooltrainerF1Text:
text "Is that man in"
line "black dressed up"
para "like a TEAM ROCKET"
line "member? How silly!"
done
GoldenrodCityCooltrainerF1Text_ClearedRadioTower:
text "Was that man in"
line "black really part"
para "of TEAM ROCKET? I"
line "can't believe it!"
done
GoldenrodCityCooltrainerF2Text:
text "The RADIO TOWER in"
line "GOLDENROD CITY is"
cont "a landmark."
para "They're running a"
line "promotional cam- "
cont "paign right now."
para "They'll modify"
line "your #GEAR,"
para "so it can also"
line "serve as a radio."
done
GoldenrodCityCooltrainerF2Text_GotRadioCard:
text "Oh, your #GEAR"
line "works as a radio!"
done
GoldenrodCityYoungster2Text:
text "E-he-he-he…"
para "I got in trouble"
line "for playing in the"
para "basement of the"
line "DEPT.STORE."
done
GoldenrodCityLassText:
text "The man at that"
line "house rates your"
cont "#MON names."
para "He can even rename"
line "your #MON."
done
GoldenrodCityGrampsText:
text "Whew! This is one"
line "big town. I don't"
para "know where any-"
line "thing is."
done
GoldenrodCityRocketScoutText1:
text "So this is the"
line "RADIO TOWER…"
done
GoldenrodCityRocketScoutText2:
text "What do you want,"
line "you pest? Scram!"
done
GoldenrodCityRocket1Text:
text "Stay out of the"
line "way! Beat it!"
done
GoldenrodCityRocket2Text:
text "Take over the"
line "RADIO TOWER…"
para "What? It's none of"
line "your business!"
done
GoldenrodCityRocket3Text:
text "#MON? They're"
line "nothing more than"
para "tools for making"
line "money!"
done
GoldenrodCityRocket4Text:
text "Our dream will"
line "soon come true…"
para "It was such a long"
line "struggle…"
done
GoldenrodCityRocket5Text:
text "Hey, brat! You"
line "don't belong here!"
cont "Get lost!"
done
GoldenrodCityRocket6Text:
text "Come taste the"
line "true terror of"
cont "TEAM ROCKET!"
done
GoldenrodCityStationSignText:
text "GOLDENROD CITY"
line "STATION"
done
GoldenrodCityRadioTowerSignText:
text "GOLDENROD CITY"
line "RADIO TOWER"
done
GoldenrodDeptStoreSignText:
text "Full Selection of"
line "#MON Goods!"
para "GOLDENROD CITY"
line "DEPT.STORE"
done
GoldenrodGymSignText:
text "GOLDENROD CITY"
line "#MON GYM"
cont "LEADER: WHITNEY"
para "The Incredibly"
line "Pretty Girl!"
done
GoldenrodCitySignText:
text "GOLDENROD CITY"
para "The Festive City"
line "of Opulent Charm"
done
GoldenrodCityBikeShopSignText:
text "The World is a"
line "Cycle Path!"
cont "BIKE SHOP"
done
GoldenrodCityGameCornerSignText:
text "Your Playground!"
para "GOLDENROD CITY"
line "GAME CORNER"
done
GoldenrodCityNameRaterSignText:
text "NAME RATER"
para "Get Your #MON"
line "Nicknames Rated"
done
GoldenrodCityUndergroundSignNorthText:
text "UNDERGROUND"
line "ENTRANCE"
done
GoldenrodCityUndergroundSignSouthText:
text "UNDERGROUND"
line "ENTRANCE"
done
GoldenrodCityPokeComCenterSignText:
; unused
text "For Mobile Tips!"
line "#COM CENTER"
done
GoldenrodCityFlowerShopSignText:
text "Blooming Beautiful"
line "FLOWER SHOP"
done
UnknownText_0x199042:
text "I can teach your"
line "#MON amazing"
para "moves if you'd"
line "like."
para "Should I teach a"
line "new move?"
done
UnknownText_0x199090:
text "It will cost you"
line "4000 coins. Okay?"
done
UnknownText_0x1990b4:
text "Aww… But they're"
line "amazing…"
done
UnknownText_0x1990ce:
text "Wahahah! You won't"
line "regret it!"
para "Which move should"
line "I teach?"
done
UnknownText_0x199107:
text "Hm, too bad. I'll"
line "have to get some"
cont "cash from home…"
done
UnknownText_0x19913a:
text "If you understand"
line "what's so amazing"
para "about this move,"
line "you've made it as"
cont "a trainer."
done
UnknownText_0x19918b:
text "Wahahah!"
line "Farewell, kid!"
done
UnknownText_0x1991a4:
text "B-but…"
done
UnknownText_0x1991ac:
text "…You don't have"
line "enough coins here…"
done
UnknownText_0x1991cf:
text_start
done
GoldenrodCity_MapEvents:
db 0, 0 ; filler
db 15 ; warp events
warp_event 24, 7, GOLDENROD_GYM, 1
warp_event 29, 29, GOLDENROD_BIKE_SHOP, 1
warp_event 31, 21, GOLDENROD_HAPPINESS_RATER, 1
warp_event 5, 25, BILLS_FAMILYS_HOUSE, 1
warp_event 9, 13, GOLDENROD_MAGNET_TRAIN_STATION, 2
warp_event 29, 5, GOLDENROD_FLOWER_SHOP, 1
warp_event 33, 9, GOLDENROD_PP_SPEECH_HOUSE, 1
warp_event 15, 7, GOLDENROD_NAME_RATER, 1
warp_event 24, 27, GOLDENROD_DEPT_STORE_1F, 1
warp_event 14, 21, GOLDENROD_GAME_CORNER, 1
warp_event 5, 15, RADIO_TOWER_1F, 1
warp_event 19, 1, ROUTE_35_GOLDENROD_GATE, 3
warp_event 9, 5, GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES, 8
warp_event 11, 29, GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES, 5
warp_event 15, 27, GOLDENROD_POKECENTER_1F, 1
db 0 ; coord events
db 12 ; bg events
bg_event 10, 14, BGEVENT_READ, GoldenrodCityStationSign
bg_event 4, 17, BGEVENT_READ, GoldenrodCityRadioTowerSign
bg_event 26, 27, BGEVENT_READ, GoldenrodDeptStoreSign
bg_event 26, 9, BGEVENT_READ, GoldenrodGymSign
bg_event 22, 18, BGEVENT_READ, GoldenrodCitySign
bg_event 28, 30, BGEVENT_READ, GoldenrodCityBikeShopSign
bg_event 16, 22, BGEVENT_READ, GoldenrodCityGameCornerSign
bg_event 12, 7, BGEVENT_READ, GoldenrodCityNameRaterSign
bg_event 8, 6, BGEVENT_READ, GoldenrodCityUndergroundSignNorth
bg_event 12, 30, BGEVENT_READ, GoldenrodCityUndergroundSignSouth
bg_event 16, 27, BGEVENT_UP, GoldenrodCityPokecenterSign
bg_event 30, 6, BGEVENT_READ, GoldenrodCityFlowerShopSign
db 15 ; object events
object_event 7, 18, SPRITE_POKEFAN_M, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodCityPokefanMScript, EVENT_GOLDENROD_CITY_CIVILIANS
object_event 30, 17, SPRITE_YOUNGSTER, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodCityYoungster1Script, EVENT_GOLDENROD_CITY_CIVILIANS
object_event 12, 16, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, GoldenrodCityCooltrainerF1Script, EVENT_GOLDENROD_CITY_CIVILIANS
object_event 20, 26, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_WANDER, 1, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodCityCooltrainerF2Script, EVENT_GOLDENROD_CITY_CIVILIANS
object_event 19, 17, SPRITE_YOUNGSTER, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, GoldenrodCityYoungster2Script, EVENT_GOLDENROD_CITY_CIVILIANS
object_event 17, 10, SPRITE_LASS, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 2, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, GoldenrodCityLassScript, EVENT_GOLDENROD_CITY_CIVILIANS
object_event 11, 27, SPRITE_GRAMPS, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 1, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodCityGrampsScript, EVENT_GOLDENROD_CITY_CIVILIANS
object_event 4, 16, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodCityRocketScoutScript, EVENT_GOLDENROD_CITY_ROCKET_SCOUT
object_event 28, 20, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodCityRocket1Script, EVENT_GOLDENROD_CITY_ROCKET_TAKEOVER
object_event 8, 15, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodCityRocket2Script, EVENT_GOLDENROD_CITY_ROCKET_TAKEOVER
object_event 16, 23, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodCityRocket3Script, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
object_event 29, 20, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodCityRocket4Script, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
object_event 29, 7, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodCityRocket5Script, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
object_event 31, 10, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodCityRocket6Script, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
object_event 12, 22, SPRITE_POKEFAN_M, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, MoveTutorScript, EVENT_GOLDENROD_CITY_MOVE_TUTOR