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
|
EventScript_StartTrainerBattle:: @ 819F80B
lock
special PlayTrainerEncounterMusic
special EndTrainerApproach
waitstate
goto EventScript_DoTrainerBattle
EventScript_TryDoNormalTrainerBattle:: @ 819F818
lock
faceplayer
applymovement VAR_LAST_TALKED, Movement_RevealTrainer
waitmovement 0
specialvar VAR_RESULT, GetTrainerFlag
compare VAR_RESULT, 0
goto_if_ne EventScript_NoNormalTrainerBattle
special PlayTrainerEncounterMusic
special SetUpTrainerMovement
goto EventScript_DoTrainerBattle
EventScript_NoNormalTrainerBattle:
gotopostbattlescript
EventScript_TryDoDoubleTrainerBattle:: @ 819F840
lock
faceplayer
call EventScript_RevealTrainer
specialvar VAR_RESULT, GetTrainerFlag
compare VAR_RESULT, 0
goto_if_ne EventScript_NoDoubleTrainerBattle
special HasEnoughMonsForDoubleBattle
compare VAR_RESULT, PLAYER_HAS_TWO_USABLE_MONS
goto_if_ne EventScript_NotEnoughMonsForDoubleBattle
special PlayTrainerEncounterMusic
special SetUpTrainerMovement
goto EventScript_DoTrainerBattle
EventScript_NotEnoughMonsForDoubleBattle:
special ScrSpecial_ShowTrainerNonBattlingSpeech
waitmessage
waitbuttonpress
release
end
EventScript_NoDoubleTrainerBattle:
gotopostbattlescript
EventScript_DoNoIntroTrainerBattle:: @ 819F878
applymovement VAR_LAST_TALKED, Movement_RevealTrainer
waitmovement 0
special PlayTrainerEncounterMusic
trainerbattlebegin
gotopostbattlescript
EventScript_TryDoRematchBattle:: @ 819F887
call EventScript_RevealTrainer
specialvar VAR_RESULT, IsTrainerReadyForRematch
compare VAR_RESULT, FALSE
goto_if_eq EventScript_NoRematchTrainerBattle
special PlayTrainerEncounterMusic
special SetUpTrainerMovement
special ShowTrainerIntroSpeech
waitmessage
waitbuttonpress
special BattleSetup_StartRematchBattle
waitstate
releaseall
end
EventScript_NoRematchTrainerBattle:
gotopostbattlescript
EventScript_TryDoDoubleRematchBattle:: @ 819F8AE
specialvar VAR_RESULT, IsTrainerReadyForRematch
compare VAR_RESULT, FALSE
goto_if_eq EventScript_NoDoubleRematchTrainerBattle
special HasEnoughMonsForDoubleBattle
compare VAR_RESULT, PLAYER_HAS_TWO_USABLE_MONS
goto_if_ne EventScript_NotEnoughMonsForDoubleRematchBattle
special PlayTrainerEncounterMusic
special SetUpTrainerMovement
special ShowTrainerIntroSpeech
waitmessage
waitbuttonpress
special BattleSetup_StartRematchBattle
waitstate
releaseall
end
EventScript_NoDoubleRematchTrainerBattle:
gotopostbattlescript
EventScript_NotEnoughMonsForDoubleRematchBattle:
special ScrSpecial_ShowTrainerNonBattlingSpeech
waitmessage
waitbuttonpress
release
end
EventScript_RevealTrainer:
applymovement VAR_LAST_TALKED, Movement_RevealTrainer
waitmovement 0
return
Movement_RevealTrainer::
reveal_trainer
step_end
EventScript_DoTrainerBattle:
special ShowTrainerIntroSpeech
waitmessage
waitbuttonpress
trainerbattlebegin
specialvar VAR_RESULT, ScrSpecial_GetTrainerBattleMode
compare VAR_RESULT, TRAINER_BATTLE_SINGLE
goto_if_eq EventScript_EndTrainerBattle
compare VAR_RESULT, TRAINER_BATTLE_CONTINUE_SCRIPT
goto_if_eq EventScript_GoToBeatenScript
compare VAR_RESULT, TRAINER_BATTLE_CONTINUE_SCRIPT_NO_MUSIC
goto_if_eq EventScript_GoToBeatenScript
compare VAR_RESULT, TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE
goto_if_eq EventScript_GoToBeatenScript
compare VAR_RESULT, TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE_NO_MUSIC
goto_if_eq EventScript_GoToBeatenScript
EventScript_EndTrainerBattle:
releaseall
end
EventScript_GoToBeatenScript:
gotobeatenscript
Std_MsgboxAutoclose::
message 0x0
waitmessage
waitbuttonpress
release
return
|