summaryrefslogtreecommitdiff
path: root/src/scripts/deck_machine_room.asm
blob: db9ec04ee4e865cd5ce2330362825ff44085306c (plain)
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
DeckMachineRoomAfterDuel:
	ld hl, .after_duel_table
	call FindEndOfDuelScript
	ret

.after_duel_table
	db NPC_AARON
	db NPC_AARON
	dw Script_BeatAaron
	dw Script_LostToAaron
	db $00

DeckMachineRoomCloseTextBox:
	ld a, MAP_EVENT_FIGHTING_DECK_MACHINE
.asm_d8af
	push af
	farcall Func_80b89
	pop af
	inc a
	cp MAP_EVENT_FIRE_DECK_MACHINE + 1
	jr c, .asm_d8af
	ret

Script_Tech6:
	start_script
	test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
	print_variable_npc_text Text05f7, Text05f8
	quit_script_fully

Script_Tech7:
	start_script
	test_if_event_false EVENT_RECEIVED_LEGENDARY_CARDS
	print_variable_npc_text Text05f9, Text05fa
	quit_script_fully

Script_Tech8:
	start_script
	test_if_event_not_equal EVENT_ALL_DECK_MACHINE_FLAGS, $ff
	print_variable_npc_text Text05fb, Text05fc
	quit_script_fully

Script_Aaron:
	start_script
	print_npc_text Text05fd
	ask_question_jump Text05fe, .ows_d8e9
.ows_d8e6
	print_text_quit_fully Text05ff

.ows_d8e9
	print_npc_text Text0600
	choose_deck_to_duel_against
	close_text_box
	jump_if_event_equal EVENT_AARON_DECK_MENU_CHOICE, AARON_DECK_MENU_CANCEL, .ows_d8e6
	ask_question_jump Text0601, .ows_d8fb
	script_jump .ows_d8e6

.ows_d8fb
	print_npc_text Text0602
	start_duel PRIZES_4, $ff, MUSIC_DUEL_THEME_1
	quit_script_fully

Script_BeatAaron:
	ld a, [wMultichoiceTextboxResult_ChooseDeckToDuelAgainst]
	ld c, a
	set_event_value EVENT_AARON_BOOSTER_REWARD

	start_script
	print_npc_text Text0603
	jump_if_event_equal EVENT_AARON_BOOSTER_REWARD, 1, .ows_d920
	jump_if_event_equal EVENT_AARON_BOOSTER_REWARD, 2, .ows_d927
	give_booster_packs BOOSTER_ENERGY_RANDOM, NO_BOOSTER, NO_BOOSTER
	script_jump Script_LostToAaron.ows_d92f

.ows_d920
	give_booster_packs BOOSTER_ENERGY_RANDOM, NO_BOOSTER, NO_BOOSTER
	script_jump Script_LostToAaron.ows_d92f

.ows_d927
	give_booster_packs BOOSTER_ENERGY_RANDOM, NO_BOOSTER, NO_BOOSTER
	script_jump Script_LostToAaron.ows_d92f

Script_LostToAaron:
	start_script
.ows_d92f
	print_text_quit_fully Text0604

Script_d932:
	start_script
	print_text Text0605
	ask_question_jump_default_yes Text0606, .ows_d93c
	quit_script_fully

.ows_d93c
	open_deck_machine $09
	quit_script_fully

Script_d93f:
	ld a, $02
	call Func_d96c

	start_script
	print_text Text0607
	jump_if_event_true EVENT_FIGHTING_DECK_MACHINE_ACTIVE, .ows_d963
	print_text Text0608
	jump_if_event_true EVENT_BEAT_MITCH, .ows_d954
	quit_script_fully

.ows_d954
	ask_question_jump_default_yes Text0609, .ows_d95a
	quit_script_fully

.ows_d95a
	play_sfx SFX_5A
	max_out_event_value EVENT_FIGHTING_DECK_MACHINE_ACTIVE
	replace_map_blocks MAP_EVENT_FIGHTING_DECK_MACHINE
	print_text Text060a
.ows_d963
	ask_question_jump_default_yes Text060b, .ows_d969
	quit_script_fully

.ows_d969
	open_deck_machine $01
	quit_script_fully

Func_d96c:
	sub 2
	add a
	ld c, a
	ld b, 0
	ld hl, ClubMapNames
	add hl, bc
	ld a, [hli]
	ld [wTxRam2], a
	ld [wTxRam2_b], a
	ld a, [hl]
	ld [wTxRam2 + 1], a
	ld [wTxRam2_b + 1], a
	ret

ClubMapNames:
	tx FightingClubMapNameText
	tx RockClubMapNameText
	tx WaterClubMapNameText
	tx LightningClubMapNameText
	tx GrassClubMapNameText
	tx PsychicClubMapNameText
	tx ScienceClubMapNameText
	tx FireClubMapNameText

Script_d995:
	ld a, $03
	call Func_d96c

	start_script
	print_text Text0607
	jump_if_event_true EVENT_ROCK_DECK_MACHINE_ACTIVE, .ows_d9b9
	print_text Text0608
	jump_if_event_true EVENT_BEAT_GENE, .ows_d9aa
	quit_script_fully

.ows_d9aa
	ask_question_jump_default_yes Text0609, .ows_d9b0
	quit_script_fully

.ows_d9b0
	play_sfx SFX_5A
	max_out_event_value EVENT_ROCK_DECK_MACHINE_ACTIVE
	replace_map_blocks MAP_EVENT_ROCK_DECK_MACHINE
	print_text Text060a
