-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathFuchsiaGym.asm
400 lines (340 loc) · 8.16 KB
/
FuchsiaGym.asm
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
const_def 2 ; object constants
const FUCHSIAGYM_JANINE
const FUCHSIAGYM_FUCHSIA_GYM_1
const FUCHSIAGYM_FUCHSIA_GYM_2
const FUCHSIAGYM_FUCHSIA_GYM_3
const FUCHSIAGYM_FUCHSIA_GYM_4
const FUCHSIAGYM_GYM_GUY
FuchsiaGym_MapScripts:
db 0 ; scene scripts
db 0 ; callbacks
FuchsiaGymJanineScript:
checkflag ENGINE_SOULBADGE
iftrue .FightDone
applymovement FUCHSIAGYM_JANINE, Movement_NinjaSpin
faceplayer
opentext
writetext JanineText_DisappointYou
waitbutton
closetext
winlosstext JanineText_ToughOne, 0
loadtrainer JANINE, JANINE1
startbattle
reloadmapafterbattle
setevent EVENT_BEAT_JANINE
setevent EVENT_BEAT_LASS_ALICE
setevent EVENT_BEAT_LASS_LINDA
setevent EVENT_BEAT_PICNICKER_CINDY
setevent EVENT_BEAT_CAMPER_BARRY
variablesprite SPRITE_FUCHSIA_GYM_1, SPRITE_LASS
variablesprite SPRITE_FUCHSIA_GYM_2, SPRITE_LASS
variablesprite SPRITE_FUCHSIA_GYM_3, SPRITE_LASS
variablesprite SPRITE_FUCHSIA_GYM_4, SPRITE_YOUNGSTER
special LoadUsedSpritesGFX
opentext
writetext Text_ReceivedSoulBadge
playsound SFX_GET_BADGE
waitsfx
setflag ENGINE_SOULBADGE
jump .AfterBattle
.FightDone:
faceplayer
opentext
.AfterBattle:
checkevent EVENT_GOT_TM06_TOXIC
iftrue .AfterTM
writetext JanineText_ToxicSpeech
buttonsound
verbosegiveitem TM_TOXIC
iffalse .AfterTM
setevent EVENT_GOT_TM06_TOXIC
.AfterTM:
writetext JanineText_ApplyMyself
waitbutton
closetext
end
LassAliceScript:
checkevent EVENT_BEAT_LASS_ALICE
iftrue .AliceUnmasked
applymovement FUCHSIAGYM_FUCHSIA_GYM_1, Movement_NinjaSpin
faceplayer
variablesprite SPRITE_FUCHSIA_GYM_1, SPRITE_LASS
special LoadUsedSpritesGFX
.AliceUnmasked:
faceplayer
opentext
checkevent EVENT_BEAT_LASS_ALICE
iftrue .AliceAfterScript
writetext LassAliceBeforeText
waitbutton
closetext
winlosstext LassAliceBeatenText, 0
loadtrainer LASS, ALICE
startbattle
iftrue .AliceBecomesJanine
reloadmapafterbattle
setevent EVENT_BEAT_LASS_ALICE
end
.AliceBecomesJanine:
variablesprite SPRITE_FUCHSIA_GYM_1, SPRITE_JANINE
reloadmapafterbattle
end
.AliceAfterScript:
writetext LassAliceAfterText
waitbutton
closetext
end
LassLindaScript:
checkevent EVENT_BEAT_LASS_LINDA
iftrue .LindaUnmasked
applymovement FUCHSIAGYM_FUCHSIA_GYM_2, Movement_NinjaSpin
faceplayer
variablesprite SPRITE_FUCHSIA_GYM_2, SPRITE_LASS
special LoadUsedSpritesGFX
.LindaUnmasked:
faceplayer
opentext
checkevent EVENT_BEAT_LASS_LINDA
iftrue .LindaAfterScript
writetext LassLindaBeforeText
waitbutton
closetext
winlosstext LassLindaBeatenText, 0
loadtrainer LASS, LINDA
startbattle
iftrue .LindaBecomesJanine
reloadmapafterbattle
setevent EVENT_BEAT_LASS_LINDA
end
.LindaBecomesJanine:
variablesprite SPRITE_FUCHSIA_GYM_2, SPRITE_JANINE
reloadmapafterbattle
end
.LindaAfterScript:
writetext LassLindaAfterText
waitbutton
closetext
end
PicnickerCindyScript:
checkevent EVENT_BEAT_PICNICKER_CINDY
iftrue .CindyUnmasked
applymovement FUCHSIAGYM_FUCHSIA_GYM_3, Movement_NinjaSpin
faceplayer
variablesprite SPRITE_FUCHSIA_GYM_3, SPRITE_LASS
special LoadUsedSpritesGFX
.CindyUnmasked:
faceplayer
opentext
checkevent EVENT_BEAT_PICNICKER_CINDY
iftrue .CindyAfterScript
writetext PicnickerCindyBeforeText
waitbutton
closetext
winlosstext PicnickerCindyBeatenText, 0
loadtrainer PICNICKER, CINDY
startbattle
iftrue .CindyBecomesJanine
reloadmapafterbattle
setevent EVENT_BEAT_PICNICKER_CINDY
end
.CindyBecomesJanine:
variablesprite SPRITE_FUCHSIA_GYM_3, SPRITE_JANINE
reloadmapafterbattle
end
.CindyAfterScript:
writetext PicnickerCindyAfterText
waitbutton
closetext
end
CamperBarryScript:
checkevent EVENT_BEAT_CAMPER_BARRY
iftrue .BarryUnmasked
applymovement FUCHSIAGYM_FUCHSIA_GYM_4, Movement_NinjaSpin
faceplayer
variablesprite SPRITE_FUCHSIA_GYM_4, SPRITE_YOUNGSTER
special LoadUsedSpritesGFX
.BarryUnmasked:
faceplayer
opentext
checkevent EVENT_BEAT_CAMPER_BARRY
iftrue .BarryAfterScript
writetext CamperBarryBeforeText
waitbutton
closetext
winlosstext CamperBarryBeatenText, 0
loadtrainer CAMPER, BARRY
startbattle
iftrue .BarryBecomesJanine
reloadmapafterbattle
setevent EVENT_BEAT_CAMPER_BARRY
end
.BarryBecomesJanine:
variablesprite SPRITE_FUCHSIA_GYM_4, SPRITE_JANINE
reloadmapafterbattle
end
.BarryAfterScript:
writetext CamperBarryAfterText
waitbutton
closetext
end
FuchsiaGymGuyScript:
faceplayer
opentext
checkevent EVENT_BEAT_JANINE
iftrue .FuchsiaGymGuyWinScript
writetext FuchsiaGymGuyText
waitbutton
closetext
end
.FuchsiaGymGuyWinScript:
writetext FuchsiaGymGuyWinText
waitbutton
closetext
end
FuchsiaGymStatue:
checkflag ENGINE_SOULBADGE
iftrue .Beaten
jumpstd gymstatue1
.Beaten:
trainertotext JANINE, JANINE1, MEM_BUFFER_1
jumpstd gymstatue2
Movement_NinjaSpin:
turn_head DOWN
turn_head LEFT
turn_head UP
turn_head RIGHT
turn_head DOWN
turn_head LEFT
turn_head UP
turn_head RIGHT
turn_head DOWN
turn_head LEFT
turn_head UP
turn_head RIGHT
turn_head DOWN
step_end
JanineText_DisappointYou:
text "Fufufufu…"
para "I'm sorry to dis-"
line "appoint you…"
para "I'm only joking!"
para "I'm the real deal!"
para "JANINE of FUCHSIA"
line "GYM, that's me!"
done
JanineText_ToughOne:
text "JANINE: You're a"
line "tough one. You"
cont "definitely won…"
para "Here's SOULBADGE."
line "Take it."
done
Text_ReceivedSoulBadge:
text "<PLAYER> received"
line "SOULBADGE."
done
JanineText_ToxicSpeech:
text "JANINE: You're so"
line "tough! I have a"
cont "special gift!"
para "It's TOXIC, a pow-"
line "erful poison that"
para "steadily saps the"
line "victim's HP."
done
JanineText_ApplyMyself:
text "JANINE: I'm going"
line "to really apply"
para "myself and improve"
line "my skills."
para "I want to become"
line "better than both"
cont "Father and you!"
done
LassAliceBeforeText:
text "Fufufu!"
para "I'm JANINE, the"
line "GYM LEADER!"
para "No, I'm not!"
line "Gotcha, sucker!"
done
LassAliceBeatenText:
text "I had you fooled…"
done
LassAliceAfterText:
text "How will you dis-"
line "tinguish our real"
cont "LEADER?"
done
LassLindaBeforeText:
text "Fooled you!"
line "Hahaha!"
done
LassLindaBeatenText:
text "Ooh… I lost…"
line "You're not weak…"
done
LassLindaAfterText:
text "Well? Wasn't my"
line "disguise perfect?"
done
PicnickerCindyBeforeText:
text "I'm JANINE!"
para "How did you know I"
line "was real?"
para "Let's battle!"
done
PicnickerCindyBeatenText:
text "Darn it!"
line "I wanted to win!"
done
PicnickerCindyAfterText:
text "You must be"
line "getting tired."
done
CamperBarryBeforeText:
text "Wahahaha!"
para "You betcha!"
line "I'm JANINE!"
done
CamperBarryBeatenText:
text "My disguise was"
line "right on! Dang!"
done
CamperBarryAfterText:
text "Hey, you. Was my"
line "disguise cute or"
cont "what, huh?"
done
FuchsiaGymGuyText:
text "Yo, CHAMP in"
line "making!"
para "Whoops! Take a"
line "good look around"
para "you. The trainers"
line "all look like the"
cont "LEADER, JANINE."
para "Which of them is"
line "the real JANINE?"
done
FuchsiaGymGuyWinText:
text "That was a great"
line "battle, trainer"
cont "from JOHTO!"
done
FuchsiaGym_MapEvents:
db 0, 0 ; filler
db 2 ; warp events
warp_event 4, 17, FUCHSIA_CITY, 3
warp_event 5, 17, FUCHSIA_CITY, 3
db 0 ; coord events
db 2 ; bg events
bg_event 3, 15, BGEVENT_READ, FuchsiaGymStatue
bg_event 6, 15, BGEVENT_READ, FuchsiaGymStatue
db 6 ; object events
object_event 1, 10, SPRITE_JANINE, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, FuchsiaGymJanineScript, -1
object_event 5, 7, SPRITE_FUCHSIA_GYM_1, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, LassAliceScript, -1
object_event 5, 11, SPRITE_FUCHSIA_GYM_2, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, LassLindaScript, -1
object_event 9, 4, SPRITE_FUCHSIA_GYM_3, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, PicnickerCindyScript, -1
object_event 4, 2, SPRITE_FUCHSIA_GYM_4, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, CamperBarryScript, -1
object_event 7, 15, SPRITE_GYM_GUY, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, FuchsiaGymGuyScript, -1