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
|
@ Interact with cuttable tree
EventScript_CutTree::
lockall
goto_if_unset FLAG_BADGE01_GET, EventScript_CheckTreeCantCut
checkpartymove MOVE_CUT
goto_if_eq VAR_RESULT, PARTY_SIZE, EventScript_CheckTreeCantCut
setfieldeffectargument 0, VAR_RESULT
bufferpartymonnick STR_VAR_1, VAR_RESULT
buffermovename STR_VAR_2, MOVE_CUT
msgbox Text_WantToCut, MSGBOX_YESNO
goto_if_eq VAR_RESULT, NO, EventScript_CancelCut
msgbox Text_MonUsedFieldMove, MSGBOX_DEFAULT
closemessage
dofieldeffect FLDEFF_USE_CUT_ON_TREE
waitstate
goto EventScript_CutTreeDown
end
@ Use cut from party menu
EventScript_UseCut::
lockall
dofieldeffect FLDEFF_USE_CUT_ON_TREE
waitstate
goto EventScript_CutTreeDown
end
EventScript_CutTreeDown::
applymovement VAR_LAST_TALKED, Movement_CutTreeDown
waitmovement 0
removeobject VAR_LAST_TALKED
releaseall
end
Movement_CutTreeDown:
cut_tree
step_end
EventScript_CheckTreeCantCut::
msgbox Text_CantCut, MSGBOX_DEFAULT
releaseall
end
EventScript_CancelCut::
closemessage
releaseall
end
Text_WantToCut:
.string "This tree looks like it can be\n"
.string "CUT down!\p"
.string "Would you like to CUT it?$"
Text_MonUsedFieldMove:
.string "{STR_VAR_1} used {STR_VAR_2}!$"
Text_CantCut:
.string "This tree looks like it can be\n"
.string "CUT down!$"
@ Interact with smashable rock
EventScript_RockSmash::
lockall
goto_if_unset FLAG_BADGE03_GET, EventScript_CantSmashRock
checkpartymove MOVE_ROCK_SMASH
goto_if_eq VAR_RESULT, PARTY_SIZE, EventScript_CantSmashRock
setfieldeffectargument 0, VAR_RESULT
bufferpartymonnick STR_VAR_1, VAR_RESULT
buffermovename STR_VAR_2, MOVE_ROCK_SMASH
msgbox Text_WantToSmash, MSGBOX_YESNO
goto_if_eq VAR_RESULT, NO, EventScript_CancelSmash
msgbox Text_MonUsedFieldMove, MSGBOX_DEFAULT
closemessage
dofieldeffect FLDEFF_USE_ROCK_SMASH
waitstate
goto EventScript_SmashRock
end
@ Use rock smash from party menu
EventScript_UseRockSmash::
lockall
dofieldeffect FLDEFF_USE_ROCK_SMASH
waitstate
goto EventScript_SmashRock
end
EventScript_SmashRock::
applymovement VAR_LAST_TALKED, Movement_SmashRock
waitmovement 0
removeobject VAR_LAST_TALKED
specialvar VAR_RESULT, TryUpdateRusturfTunnelState
goto_if_eq VAR_RESULT, TRUE, EventScript_EndSmash
special RockSmashWildEncounter
goto_if_eq VAR_RESULT, FALSE, EventScript_EndSmash
waitstate
releaseall
end
EventScript_EndSmash::
releaseall
end
Movement_SmashRock:
rock_smash_break
step_end
EventScript_CantSmashRock::
msgbox Text_CantSmash, MSGBOX_DEFAULT
releaseall
end
EventScript_CancelSmash::
closemessage
releaseall
end
Text_WantToSmash:
.string "This rock appears to be breakable.\n"
.string "Would you like to use ROCK SMASH?$"
Text_CantSmash:
.string "It's a rugged rock, but a POKéMON\n"
.string "may be able to smash it.$"
EventScript_StrengthBoulder::
lockall
goto_if_unset FLAG_BADGE04_GET, EventScript_CantStrength
goto_if_set FLAG_SYS_USE_STRENGTH, EventScript_CheckActivatedBoulder
checkpartymove MOVE_STRENGTH
goto_if_eq VAR_RESULT, PARTY_SIZE, EventScript_CantStrength
setfieldeffectargument 0, VAR_RESULT
msgbox Text_WantToStrength, MSGBOX_YESNO
goto_if_eq VAR_RESULT, NO, EventScript_CancelStrength
closemessage
dofieldeffect FLDEFF_USE_STRENGTH
waitstate
goto EventScript_ActivateStrength
end
EventScript_UseStrength::
lockall
dofieldeffect FLDEFF_USE_STRENGTH
waitstate
goto EventScript_ActivateStrength
end
EventScript_ActivateStrength::
setflag FLAG_SYS_USE_STRENGTH
msgbox Text_MonUsedStrength, MSGBOX_DEFAULT
releaseall
end
EventScript_CantStrength::
msgbox Text_CantStrength, MSGBOX_DEFAULT
releaseall
end
EventScript_CheckActivatedBoulder::
msgbox Text_StrengthActivated, MSGBOX_DEFAULT
releaseall
end
EventScript_CancelStrength::
closemessage
releaseall
end
Text_WantToStrength:
.string "It's a big boulder, but a POKéMON\n"
.string "may be able to push it aside.\p"
.string "Would you like to use STRENGTH?$"
Text_MonUsedStrength:
.string "{STR_VAR_1} used STRENGTH!\p"
.string "{STR_VAR_1}'s STRENGTH made it\n"
.string "possible to move boulders around!$"
Text_CantStrength:
.string "It's a big boulder, but a POKéMON\n"
.string "may be able to push it aside.$"
Text_StrengthActivated:
.string "STRENGTH made it possible to move\n"
.string "boulders around.$"
EventScript_UseWaterfall::
lockall
checkpartymove MOVE_WATERFALL
goto_if_eq VAR_RESULT, PARTY_SIZE, EventScript_CantWaterfall
bufferpartymonnick STR_VAR_1, VAR_RESULT
setfieldeffectargument 0, VAR_RESULT
msgbox Text_WantToWaterfall, MSGBOX_YESNO
goto_if_eq VAR_RESULT, NO, EventScript_EndWaterfall
msgbox Text_MonUsedWaterfall, MSGBOX_DEFAULT
dofieldeffect FLDEFF_USE_WATERFALL
goto EventScript_EndWaterfall
EventScript_CannotUseWaterfall::
lockall
EventScript_CantWaterfall::
msgbox Text_CantWaterfall, MSGBOX_DEFAULT
EventScript_EndWaterfall::
releaseall
end
Text_CantWaterfall:
.string "A wall of water is crashing down with\n"
.string "a mighty roar.$"
Text_WantToWaterfall:
.string "It's a large waterfall.\n"
.string "Would you like to use WATERFALL?$"
Text_MonUsedWaterfall:
.string "{STR_VAR_1} used WATERFALL.$"
EventScript_UseDive::
lockall
checkpartymove MOVE_DIVE
goto_if_eq VAR_RESULT, PARTY_SIZE, EventScript_CantDive
bufferpartymonnick STR_VAR_1, VAR_RESULT
setfieldeffectargument 0, VAR_RESULT
setfieldeffectargument 1, 1
msgbox Text_WantToDive, MSGBOX_YESNO
goto_if_eq VAR_RESULT, NO, EventScript_EndDive
msgbox Text_MonUsedDive, MSGBOX_DEFAULT
dofieldeffect FLDEFF_USE_DIVE
goto EventScript_EndDive
end
EventScript_CantDive::
msgbox Text_CantDive, MSGBOX_DEFAULT
releaseall
end
EventScript_EndDive::
releaseall
end
EventScript_UseDiveUnderwater::
lockall
checkpartymove MOVE_DIVE
goto_if_eq VAR_RESULT, PARTY_SIZE, EventScript_CantSurface
bufferpartymonnick STR_VAR_1, VAR_RESULT
setfieldeffectargument 0, VAR_RESULT
setfieldeffectargument 1, 1
msgbox Text_WantToSurface, MSGBOX_YESNO
goto_if_eq VAR_RESULT, NO, EventScript_EndSurface
msgbox Text_MonUsedDive, MSGBOX_DEFAULT
dofieldeffect FLDEFF_USE_DIVE
goto EventScript_EndSurface
end
EventScript_CantSurface::
lockall
msgbox Text_CantSurface, MSGBOX_DEFAULT
goto EventScript_EndSurface
end
EventScript_EndSurface::
releaseall
end
Text_CantDive:
.string "The sea is deep here. A POKéMON\n"
.string "may be able to go underwater.$"
Text_WantToDive:
.string "The sea is deep here.\n"
.string "Would you like to use DIVE?$"
Text_MonUsedDive:
.string "{STR_VAR_1} used DIVE.$"
Text_CantSurface:
.string "Light is filtering down from above.\n"
.string "A POKéMON may be able to surface.$"
Text_WantToSurface:
.string "Light is filtering down from above.\n"
.string "Would you like to use DIVE?$"
EventScript_FailSweetScent::
msgbox Text_FailSweetScent, MSGBOX_SIGN
end
Text_FailSweetScent:
.string "Looks like there's nothing here…$"
|