.ows_d9b9
	ask_question_jump_default_yes Text060b, .ows_d9bf
	quit_script_fully

.ows_d9bf
	open_deck_machine $02
	quit_script_fully

Script_d9c2:
	ld a, $04
	call Func_d96c

	start_script
	print_text Text0607
	jump_if_event_true EVENT_WATER_DECK_MACHINE_ACTIVE, .ows_d9e6
	print_text Text0608
	jump_if_event_true EVENT_BEAT_AMY, .ows_d9d7
	quit_script_fully

.ows_d9d7
	ask_question_jump_default_yes Text0609, .ows_d9dd
	quit_script_fully

.ows_d9dd
	play_sfx SFX_5A
	max_out_event_value EVENT_WATER_DECK_MACHINE_ACTIVE
	replace_map_blocks MAP_EVENT_WATER_DECK_MACHINE
	print_text Text060a
.ows_d9e6
	ask_question_jump_default_yes Text060b, .ows_d9ec
	quit_script_fully

.ows_d9ec
	open_deck_machine $03
	quit_script_fully

Script_d9ef:
	ld a, $05
	call Func_d96c

	start_script
	print_text Text0607
	jump_if_event_true EVENT_LIGHTNING_DECK_MACHINE_ACTIVE, .ows_da13
	print_text Text0608
	jump_if_event_true EVENT_BEAT_ISAAC, .ows_da04
	quit_script_fully

.ows_da04
	ask_question_jump_default_yes Text0609, .ows_da0a
	quit_script_fully

.ows_da0a
	play_sfx SFX_5A
	max_out_event_value EVENT_LIGHTNING_DECK_MACHINE_ACTIVE
	replace_map_blocks MAP_EVENT_LIGHTNING_DECK_MACHINE
	print_text Text060a
.ows_da13
	ask_question_jump_default_yes Text060b, .ows_da19
	quit_script_fully

.ows_da19
	open_deck_machine $04
	quit_script_fully

Script_da1c:
	ld a, $06
	call Func_d96c

	start_script
	print_text Text0607
	jump_if_event_true EVENT_GRASS_DECK_MACHINE_ACTIVE, .ows_da40
	print_text Text0608
	jump_if_event_true EVENT_BEAT_NIKKI, .ows_da31
	quit_script_fully

.ows_da31
	ask_question_jump_default_yes Text0609, .ows_da37
	quit_script_fully

.ows_da37
	play_sfx SFX_5A
	max_out_event_value EVENT_GRASS_DECK_MACHINE_ACTIVE
	replace_map_blocks MAP_EVENT_GRASS_DECK_MACHINE
	print_text Text060a
.ows_da40
	ask_question_jump_default_yes Text060b, .ows_da46
	quit_script_fully

.ows_da46
	open_deck_machine $05
	quit_script_fully

Script_da49:
	ld a, $07
	call Func_d96c

	start_script
	print_text Text0607
	jump_if_event_true EVENT_PSYCHIC_DECK_MACHINE_ACTIVE, .ows_da6d
	print_text Text0608
	jump_if_event_true EVENT_BEAT_MURRAY, .ows_da5e
	quit_script_fully

.ows_da5e
	ask_question_jump_default_yes Text0609, .ows_da64
	quit_script_fully

.ows_da64
	play_sfx SFX_5A
	max_out_event_value EVENT_PSYCHIC_DECK_MACHINE_ACTIVE
	replace_map_blocks MAP_EVENT_PSYCHIC_DECK_MACHINE
	print_text Text060a
.ows_da6d
	ask_question_jump_default_yes Text060b, .ows_da73
	quit_script_fully

.ows_da73
	open_deck_machine $06
	quit_script_fully

Script_da76:
	ld a, $08
	call Func_d96c

	start_script
	print_text Text0607
	jump_if_event_true EVENT_SCIENCE_DECK_MACHINE_ACTIVE, .ows_da9a
	print_text Text0608
	jump_if_event_true EVENT_BEAT_RICK, .ows_da8b
	quit_script_fully

.ows_da8b
	ask_question_jump_default_yes Text0609, .ows_da91
	quit_script_fully

.ows_da91
	play_sfx SFX_5A
	max_out_event_value EVENT_SCIENCE_DECK_MACHINE_ACTIVE
	replace_map_blocks MAP_EVENT_SCIENCE_DECK_MACHINE
	print_text Text060a
.ows_da9a
	ask_question_jump_default_yes Text060b, .ows_daa0
	quit_script_fully

.ows_daa0
	open_deck_machine $07
	quit_script_fully

Script_daa3:
	ld a, $09
	call Func_d96c

	start_script
	print_text Text0607
	jump_if_event_true EVENT_FIRE_DECK_MACHINE_ACTIVE, .ows_dac7
	print_text Text0608
	jump_if_event_true EVENT_BEAT_KEN, .ows_dab8
	quit_script_fully

.ows_dab8
	ask_question_jump_default_yes Text0609, .ows_dabe
	quit_script_fully

.ows_dabe
	play_sfx SFX_5A
	max_out_event_value EVENT_FIRE_DECK_MACHINE_ACTIVE
	replace_map_blocks MAP_EVENT_FIRE_DECK_MACHINE
	print_text Text060a
.ows_dac7
	ask_question_jump_default_yes Text060b, .ows_dacd
	quit_script_fully

.ows_dacd
	open_deck_machine $08
	quit_script_fully

Script_dad0:
	start_script
	print_text Text060c
	ask_question_jump_default_yes Text060d, .ows_dada
	quit_script_fully

.ows_dada
	open_deck_machine $00
	quit_script_fully