-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathscripts.inc
381 lines (331 loc) · 14.2 KB
/
scripts.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
Route113_GlassWorkshop_MapScripts::
map_script MAP_SCRIPT_ON_TRANSITION, Route113_GlassWorkshop_OnTransition
.byte 0
.set BLUE_FLUTE_PRICE, 250
.set YELLOW_FLUTE_PRICE, 500
.set RED_FLUTE_PRICE, 500
.set WHITE_FLUTE_PRICE, 1000
.set BLACK_FLUTE_PRICE, 1000
.set PRETTY_CHAIR_PRICE, 6000
.set PRETTY_DESK_PRICE, 8000
.set LOWEST_ASH_PRICE, BLUE_FLUTE_PRICE
Route113_GlassWorkshop_OnTransition:
setflag FLAG_LANDMARK_GLASS_WORKSHOP
call_if_eq VAR_GLASS_WORKSHOP_STATE, 1, Route113_GlassWorkshop_EventScript_ReenterWorkshopAfterSootSack
end
Route113_GlassWorkshop_EventScript_ReenterWorkshopAfterSootSack::
setvar VAR_GLASS_WORKSHOP_STATE, 2
return
Route113_GlassWorkshop_EventScript_GlassWorker::
lock
faceplayer
goto_if_ge VAR_GLASS_WORKSHOP_STATE, 10, Route113_GlassWorkshop_EventScript_GiveItemAfterNoRoom
goto_if_eq VAR_GLASS_WORKSHOP_STATE, 2, Route113_GlassWorkshop_EventScript_CheckCollectedAsh
goto_if_eq VAR_GLASS_WORKSHOP_STATE, 1, Route113_GlassWorkshop_EventScript_ExplainSootSack
msgbox Route113_GlassWorkshop_Text_GoCollectAshWithThis, MSGBOX_DEFAULT
giveitem ITEM_SOOT_SACK
goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setvar VAR_GLASS_WORKSHOP_STATE, 1
msgbox Route113_GlassWorkshop_Text_ExplainSootSack, MSGBOX_DEFAULT
release
end
Route113_GlassWorkshop_EventScript_ExplainSootSack::
msgbox Route113_GlassWorkshop_Text_ExplainSootSack, MSGBOX_DEFAULT
release
end
Route113_GlassWorkshop_EventScript_CheckCollectedAsh::
checkitem ITEM_SOOT_SACK
goto_if_eq VAR_RESULT, FALSE, Route113_GlassWorkshop_EventScript_SootSackNotInBag
msgbox Route113_GlassWorkshop_Text_LetsSeeCollectedAshes, MSGBOX_DEFAULT
goto_if_lt VAR_ASH_GATHER_COUNT, LOWEST_ASH_PRICE, Route113_GlassWorkshop_EventScript_NotEnoughAsh
message Route113_GlassWorkshop_Text_WhichGlassItemWoudYouLike
waitmessage
goto Route113_GlassWorkshop_EventScript_ChooseGlassItem
end
Route113_GlassWorkshop_EventScript_SootSackNotInBag::
msgbox Route113_GlassWorkshop_Text_HaventGotYourSootSack, MSGBOX_DEFAULT
release
end
Route113_GlassWorkshop_EventScript_ChooseGlassItem::
setvar VAR_0x8009, 0
setvar VAR_0x8004, SCROLL_MULTI_GLASS_WORKSHOP_VENDOR
special ShowScrollableMultichoice
waitstate
switch VAR_RESULT
case 0, Route113_GlassWorkshop_EventScript_BlueFlute
case 1, Route113_GlassWorkshop_EventScript_YellowFlute
case 2, Route113_GlassWorkshop_EventScript_RedFlute
case 3, Route113_GlassWorkshop_EventScript_WhiteFlute
case 4, Route113_GlassWorkshop_EventScript_BlackFlute
case 5, Route113_GlassWorkshop_EventScript_PrettyChair
case 6, Route113_GlassWorkshop_EventScript_PrettyDesk
case 7, Route113_GlassWorkshop_EventScript_CancelGlassItemSelect
case MULTI_B_PRESSED, Route113_GlassWorkshop_EventScript_CancelGlassItemSelect
end
Route113_GlassWorkshop_EventScript_BlueFlute::
setvar VAR_0x8008, ITEM_BLUE_FLUTE
bufferitemname STR_VAR_1, VAR_0x8008
setvar VAR_0x800A, BLUE_FLUTE_PRICE
goto_if_lt VAR_ASH_GATHER_COUNT, BLUE_FLUTE_PRICE, Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO
goto_if_eq VAR_RESULT, NO, Route113_GlassWorkshop_EventScript_ChooseDifferentItem
setvar VAR_GLASS_WORKSHOP_STATE, 10
subvar VAR_ASH_GATHER_COUNT, BLUE_FLUTE_PRICE
goto Route113_GlassWorkshop_EventScript_MakeGlassItem
end
Route113_GlassWorkshop_EventScript_YellowFlute::
setvar VAR_0x8008, ITEM_YELLOW_FLUTE
bufferitemname STR_VAR_1, VAR_0x8008
setvar VAR_0x800A, YELLOW_FLUTE_PRICE
goto_if_lt VAR_ASH_GATHER_COUNT, YELLOW_FLUTE_PRICE, Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO
goto_if_eq VAR_RESULT, NO, Route113_GlassWorkshop_EventScript_ChooseDifferentItem
setvar VAR_GLASS_WORKSHOP_STATE, 11
subvar VAR_ASH_GATHER_COUNT, YELLOW_FLUTE_PRICE
goto Route113_GlassWorkshop_EventScript_MakeGlassItem
end
Route113_GlassWorkshop_EventScript_RedFlute::
setvar VAR_0x8008, ITEM_RED_FLUTE
bufferitemname STR_VAR_1, VAR_0x8008
setvar VAR_0x800A, RED_FLUTE_PRICE
goto_if_lt VAR_ASH_GATHER_COUNT, RED_FLUTE_PRICE, Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO
goto_if_eq VAR_RESULT, NO, Route113_GlassWorkshop_EventScript_ChooseDifferentItem
setvar VAR_GLASS_WORKSHOP_STATE, 12
subvar VAR_ASH_GATHER_COUNT, RED_FLUTE_PRICE
goto Route113_GlassWorkshop_EventScript_MakeGlassItem
end
Route113_GlassWorkshop_EventScript_WhiteFlute::
setvar VAR_0x8008, ITEM_WHITE_FLUTE
bufferitemname STR_VAR_1, VAR_0x8008
setvar VAR_0x800A, WHITE_FLUTE_PRICE
goto_if_lt VAR_ASH_GATHER_COUNT, WHITE_FLUTE_PRICE, Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO
goto_if_eq VAR_RESULT, NO, Route113_GlassWorkshop_EventScript_ChooseDifferentItem
setvar VAR_GLASS_WORKSHOP_STATE, 13
subvar VAR_ASH_GATHER_COUNT, WHITE_FLUTE_PRICE
goto Route113_GlassWorkshop_EventScript_MakeGlassItem
end
Route113_GlassWorkshop_EventScript_BlackFlute::
setvar VAR_0x8008, ITEM_BLACK_FLUTE
bufferitemname STR_VAR_1, VAR_0x8008
setvar VAR_0x800A, BLACK_FLUTE_PRICE
goto_if_lt VAR_ASH_GATHER_COUNT, BLACK_FLUTE_PRICE, Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO
goto_if_eq VAR_RESULT, NO, Route113_GlassWorkshop_EventScript_ChooseDifferentItem
setvar VAR_GLASS_WORKSHOP_STATE, 14
subvar VAR_ASH_GATHER_COUNT, BLACK_FLUTE_PRICE
goto Route113_GlassWorkshop_EventScript_MakeGlassItem
end
Route113_GlassWorkshop_EventScript_PrettyChair::
setvar VAR_0x8009, 1
setvar VAR_0x8008, DECOR_PRETTY_CHAIR
bufferdecorationname STR_VAR_1, VAR_0x8008
setvar VAR_0x800A, PRETTY_CHAIR_PRICE
goto_if_lt VAR_ASH_GATHER_COUNT, PRETTY_CHAIR_PRICE, Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO
goto_if_eq VAR_RESULT, NO, Route113_GlassWorkshop_EventScript_ChooseDifferentItem
setvar VAR_GLASS_WORKSHOP_STATE, 15
subvar VAR_ASH_GATHER_COUNT, PRETTY_CHAIR_PRICE
goto Route113_GlassWorkshop_EventScript_MakeGlassItem
end
Route113_GlassWorkshop_EventScript_PrettyDesk::
setvar VAR_0x8009, 1
setvar VAR_0x8008, DECOR_PRETTY_DESK
bufferdecorationname STR_VAR_1, VAR_0x8008
setvar VAR_0x800A, PRETTY_DESK_PRICE
goto_if_lt VAR_ASH_GATHER_COUNT, PRETTY_DESK_PRICE, Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO
goto_if_eq VAR_RESULT, NO, Route113_GlassWorkshop_EventScript_ChooseDifferentItem
setvar VAR_GLASS_WORKSHOP_STATE, 16
subvar VAR_ASH_GATHER_COUNT, PRETTY_DESK_PRICE
goto Route113_GlassWorkshop_EventScript_MakeGlassItem
end
Route113_GlassWorkshop_EventScript_CancelGlassItemSelect::
msgbox Route113_GlassWorkshop_Text_AllThatAshButDontWantAnything, MSGBOX_DEFAULT
release
end
Route113_GlassWorkshop_EventScript_NotEnoughAsh::
setvar VAR_0x800A, LOWEST_ASH_PRICE
subvar VAR_0x800A, VAR_ASH_GATHER_COUNT
buffernumberstring STR_VAR_1, VAR_0x800A
msgbox Route113_GlassWorkshop_Text_NotEnoughAshNeedX, MSGBOX_DEFAULT
release
end
Route113_GlassWorkshop_EventScript_NotEnoughAshForItem::
subvar VAR_0x800A, VAR_ASH_GATHER_COUNT
buffernumberstring STR_VAR_2, VAR_0x800A
message Route113_GlassWorkshop_Text_NotEnoughAshToMakeItem
waitmessage
goto Route113_GlassWorkshop_EventScript_ChooseGlassItem
end
Route113_GlassWorkshop_EventScript_ChooseDifferentItem::
message Route113_GlassWorkshop_Text_WhichWouldYouLike
waitmessage
goto Route113_GlassWorkshop_EventScript_ChooseGlassItem
end
Route113_GlassWorkshop_EventScript_MakeGlassItem::
msgbox Route113_GlassWorkshop_Text_IllMakeItemForYou, MSGBOX_DEFAULT
closemessage
fadescreen FADE_TO_BLACK
playse SE_SELECT
delay 30
fadescreen FADE_FROM_BLACK
msgbox Route113_GlassWorkshop_Text_IveFinishedGlassItem, MSGBOX_DEFAULT
call_if_eq VAR_0x8009, 0, Route113_GlassWorkshop_EventScript_GiveGlassFlute
call_if_eq VAR_0x8009, 1, Route113_GlassWorkshop_EventScript_GiveGlassDecor
setvar VAR_GLASS_WORKSHOP_STATE, 2
release
end
Route113_GlassWorkshop_EventScript_GiveGlassFlute::
giveitem VAR_0x8008
goto_if_eq VAR_RESULT, FALSE, Route113_GlassWorkshop_EventScript_NoRoomForFlute
return
Route113_GlassWorkshop_EventScript_GiveGlassDecor::
givedecoration VAR_0x8008
goto_if_eq VAR_RESULT, FALSE, Route113_GlassWorkshop_EventScript_NoRoomForDecor
return
Route113_GlassWorkshop_EventScript_NoRoomForFlute::
call Common_EventScript_BagIsFull
msgbox Route113_GlassWorkshop_Text_NoRoomInBag, MSGBOX_DEFAULT
release
end
Route113_GlassWorkshop_EventScript_NoRoomForDecor::
call Common_EventScript_NoRoomForDecor
msgbox Route113_GlassWorkshop_Text_NoRoomInPC, MSGBOX_DEFAULT
release
end
Route113_GlassWorkshop_EventScript_GiveItemAfterNoRoom::
switch VAR_GLASS_WORKSHOP_STATE
case 10, Route113_GlassWorkshop_EventScript_GiveBlueFlute
case 11, Route113_GlassWorkshop_EventScript_GiveYellowFlute
case 12, Route113_GlassWorkshop_EventScript_GiveRedFlute
case 13, Route113_GlassWorkshop_EventScript_GiveWhiteFlute
case 14, Route113_GlassWorkshop_EventScript_GiveBlackFlute
case 15, Route113_GlassWorkshop_EventScript_GivePrettyChair
case 16, Route113_GlassWorkshop_EventScript_GivePrettyDesk
end
Route113_GlassWorkshop_EventScript_GiveBlueFlute::
setvar VAR_0x8009, 0
setvar VAR_0x8008, ITEM_BLUE_FLUTE
bufferitemname STR_VAR_1, VAR_0x8008
goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain
end
Route113_GlassWorkshop_EventScript_GiveYellowFlute::
setvar VAR_0x8009, 0
setvar VAR_0x8008, ITEM_YELLOW_FLUTE
bufferitemname STR_VAR_1, VAR_0x8008
goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain
end
Route113_GlassWorkshop_EventScript_GiveRedFlute::
setvar VAR_0x8009, 0
setvar VAR_0x8008, ITEM_RED_FLUTE
bufferitemname STR_VAR_1, VAR_0x8008
goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain
end
Route113_GlassWorkshop_EventScript_GiveWhiteFlute::
setvar VAR_0x8009, 0
setvar VAR_0x8008, ITEM_WHITE_FLUTE
bufferitemname STR_VAR_1, VAR_0x8008
goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain
end
Route113_GlassWorkshop_EventScript_GiveBlackFlute::
setvar VAR_0x8009, 0
setvar VAR_0x8008, ITEM_BLACK_FLUTE
bufferitemname STR_VAR_1, VAR_0x8008
goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain
end
Route113_GlassWorkshop_EventScript_GivePrettyChair::
setvar VAR_0x8009, 1
setvar VAR_0x8008, DECOR_PRETTY_CHAIR
bufferdecorationname STR_VAR_1, DECOR_PRETTY_CHAIR
goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain
end
Route113_GlassWorkshop_EventScript_GivePrettyDesk::
setvar VAR_0x8009, 1
setvar VAR_0x8008, DECOR_PRETTY_DESK
bufferdecorationname STR_VAR_1, DECOR_PRETTY_DESK
goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain
end
Route113_GlassWorkshop_EventScript_TryGiveItemAgain::
msgbox Route113_GlassWorkshop_Text_IveFinishedGlassItem, MSGBOX_DEFAULT
call_if_eq VAR_0x8009, 0, Route113_GlassWorkshop_EventScript_GiveGlassFlute
call_if_eq VAR_0x8009, 1, Route113_GlassWorkshop_EventScript_GiveGlassDecor
setvar VAR_GLASS_WORKSHOP_STATE, 2
release
end
Route113_GlassWorkshop_EventScript_NinjaBoy::
msgbox Route113_GlassWorkshop_Text_FunToBlowGlassFlute, MSGBOX_NPC
end
Route113_GlassWorkshop_Text_GoCollectAshWithThis:
.string "This area is covered in volcanic ash,\n"
.string "huff-puff!\p"
.string "I'm specially gifted, huff-puff.\p"
.string "I make glass out of volcanic ash\n"
.string "and make items, huff-puff.\p"
.string "Go collect ashes with this, huff-puff.$"
Route113_GlassWorkshop_Text_ExplainSootSack:
.string "Just take that Soot Sack and walk\n"
.string "through piles of ash, huff-puff.\p"
.string "And it will fill up with the volcanic ash,\n"
.string "huff-puff.\p"
.string "Once you think you've collected a good\n"
.string "amount, come see me, huff-puff.$"
Route113_GlassWorkshop_Text_LetsSeeCollectedAshes:
.string "Have you collected ashes, huff-puff?\n"
.string "Let me see, huff-puff.$"
Route113_GlassWorkshop_Text_NotEnoughAshNeedX:
.string "Hmmm…\n"
.string "There's not enough ash here, huff-puff.\l"
.string "I can't make glass with this, huff-puff.\p"
.string "Let's see… {STR_VAR_1} is the number of steps\n"
.string "you'll need to walk for me to make you\l"
.string "a Blue Flute, huff-puff.$"
Route113_GlassWorkshop_Text_WhichGlassItemWoudYouLike:
.string "Oh!\n"
.string "You've got a lot of ashes, huff-puff!\p"
.string "I'll make you a glass item, huff-puff!\n"
.string "Which one would you like, huff-puff?$"
Route113_GlassWorkshop_Text_IsThatTheItemForYou:
.string "A {STR_VAR_1}, huff-puff?\n"
.string "Is that the one for you, huff-puff?$"
Route113_GlassWorkshop_Text_WhichWouldYouLike:
.string "Which one would you like, huff-puff?$"
Route113_GlassWorkshop_Text_IllMakeItemForYou:
.string "A {STR_VAR_1} it is, then, huff-puff!\p"
.string "Okay! I'll make it for you, huff-puff.\n"
.string "Just wait a little while, huff-puff.$"
Route113_GlassWorkshop_Text_NotEnoughAshToMakeItem:
.string "A {STR_VAR_1}, huff-puff?\p"
.string "There's not enough ash here to make\n"
.string "that, though, huff-puff.\p"
.string "Let's see… {STR_VAR_2} is the number of steps\n"
.string "you'll need to walk through volcanic ash\l"
.string "for me to make that item, huff-puff.\p"
.string "Which item would you rather have me\n"
.string "make instead, huff-puff?$"
Route113_GlassWorkshop_Text_AllThatAshButDontWantAnything:
.string "You've collected all that ash, but you\n"
.string "don't want anything, huff-puff?$"
Route113_GlassWorkshop_Text_IveFinishedGlassItem:
.string "Ah, I've finished your {STR_VAR_1}.\n"
.string "Take it, huff-puff.$"
Route113_GlassWorkshop_Text_NoRoomInBag:
.string "Oh?\n"
.string "You've no room in your Bag, huff-puff.\p"
.string "I'll hold on to it, so come back later,\n"
.string "huff-puff.$"
Route113_GlassWorkshop_Text_NoRoomInPC:
.string "Oh?\n"
.string "You've no room in your PC, huff-puff?\p"
.string "I'll hold on to it, so come back later,\n"
.string "huff-puff.$"
Route113_GlassWorkshop_Text_HaventGotYourSootSack:
.string "Hah? You haven't got your Soot Sack\n"
.string "with you, huff-puff.\p"
.string "You have to keep it with you to collect\n"
.string "volcanic ash, huff-puff.$"
Route113_GlassWorkshop_Text_FunToBlowGlassFlute:
.string "It's fun to blow a glass flute while\n"
.string "my boss is talking.\p"
.string "Huff-huff! Puff-puff!$"