1 |
var starlo_npc; |
2 |
if (instance_exists(obj_starlo_npc)) |
3 |
starlo_npc = 1169; |
4 |
else |
5 |
starlo_npc = 0; |
6 |
var ceroba_npc; |
7 |
if (instance_exists(obj_ceroba_npc)) |
8 |
ceroba_npc = 1161; |
9 |
else |
10 |
ceroba_npc = 0; |
11 |
var player_npc; |
12 |
if (instance_exists(obj_player_npc)) |
13 |
player_npc = 1168; |
14 |
else |
15 |
player_npc = 0; |
16 |
switch (scene) |
17 |
{ |
18 |
case -1: |
19 |
scr_radio_restart(); |
20 |
scene++; |
21 |
break; |
22 |
case 0: |
23 |
if (!scr_timerscr_timerfunction scr_timer()
{
if (timer > 0)
{
timer--;
return false;
}
else
{
return true;
}
} ()) |
24 |
exit; |
25 |
scr_textscr_textfunction scr_text()
{
if (!instance_exists(obj_dialogue))
msg = instance_create(x, y, obj_dialogue);
} (); |
26 |
with (msg) |
27 |
{ |
28 |
if (message_current < (array_length_1d(talker) - 1)) |
29 |
{ |
30 |
if (talker[message_current] == starlo_npc) |
31 |
sndfnt_array[message_current] = 107; |
32 |
if (talker[message_current] == ceroba_npc) |
33 |
sndfnt_array[message_current] = 108; |
34 |
} |
35 |
talker[0] = starlo_npc; |
36 |
message[0] = "* Ceroba!"; |
37 |
message[1] = "* Guess what just# happened?"; |
38 |
prt[0] = 417; |
39 |
prt[1] = 424; |
40 |
if (message_current == 1) |
41 |
ceroba_npc.npc_direction = "left"; |
42 |
talker[2] = ceroba_npc; |
43 |
message[2] = "* You locked up another# Royal Guard against# their will?"; |
44 |
prt[2] = 377; |
45 |
talker[3] = starlo_npc; |
46 |
message[3] = "* Hey!"; |
47 |
message[4] = "* Feathers was a serious# roadblock to all of# this."; |
48 |
message[5] = "* It's only a temporary# solution."; |
49 |
message[6] = "* I don't feel right# doin' it, I swear."; |
50 |
prt[3] = 421; |
51 |
prt[4] = 419; |
52 |
prt[5] = 407; |
53 |
prt[6] = 421; |
54 |
talker[7] = ceroba_npc; |
55 |
message[7] = "* I'm just giving you a# hard time."; |
56 |
message[8] = "* What did you want to# tell me?"; |
57 |
prt[7] = 395; |
58 |
prt[8] = 372; |
59 |
if (message_current == 7) |
60 |
ceroba_npc.npc_direction = "down"; |
61 |
talker[9] = starlo_npc; |
62 |
message[9] = "* Oh, well, Clover just# passed their first# round o' trainin'."; |
63 |
message[10] = "* They are quite the# sharpshooter. Almost as# good as me!"; |
64 |
prt[9] = 417; |
65 |
prt[10] = 424; |
66 |
talker[11] = ceroba_npc; |
67 |
message[11] = "* Really? A child?"; |
68 |
prt[11] = 393; |
69 |
if (message_current == 11) |
70 |
ceroba_npc.npc_direction = "left"; |
71 |
talker[12] = starlo_npc; |
72 |
message[12] = "* Now, now, don't# disrespect the kid."; |
73 |
message[13] = "* Clover can hold their# own and then some."; |
74 |
prt[12] = 419; |
75 |
prt[13] = 417; |
76 |
talker[14] = ceroba_npc; |
77 |
message[14] = "* I know, I'm just... very# impressed."; |
78 |
prt[14] = 388; |
79 |
talker[15] = starlo_npc; |
80 |
message[15] = "* Oh, hey, I almost# forgot about the hat!"; |
81 |
message[16] = "* I have a spare# somewhere in my house."; |
82 |
message[17] = "* Clover, wait here while# I fetch it."; |
83 |
message[18] = "* Maybe while they wait,# you should get to know# them, Ceroba."; |
84 |
message[19] = "* Should be fun, right?"; |
85 |
prt[15] = 404; |
86 |
prt[16] = 417; |
87 |
prt[17] = 417; |
88 |
prt[18] = 417; |
89 |
prt[19] = 422; |
90 |
talker[20] = ceroba_npc; |
91 |
message[20] = "* Sure."; |
92 |
prt[20] = 372; |
93 |
if (message_current == 11) |
94 |
ceroba_npc.npc_direction = "down"; |
95 |
talker[21] = starlo_npc; |
96 |
sndfnt_array[21] = 107; |
97 |
message[21] = "* Sounds good!"; |
98 |
message[22] = "* Be right back, partner!"; |
99 |
prt[21] = 417; |
100 |
prt[22] = 415; |
101 |
} |
102 |
if (!global.dialogue_open) |
103 |
{ |
104 |
audio_sound_gain(obj_radio.current_song, 0, 500); |
105 |
scene++; |
106 |
} |
107 |
break; |
108 |
case 1: |
109 |
with (starlo_npc) |
110 |
{ |
111 |
actor_speed = 3; |
112 |
axis_override = "x"; |
113 |
can_walk = true; |
114 |
x_dest[0] = x; |
115 |
y_dest[0] = ystart - 30; |
116 |
x_dest[1] = 100; |
117 |
y_dest[1] = y_dest[0] + 200; |
118 |
if (npc_arrived) |
119 |
{ |
120 |
image_alpha = 0; |
121 |
other.scene++; |
122 |
} |
123 |
} |
124 |
break; |
125 |
case 2: |
126 |
with (player_npc) |
127 |
{ |
128 |
if (!can_walk) |
129 |
{ |
130 |
axis_override = "y"; |
131 |
can_walk = true; |
132 |
x_dest[0] = 180; |
133 |
y_dest[0] = 190; |
134 |
end_direction = "down"; |
135 |
actor_speed = 2; |
136 |
} |
137 |
if (npc_arrived) |
138 |
{ |
139 |
other.scene++; |
140 |
other.timer = 45; |
141 |
} |
142 |
} |
143 |
break; |
144 |
case 3: |
145 |
if (!scr_timerscr_timerfunction scr_timer()
{
if (timer > 0)
{
timer--;
return false;
}
else
{
return true;
}
} ()) |
146 |
exit; |
147 |
scr_textscr_textfunction scr_text()
{
if (!instance_exists(obj_dialogue))
msg = instance_create(x, y, obj_dialogue);
} (); |
148 |
with (msg) |
149 |
{ |
150 |
sndfnt = 108; |
151 |
talker[0] = ceroba_npc; |
152 |
message[0] = "* ..."; |
153 |
message[1] = "* Tell me, truly."; |
154 |
message[2] = "* Are you into all of# this?"; |
155 |
prt[0] = 370; |
156 |
prt[1] = 394; |
157 |
prt[2] = 377; |
158 |
ch_msg = 2; |
159 |
ch[1] = "Yeah"; |
160 |
ch[2] = "Nah"; |
161 |
if (outcome == 1) |
162 |
{ |
163 |
message[3] = "* That's nice..."; |
164 |
message[4] = "* I've never understood# it."; |
165 |
message[5] = "* But if it makes monsters# like Star happy, it's# fine."; |
166 |
prt[3] = 372; |
167 |
prt[4] = 377; |
168 |
prt[5] = 395; |
169 |
} |
170 |
if (outcome == 2) |
171 |
{ |
172 |
message[3] = "* Sorry that Star's# dragging you around so# much, then."; |
173 |
prt[3] = 377; |
174 |
} |
175 |
if (outcome != 0) |
176 |
other.music = audio_play_sound(mus_blossom, 10, 1); |
177 |
} |
178 |
if (!global.dialogue_open) |
179 |
scene++; |
180 |
break; |
181 |
case 4: |
182 |
scr_textscr_textfunction scr_text()
{
if (!instance_exists(obj_dialogue))
msg = instance_create(x, y, obj_dialogue);
} (); |
183 |
with (msg) |
184 |
{ |
185 |
sndfnt = 108; |
186 |
talker[0] = ceroba_npc; |
187 |
message[0] = "* This whole thing is# like a dream to him."; |
188 |
message[1] = "* It's kinda goofy but# it is nice to see# someone so passionate."; |
189 |
message[2] = "* However, passion can go# too far."; |
190 |
message[3] = "* You wouldn't believe# how much his parents# talk to me about it."; |
191 |
message[4] = "* Really kind folks who# own a farm up north."; |
192 |
message[5] = "* It's actually very lush# there, if you can# believe it."; |
193 |
prt[0] = 370; |
194 |
prt[1] = 372; |
195 |
prt[2] = 394; |
196 |
prt[3] = 370; |
197 |
prt[4] = 372; |
198 |
prt[5] = 370; |
199 |
} |
200 |
if (!global.dialogue_open) |
201 |
{ |
202 |
timer = 45; |
203 |
scene++; |
204 |
} |
205 |
break; |
206 |
case 5: |
207 |
if (!scr_timerscr_timerfunction scr_timer()
{
if (timer > 0)
{
timer--;
return false;
}
else
{
return true;
}
} ()) |
208 |
exit; |
209 |
ceroba_npc.npc_direction = "right"; |
210 |
scene++; |
211 |
break; |
212 |
case 6: |
213 |
scr_textscr_textfunction scr_text()
{
if (!instance_exists(obj_dialogue))
msg = instance_create(x, y, obj_dialogue);
} (); |
214 |
with (msg) |
215 |
{ |
216 |
color = true; |
217 |
col_modif[0] = make_color_rgb(68, 102, 286); |
218 |
sndfnt = 108; |
219 |
talker[0] = ceroba_npc; |
220 |
message[0] = "* And the corn they grow?# So good."; |
221 |
message[1] = "* They used to give my# husband, Chujin, baskets# full every other week."; |
222 |
message_col[1][0] = " # Chujin "; |
223 |
message[2] = "* ..."; |
224 |
message[3] = "* Anyway, I trailed off."; |
225 |
message[4] = "* Where was I?"; |
226 |
prt[0] = 395; |
227 |
prt[1] = 372; |
228 |
prt[2] = 393; |
229 |
prt[3] = 371; |
230 |
prt[4] = 370; |
231 |
if (message_current == 3) |
232 |
ceroba_npc.npc_direction = "down"; |
233 |
} |
234 |
if (!global.dialogue_open) |
235 |
{ |
236 |
scr_audio_fade_outscr_audio_fade_outfunction scr_audio_fade_out(arg0, arg1)
{
var snd = arg0;
var fade_len = arg1;
if (!audio_is_playing(snd))
return false;
audio_sound_gain(snd, 0, fade_len);
if (instance_exists(obj_audio_fade_helper))
{
with (obj_audio_fade_helper)
{
if (audio_to_fade == snd)
return false;
}
}
with (instance_create(0, 0, obj_audio_fade_helper))
audio_to_fade = snd;
} (music, 1000); |
237 |
timer = 15; |
238 |
scene++; |
239 |
} |
240 |
break; |
241 |
case 7: |
242 |
if (!scr_timerscr_timerfunction scr_timer()
{
if (timer > 0)
{
timer--;
return false;
}
else
{
return true;
}
} ()) |
243 |
exit; |
244 |
scr_textscr_textfunction scr_text()
{
if (!instance_exists(obj_dialogue))
msg = instance_create(x, y, obj_dialogue);
} (); |
245 |
with (msg) |
246 |
{ |
247 |
sndfnt = 107; |
248 |
message[0] = "* I'm back!"; |
249 |
prt[0] = 417; |
250 |
} |
251 |
if (!global.dialogue_open) |
252 |
{ |
253 |
audio_sound_gain(obj_radio.current_song, 1, 1000); |
254 |
starlo_npc.npc_arrived = false; |
255 |
scene++; |
256 |
} |
257 |
break; |
258 |
case 8: |
259 |
with (starlo_npc) |
260 |
{ |
261 |
image_alpha = 1; |
262 |
actor_speed = 3; |
263 |
axis_override = "y"; |
264 |
can_walk = true; |
265 |
x_dest[0] = 160; |
266 |
y_dest[0] = 190; |
267 |
end_direction = "right"; |
268 |
if (npc_arrived) |
269 |
{ |
270 |
other.scene++; |
271 |
other.timer = 10; |
272 |
} |
273 |
} |
274 |
break; |
275 |
case 9: |
276 |
scr_textscr_textfunction scr_text()
{
if (!instance_exists(obj_dialogue))
msg = instance_create(x, y, obj_dialogue);
} (); |
277 |
with (msg) |
278 |
{ |
279 |
sndfnt = 107; |
280 |
message[0] = "* Turns out I had one# just your size AND in# the same color."; |
281 |
message[1] = "* It's like, destiny or# somethin'."; |
282 |
message[2] = "* Here!"; |
283 |
prt[0] = 422; |
284 |
prt[1] = 417; |
285 |
prt[2] = 417; |
286 |
} |
287 |
if (!global.dialogue_open) |
288 |
{ |
289 |
ceroba_npc.npc_direction = "up"; |
290 |
with (starlo_npc) |
291 |
{ |
292 |
actor_speed = 1; |
293 |
axis_override = "x"; |
294 |
can_walk = true; |
295 |
x_dest[0] = 180; |
296 |
y_dest[0] = y - 10; |
297 |
end_direction = "up"; |
298 |
} |
299 |
with (player_npc) |
300 |
{ |
301 |
walk_direction_flip = true; |
302 |
x_dest[0] = x; |
303 |
y_dest[0] = y - 25; |
304 |
actor_speed = 2; |
305 |
can_walk = true; |
306 |
end_direction = "up"; |
307 |
} |
308 |
starlo_npc.npc_arrived = false; |
309 |
scene++; |
310 |
} |
311 |
break; |
312 |
case 10: |
313 |
with (starlo_npc) |
314 |
{ |
315 |
if (npc_arrived) |
316 |
{ |
317 |
other.scene++; |
318 |
other.timer = 60; |
319 |
} |
320 |
} |
321 |
break; |
322 |
case 11: |
323 |
with (starlo_npc) |
324 |
{ |
325 |
if (!action_sprite) |
326 |
{ |
327 |
action_sprite = true; |
328 |
image_speed = 0.2; |
329 |
sprite_index = up_sprite; |
330 |
} |
331 |
} |
332 |
if (scr_timerscr_timerfunction scr_timer()
{
if (timer > 0)
{
timer--;
return false;
}
else
{
return true;
}
} ()) |
333 |
{ |
334 |
starlo_npc.action_sprite = false; |
335 |
starlo_npc.image_speed = 0; |
336 |
timer = 30; |
337 |
scene++; |
338 |
} |
339 |
break; |
340 |
case 12: |
341 |
if (!scr_timerscr_timerfunction scr_timer()
{
if (timer > 0)
{
timer--;
return false;
}
else
{
return true;
}
} ()) |
342 |
exit; |
343 |
scr_textscr_textfunction scr_text()
{
if (!instance_exists(obj_dialogue))
msg = instance_create(x, y, obj_dialogue);
} (); |
344 |
with (msg) |
345 |
message[0] = "* (You got a Nice Hat!)"; |
346 |
audio_play_sound(snd_success, 1, 0); |
347 |
starlo_npc.npc_arrived = false; |
348 |
player_npc.walk_direction_flip = true; |
349 |
player_npc.npc_direction = "down"; |
350 |
global.player_armor = "Nice Hat"; |
351 |
scene++; |
352 |
break; |
353 |
case 13: |
354 |
if (global.dialogue_open == true) |
355 |
exit; |
356 |
with (starlo_npc) |
357 |
{ |
358 |
actor_speed = 1; |
359 |
axis_override = "y"; |
360 |
can_walk = true; |
361 |
x_dest[0] = obj_pl.x - 40; |
362 |
y_dest[0] = y; |
363 |
end_direction = "right"; |
364 |
if (npc_arrived) |
365 |
{ |
366 |
other.scene++; |
367 |
other.timer = 40; |
368 |
} |
369 |
} |
370 |
break; |
371 |
case 14: |
372 |
if (!scr_timerscr_timerfunction scr_timer()
{
if (timer > 0)
{
timer--;
return false;
}
else
{
return true;
}
} ()) |
373 |
exit; |
374 |
scr_textscr_textfunction scr_text()
{
if (!instance_exists(obj_dialogue))
msg = instance_create(x, y, obj_dialogue);
} (); |
375 |
with (msg) |
376 |
{ |
377 |
talker[0] = starlo_npc; |
378 |
message[0] = "* Wow..."; |
379 |
message[1] = "* I couldn't even tell it# changed if I were# standin' from afar."; |
380 |
message[2] = "* Looks great!"; |
381 |
message[3] = "* What do you think,# Ceroba?"; |
382 |
prt[0] = 404; |
383 |
prt[1] = 417; |
384 |
prt[2] = 417; |
385 |
prt[3] = 424; |
386 |
talker[4] = ceroba_npc; |
387 |
message[4] = "* It's nice."; |
388 |
prt[4] = 372; |
389 |
talker[5] = starlo_npc; |
390 |
message[5] = "* Isn't it?"; |
391 |
message[6] = "* Well, I'd say this# mission was a great# success!"; |
392 |
message[7] = "* Go on and take a break,# Clover."; |
393 |
message[8] = "* I'll be waitin' for ya!"; |
394 |
prt[5] = 422; |
395 |
prt[6] = 417; |
396 |
prt[7] = 417; |
397 |
prt[8] = 417; |
398 |
if (message_current <= (array_length_1d(talker) - 1)) |
399 |
{ |
400 |
if (talker[message_current] == starlo_npc) |
401 |
sndfnt_array[message_current] = 107; |
402 |
if (talker[message_current] == ceroba_npc) |
403 |
sndfnt_array[message_current] = 108; |
404 |
} |
405 |
} |
406 |
if (!global.dialogue_open) |
407 |
{ |
408 |
starlo_npc.npc_arrived = false; |
409 |
scene++; |
410 |
} |
411 |
break; |
412 |
case 15: |
413 |
ceroba_npc.npc_direction = "down"; |
414 |
with (starlo_npc) |
415 |
{ |
416 |
actor_speed = 1; |
417 |
axis_override = "y"; |
418 |
can_walk = true; |
419 |
x_dest[0] = obj_pl.x; |
420 |
y_dest[0] = 205; |
421 |
end_direction = "down"; |
422 |
if (npc_arrived) |
423 |
other.scene++; |
424 |
} |
425 |
break; |
426 |
case 16: |
427 |
global.dunes_flag[20] = 3; |
428 |
scene = 17; |
429 |
instance_destroy(obj_player_npc); |
430 |
scr_cutscene_end(); |
431 |
break; |
432 |
case 17: |
433 |
with (starlo_npc) |
434 |
{ |
435 |
if (interact) |
436 |
{ |
437 |
scr_textscr_textfunction scr_text()
{
if (!instance_exists(obj_dialogue))
msg = instance_create(x, y, obj_dialogue);
} (); |
438 |
with (msg) |
439 |
{ |
440 |
talker[0] = starlo_npc; |
441 |
message[0] = "* Gidde up, partner!"; |
442 |
message[1] = "* This town has plenty to# see!"; |
443 |
prt[0] = 417; |
444 |
prt[1] = 417; |
445 |
} |
446 |
exit; |
447 |
} |
448 |
} |
449 |
with (ceroba_npc) |
450 |
{ |
451 |
if (interact) |
452 |
{ |
453 |
scr_textscr_textfunction scr_text()
{
if (!instance_exists(obj_dialogue))
msg = instance_create(x, y, obj_dialogue);
} (); |
454 |
with (msg) |
455 |
{ |
456 |
talker[0] = ceroba_npc; |
457 |
message[0] = "* ..."; |
458 |
prt[0] = 370; |
459 |
} |
460 |
exit; |
461 |
} |
462 |
} |
463 |
break; |
464 |
} |