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
|
.equ LOCALID_SIGN_LADY, 1
.equ LOCALID_PROF_OAK, 3
.equ SIGN_LADY_READY, VAR_TEMP_2
PalletTown_MapScripts:: @ 816545A
map_script MAP_SCRIPT_ON_TRANSITION, PalletTown_OnTransition
map_script MAP_SCRIPT_ON_FRAME_TABLE, PalletTown_OnFrame
.byte 0
PalletTown_OnTransition:: @ 8165465
setworldmapflag FLAG_WORLD_MAP_PALLET_TOWN
call_if_set FLAG_PALLET_LADY_NOT_BLOCKING_SIGN, PalletTown_EventScript_TryReadySignLady
compare VAR_MAP_SCENE_PALLET_TOWN_SIGN_LADY, 0
call_if_eq PalletTown_EventScript_SetSignLadyPos
compare VAR_MAP_SCENE_PALLET_TOWN_SIGN_LADY, 1
call_if_eq PalletTown_EventScript_SetSignLadyDone
end
PalletTown_EventScript_TryReadySignLady:: @ 8165488
goto_if_unset FLAG_OPENED_START_MENU, EventScript_Return
compare VAR_MAP_SCENE_PALLET_TOWN_SIGN_LADY, 1
goto_if_ge EventScript_Return
setvar VAR_MAP_SCENE_PALLET_TOWN_SIGN_LADY, 1
return
PalletTown_EventScript_SetSignLadyDone:: @ 81654A2
setvar VAR_MAP_SCENE_PALLET_TOWN_SIGN_LADY, 2
return
PalletTown_EventScript_SetSignLadyPos:: @ 81654A8
goto_if_set FLAG_PALLET_LADY_NOT_BLOCKING_SIGN, PalletTown_EventScript_MoveSignLadyToRouteEntrance
setobjectxyperm LOCALID_SIGN_LADY, 5, 15
setobjectmovementtype LOCALID_SIGN_LADY, MOVEMENT_TYPE_FACE_UP
return
PalletTown_EventScript_MoveSignLadyToRouteEntrance:: @ 81654BD
setobjectxyperm LOCALID_SIGN_LADY, 12, 2
setobjectmovementtype LOCALID_SIGN_LADY, MOVEMENT_TYPE_FACE_DOWN
setvar SIGN_LADY_READY, TRUE
return
PalletTown_OnFrame:: @ 81654CE
map_script_2 VAR_MAP_SCENE_PALLET_TOWN_OAK, 2, PalletTown_EventScript_OakRatingScene
.2byte 0
@ Oak approaches player after exiting their house post Elite Four to check if they should receieve the National Dex
PalletTown_EventScript_OakRatingScene:: @ 81654D8
lockall
textcolor 0
setobjectxyperm LOCALID_PROF_OAK, 14, 14
setobjectmovementtype LOCALID_PROF_OAK, MOVEMENT_TYPE_FACE_LEFT
addobject LOCALID_PROF_OAK
applymovement LOCALID_PROF_OAK, PalletTown_Movement_OakWalkToPlayersDoor
waitmovement 0
goto_if_unset FLAG_WORLD_MAP_ONE_ISLAND, PalletTown_EventScript_NotBeenToOneIslandYet
msgbox PalletTown_Text_OakLetMeSeePokedex
setvar VAR_0x8004, 0
specialvar VAR_RESULT, GetPokedexCount
copyvar VAR_0x8008, VAR_0x8005
copyvar VAR_0x8009, VAR_0x8006
getnumberstring 0, VAR_0x8008
getnumberstring 1, VAR_0x8009
compare VAR_0x8009, 60
goto_if_lt PalletTown_EventScript_NotEnoughMonsForNationalDex
msgbox PalletTown_Text_CaughtXImpressiveFollowMe
closemessage
playbgm MUS_ANNAI, 0
applymovement OBJ_EVENT_ID_PLAYER, PalletTown_Movement_PlayerWalkToLabFromHouse
applymovement LOCALID_PROF_OAK, PalletTown_Movement_OakWalkToLabFromHouse
waitmovement 0
opendoor 16, 13
waitdooranim
applymovement LOCALID_PROF_OAK, PalletTown_Movement_OakEnterLab
applymovement OBJ_EVENT_ID_PLAYER, PalletTown_Movement_PlayerEnterLab
waitmovement 0
closedoor 16, 13
waitdooranim
setvar VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 7
setvar VAR_MAP_SCENE_PALLET_TOWN_OAK, 3
setflag FLAG_HIDE_OAK_IN_PALLET_TOWN
warp MAP_PALLET_TOWN_PROFESSOR_OAKS_LAB, 255, 6, 12
waitstate
releaseall
end
PalletTown_EventScript_EndOakRatingScene:: @ 816557E
closemessage
applymovement LOCALID_PROF_OAK, PalletTown_Movement_OakExit
waitmovement 0
removeobject LOCALID_PROF_OAK
setvar VAR_MAP_SCENE_PALLET_TOWN_OAK, 3
releaseall
end
PalletTown_EventScript_NotEnoughMonsForNationalDex:: @ 8165593
msgbox PalletTown_Text_CaughtXPuttingInHonestEffort
goto PalletTown_EventScript_EndOakRatingScene
end
PalletTown_EventScript_NotBeenToOneIslandYet:: @ 81655A1
msgbox PalletTown_Text_OakYouEnjoyingTraveling
goto PalletTown_EventScript_EndOakRatingScene
end
PalletTown_Movement_OakWalkToPlayersDoor:: @ 81655AF
walk_left
walk_left
walk_left
walk_up
walk_up
walk_up
walk_up
walk_up
walk_left
walk_left
walk_left
walk_left
walk_left
walk_in_place_fastest_up
step_end
PalletTown_Movement_OakExit:: @ 81655BE
walk_right
walk_right
walk_right
walk_right
walk_right
walk_down
walk_down
walk_down
walk_down
walk_down
walk_right
walk_right
walk_right
step_end
PalletTown_Movement_OakWalkToLabFromHouse:: @ 81655CC
walk_right
walk_right
walk_right
walk_right
walk_right
walk_down
walk_down
walk_down
walk_down
walk_down
walk_right
walk_right
walk_right
walk_right
walk_right
walk_in_place_fastest_up
step_end
PalletTown_Movement_PlayerWalkToLabFromHouse:: @ 81655DD
walk_down
walk_right
walk_right
walk_right
walk_right
walk_right
walk_down
walk_down
walk_down
walk_down
walk_down
walk_right
walk_right
walk_right
walk_right
step_end
PalletTown_EventScript_OakTriggerLeft:: @ 81655ED
lockall
setvar VAR_TEMP_1, 0
goto PalletTown_EventScript_OakTrigger
end
PalletTown_EventScript_OakTriggerRight:: @ 81655F9
lockall
setvar VAR_TEMP_1, 1
goto PalletTown_EventScript_OakTrigger
end
PalletTown_EventScript_OakTrigger:: @ 8165605
famechecker FAMECHECKER_OAK, FCPICKSTATE_COLORED, UpdatePickStateFromSpecialVar8005
textcolor 0
delay 30
playbgm MUS_OHKIDO, 0
message PalletTown_Text_OakDontGoOut
waitmessage
delay 85
closemessage
applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestDown
waitmovement 0
playse SE_PIN
applymovement OBJ_EVENT_ID_PLAYER, Movement_ExclamationMark
waitmovement 0
delay 30
addobject LOCALID_PROF_OAK
compare VAR_TEMP_1, 0
call_if_eq PalletTown_EventScript_OakEnterLeft
compare VAR_TEMP_1, 1
call_if_eq PalletTown_EventScript_OakEnterRight
delay 30
msgbox PalletTown_Text_OakGrassUnsafeNeedMon
closemessage
delay 30
compare VAR_TEMP_1, 0
call_if_eq PalletTown_EventScript_OakLeadPlayerToLabLeft
compare VAR_TEMP_1, 1
call_if_eq PalletTown_EventScript_OakLeadPlayerToLabRight
opendoor 16, 13
waitdooranim
applymovement LOCALID_PROF_OAK, PalletTown_Movement_OakEnterLab
applymovement OBJ_EVENT_ID_PLAYER, PalletTown_Movement_PlayerEnterLab
waitmovement 0
closedoor 16, 13
waitdooranim
setvar VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 1
clearflag FLAG_HIDE_OAK_IN_HIS_LAB
setvar VAR_MAP_SCENE_PALLET_TOWN_OAK, 1
setflag FLAG_HIDE_OAK_IN_PALLET_TOWN
setflag FLAG_SPECIAL_FLAG_0x4001
warp MAP_PALLET_TOWN_PROFESSOR_OAKS_LAB, 255, 6, 12
waitstate
releaseall
end
PalletTown_EventScript_OakEnterLeft:: @ 81656B8
applymovement LOCALID_PROF_OAK, PalletTown_Movement_OakEnterLeft
waitmovement 0
return
PalletTown_EventScript_OakEnterRight:: @ 81656C3
applymovement LOCALID_PROF_OAK, PalletTown_Movement_OakEnterRight
waitmovement 0
return
PalletTown_EventScript_OakLeadPlayerToLabLeft:: @ 81656CE
applymovement LOCALID_PROF_OAK, PalletTown_Movement_OakWalkToLabLeft
applymovement OBJ_EVENT_ID_PLAYER, PalletTown_Movement_PlayerWalkToLabLeft
waitmovement 0
return
PalletTown_EventScript_OakLeadPlayerToLabRight:: @ 81656E0
applymovement LOCALID_PROF_OAK, PalletTown_Movement_OakWalkToLabRight
applymovement OBJ_EVENT_ID_PLAYER, PalletTown_Movement_PlayerWalkToLabRight
waitmovement 0
return
PalletTown_Movement_OakEnterLeft:: @ 81656F2
walk_up
walk_up
walk_right
walk_up
walk_up
walk_right
walk_up
walk_up
step_end
PalletTown_Movement_OakEnterRight:: @ 81656FB
walk_right
walk_up
walk_up
walk_right
walk_up
walk_up
walk_right
walk_up
walk_up
step_end
.macro walk_to_lab
walk_left
walk_down
walk_down
walk_down
walk_down
walk_down
walk_down
walk_down
walk_down
walk_down
walk_down
walk_down
walk_right
walk_right
walk_right
walk_right
.endm
PalletTown_Movement_OakWalkToLabLeft:: @ 8165705
walk_down
walk_to_lab
walk_right
walk_in_place_fastest_up
step_end
PalletTown_Movement_OakWalkToLabRight:: @ 8165719
walk_down
walk_left
walk_to_lab
walk_right
walk_in_place_fastest_up
step_end
PalletTown_Movement_OakEnterLab:: @ 816572E
walk_up
set_invisible
step_end
PalletTown_Movement_PlayerWalkToLabLeft:: @ 8165731
walk_down
walk_down
walk_to_lab
step_end
PalletTown_Movement_PlayerWalkToLabRight:: @ 8165744
walk_down
walk_down
walk_left
walk_to_lab
step_end
PalletTown_Movement_PlayerEnterLab:: @ 8165758
walk_right
walk_up
set_invisible
step_end
PalletTown_EventScript_SignLady:: @ 816575C
lock
compare VAR_MAP_SCENE_PALLET_TOWN_SIGN_LADY, 2
goto_if_eq PalletTown_EventScript_SignLadyDone
compare VAR_MAP_SCENE_PALLET_TOWN_SIGN_LADY, 1
goto_if_eq PalletTown_EventScript_SignLadyJustShowedSign
compare SIGN_LADY_READY, TRUE
goto_if_eq PalletTown_EventScript_SignLadyStartShowSign
goto_if_set FLAG_TEMP_2, PalletTown_EventScript_SignLadyGoReadSign
msgbox PalletTown_Text_HmmIsThatRight
applymovement LOCALID_SIGN_LADY, Movement_FacePlayer
waitmovement 0
playse SE_PIN
applymovement LOCALID_SIGN_LADY, Movement_ExclamationMark
waitmovement 0
applymovement LOCALID_SIGN_LADY, Movement_Delay48
waitmovement 0
msgbox PalletTown_Text_OhLookLook
closemessage
compare VAR_FACING, DIR_EAST
call_if_eq PalletTown_EventScript_SignLadyMoveOutOfWayRight
compare VAR_FACING, DIR_EAST
call_if_ne PalletTown_EventScript_SignLadyMoveOutOfWayLeft
moveobjectoffscreen 1
setflag FLAG_TEMP_2
release
end
PalletTown_EventScript_SignLadyMoveOutOfWayRight:: @ 81657D7
applymovement LOCALID_SIGN_LADY, PalletTown_Movement_SignLadyMoveOutOfWayRight
waitmovement 0
return
PalletTown_EventScript_SignLadyMoveOutOfWayLeft:: @ 81657E2
applymovement LOCALID_SIGN_LADY, PalletTown_Movement_SignLadyMoveOutOfWayLeft
waitmovement 0
return
PalletTown_EventScript_SignLadyDone:: @ 81657ED
applymovement LOCALID_SIGN_LADY, Movement_FacePlayer
waitmovement 0
msgbox PalletTown_Text_RaisingMonsToo
release
end
PalletTown_EventScript_SignLadyGoReadSign:: @ 8165801
applymovement LOCALID_SIGN_LADY, Movement_FacePlayer
waitmovement 0
msgbox PalletTown_Text_ReadItReadIt
release
end
PalletTown_EventScript_SignLadyJustShowedSign:: @ 8165815
applymovement LOCALID_SIGN_LADY, Movement_FacePlayer
waitmovement 0
msgbox PalletTown_Text_SignsAreUsefulArentThey
release
end
PalletTown_Movement_SignLadyMoveOutOfWayRight:: @ 8165829
walk_right
walk_in_place_fastest_left
step_end
PalletTown_Movement_SignLadyMoveOutOfWayLeft:: @ 816582C
walk_left
walk_in_place_fastest_right
step_end
PalletTown_EventScript_FatMan:: @ 816582F
msgbox PalletTown_Text_CanStoreItemsAndMonsInPC, MSGBOX_NPC
end
PalletTown_EventScript_OaksLabSign:: @ 8165838
lockall
famechecker FAMECHECKER_OAK, 0
msgbox PalletTown_Text_OakPokemonResearchLab
releaseall
end
PalletTown_EventScript_PlayersHouseSign:: @ 8165850
msgbox PalletTown_Text_PlayersHouse, MSGBOX_SIGN
end
PalletTown_EventScript_RivalsHouseSign:: @ 8165859
msgbox PalletTown_Text_RivalsHouse, MSGBOX_SIGN
end
PalletTown_EventScript_TownSign:: @ 8165862
msgbox PalletTown_Text_TownSign, MSGBOX_SIGN
end
PalletTown_EventScript_TrainerTips:: @ 816586B
lockall
msgbox PalletTown_Text_PressStartToOpenMenu
setvar VAR_MAP_SCENE_PALLET_TOWN_SIGN_LADY, 1
releaseall
end
PalletTown_EventScript_SignLadyTrigger:: @ 816587B
lockall
applymovement LOCALID_SIGN_LADY, Movement_WalkInPlaceFastestRight
applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestLeft
waitmovement 0
call PalletTown_EventScript_SignLadyShowSign
releaseall
end
PalletTown_EventScript_SignLadyShowSign:: @ 8165894
textcolor 1
msgbox PalletTown_Text_LookCopiedTrainerTipsSign
closemessage
delay 20
textcolor 3
setflag FLAG_OPENED_START_MENU
setvar VAR_MAP_SCENE_PALLET_TOWN_SIGN_LADY, 1
setvar SIGN_LADY_READY, FALSE
special SetWalkingIntoSignVars
special sub_80699BC
signmsg
msgbox PalletTown_Text_PressStartToOpenMenuCopy
normalmsg
return
PalletTown_EventScript_SignLadyStartShowSign:: @ 81658C2
applymovement LOCALID_SIGN_LADY, Movement_FacePlayer
waitmovement 0
call PalletTown_EventScript_SignLadyShowSign
release
end
|