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
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
|
.set LOCALID_ATTENDANT, 1
.set LOCALID_HINT_GIVER, 2
BattleFrontier_BattlePyramidLobby_MapScripts::
map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePyramidLobby_OnFrame
map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleDomeLobby_OnWarp
.byte 0
@ Unused. Pyramid uses Dome's OnWarp (presumably by mistake). Their effects are identical
BattleFrontier_BattlePyramidLobby_OnWarp:
map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattlePyramidLobby_EventScript_TurnPlayerNorth
.2byte 0
BattleFrontier_BattlePyramidLobby_EventScript_TurnPlayerNorth:
setvar VAR_TEMP_1, 1
turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH
end
BattleFrontier_BattlePyramidLobby_OnFrame:
map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePyramidLobby_EventScript_GetChallengeStatus
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePyramidLobby_EventScript_QuitWithoutSaving
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattlePyramidLobby_EventScript_ResumeChallenge
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattlePyramidLobby_EventScript_WonChallenge
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, BattleFrontier_BattlePyramidLobby_EventScript_LostChallenge
.2byte 0
BattleFrontier_BattlePyramidLobby_EventScript_GetChallengeStatus::
frontier_getstatus
end
BattleFrontier_BattlePyramidLobby_EventScript_QuitWithoutSaving::
lockall
message BattleFrontier_BattlePyramidLobby_Text_DidntSaveBeforeQuittingTakeBag
waitmessage
playse SE_EXP_MAX
waitse
closemessage
pyramid_set PYRAMID_DATA_WIN_STREAK, 0
pyramid_set PYRAMID_DATA_WIN_STREAK_ACTIVE, FALSE
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
setvar VAR_TEMP_0, 255
releaseall
end
BattleFrontier_BattlePyramidLobby_EventScript_WonChallenge::
lockall
frontier_isbrain
goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattlePyramidLobby_EventScript_DefeatedKing
msgbox BattleFrontier_BattlePyramidLobby_Text_YouveConqueredPyramid, MSGBOX_DEFAULT
goto BattleFrontier_BattlePyramidLobby_EventScript_GiveBattlePoints
BattleFrontier_BattlePyramidLobby_EventScript_DefeatedKing::
msgbox BattleFrontier_BattlePyramidLobby_Text_YouveDefeatedPyramidKing, MSGBOX_DEFAULT
BattleFrontier_BattlePyramidLobby_EventScript_GiveBattlePoints::
special DoBattlePyramidMonsHaveHeldItem
call_if_eq VAR_RESULT, TRUE, BattleFrontier_BattlePyramidLobby_EventScript_StoreHeldItemsInPyramidBag
clearflag FLAG_STORING_ITEMS_IN_PYRAMID_BAG
frontier_checkairshow
special LoadPlayerParty
pyramid_clearhelditems
special HealPlayerParty
message BattleFrontier_BattlePyramidLobby_Text_UsedBattleBagWillBeKept
waitmessage
playse SE_EXP_MAX
waitse
msgbox BattleFrontier_BattlePyramidLobby_Text_GiveYouTheseBattlePoints, MSGBOX_DEFAULT
frontier_givepoints
msgbox BattleFrontier_Text_ObtainedXBattlePoints, MSGBOX_GETPOINTS
message BattleFrontier_BattlePyramidLobby_Text_RecordResultsWait
waitmessage
pyramid_setprize
pyramid_save 0
playse SE_SAVE
waitse
msgbox BattleFrontier_BattlePyramidLobby_Text_LookForwardToNextChallenge, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_0, 255
releaseall
end
BattleFrontier_BattlePyramidLobby_EventScript_LostChallenge::
frontier_checkairshow
special LoadPlayerParty
pyramid_clearhelditems
special HealPlayerParty
lockall
message BattleFrontier_BattlePyramidLobby_Text_DisappointingHereIsBag
waitmessage
playse SE_EXP_MAX
waitse
message BattleFrontier_BattlePyramidLobby_Text_RecordResultsWait
waitmessage
pyramid_set PYRAMID_DATA_WIN_STREAK_ACTIVE, FALSE
pyramid_save 0
playse SE_SAVE
waitse
msgbox BattleFrontier_BattlePyramidLobby_Text_LookForwardToNextChallenge, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_0, 255
releaseall
end
BattleFrontier_BattlePyramidLobby_EventScript_ResumeChallenge::
goto BattleFrontier_BattlePyramidLobby_EventScript_EnterChallenge
BattleFrontier_BattlePyramidLobby_EventScript_Attendant::
lock
faceplayer
setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_PYRAMID
setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
special SavePlayerParty
msgbox BattleFrontier_BattlePyramidLobby_Text_WelcomeToBattlePyramid, MSGBOX_DEFAULT
BattleFrontier_BattlePyramidLobby_EventScript_AskTakeChallenge::
message BattleFrontier_BattlePyramidLobby_Text_EmbarkOnChallenge
waitmessage
multichoice 17, 6, MULTI_CHALLENGEINFO, FALSE
switch VAR_RESULT
case 0, BattleFrontier_BattlePyramidLobby_EventScript_TryEnterChallenge
case 1, BattleFrontier_BattlePyramidLobby_EventScript_ExplainChallenge
case 2, BattleFrontier_BattlePyramidLobby_EventScript_CancelChallenge
case MULTI_B_PRESSED, BattleFrontier_BattlePyramidLobby_EventScript_CancelChallenge
BattleFrontier_BattlePyramidLobby_EventScript_TryEnterChallenge::
message BattleFrontier_BattlePyramidLobby_Text_WhichLevelMode
waitmessage
multichoice 17, 6, MULTI_LEVEL_MODE, FALSE
switch VAR_RESULT
case FRONTIER_LVL_TENT, BattleFrontier_BattlePyramidLobby_EventScript_CancelChallenge
case MULTI_B_PRESSED, BattleFrontier_BattlePyramidLobby_EventScript_CancelChallenge
frontier_checkineligible
goto_if_eq VAR_0x8004, TRUE, BattleFrontier_BattlePyramidLobby_EventScript_NotEnoughValidMons
frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT
msgbox BattleFrontier_BattlePyramidLobby_Text_SelectThreeMons, MSGBOX_DEFAULT
fadescreen FADE_TO_BLACK
call BattleFrontier_EventScript_GetLvlMode
copyvar VAR_0x8004, VAR_RESULT
setvar VAR_0x8005, FRONTIER_PARTY_SIZE
special ChoosePartyForBattleFrontier
waitstate
goto_if_eq VAR_RESULT, 0, BattleFrontier_BattlePyramidLobby_EventScript_LoadPartyAndCancelChallenge
msgbox BattleFrontier_BattlePyramidLobby_Text_OkayToSaveBeforeChallenge, MSGBOX_YESNO
switch VAR_RESULT
case NO, BattleFrontier_BattlePyramidLobby_EventScript_LoadPartyAndCancelChallenge
case YES, BattleFrontier_BattlePyramidLobby_EventScript_SaveBeforeChallenge
case MULTI_B_PRESSED, BattleFrontier_BattlePyramidLobby_EventScript_LoadPartyAndCancelChallenge
BattleFrontier_BattlePyramidLobby_EventScript_SaveBeforeChallenge::
setvar VAR_TEMP_0, 0
frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
pyramid_init
pyramid_set PYRAMID_DATA_WIN_STREAK_ACTIVE, TRUE
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING
frontier_set FRONTIER_DATA_PAUSED, FALSE
pyramid_seedfloor
pyramid_settrainers
special LoadPlayerParty
closemessage
delay 2
call Common_EventScript_SaveGame
setvar VAR_TEMP_0, 255
goto_if_eq VAR_RESULT, 0, BattleFrontier_BattlePyramidLobby_EventScript_CancelChallengeSaveFailed
BattleFrontier_BattlePyramidLobby_EventScript_EnterChallenge::
special SavePlayerParty
frontier_setpartyorder FRONTIER_PARTY_SIZE
msgbox BattleFrontier_BattlePyramidLobby_Text_ShowYouIntoPyramid, MSGBOX_DEFAULT
closemessage
call BattleFrontier_BattlePyramidLobby_EventScript_WalkToPanelAndReceiveBag
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
setvar VAR_RESULT, 0
special HealPlayerParty
warp MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR, 1, 1
setvar VAR_TEMP_0, 0
waitstate
end
BattleFrontier_BattlePyramidLobby_EventScript_ExplainChallenge::
msgbox BattleFrontier_BattlePyramidLobby_Text_ExplainBattlePyramid, MSGBOX_DEFAULT
goto BattleFrontier_BattlePyramidLobby_EventScript_AskTakeChallenge
BattleFrontier_BattlePyramidLobby_EventScript_NotEnoughValidMons::
switch VAR_RESULT
case FRONTIER_LVL_50, BattleFrontier_BattlePyramidLobby_EventScript_NotEnoughValidMonsLv50
case FRONTIER_LVL_OPEN, BattleFrontier_BattlePyramidLobby_EventScript_NotEnoughValidMonsLvOpen
BattleFrontier_BattlePyramidLobby_EventScript_NotEnoughValidMonsLv50::
msgbox BattleFrontier_BattlePyramidLobby_Text_NotEnoughValidMonsLv50, MSGBOX_DEFAULT
goto BattleFrontier_BattlePyramidLobby_EventScript_EndCancelChallenge
BattleFrontier_BattlePyramidLobby_EventScript_NotEnoughValidMonsLvOpen::
msgbox BattleFrontier_BattlePyramidLobby_Text_NotEnoughValidMonsLvOpen, MSGBOX_DEFAULT
goto BattleFrontier_BattlePyramidLobby_EventScript_EndCancelChallenge
BattleFrontier_BattlePyramidLobby_EventScript_CancelChallengeSaveFailed::
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
goto BattleFrontier_BattlePyramidLobby_EventScript_CancelChallenge
BattleFrontier_BattlePyramidLobby_EventScript_LoadPartyAndCancelChallenge::
special LoadPlayerParty
BattleFrontier_BattlePyramidLobby_EventScript_CancelChallenge::
msgbox BattleFrontier_BattlePyramidLobby_Text_AwaitFutureChallenge, MSGBOX_DEFAULT
BattleFrontier_BattlePyramidLobby_EventScript_EndCancelChallenge::
release
end
BattleFrontier_BattlePyramidLobby_EventScript_HintGiver::
lockall
applymovement LOCALID_HINT_GIVER, Common_Movement_FacePlayer
waitmovement 0
msgbox BattleFrontier_BattlePyramidLobby_Text_TellYouWhatMisfortunesAwait, MSGBOX_DEFAULT
call BattleFrontier_BattlePyramidLobby_EventScript_GiveHint
msgbox BattleFrontier_BattlePyramidLobby_Text_BelieveMyFortunesOrNot, MSGBOX_DEFAULT
releaseall
end
BattleFrontier_BattlePyramidLobby_EventScript_GiveHint::
multichoice 17, 6, MULTI_LEVEL_MODE, FALSE
switch VAR_RESULT
case FRONTIER_LVL_50, BattleFrontier_BattlePyramidLobby_EventScript_GiveHintLv50
case FRONTIER_LVL_OPEN, BattleFrontier_BattlePyramidLobby_EventScript_GiveHintLvOpen
case FRONTIER_LVL_TENT, BattleFrontier_BattlePyramidLobby_EventScript_NoHint
case MULTI_B_PRESSED, BattleFrontier_BattlePyramidLobby_EventScript_NoHint
return
@ Shouldnt occur
BattleFrontier_BattlePyramidLobby_EventScript_NoHint::
return
BattleFrontier_BattlePyramidLobby_EventScript_GiveHintLv50::
msgbox BattleFrontier_BattlePyramidLobby_Text_Aah, MSGBOX_DEFAULT
pyramid_get PYRAMID_DATA_WIN_STREAK_ACTIVE_50
goto_if_ne VAR_RESULT, FALSE, BattleFrontier_BattlePyramidLobby_EventScript_GiveHintGetLv50Streak
setvar VAR_RESULT, 0
goto BattleFrontier_BattlePyramidLobby_EventScript_DoHintComment
return
BattleFrontier_BattlePyramidLobby_EventScript_GiveHintGetLv50Streak::
pyramid_get PYRAMID_DATA_WIN_STREAK_50
goto BattleFrontier_BattlePyramidLobby_EventScript_DoHintComment
return
BattleFrontier_BattlePyramidLobby_EventScript_GiveHintLvOpen::
msgbox BattleFrontier_BattlePyramidLobby_Text_Aah, MSGBOX_DEFAULT
pyramid_get PYRAMID_DATA_WIN_STREAK_ACTIVE_OPEN
goto_if_ne VAR_RESULT, FALSE, BattleFrontier_BattlePyramidLobby_EventScript_GiveHintGetLvOpenStreak
setvar VAR_RESULT, 0
goto BattleFrontier_BattlePyramidLobby_EventScript_DoHintComment
return
BattleFrontier_BattlePyramidLobby_EventScript_GiveHintGetLvOpenStreak::
pyramid_get PYRAMID_DATA_WIN_STREAK_OPEN
goto BattleFrontier_BattlePyramidLobby_EventScript_DoHintComment
return
BattleFrontier_BattlePyramidLobby_EventScript_DoHintComment::
copyvar VAR_0x8004, VAR_RESULT
special GetBattlePyramidHint
switch VAR_RESULT
case 0, BattleFrontier_BattlePyramidLobby_EventScript_HintParalysis
case 1, BattleFrontier_BattlePyramidLobby_EventScript_HintPoison
case 2, BattleFrontier_BattlePyramidLobby_EventScript_HintBurn
case 3, BattleFrontier_BattlePyramidLobby_EventScript_HintPPWaste
case 4, BattleFrontier_BattlePyramidLobby_EventScript_HintLevitate
case 5, BattleFrontier_BattlePyramidLobby_EventScript_HintTrapAbility
case 6, BattleFrontier_BattlePyramidLobby_EventScript_HintIce
case 7, BattleFrontier_BattlePyramidLobby_EventScript_HintExplosion
case 8, BattleFrontier_BattlePyramidLobby_EventScript_HintPsychic
case 9, BattleFrontier_BattlePyramidLobby_EventScript_HintRock
case 10, BattleFrontier_BattlePyramidLobby_EventScript_HintFighting
case 11, BattleFrontier_BattlePyramidLobby_EventScript_HintWeather
case 12, BattleFrontier_BattlePyramidLobby_EventScript_HintBug
case 13, BattleFrontier_BattlePyramidLobby_EventScript_HintDark
case 14, BattleFrontier_BattlePyramidLobby_EventScript_HintWater
case 15, BattleFrontier_BattlePyramidLobby_EventScript_HintGhost
case 16, BattleFrontier_BattlePyramidLobby_EventScript_HintSteel
case 17, BattleFrontier_BattlePyramidLobby_EventScript_HintFlyingDragon
case 18, BattleFrontier_BattlePyramidLobby_EventScript_HintStoneEvolve
case 19, BattleFrontier_BattlePyramidLobby_EventScript_HintNormal
return
BattleFrontier_BattlePyramidLobby_EventScript_HintParalysis::
msgbox BattleFrontier_BattlePyramidLobby_Text_HintParalysis, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_HintPoison::
msgbox BattleFrontier_BattlePyramidLobby_Text_HintPoison, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_HintBurn::
msgbox BattleFrontier_BattlePyramidLobby_Text_HintBurn, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_HintPPWaste::
msgbox BattleFrontier_BattlePyramidLobby_Text_HintPPWaste, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_HintLevitate::
msgbox BattleFrontier_BattlePyramidLobby_Text_HintLevitate, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_HintTrapAbility::
msgbox BattleFrontier_BattlePyramidLobby_Text_HintTrapAbility, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_HintIce::
msgbox BattleFrontier_BattlePyramidLobby_Text_HintIce, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_HintExplosion::
msgbox BattleFrontier_BattlePyramidLobby_Text_HintExplosion, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_HintPsychic::
msgbox BattleFrontier_BattlePyramidLobby_Text_HintPsychic, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_HintRock::
msgbox BattleFrontier_BattlePyramidLobby_Text_HintRock, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_HintFighting::
msgbox BattleFrontier_BattlePyramidLobby_Text_HintFighting, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_HintWeather::
msgbox BattleFrontier_BattlePyramidLobby_Text_HintWeather, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_HintBug::
msgbox BattleFrontier_BattlePyramidLobby_Text_HintBug, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_HintDark::
msgbox BattleFrontier_BattlePyramidLobby_Text_HintDark, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_HintWater::
msgbox BattleFrontier_BattlePyramidLobby_Text_HintWater, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_HintGhost::
msgbox BattleFrontier_BattlePyramidLobby_Text_HintGhost, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_HintSteel::
msgbox BattleFrontier_BattlePyramidLobby_Text_HintSteel, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_HintFlyingDragon::
msgbox BattleFrontier_BattlePyramidLobby_Text_HintFlyingDragon, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_HintStoneEvolve::
msgbox BattleFrontier_BattlePyramidLobby_Text_HintStoneEvolve, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_HintNormal::
msgbox BattleFrontier_BattlePyramidLobby_Text_HintNormal, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_ShowResults::
lockall
frontier_results FRONTIER_FACILITY_PYRAMID
waitbuttonpress
special RemoveRecordsWindow
releaseall
end
BattleFrontier_BattlePyramidLobby_EventScript_WalkToPanelAndReceiveBag::
applymovement LOCALID_ATTENDANT, BattleFrontier_BattlePyramidLobby_Movement_AttendantWalkToPanel
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePyramidLobby_Movement_PlayerWalkToPanel
waitmovement 0
msgbox BattleFrontier_BattlePyramidLobby_Text_WeWillHoldBagForSafekeeping, MSGBOX_DEFAULT
pyramid_get PYRAMID_DATA_WIN_STREAK
goto_if_eq VAR_RESULT, 0, BattleFrontier_BattlePyramidLobby_EventScript_ReceiveNewBattleBag
msgbox BattleFrontier_BattlePyramidLobby_Text_PleaseTakePreviousBattleBag, MSGBOX_DEFAULT
goto BattleFrontier_BattlePyramidLobby_EventScript_ReceiveBattleBag
BattleFrontier_BattlePyramidLobby_EventScript_ReceiveNewBattleBag::
msgbox BattleFrontier_BattlePyramidLobby_Text_PleaseTakeThisBattleBag, MSGBOX_DEFAULT
BattleFrontier_BattlePyramidLobby_EventScript_ReceiveBattleBag::
message BattleFrontier_BattlePyramidLobby_Text_ExchangedBagForBattleBag
waitmessage
playse SE_EXP_MAX
waitse
msgbox BattleFrontier_BattlePyramidLobby_Text_StepOnFloorPanel, MSGBOX_DEFAULT
closemessage
applymovement LOCALID_ATTENDANT, BattleFrontier_BattlePyramidLobby_Movement_AttendantMoveAside
waitmovement 0
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePyramidLobby_Movement_PlayerStepOnPanel
waitmovement 0
return
BattleFrontier_BattlePyramidLobby_Movement_AttendantWalkToPanel:
walk_up
walk_up
walk_up
walk_up
walk_up
walk_up
walk_up
face_down
step_end
BattleFrontier_BattlePyramidLobby_Movement_PlayerWalkToPanel:
walk_up
walk_up
walk_up
walk_up
walk_up
walk_up
walk_up
step_end
BattleFrontier_BattlePyramidLobby_Movement_AttendantMoveAside:
walk_right
face_left
step_end
BattleFrontier_BattlePyramidLobby_Movement_PlayerStepOnPanel:
walk_up
walk_up
step_end
BattleFrontier_BattlePyramidLobby_EventScript_StoreHeldItemsInPyramidBag::
msgbox BattleFrontier_BattlePyramidLobby_Text_MonHoldingItemCannotTake, MSGBOX_DEFAULT
setflag FLAG_STORING_ITEMS_IN_PYRAMID_BAG
special TryStoreHeldItemsInPyramidBag
goto_if_eq VAR_RESULT, 0, BattleFrontier_BattlePyramidLobby_EventScript_HeldItemsStoredInPyramidBag
message BattleFrontier_BattlePyramidLobby_Text_BagCannotHoldPickItemsToKeep
waitmessage
goto BattleFrontier_BattlePyramidLobby_EventScript_PickItemsToKeep
end
BattleFrontier_BattlePyramidLobby_EventScript_HeldItemsStoredInPyramidBag::
msgbox BattleFrontier_BattlePyramidLobby_Text_HeldItemsMovedToBag, MSGBOX_DEFAULT
return
@ When exiting Battle Pyramid with a full pyramid bag and held items the player must select to keep/toss party held items and make room for any kept items by tossing from the pyramid bag
BattleFrontier_BattlePyramidLobby_EventScript_PickItemsToKeep::
multichoice 17, 6, MULTI_FRONTIER_ITEM_CHOOSE, FALSE
switch VAR_RESULT
case 0, BattleFrontier_BattlePyramidLobby_EventScript_PickItemsFromBag
case 1, BattleFrontier_BattlePyramidLobby_EventScript_PickItemsFromParty
case 2, BattleFrontier_BattlePyramidLobby_EventScript_ExitPickItems
case MULTI_B_PRESSED, BattleFrontier_BattlePyramidLobby_EventScript_ExitPickItems
end
BattleFrontier_BattlePyramidLobby_EventScript_PickItemsFromBag::
special ChooseItemsToTossFromPyramidBag
waitstate
message BattleFrontier_BattlePyramidLobby_Text_PickItemsToKeep
waitmessage
goto BattleFrontier_BattlePyramidLobby_EventScript_PickItemsToKeep
end
BattleFrontier_BattlePyramidLobby_EventScript_PickItemsFromParty::
special BattlePyramidChooseMonHeldItems
waitstate
message BattleFrontier_BattlePyramidLobby_Text_PickItemsToKeep
waitmessage
goto BattleFrontier_BattlePyramidLobby_EventScript_PickItemsToKeep
end
BattleFrontier_BattlePyramidLobby_EventScript_ExitPickItems::
special DoBattlePyramidMonsHaveHeldItem
goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattlePyramidLobby_EventScript_PartyStillHasHeldItems
return
BattleFrontier_BattlePyramidLobby_EventScript_PartyStillHasHeldItems::
msgbox BattleFrontier_BattlePyramidLobby_Text_LeastOneMonHoldingItem, MSGBOX_DEFAULT
message BattleFrontier_BattlePyramidLobby_Text_PickItemsToKeep
waitmessage
goto BattleFrontier_BattlePyramidLobby_EventScript_PickItemsToKeep
end
BattleFrontier_BattlePyramidLobby_EventScript_Woman::
msgbox BattleFrontier_BattlePyramidLobby_Text_TrainersNoticeRunning, MSGBOX_NPC
end
BattleFrontier_BattlePyramidLobby_EventScript_FatMan::
msgbox BattleFrontier_BattlePyramidLobby_Text_LostLotOfItems, MSGBOX_NPC
end
BattleFrontier_BattlePyramidLobby_EventScript_RulesBoard::
lockall
msgbox BattleFrontier_BattlePyramidLobby_Text_RulesAreListed, MSGBOX_DEFAULT
goto BattleFrontier_BattlePyramidLobby_EventScript_ReadRulesBoard
end
BattleFrontier_BattlePyramidLobby_EventScript_ReadRulesBoard::
message BattleFrontier_BattlePyramidLobby_Text_ReadWhichHeading
waitmessage
multichoice 15, 2, MULTI_BATTLE_PYRAMID_RULES, FALSE
switch VAR_RESULT
case 0, BattleFrontier_BattlePyramidLobby_EventScript_RulesPokemon
case 1, BattleFrontier_BattlePyramidLobby_EventScript_RulesTrainers
case 2, BattleFrontier_BattlePyramidLobby_EventScript_RulesMaze
case 3, BattleFrontier_BattlePyramidLobby_EventScript_RulesBag
case 4, BattleFrontier_BattlePyramidLobby_EventScript_ExitRules
case MULTI_B_PRESSED, BattleFrontier_BattlePyramidLobby_EventScript_ExitRules
end
BattleFrontier_BattlePyramidLobby_EventScript_RulesPokemon::
msgbox BattleFrontier_BattlePyramidLobby_Text_ExplainMonRules, MSGBOX_DEFAULT
goto BattleFrontier_BattlePyramidLobby_EventScript_ReadRulesBoard
end
BattleFrontier_BattlePyramidLobby_EventScript_RulesTrainers::
msgbox BattleFrontier_BattlePyramidLobby_Text_ExplainTrainerRules, MSGBOX_DEFAULT
goto BattleFrontier_BattlePyramidLobby_EventScript_ReadRulesBoard
end
BattleFrontier_BattlePyramidLobby_EventScript_RulesMaze::
msgbox BattleFrontier_BattlePyramidLobby_Text_ExplainMazeRules, MSGBOX_DEFAULT
goto BattleFrontier_BattlePyramidLobby_EventScript_ReadRulesBoard
end
BattleFrontier_BattlePyramidLobby_EventScript_RulesBag::
msgbox BattleFrontier_BattlePyramidLobby_Text_ExplainBagRules, MSGBOX_DEFAULT
goto BattleFrontier_BattlePyramidLobby_EventScript_ReadRulesBoard
end
BattleFrontier_BattlePyramidLobby_EventScript_ExitRules::
releaseall
end
BattleFrontier_BattlePyramidLobby_Text_WelcomeToBattlePyramid:
.string "Where the courage of TRAINERS\n"
.string "is put to the test!\p"
.string "Welcome to the BATTLE PYRAMID!\p"
.string "I am your guide to\n"
.string "the Battle Quest.$"
BattleFrontier_BattlePyramidLobby_Text_EmbarkOnChallenge:
.string "Have you the courage to embark on\n"
.string "the Battle Quest challenge?$"
BattleFrontier_BattlePyramidLobby_Text_AwaitFutureChallenge:
.string "We await your challenge in the future!$"
BattleFrontier_BattlePyramidLobby_Text_ExplainBattlePyramid:
.string "The Battle Quest is a battling\n"
.string "event in which you must explore\l"
.string "the PYRAMID and try to reach the top.\p"
.string "In the PYRAMID are seven floors of\n"
.string "mazes, all of them filled with not only\l"
.string "skilled TRAINERS but also wild POKéMON.\p"
.string "You must enter with three POKéMON,\n"
.string "none of them holding an item.\p"
.string "On your ascent, you will be provided\n"
.string "with a BATTLE BAG for items.\p"
.string "If you fail in your challenge, any item\n"
.string "placed in the BATTLE BAG disappears.\p"
.string "If you want to interrupt your\n"
.string "challenge, you must select “REST”\l"
.string "and save the game.\p"
.string "If you don't save before interrupting,\n"
.string "you will be disqualified.$"
BattleFrontier_BattlePyramidLobby_Text_WhichLevelMode:
.string "The PYRAMID offers two courses,\n"
.string "Level 50 and Open Level.\l"
.string "Which will you enter?$"
BattleFrontier_BattlePyramidLobby_Text_SelectThreeMons:
.string "Very good. Now, please select the three\n"
.string "POKéMON you wish to accompany you.$"
BattleFrontier_BattlePyramidLobby_Text_NotEnoughValidMonsLvOpen:
.string "A slight problem, adventurer!\p"
.string "You seem to not have the three\n"
.string "POKéMON qualified for the challenge.\p"
.string "Please also remember to take all\n"
.string "items from your POKéMON.\p"
.string "EGGS{STR_VAR_1} ineligible.\p"
.string "When you are ready, please have\n"
.string "a word with me.$"
BattleFrontier_BattlePyramidLobby_Text_NotEnoughValidMonsLv50:
.string "A slight problem, adventurer!\p"
.string "You seem to not have the three\n"
.string "POKéMON qualified for the challenge.\p"
.string "The three POKéMON must be different\n"
.string "and each no higher than Level 50.\p"
.string "Please also remember to take all\n"
.string "items from your POKéMON.\p"
.string "EGGS{STR_VAR_1} ineligible.\p"
.string "When you are ready, please have\n"
.string "a word with me.$"
BattleFrontier_BattlePyramidLobby_Text_OkayToSaveBeforeChallenge:
.string "Before you enter the BATTLE PYRAMID,\n"
.string "the game must be saved. Is that okay?$"
BattleFrontier_BattlePyramidLobby_Text_ShowYouIntoPyramid:
.string "Very good. I will now show you into\n"
.string "the BATTLE PYRAMID.$"
BattleFrontier_BattlePyramidLobby_Text_WeWillHoldBagForSafekeeping:
.string "We will hold your BAG for safekeeping,\n"
.string "{PLAYER}, while you are exploring.$"
BattleFrontier_BattlePyramidLobby_Text_PleaseTakePreviousBattleBag:
.string "In exchange, please take this BATTLE\n"
.string "BAG, the one you used previously.$"
BattleFrontier_BattlePyramidLobby_Text_PleaseTakeThisBattleBag:
.string "In exchange, please take this\n"
.string "BATTLE BAG.$"
BattleFrontier_BattlePyramidLobby_Text_ExchangedBagForBattleBag:
.string "{PLAYER} exchanged the BAG for\n"
.string "the BATTLE BAG.$"
BattleFrontier_BattlePyramidLobby_Text_StepOnFloorPanel:
.string "When you step on this floor panel,\n"
.string "you will be transported to a higher\l"
.string "floor in the PYRAMID.\p"
.string "I hope for your sake that your\n"
.string "quest goes safely!$"
BattleFrontier_BattlePyramidLobby_Text_DidntSaveBeforeQuittingTakeBag:
.string "A major problem, explorer!\p"
.string "You did not save before ending\n"
.string "your challenge the last time.\p"
.string "Consequently, your challenge has\n"
.string "been disqualified, I'm sorry to say.\p"
.string "Here is the BAG we've been holding\n"
.string "for you.\p"
.string "{PLAYER} got the BAG back.$"
BattleFrontier_BattlePyramidLobby_Text_YouveConqueredPyramid:
.string "Excellent to see you back!\p"
.string "You've conquered the PYRAMID!\n"
.string "How splendid!$"
BattleFrontier_BattlePyramidLobby_Text_MonHoldingItemCannotTake:
.string "Ah, a slight problem.\p"
.string "At least one POKéMON is holding\n"
.string "an item.\p"
.string "I'm sorry to say, items obtained in\n"
.string "the PYRAMID cannot be taken away.$"
BattleFrontier_BattlePyramidLobby_Text_HeldItemsMovedToBag:
.string "All items held by your POKéMON will be\n"
.string "moved to your BATTLE BAG, {PLAYER}.$"
BattleFrontier_BattlePyramidLobby_Text_BagCannotHoldPickItemsToKeep:
.string "The BATTLE BAG cannot hold all your\n"
.string "items, I'm sorry to say.\p"
.string "Please pick the items you'll keep in the\n"
.string "BATTLE BAG, and with your POKéMON.$"
BattleFrontier_BattlePyramidLobby_Text_LeastOneMonHoldingItem:
.string "At least one POKéMON is still\n"
.string "holding an item.$"
BattleFrontier_BattlePyramidLobby_Text_PickItemsToKeep:
.string "Please pick the items you'll keep in the\n"
.string "BATTLE BAG, and with your POKéMON.$"
@ Unused
BattleFrontier_BattlePyramidLobby_Text_ReturnedEverythingMonsHeld:
.string "{PLAYER} returned everything that\n"
.string "the POKéMON held.$"
BattleFrontier_BattlePyramidLobby_Text_UsedBattleBagWillBeKept:
.string "The BATTLE BAG you used will be kept\n"
.string "in readiness for your next challenge.\p"
.string "{PLAYER} turned the BATTLE BAG over\n"
.string "for the BAG's return.$"
BattleFrontier_BattlePyramidLobby_Text_RecordResultsWait:
.string "I must record your results.\n"
.string "Please wait.$"
@ Unused
BattleFrontier_BattlePyramidLobby_Text_ForConqueringPyramidTakeThis:
.string "As a memento for conquering\n"
.string "the BATTLE PYRAMID, please take this.$"
@ Unused
BattleFrontier_BattlePyramidLobby_Text_ReceivedPrizeItem:
.string "{PLAYER} received the prize\n"
.string "{STR_VAR_1}.$"
@ Unused
BattleFrontier_BattlePyramidLobby_Text_BagIsFull:
.string "…Ah…\n"
.string "Your BAG appears to be filled.\p"
.string "Please return after you've organized\n"
.string "your BAG's contents.$"
BattleFrontier_BattlePyramidLobby_Text_DisappointingHereIsBag:
.string "How disappointing for you…\p"
.string "Here is the BAG we've been holding\n"
.string "for you.\p"
.string "{PLAYER} got the BAG back.$"
BattleFrontier_BattlePyramidLobby_Text_LookForwardToNextChallenge:
.string "We look forward to your\n"
.string "next challenge!$"
@ Unused
BattleFrontier_BattlePyramidLobby_Text_HereIsPrize:
.string "We have been looking forward to\n"
.string "your arrival!\p"
.string "Here is your prize for conquering\n"
.string "the PYRAMID.$"
BattleFrontier_BattlePyramidLobby_Text_TellYouWhatMisfortunesAwait:
.string "Welcome…\p"
.string "I shall be pleased to tell you what\n"
.string "misfortunes await in the PYRAMID…$"
BattleFrontier_BattlePyramidLobby_Text_Aah:
.string "… … … … … …\n"
.string "… … … … … …\p"
.string "… … … … … …\n"
.string "Aah!$"
BattleFrontier_BattlePyramidLobby_Text_HintParalysis:
.string "I see a shower of sparks…\p"
.string "…And in it, I see your POKéMON\n"
.string "struggling with paralysis…$"
BattleFrontier_BattlePyramidLobby_Text_HintPoison:
.string "I see poison…\p"
.string "…And, I see your POKéMON suffering\n"
.string "from the effects of poison…$"
BattleFrontier_BattlePyramidLobby_Text_HintBurn:
.string "I see bright red flames…\p"
.string "…And, I see your POKéMON suffering\n"
.string "from burns…$"
BattleFrontier_BattlePyramidLobby_Text_HintPPWaste:
.string "I sense the tremendous pressure of\n"
.string "unrequited anger…\p"
.string "It is a curse…\p"
.string "…And, I see your POKéMON drained of\n"
.string "Power Points and having no recourse\l"
.string "but to use STRUGGLE…$"
BattleFrontier_BattlePyramidLobby_Text_HintLevitate:
.string "I see POKéMON loftily airborne…\p"
.string "…And, I see your POKéMON frustrated\n"
.string "by powerless GROUND-type moves…$"
BattleFrontier_BattlePyramidLobby_Text_HintTrapAbility:
.string "I sense terrific energy rising from\n"
.string "the ground below…\p"
.string "…And, I see your POKéMON unable to\n"
.string "escape the power's clutches…$"
BattleFrontier_BattlePyramidLobby_Text_HintIce:
.string "I see ICE-type POKéMON…\p"
.string "…And, I see your POKéMON fighting\n"
.string "the freezing effects of ice…$"
BattleFrontier_BattlePyramidLobby_Text_HintExplosion:
.string "I see a flurry of moves that imperil\n"
.string "the user…\p"
.string "…And, I see your POKéMON falling\n"
.string "to them…$"
BattleFrontier_BattlePyramidLobby_Text_HintPsychic:
.string "I see PSYCHIC-type POKéMON…\p"
.string "…And, I see your POKéMON in torment\n"
.string "from PSYCHIC moves…$"
BattleFrontier_BattlePyramidLobby_Text_HintRock:
.string "I see ROCK-type POKéMON…\p"
.string "…And, I see your POKéMON suffering\n"
.string "from ROCK moves…$"
BattleFrontier_BattlePyramidLobby_Text_HintFighting:
.string "I see FIGHTING-type POKéMON…\p"
.string "…And, I see your POKéMON pummeled\n"
.string "by FIGHTING moves…$"
BattleFrontier_BattlePyramidLobby_Text_HintWeather:
.string "RAIN DANCE… SUNNY DAY…\n"
.string "SANDSTORM… HAIL…\p"
.string "I see POKéMON that become stronger\n"
.string "with the weather…\p"
.string "…And, I see your POKéMON confounded\n"
.string "by different types of moves…$"
BattleFrontier_BattlePyramidLobby_Text_HintBug:
.string "I see BUG-type POKéMON…\p"
.string "…And, I see your POKéMON suffering\n"
.string "from different kinds of attacks…$"
BattleFrontier_BattlePyramidLobby_Text_HintDark:
.string "I see DARK-type POKéMON…\p"
.string "…And, I see your POKéMON suffering\n"
.string "from DARK-type moves…$"
BattleFrontier_BattlePyramidLobby_Text_HintWater:
.string "I see WATER-type POKéMON…\p"
.string "…And, I see your POKéMON suffering\n"
.string "from WATER-type moves…$"
BattleFrontier_BattlePyramidLobby_Text_HintGhost:
.string "I see GHOST-type POKéMON…\p"
.string "…And, I see your POKéMON suffering\n"
.string "from GHOST-type moves…$"
BattleFrontier_BattlePyramidLobby_Text_HintSteel:
.string "I see STEEL-type POKéMON…\p"
.string "…And, I see your POKéMON suffering\n"
.string "from enormously powerful moves…$"
BattleFrontier_BattlePyramidLobby_Text_HintFlyingDragon:
.string "I see flying POKéMON…\p"
.string "…And, I see your POKéMON suffering\n"
.string "from enormously powerful moves…$"
BattleFrontier_BattlePyramidLobby_Text_HintStoneEvolve:
.string "I see those that have evolved from\n"
.string "the power of stones…\p"
.string "I also sense fire, water,\n"
.string "and electricity…\p"
.string "…And, I see your POKéMON suffering\n"
.string "from those three powers…$"
BattleFrontier_BattlePyramidLobby_Text_HintNormal:
.string "I see NORMAL-type POKéMON…\p"
.string "…And, I see your POKéMON suffering\n"
.string "from enormously powerful moves…$"
BattleFrontier_BattlePyramidLobby_Text_BelieveMyFortunesOrNot:
.string "Whether you believe my fortunes\n"
.string "or not, the choice is yours…\p"
.string "The future can be changed anytime…\n"
.string "I wish you safe passage…$"
BattleFrontier_BattlePyramidLobby_Text_TrainersNoticeRunning:
.string "Did you know?\p"
.string "If you run fast, TRAINERS may notice\n"
.string "and come after you for a battle.\p"
.string "So, if you want to avoid TRAINERS,\n"
.string "don't catch their eyes, but sneak\l"
.string "cautiously and quietly past them.$"
BattleFrontier_BattlePyramidLobby_Text_LostLotOfItems:
.string "Awaaaaaaarrrrgh!\p"
.string "I had a whole lot of items, but I lost\n"
.string "them all when I lost!\p"
.string "Awaaaaaaarrrrgh!$"
BattleFrontier_BattlePyramidLobby_Text_YouveDefeatedPyramidKing:
.string "Welcome back!\n"
.string "You've done the unthinkable!\p"
.string "You've defeated the PYRAMID KING\n"
.string "and conquered the BATTLE PYRAMID!$"
BattleFrontier_BattlePyramidLobby_Text_GiveYouTheseBattlePoints:
.string "Young explorer!\n"
.string "In commendation of your courage,\l"
.string "we give you these Battle Point(s)!$"
BattleFrontier_BattlePyramidLobby_Text_RulesAreListed:
.string "The Battle Quest rules are listed.$"
BattleFrontier_BattlePyramidLobby_Text_ReadWhichHeading:
.string "Which heading do you want to read?$"
BattleFrontier_BattlePyramidLobby_Text_ExplainMonRules:
.string "When the PYRAMID is conquered,\n"
.string "the wild POKéMON that appear in it\l"
.string "are replaced by different kinds.\p"
.string "Explore, observe, and learn what kinds\n"
.string "of wild POKéMON you may encounter.$"
BattleFrontier_BattlePyramidLobby_Text_ExplainTrainerRules:
.string "TRAINERS are lying in wait for you\n"
.string "inside the PYRAMID.\p"
.string "On each floor, there are up to\n"
.string "eight TRAINERS.\p"
.string "When you defeat a TRAINER, you will\n"
.string "get a helpful hint for your adventure.$"
BattleFrontier_BattlePyramidLobby_Text_ExplainMazeRules:
.string "The mazes in the PYRAMID rearrange\n"
.string "themselves every time you enter it.\p"
.string "The mazes are poorly lit.\n"
.string "You must advance with caution.\p"
.string "The light grows brighter whenever you\n"
.string "defeat a wild POKéMON or a TRAINER.$"
BattleFrontier_BattlePyramidLobby_Text_ExplainBagRules:
.string "The BATTLE BAG serves as your BAG\n"
.string "while in the PYRAMID.\p"
.string "There are two separate BATTLE BAGS--\n"
.string "one each for the Level 50 and\l"
.string "Open Level adventures.\p"
.string "They each can hold up to 99 pieces\n"
.string "of ten kinds of items.\p"
.string "The contents of the BATTLE BAG are\n"
.string "lost if you fail in your quest.$"
|