-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathcontest_hall.inc
1802 lines (1551 loc) · 57.4 KB
/
contest_hall.inc
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
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
.set LOCALID_MC, 1
.set LOCALID_JUDGE, 2
.set LOCALID_CONTESTANT_1, 3
.set LOCALID_CONTESTANT_2, 4
.set LOCALID_CONTESTANT_3, 5
.set LOCALID_AUDIENCE_1, 6
.set LOCALID_AUDIENCE_3, 7
.set LOCALID_AUDIENCE_4, 8
.set LOCALID_AUDIENCE_5, 9
.set LOCALID_AUDIENCE_6, 10
.set LOCALID_AUDIENCE_7, 11
.set LOCALID_AUDIENCE_2, 12
.set LOCALID_POKEBALL, 13
.set LOCALID_CONTESTANT_4, 14
.set LOCALID_ARTIST, 15
@ Either ends or returns to EventScript_ContestReceptionist after submitting a contest entry
LilycoveCity_ContestLobby_EventScript_SpeakToContestReceptionist::
lock
faceplayer
goto_if_ne VAR_CONTEST_PRIZE_PICKUP, 0, LilycoveCity_ContestLobby_EventScript_PickUpPrize
call_if_set FLAG_RECEIVED_POKEBLOCK_CASE, LilycoveCity_ContestLobby_EventScript_ReceptionWelcome
call_if_unset FLAG_RECEIVED_POKEBLOCK_CASE, LilycoveCity_ContestLobby_EventScript_GivePokeblockCase
goto LilycoveCity_ContestLobby_EventScript_AskEnterContest
end
LilycoveCity_ContestLobby_EventScript_ReceptionWelcome::
msgbox LilycoveCity_ContestLobby_Text_ContestReception, MSGBOX_DEFAULT
return
LilycoveCity_ContestLobby_EventScript_GivePokeblockCase::
msgbox LilycoveCity_ContestLobby_Text_ReceptionDontHavePokeblockCase, MSGBOX_DEFAULT
giveitem ITEM_POKEBLOCK_CASE
goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_POKEBLOCK_CASE
msgbox LilycoveCity_ContestLobby_Text_NowThatWeveClearedThatUp, MSGBOX_DEFAULT
return
LilycoveCity_ContestLobby_EventScript_PickUpPrize::
msgbox LilycoveCity_ContestLobby_Text_PokemonWonWeHavePrize, MSGBOX_DEFAULT
switch VAR_CONTEST_PRIZE_PICKUP
case 4, LilycoveCity_ContestLobby_EventScript_GiveLuxuryBallAtCounter
end
LilycoveCity_ContestLobby_EventScript_GiveLuxuryBallAtCounter::
giveitem ITEM_LUXURY_BALL
goto_if_eq VAR_RESULT, FALSE, LilycoveCity_ContestLobby_EventScript_NoRoomForLuxuryBallAtCounter
setvar VAR_CONTEST_PRIZE_PICKUP, 0
closemessage
release
end
LilycoveCity_ContestLobby_EventScript_NoRoomForLuxuryBallAtCounter::
call Common_EventScript_BagIsFull
msgbox LilycoveCity_ContestLobby_Text_ComeBackForPrizeLater, MSGBOX_DEFAULT
release
end
LilycoveCity_ContestLobby_EventScript_AskEnterContest::
message LilycoveCity_ContestLobby_Text_EnterContest1
waitmessage
multichoice 0, 0, MULTI_ENTERINFO, FALSE
switch VAR_RESULT
case 0, LilycoveCity_ContestLobby_EventScript_ChooseContestRank
case 1, LilycoveCity_ContestLobby_EventScript_ContestInfo
case 2, LilycoveCity_ContestLobby_EventScript_CancelEnterContest
case MULTI_B_PRESSED, LilycoveCity_ContestLobby_EventScript_CancelEnterContest
end
LilycoveCity_ContestLobby_EventScript_ContestInfo::
message LilycoveCity_ContestLobby_Text_WhichTopic1
waitmessage
multichoice 0, 0, MULTI_CONTEST_INFO, FALSE
switch VAR_RESULT
case 0, LilycoveCity_ContestLobby_EventScript_ExplainContests
case 1, LilycoveCity_ContestLobby_EventScript_ExplainContestTypes
case 2, LilycoveCity_ContestLobby_EventScript_ExplainContestRanks
case 3, LilycoveCity_ContestLobby_EventScript_AskEnterContest
case MULTI_B_PRESSED, LilycoveCity_ContestLobby_EventScript_AskEnterContest
end
LilycoveCity_ContestLobby_EventScript_ExplainContests::
msgbox LilycoveCity_ContestLobby_Text_ExplainContests, MSGBOX_DEFAULT
goto LilycoveCity_ContestLobby_EventScript_ContestInfo
end
LilycoveCity_ContestLobby_EventScript_ExplainContestTypes::
msgbox LilycoveCity_ContestLobby_Text_ExplainContestTypes, MSGBOX_DEFAULT
goto LilycoveCity_ContestLobby_EventScript_ContestInfo
end
LilycoveCity_ContestLobby_EventScript_ExplainContestRanks::
msgbox LilycoveCity_ContestLobby_Text_ExplainContestRanks, MSGBOX_DEFAULT
goto LilycoveCity_ContestLobby_EventScript_ContestInfo
end
LilycoveCity_ContestLobby_EventScript_CancelEnterContest::
msgbox LilycoveCity_ContestLobby_Text_ParticipateAnotherTime, MSGBOX_DEFAULT
release
end
LilycoveCity_ContestLobby_EventScript_ChooseContestMon::
msgbox LilycoveCity_ContestLobby_Text_EnterWhichPokemon1, MSGBOX_DEFAULT
choosecontestmon
goto_if_eq VAR_0x8004, PARTY_NOTHING_CHOSEN, LilycoveCity_ContestLobby_EventScript_CancelEnterContest
special TryEnterContestMon
goto_if_eq VAR_RESULT, CANT_ENTER_CONTEST, LilycoveCity_ContestLobby_EventScript_CantEnterLowRank
goto_if_eq VAR_RESULT, CAN_ENTER_CONTEST_EQUAL_RANK, LilycoveCity_ContestLobby_EventScript_EnterMon
goto_if_eq VAR_RESULT, CAN_ENTER_CONTEST_HIGH_RANK, LilycoveCity_ContestLobby_EventScript_ConfirmEntryAlreadyWon
goto_if_eq VAR_RESULT, CANT_ENTER_CONTEST_EGG, LilycoveCity_ContestLobby_EventScript_CantEnterEgg
goto_if_eq VAR_RESULT, CANT_ENTER_CONTEST_FAINTED, LilycoveCity_ContestLobby_EventScript_CantEnterFainted
end
LilycoveCity_ContestLobby_EventScript_ChooseContestRank::
message LilycoveCity_ContestLobby_Text_EnterWhichRank
waitmessage
multichoice 0, 0, MULTI_CONTEST_RANK, FALSE
switch VAR_RESULT
case 0, LilycoveCity_ContestLobby_EventScript_EnterNormalRank
case 1, LilycoveCity_ContestLobby_EventScript_EnterSuperRank
case 2, LilycoveCity_ContestLobby_EventScript_EnterHyperRank
case 3, LilycoveCity_ContestLobby_EventScript_EnterMasterRank
case 4, LilycoveCity_ContestLobby_EventScript_CancelEnterContest
case MULTI_B_PRESSED, LilycoveCity_ContestLobby_EventScript_CancelEnterContest
end
LilycoveCity_ContestLobby_EventScript_EnterNormalRank::
setvar VAR_CONTEST_RANK, CONTEST_RANK_NORMAL
goto LilycoveCity_ContestLobby_EventScript_ChooseContestType
end
LilycoveCity_ContestLobby_EventScript_EnterSuperRank::
setvar VAR_CONTEST_RANK, CONTEST_RANK_SUPER
goto LilycoveCity_ContestLobby_EventScript_ChooseContestType
end
LilycoveCity_ContestLobby_EventScript_EnterHyperRank::
setvar VAR_CONTEST_RANK, CONTEST_RANK_HYPER
goto LilycoveCity_ContestLobby_EventScript_ChooseContestType
end
LilycoveCity_ContestLobby_EventScript_EnterMasterRank::
setvar VAR_CONTEST_RANK, CONTEST_RANK_MASTER
goto LilycoveCity_ContestLobby_EventScript_ChooseContestType
end
@ The multichoice selection IDs are equal to the CATEGORY values
@ So rather than list the cases they just copy VAR_RESULT for a valid selection into VAR_CONTEST_CATEGORY
LilycoveCity_ContestLobby_EventScript_ChooseContestType::
message LilycoveCity_ContestLobby_Text_EnterWhichContest1
waitmessage
multichoice 0, 0, MULTI_CONTEST_TYPE, FALSE
switch VAR_RESULT
case 5, LilycoveCity_ContestLobby_EventScript_CancelEnterContest
case MULTI_B_PRESSED, LilycoveCity_ContestLobby_EventScript_CancelEnterContest
copyvar VAR_CONTEST_CATEGORY, VAR_RESULT
goto LilycoveCity_ContestLobby_EventScript_ChooseContestMon
end
LilycoveCity_ContestLobby_EventScript_CantEnterLowRank::
msgbox LilycoveCity_ContestLobby_Text_MonNotQualifiedForRank, MSGBOX_DEFAULT
goto LilycoveCity_ContestLobby_EventScript_ChooseContestMon
release
end
@ Unused
LilycoveCity_ContestLobby_EventScript_ConfirmEntry::
msgbox LilycoveCity_ContestLobby_Text_ConfirmContestMon, MSGBOX_YESNO
switch VAR_RESULT
case NO, LilycoveCity_ContestLobby_EventScript_ChooseContestMon
case YES, LilycoveCity_ContestLobby_EventScript_EnterMon
end
LilycoveCity_ContestLobby_EventScript_ConfirmEntryAlreadyWon::
msgbox LilycoveCity_ContestLobby_Text_AlreadyWonEnterAnyway, MSGBOX_YESNO
switch VAR_RESULT
case NO, LilycoveCity_ContestLobby_EventScript_ChooseContestMon
case YES, LilycoveCity_ContestLobby_EventScript_EnterMon
end
LilycoveCity_ContestLobby_EventScript_CantEnterEgg::
msgbox LilycoveCity_ContestLobby_Text_EggCannotTakePart, MSGBOX_DEFAULT
goto LilycoveCity_ContestLobby_EventScript_ChooseContestMon
release
end
LilycoveCity_ContestLobby_EventScript_CantEnterFainted::
msgbox LilycoveCity_ContestLobby_Text_MonInNoConditionForContest, MSGBOX_DEFAULT
goto LilycoveCity_ContestLobby_EventScript_ChooseContestMon
release
end
@ The return here is back to LilycoveCity_ContestLobby_EventScript_ContestReceptionist
LilycoveCity_ContestLobby_EventScript_EnterMon::
msgbox LilycoveCity_ContestLobby_Text_YourMonIsEntryNum4, MSGBOX_DEFAULT
closemessage
releaseall
setvar VAR_CONTEST_HALL_STATE, 1
return
ContestHall_EventScript_DoContest::
special LinkContestTryShowWirelessIndicator
setvar VAR_0x8006, 0
lockall
applymovement LOCALID_CONTESTANT_4, ContestHall_Movement_Player4FaceUp
waitmovement 0
applymovement LOCALID_MC, ContestHall_Movement_MCWalkDown
waitmovement 0
releaseall
call ContestHall_EventScript_TryWaitForLink
call ContestHall_EventScript_GetContestRankStringId
call ContestHall_EventScript_GetContestCategory
call ContestHall_EventScript_ContestGettingStarted
call ContestHall_EventScript_ShowContestMons
call ContestHall_EventScript_DoContestAppeals
call ContestHall_EventScript_ContestResults
call ContestHall_EventScript_GetWinnerObjEventId
call ContestHall_EventScript_CongratulateWinner
call ContestHall_EventScript_AudienceLookAround
call ContestHall_EventScript_GiveWinnerPrize
setvar VAR_CONTEST_HALL_STATE, 2
return
ContestHall_EventScript_GetContestRankStringId::
switch VAR_CONTEST_RANK
case CONTEST_RANK_NORMAL, ContestHall_EventScript_GetNormalStringId
case CONTEST_RANK_SUPER, ContestHall_EventScript_GetSuperStringId
case CONTEST_RANK_HYPER, ContestHall_EventScript_GetHyperStringId
case CONTEST_RANK_MASTER, ContestHall_EventScript_GetMasterStringId
return
ContestHall_EventScript_GetNormalStringId::
setvar VAR_0x8009, STDSTRING_NORMAL
return
ContestHall_EventScript_GetSuperStringId::
setvar VAR_0x8009, STDSTRING_SUPER
return
ContestHall_EventScript_GetHyperStringId::
setvar VAR_0x8009, STDSTRING_HYPER
return
ContestHall_EventScript_GetMasterStringId::
setvar VAR_0x8009, STDSTRING_MASTER
return
@ This whole switch is equivalent to copyvar VAR_0x8008, VAR_CONTEST_CATEGORY
ContestHall_EventScript_GetContestCategory::
switch VAR_CONTEST_CATEGORY
case CONTEST_CATEGORY_COOL, ContestHall_EventScript_GetCategoryCool
case CONTEST_CATEGORY_BEAUTY, ContestHall_EventScript_GetCategoryBeauty
case CONTEST_CATEGORY_CUTE, ContestHall_EventScript_GetCategoryCute
case CONTEST_CATEGORY_SMART, ContestHall_EventScript_GetCategorySmart
case CONTEST_CATEGORY_TOUGH, ContestHall_EventScript_GetCategoryTough
return
ContestHall_EventScript_GetCategoryCool::
setvar VAR_0x8008, CONTEST_CATEGORY_COOL
return
ContestHall_EventScript_GetCategoryBeauty::
setvar VAR_0x8008, CONTEST_CATEGORY_BEAUTY
return
ContestHall_EventScript_GetCategoryCute::
setvar VAR_0x8008, CONTEST_CATEGORY_CUTE
return
ContestHall_EventScript_GetCategorySmart::
setvar VAR_0x8008, CONTEST_CATEGORY_SMART
return
ContestHall_EventScript_GetCategoryTough::
setvar VAR_0x8008, CONTEST_CATEGORY_TOUGH
return
ContestHall_EventScript_ContestGettingStarted::
buffercontestname STR_VAR_2, VAR_0x8008
bufferstdstring STR_VAR_3, VAR_0x8009
call ContestHall_EventScript_GettingStarted
lockall
applymovement LOCALID_MC, ContestHall_Movement_MCBackUp
waitmovement 0
releaseall
return
ContestHall_EventScript_GettingStarted::
goto_if_eq VAR_CONTEST_TYPE, CONTEST_TYPE_LINK, ContestHall_EventScript_GettingStartedLink
lockall
msgbox ContestHall_Text_GettingStartedParticipantsAsFollows, MSGBOX_DEFAULT
releaseall
return
ContestHall_EventScript_GettingStartedLink::
specialvar VAR_RESULT, IsWirelessContest
goto_if_eq VAR_RESULT, TRUE, ContestHall_EventScript_GettingStartedWireless
messageautoscroll ContestHall_Text_GettingStartedParticipantsAsFollowsLink
waitmessage
return
ContestHall_EventScript_GettingStartedWireless::
messageautoscroll ContestHall_Text_GettingStartedWireless
waitmessage
call ContestHall_EventScript_TryWaitForLink
messageautoscroll ContestHall_Text_ParticipantsAsFollows
waitmessage
call ContestHall_EventScript_TryWaitForLink
return
ContestHall_EventScript_ShowContestMons::
call ContestHall_EventScript_ContestantWalkToCenter
call ContestHall_EventScript_ShowContestMonPic
call ContestHall_EventScript_AudienceHeartEmotes
call ContestHall_EventScript_AudienceReactToContestant
call ContestHall_EventScript_ContestantReturn
call ContestHall_EventScript_TryWaitForLink
call ContestHall_EventScript_TryWaitForLink
addvar VAR_0x8006, 1
goto_if_ne VAR_0x8006, CONTESTANT_COUNT, ContestHall_EventScript_ShowContestMons
call ContestHall_EventScript_AudienceVote
setvar VAR_TEMP_1, 6
return
ContestHall_EventScript_TryWaitForLink::
specialvar VAR_RESULT, IsWirelessContest
goto_if_eq VAR_RESULT, TRUE, ContestHall_EventScript_WaitForLink
return
ContestHall_EventScript_WaitForLink::
special LinkContestWaitForConnection
waitstate
return
ContestHall_EventScript_ContestantWalkToCenter::
goto_if_eq VAR_0x8006, 0, ContestHall_EventScript_Player1WalkToCenter
goto_if_eq VAR_0x8006, 1, ContestHall_EventScript_Player2WalkToCenter
goto_if_eq VAR_0x8006, 2, ContestHall_EventScript_Player3WalkToCenter
goto_if_eq VAR_0x8006, 3, ContestHall_EventScript_Player4WalkToCenter
return
ContestHall_EventScript_Player1WalkToCenter::
call ContestHall_EventScript_TryWaitForLink
lockall
applymovement LOCALID_CONTESTANT_1, ContestHall_Movement_Player1WalkToCenter
waitmovement 0
releaseall
setvar VAR_0x800B, LOCALID_CONTESTANT_1
return
ContestHall_EventScript_Player2WalkToCenter::
call ContestHall_EventScript_TryWaitForLink
lockall
applymovement LOCALID_CONTESTANT_2, ContestHall_Movement_Player2WalkToCenter
waitmovement 0
releaseall
setvar VAR_0x800B, LOCALID_CONTESTANT_2
return
ContestHall_EventScript_Player3WalkToCenter::
call ContestHall_EventScript_TryWaitForLink
lockall
applymovement LOCALID_CONTESTANT_3, ContestHall_Movement_Player3WalkToCenter
waitmovement 0
releaseall
setvar VAR_0x800B, LOCALID_CONTESTANT_3
return
ContestHall_EventScript_Player4WalkToCenter::
call ContestHall_EventScript_TryWaitForLink
lockall
applymovement LOCALID_CONTESTANT_4, ContestHall_Movement_Player4WalkToCenter
waitmovement 0
releaseall
setvar VAR_0x800B, LOCALID_CONTESTANT_4
return
ContestHall_EventScript_ShowContestMonPic::
special BufferContestTrainerAndMonNames
addvar VAR_0x8006, 1
buffernumberstring STR_VAR_2, VAR_0x8006
lockall
applymovement VAR_0x800B, ContestHall_Movement_ContestantDelay32
waitmovement 0
releaseall
call ContestHall_EventScript_TryWaitForLink
call ContestHall_EventScript_CheckIfContestWithRSPlayer
addobject LOCALID_POKEBALL
playse SE_LEDGE
lockall
applymovement VAR_0x800B, ContestHall_Movement_ContestantDelay32
waitmovement 0
releaseall
addvar VAR_0x8006, -1
playse SE_BALL_OPEN
special ShowContestEntryMonPic
call ContestHall_EventScript_EntryXTrainersMon
return
ContestHall_EventScript_EntryXTrainersMon::
goto_if_eq VAR_CONTEST_TYPE, CONTEST_TYPE_LINK, ContestHall_EventScript_EntryXTrainersMonLink
message ContestHall_Text_EntryXTrainersMon
waitmessage
return
ContestHall_EventScript_EntryXTrainersMonLink::
messageautoscroll ContestHall_Text_EntryXTrainersMon
waitmessage
return
ContestHall_EventScript_AudienceVote::
call ContestHall_EventScript_AudienceWillVote
call ContestHall_EventScript_VotingUnderWay
playse SE_M_ENCORE2
waitmessage
call ContestHall_EventScript_AudienceLookAround
applymovement LOCALID_MC, ContestHall_Movement_MCFaceJudge2
waitmovement 0
applymovement LOCALID_JUDGE, ContestHall_Movement_JudgeFaceMC
waitmovement 0
delay 20
applymovement LOCALID_MC, ContestHall_Movement_FaceContestants
applymovement LOCALID_JUDGE, ContestHall_Movement_FaceContestants
waitmovement 0
return
ContestHall_EventScript_AudienceWillVote::
goto_if_eq VAR_CONTEST_TYPE, CONTEST_TYPE_LINK, ContestHall_EventScript_AudienceWillVoteLink
msgbox ContestHall_Text_SeenContestantsAudienceWillVote, MSGBOX_DEFAULT
return
ContestHall_EventScript_AudienceWillVoteLink::
specialvar VAR_RESULT, IsWirelessContest
goto_if_eq VAR_RESULT, TRUE, ContestHall_EventScript_AudienceWillVoteWireless
messageautoscroll ContestHall_Text_SeenContestantsAudienceWillVote
waitmessage
return
ContestHall_EventScript_AudienceWillVoteWireless::
messageautoscroll ContestHall_Text_WeveSeenContestants
waitmessage
call ContestHall_EventScript_TryWaitForLink
messageautoscroll ContestHall_Text_AudienceWillVote
waitmessage
call ContestHall_EventScript_TryWaitForLink
messageautoscroll ContestHall_Text_LetVotingBegin
waitmessage
call ContestHall_EventScript_TryWaitForLink
return
ContestHall_EventScript_VotingUnderWay::
goto_if_eq VAR_CONTEST_TYPE, CONTEST_TYPE_LINK, ContestHall_EventScript_VotingUnderWayLink
message ContestHall_Text_VotingUnderWay
return
ContestHall_EventScript_VotingUnderWayLink::
messageautoscroll ContestHall_Text_VotingUnderWay
call ContestHall_EventScript_TryWaitForLink
return
ContestHall_EventScript_AudienceReactToContestant::
call ContestHall_EventScript_TryWaitForLink
applymovement LOCALID_MC, ContestHall_Movement_AudienceMemberLookLeft
waitmovement 0
playse SE_M_ENCORE2
call ContestHall_EventScript_VObjectAudienceLookAround
applymovement LOCALID_AUDIENCE_5, ContestHall_Movement_AudienceMemberLookRight
applymovement LOCALID_AUDIENCE_2, ContestHall_Movement_AudienceMemberLookDown
applymovement LOCALID_AUDIENCE_3, ContestHall_Movement_AudienceMemberLookRight
waitmovement 0
applymovement LOCALID_MC, ContestHall_Movement_AudienceMemberLookRight
waitmovement 0
applymovement LOCALID_AUDIENCE_6, ContestHall_Movement_AudienceMemberLookLeft
applymovement LOCALID_AUDIENCE_7, ContestHall_Movement_AudienceMemberLookDown
applymovement LOCALID_AUDIENCE_1, ContestHall_Movement_AudienceMemberLookUp
applymovement LOCALID_AUDIENCE_4, ContestHall_Movement_AudienceMemberLookLeft
waitmovement 0
applymovement LOCALID_MC, ContestHall_Movement_MCLookAtJudge
waitmovement 0
applymovement LOCALID_MC, ContestHall_Movement_MCWalkInPlaceDown
applymovement LOCALID_JUDGE, ContestHall_Movement_JudgeLookAtMC
waitmovement 0
releaseall
call ContestHall_EventScript_TryWaitForLink
return
@ For below VAR_TEMP_0 is the number of heart emotes to try to display in the audience
@ The number of hearts to try to display is based on the condition of the presented pokemon and the rank
@ For each heart to display a random audience member is chosen, and a new one chosen if they already displayed a heart
@ VAR_TEMP_1 through VAR_TEMP_8 represent each of the 8 audience members that are actual object events
@ and are set to 9 if they havent displayed a heart yet, and 1 if they have
ContestHall_EventScript_AudienceHeartEmotes::
special GetContestMonCondition
call_if_eq VAR_CONTEST_TYPE, CONTEST_TYPE_NPC_NORMAL, ContestHall_EventScript_GetNumberOfHeartsNormal
call_if_eq VAR_CONTEST_TYPE, CONTEST_TYPE_NPC_SUPER, ContestHall_EventScript_GetNumberOfHeartsSuper
call_if_eq VAR_CONTEST_TYPE, CONTEST_TYPE_NPC_HYPER, ContestHall_EventScript_GetNumberOfHeartsHyper
call_if_eq VAR_CONTEST_TYPE, CONTEST_TYPE_NPC_MASTER, ContestHall_EventScript_GetNumberOfHeartsMaster
call_if_eq VAR_CONTEST_TYPE, CONTEST_TYPE_LINK, ContestHall_EventScript_GetNumberOfHeartsLink
setvar VAR_TEMP_1, 9
setvar VAR_TEMP_2, 9
setvar VAR_TEMP_3, 9
setvar VAR_TEMP_4, 9
setvar VAR_TEMP_5, 9
setvar VAR_TEMP_6, 9
setvar VAR_TEMP_7, 9
setvar VAR_TEMP_8, 9
call_if_gt VAR_TEMP_0, 0, ContestHall_EventScript_DisplayHearts
setvar VAR_TEMP_1, 0
setvar VAR_TEMP_2, 0
setvar VAR_TEMP_3, 0
setvar VAR_TEMP_4, 0
setvar VAR_TEMP_5, 0
setvar VAR_TEMP_6, 0
setvar VAR_TEMP_7, 0
setvar VAR_TEMP_8, 0
return
ContestHall_EventScript_DisplayHearts::
setvar VAR_RESULT, 8
special GenerateContestRand
call_if_eq VAR_RESULT, 0, ContestHall_EventScript_TryDisplayHeartAudienceMember1
call_if_eq VAR_RESULT, 1, ContestHall_EventScript_TryDisplayHeartAudienceMember2
call_if_eq VAR_RESULT, 2, ContestHall_EventScript_TryDisplayHeartAudienceMember3
call_if_eq VAR_RESULT, 3, ContestHall_EventScript_TryDisplayHeartAudienceMember4
call_if_eq VAR_RESULT, 4, ContestHall_EventScript_TryDisplayHeartAudienceMember5
call_if_eq VAR_RESULT, 5, ContestHall_EventScript_TryDisplayHeartAudienceMember6
call_if_eq VAR_RESULT, 6, ContestHall_EventScript_TryDisplayHeartAudienceMember7
call_if_eq VAR_RESULT, 7, ContestHall_EventScript_TryDisplayHeartAudienceMember8
goto_if_gt VAR_TEMP_0, 0, ContestHall_EventScript_DisplayHearts @ Still more hearts to display
waitmovement 0
return
ContestHall_EventScript_GetNumberOfHeartsNormal::
goto_if_gt VAR_0x8004, 80, ContestHall_EventScript_Set8Hearts
goto_if_gt VAR_0x8004, 70, ContestHall_EventScript_Set7Hearts
goto_if_gt VAR_0x8004, 60, ContestHall_EventScript_Set6Hearts
goto_if_gt VAR_0x8004, 50, ContestHall_EventScript_Set5Hearts
goto_if_gt VAR_0x8004, 40, ContestHall_EventScript_Set4Hearts
goto_if_gt VAR_0x8004, 30, ContestHall_EventScript_Set3Hearts
goto_if_gt VAR_0x8004, 20, ContestHall_EventScript_Set2Hearts
goto_if_gt VAR_0x8004, 10, ContestHall_EventScript_Set1Heart
setvar VAR_TEMP_0, 0
return
ContestHall_EventScript_GetNumberOfHeartsSuper::
goto_if_gt VAR_0x8004, 230, ContestHall_EventScript_Set8Hearts
goto_if_gt VAR_0x8004, 210, ContestHall_EventScript_Set7Hearts
goto_if_gt VAR_0x8004, 190, ContestHall_EventScript_Set6Hearts
goto_if_gt VAR_0x8004, 170, ContestHall_EventScript_Set5Hearts
goto_if_gt VAR_0x8004, 150, ContestHall_EventScript_Set4Hearts
goto_if_gt VAR_0x8004, 130, ContestHall_EventScript_Set3Hearts
goto_if_gt VAR_0x8004, 110, ContestHall_EventScript_Set2Hearts
goto_if_gt VAR_0x8004, 90, ContestHall_EventScript_Set1Heart
setvar VAR_TEMP_0, 0
return
ContestHall_EventScript_GetNumberOfHeartsHyper::
goto_if_gt VAR_0x8004, 380, ContestHall_EventScript_Set8Hearts
goto_if_gt VAR_0x8004, 350, ContestHall_EventScript_Set7Hearts
goto_if_gt VAR_0x8004, 320, ContestHall_EventScript_Set6Hearts
goto_if_gt VAR_0x8004, 290, ContestHall_EventScript_Set5Hearts
goto_if_gt VAR_0x8004, 260, ContestHall_EventScript_Set4Hearts
goto_if_gt VAR_0x8004, 230, ContestHall_EventScript_Set3Hearts
goto_if_gt VAR_0x8004, 200, ContestHall_EventScript_Set2Hearts
goto_if_gt VAR_0x8004, 170, ContestHall_EventScript_Set1Heart
setvar VAR_TEMP_0, 0
return
ContestHall_EventScript_GetNumberOfHeartsMaster::
goto_if_gt VAR_0x8004, 600, ContestHall_EventScript_Set8Hearts
goto_if_gt VAR_0x8004, 560, ContestHall_EventScript_Set7Hearts
goto_if_gt VAR_0x8004, 520, ContestHall_EventScript_Set6Hearts
goto_if_gt VAR_0x8004, 480, ContestHall_EventScript_Set5Hearts
goto_if_gt VAR_0x8004, 440, ContestHall_EventScript_Set4Hearts
goto_if_gt VAR_0x8004, 400, ContestHall_EventScript_Set3Hearts
goto_if_gt VAR_0x8004, 360, ContestHall_EventScript_Set2Hearts
goto_if_gt VAR_0x8004, 320, ContestHall_EventScript_Set1Heart
setvar VAR_TEMP_0, 0
return
ContestHall_EventScript_GetNumberOfHeartsLink::
goto_if_gt VAR_0x8004, 600, ContestHall_EventScript_Set8Hearts
goto_if_gt VAR_0x8004, 550, ContestHall_EventScript_Set7Hearts
goto_if_gt VAR_0x8004, 500, ContestHall_EventScript_Set6Hearts
goto_if_gt VAR_0x8004, 450, ContestHall_EventScript_Set5Hearts
goto_if_gt VAR_0x8004, 400, ContestHall_EventScript_Set4Hearts
goto_if_gt VAR_0x8004, 300, ContestHall_EventScript_Set3Hearts
goto_if_gt VAR_0x8004, 200, ContestHall_EventScript_Set2Hearts
goto_if_gt VAR_0x8004, 100, ContestHall_EventScript_Set1Heart
setvar VAR_TEMP_0, 0
return
ContestHall_EventScript_Set1Heart::
setvar VAR_TEMP_0, 1
return
ContestHall_EventScript_Set2Hearts::
setvar VAR_TEMP_0, 2
return
ContestHall_EventScript_Set3Hearts::
setvar VAR_TEMP_0, 3
return
ContestHall_EventScript_Set4Hearts::
setvar VAR_TEMP_0, 4
return
ContestHall_EventScript_Set5Hearts::
setvar VAR_TEMP_0, 5
return
ContestHall_EventScript_Set6Hearts::
setvar VAR_TEMP_0, 6
return
ContestHall_EventScript_Set7Hearts::
setvar VAR_TEMP_0, 7
return
ContestHall_EventScript_Set8Hearts::
setvar VAR_TEMP_0, 8
return
ContestHall_EventScript_TryDisplayHeartAudienceMember1::
goto_if_eq VAR_TEMP_1, 1, ContestHall_EventScript_AudienceMember1AlreadyEmoted
applymovement LOCALID_AUDIENCE_1, ContestHall_Movement_Heart
playse SE_PIN
delay 14
setvar VAR_TEMP_1, 1
addvar VAR_TEMP_0, -1
return
ContestHall_EventScript_AudienceMember1AlreadyEmoted::
return
ContestHall_EventScript_TryDisplayHeartAudienceMember2::
goto_if_eq VAR_TEMP_2, 1, ContestHall_EventScript_AudienceMember2AlreadyEmoted
applymovement LOCALID_AUDIENCE_2, ContestHall_Movement_Heart
playse SE_PIN
delay 14
setvar VAR_TEMP_2, 1
addvar VAR_TEMP_0, -1
return
ContestHall_EventScript_AudienceMember2AlreadyEmoted::
return
ContestHall_EventScript_TryDisplayHeartAudienceMember3::
goto_if_eq VAR_TEMP_3, 1, ContestHall_EventScript_AudienceMember3AlreadyEmoted
applymovement LOCALID_AUDIENCE_3, ContestHall_Movement_Heart
playse SE_PIN
delay 14
setvar VAR_TEMP_3, 1
addvar VAR_TEMP_0, -1
return
ContestHall_EventScript_AudienceMember3AlreadyEmoted::
return
ContestHall_EventScript_TryDisplayHeartAudienceMember4::
goto_if_eq VAR_TEMP_4, 1, ContestHall_EventScript_Audience4MemberAlreadyEmoted
applymovement LOCALID_AUDIENCE_4, ContestHall_Movement_Heart
playse SE_PIN
delay 14
setvar VAR_TEMP_4, 1
addvar VAR_TEMP_0, -1
return
ContestHall_EventScript_Audience4MemberAlreadyEmoted::
return
ContestHall_EventScript_TryDisplayHeartAudienceMember5::
goto_if_eq VAR_TEMP_5, 1, ContestHall_EventScript_AudienceMember5AlreadyEmoted
applymovement LOCALID_AUDIENCE_5, ContestHall_Movement_Heart
playse SE_PIN
delay 14
setvar VAR_TEMP_5, 1
addvar VAR_TEMP_0, -1
return
ContestHall_EventScript_AudienceMember5AlreadyEmoted::
return
ContestHall_EventScript_TryDisplayHeartAudienceMember6::
goto_if_eq VAR_TEMP_6, 1, ContestHall_EventScript_AudienceMember6AlreadyEmoted
applymovement LOCALID_AUDIENCE_6, ContestHall_Movement_Heart
playse SE_PIN
delay 14
setvar VAR_TEMP_6, 1
addvar VAR_TEMP_0, -1
return
ContestHall_EventScript_AudienceMember6AlreadyEmoted::
return
ContestHall_EventScript_TryDisplayHeartAudienceMember7::
goto_if_eq VAR_TEMP_7, 1, ContestHall_EventScript_AudienceMember7AlreadyEmoted
applymovement LOCALID_AUDIENCE_7, ContestHall_Movement_Heart
playse SE_PIN
delay 14
setvar VAR_TEMP_7, 1
addvar VAR_TEMP_0, -1
return
ContestHall_EventScript_AudienceMember7AlreadyEmoted::
return
ContestHall_EventScript_TryDisplayHeartAudienceMember8::
goto_if_eq VAR_TEMP_8, 1, ContestHall_EventScript_AudienceMember8AlreadyEmoted
applymovement LOCALID_ARTIST, ContestHall_Movement_Heart
playse SE_PIN
delay 14
setvar VAR_TEMP_8, 1
addvar VAR_TEMP_0, -1
return
ContestHall_EventScript_AudienceMember8AlreadyEmoted::
return
ContestHall_EventScript_ContestantReturn::
closemessage
release
removeobject LOCALID_POKEBALL
special HideContestEntryMonPic
call ContestHall_EventScript_TryWaitForLink
switch VAR_0x8006
case 0, ContestHall_EventScript_Player1WalkBack
case 1, ContestHall_EventScript_Player2WalkBack
case 2, ContestHall_EventScript_Player3WalkBack
case 3, ContestHall_EventScript_Player4WalkBack
return
ContestHall_EventScript_Player1WalkBack::
call ContestHall_EventScript_TryWaitForLink
lockall
applymovement VAR_0x800B, ContestHall_Movement_Player1WalkBack
waitmovement 0
releaseall
return
ContestHall_EventScript_Player2WalkBack::
call ContestHall_EventScript_TryWaitForLink
lockall
applymovement VAR_0x800B, ContestHall_Movement_Player2WalkBack
waitmovement 0
releaseall
return
ContestHall_EventScript_Player3WalkBack::
call ContestHall_EventScript_TryWaitForLink
lockall
applymovement VAR_0x800B, ContestHall_Movement_Player3WalkBack
waitmovement 0
releaseall
return
ContestHall_EventScript_Player4WalkBack::
call ContestHall_EventScript_TryWaitForLink
lockall
applymovement VAR_0x800B, ContestHall_Movement_Player4WalkBack
waitmovement 0
releaseall
return
ContestHall_EventScript_DoContestAppeals::
lockall
applymovement LOCALID_MC, ContestHall_Movement_FaceContestants2
waitmovement 0
call ContestHall_EventScript_TryWaitForLink
call ContestHall_EventScript_LetsAppeal
waitmessage
applymovement LOCALID_MC, ContestHall_Movement_WalkStageLeft
applymovement LOCALID_JUDGE, ContestHall_Movement_WalkStageRight
waitmovement 0
releaseall
call ContestHall_EventScript_TryWaitForLink
setvar VAR_TEMP_9, 1
special LinkContestTryHideWirelessIndicator
startcontest
special LinkContestTryShowWirelessIndicator
setvar VAR_TEMP_9, 0
lockall
applymovement LOCALID_MC, ContestHall_Movement_WalkStageRight
applymovement LOCALID_JUDGE, ContestHall_Movement_WalkStageLeft
waitmovement 0
releaseall
return
ContestHall_EventScript_LetsAppeal::
goto_if_eq VAR_CONTEST_TYPE, CONTEST_TYPE_LINK, ContestHall_EventScript_LetsAppealLink
msgbox ContestHall_Text_VotingCompleteLetsAppeal, MSGBOX_DEFAULT
return
ContestHall_EventScript_LetsAppealLink::
specialvar VAR_RESULT, IsWirelessContest
goto_if_eq VAR_RESULT, TRUE, ContestHall_EventScript_LetsAppealWireless
messageautoscroll ContestHall_Text_VotingCompleteLetsAppeal
waitmessage
return
ContestHall_EventScript_LetsAppealWireless::
call ContestHall_EventScript_TryWaitForLink
messageautoscroll ContestHall_Text_VotingComplete
waitmessage
call ContestHall_EventScript_TryWaitForLink
messageautoscroll ContestHall_Text_SecondStageOfJudging
waitmessage
call ContestHall_EventScript_TryWaitForLink
messageautoscroll ContestHall_Text_LetsAppeal
waitmessage
call ContestHall_EventScript_TryWaitForLink
return
ContestHall_EventScript_ContestResults::
call ContestHall_EventScript_TryWaitForLink
call ContestHall_EventScript_ThatsItForJudging
call ContestHall_EventScript_TryWaitForLink
call ContestHall_EventScript_ThankYouForAppeals
call ContestHall_EventScript_TryWaitForLink
applymovement LOCALID_MC, ContestHall_Movement_MCFaceJudge
waitmovement 0
call ContestHall_EventScript_JudgeLooksReady
call ContestHall_EventScript_TryWaitForLink
call ContestHall_EventScript_WeWillDeclareWinner
call ContestHall_EventScript_TryWaitForLink
applymovement LOCALID_MC, ContestHall_Movement_FaceContestants
waitmovement 0
closemessage
releaseall
special LinkContestTryHideWirelessIndicator
setvar VAR_TEMP_9, 1
showcontestresults
setvar VAR_TEMP_9, 0
playbgm MUS_CONTEST_WINNER, FALSE
return
ContestHall_EventScript_ThatsItForJudging::
goto_if_eq VAR_CONTEST_TYPE, CONTEST_TYPE_LINK, ContestHall_EventScript_ThatsItForJudgingLink
msgbox ContestHall_Text_ThatsItForJudging, MSGBOX_DEFAULT
return
ContestHall_EventScript_ThatsItForJudgingLink::
call ContestHall_EventScript_TryWaitForLink
messageautoscroll ContestHall_Text_ThatsItForJudging
waitmessage
delay 30
return
ContestHall_EventScript_ThankYouForAppeals::
goto_if_eq VAR_CONTEST_TYPE, CONTEST_TYPE_LINK, ContestHall_EventScript_ThankYouForAppealsLink
msgbox ContestHall_Text_ThankYouForAppeals, MSGBOX_DEFAULT
return
ContestHall_EventScript_ThankYouForAppealsLink::
call ContestHall_EventScript_TryWaitForLink
messageautoscroll ContestHall_Text_ThankYouForAppeals
waitmessage
delay 30
return
ContestHall_EventScript_JudgeLooksReady::
goto_if_eq VAR_CONTEST_TYPE, CONTEST_TYPE_LINK, ContestHall_EventScript_JudgeLooksReadyLink
msgbox ContestHall_Text_JudgeLooksReady, MSGBOX_DEFAULT
return
ContestHall_EventScript_JudgeLooksReadyLink::
call ContestHall_EventScript_TryWaitForLink
messageautoscroll ContestHall_Text_JudgeLooksReady
waitmessage
delay 30
return
ContestHall_EventScript_WeWillDeclareWinner::
goto_if_eq VAR_CONTEST_TYPE, CONTEST_TYPE_LINK, ContestHall_EventScript_WeWillDeclareWinnerLink
msgbox ContestHall_Text_WeWillNowDeclareWinner, MSGBOX_DEFAULT
return
ContestHall_EventScript_WeWillDeclareWinnerLink::
call ContestHall_EventScript_TryWaitForLink
messageautoscroll ContestHall_Text_WeWillNowDeclareWinner
waitmessage
delay 30
return
ContestHall_EventScript_GetWinnerObjEventId::
special GetContestWinnerId
switch VAR_0x8005
case 0, ContestHall_EventScript_GetPlayer1ObjEventId
case 1, ContestHall_EventScript_GetPlayer2ObjEventId
case 2, ContestHall_EventScript_GetPlayer3ObjEventId
case 3, ContestHall_EventScript_GetPlayer4ObjEventId
return
ContestHall_EventScript_GetPlayer1ObjEventId::
setvar VAR_TEMP_3, LOCALID_CONTESTANT_1
return
ContestHall_EventScript_GetPlayer2ObjEventId::
setvar VAR_TEMP_3, LOCALID_CONTESTANT_2
return
ContestHall_EventScript_GetPlayer3ObjEventId::
setvar VAR_TEMP_3, LOCALID_CONTESTANT_3
return
ContestHall_EventScript_GetPlayer4ObjEventId::
setvar VAR_TEMP_3, LOCALID_CONTESTANT_4
return
ContestHall_EventScript_CongratulateWinner::
special BufferContestWinnerTrainerName
special BufferContestWinnerMonName
addvar VAR_0x8005, 1
buffernumberstring STR_VAR_2, VAR_0x8005
addvar VAR_0x8005, -1
call ContestHall_EventScript_CongratsWinner
applymovement VAR_TEMP_3, ContestHall_Movement_WinningPlayerWalkUp
waitmovement 0
playse SE_M_ENCORE2
setvar VAR_TEMP_1, 0
return
ContestHall_EventScript_CongratsWinner::
goto_if_eq VAR_CONTEST_TYPE, CONTEST_TYPE_LINK, ContestHall_EventScript_CongratsWinnerLink
msgbox ContestHall_Text_CongratsTrainerXandMon, MSGBOX_DEFAULT
return
ContestHall_EventScript_CongratsWinnerLink::
messageautoscroll ContestHall_Text_CongratsTrainerXandMon
waitmessage
return
ContestHall_EventScript_AudienceLookAround::
addvar VAR_TEMP_1, 1
lockall
call_if_gt VAR_CONTEST_TYPE, CONTEST_TYPE_NPC_NORMAL, ContestHall_EventScript_VObjectAudienceLookAround
applymovement LOCALID_AUDIENCE_5, ContestHall_Movement_AudienceMemberLookRight
applymovement LOCALID_AUDIENCE_2, ContestHall_Movement_AudienceMemberLookDown
applymovement LOCALID_AUDIENCE_3, ContestHall_Movement_AudienceMemberLookRight
delay 30
applymovement LOCALID_AUDIENCE_6, ContestHall_Movement_AudienceMemberLookLeft
applymovement LOCALID_AUDIENCE_7, ContestHall_Movement_AudienceMemberLookDown
applymovement LOCALID_AUDIENCE_1, ContestHall_Movement_AudienceMemberLookUp
applymovement LOCALID_AUDIENCE_4, ContestHall_Movement_AudienceMemberLookLeft
goto_if_ne VAR_TEMP_1, 4, ContestHall_EventScript_AudienceLookAround
delay 30
return
ContestHall_EventScript_VObjectAudienceLookAround::
turnvobject 0, DIR_SOUTH
turnvobject 2, DIR_SOUTH
turnvobject 4, DIR_EAST
turnvobject 6, DIR_SOUTH
turnvobject 8, DIR_SOUTH
turnvobject 10, DIR_SOUTH
turnvobject 12, DIR_SOUTH
turnvobject 14, DIR_SOUTH
turnvobject 16, DIR_SOUTH
turnvobject 18, DIR_SOUTH
turnvobject 20, DIR_EAST
turnvobject 22, DIR_EAST
turnvobject 25, DIR_EAST
turnvobject 27, DIR_WEST
turnvobject 28, DIR_EAST
delay 10
turnvobject 0, DIR_EAST
turnvobject 2, DIR_EAST
turnvobject 4, DIR_EAST
turnvobject 6, DIR_EAST
turnvobject 8, DIR_EAST
turnvobject 10, DIR_WEST
turnvobject 12, DIR_WEST
turnvobject 14, DIR_WEST
turnvobject 16, DIR_WEST
turnvobject 18, DIR_WEST
turnvobject 20, DIR_SOUTH
turnvobject 22, DIR_SOUTH
turnvobject 25, DIR_NORTH
turnvobject 27, DIR_NORTH
turnvobject 28, DIR_NORTH
delay 10
turnvobject 1, DIR_NORTH
turnvobject 3, DIR_NORTH
turnvobject 5, DIR_NORTH
turnvobject 7, DIR_NORTH
turnvobject 9, DIR_EAST
turnvobject 11, DIR_NORTH
turnvobject 15, DIR_NORTH
turnvobject 13, DIR_NORTH
turnvobject 17, DIR_NORTH
turnvobject 19, DIR_NORTH
turnvobject 21, DIR_WEST
turnvobject 23, DIR_WEST
turnvobject 24, DIR_WEST
turnvobject 26, DIR_EAST
turnvobject 29, DIR_WEST
turnvobject 30, DIR_WEST
delay 10
turnvobject 1, DIR_EAST