1 |
var actor_starlo; |
2 |
if (instance_exists(obj_starlo_npc)) |
3 |
actor_starlo = 1169; |
4 |
var actor_ceroba; |
5 |
if (instance_exists(obj_ceroba_npc)) |
6 |
actor_ceroba = 1161; |
7 |
switch (scene) |
8 |
{ |
9 |
case 0: |
10 |
if (obj_pl.y < (actor_starlo.y + 160)) |
11 |
{ |
12 |
scr_cutscene_start(); |
13 |
actor_clover = instance_create(obj_pl.x, obj_pl.y, obj_player_npc); |
14 |
with (other) |
15 |
cutscene_advance(); |
16 |
} |
17 |
break; |
18 |
case 1: |
19 |
cutscene_npc_walk(actor_clover, actor_starlo.x, actor_starlo.y + 80, 1, "x", "up"); |
20 |
break; |
21 |
case 2: |
22 |
cutscene_wait(1); |
23 |
break; |
24 |
case 3: |
25 |
cutscene_camera_move(actor_starlo.x, actor_starlo.y, 1); |
26 |
break; |
27 |
case 4: |
28 |
cutscene_wait(1); |
29 |
break; |
30 |
case 5: |
31 |
cutscene_dialogue(); |
32 |
with (msg) |
33 |
{ |
34 |
color = true; |
35 |
col_modif[0] = make_color_rgb(203, 67, 112); |
36 |
position = 0; |
37 |
talker[0] = actor_starlo; |
38 |
message[0] = "* Why did this happen?"; |
39 |
message[1] = "* I did everything in my# power to entertain..."; |
40 |
message[2] = "* ...So monsters wouldn't# have to worry about# being stuck down here."; |
41 |
message[3] = "* At every turn I tried to# cheer Ceroba up..."; |
42 |
message[4] = "* I just wanted Kanako off# of her mind."; |
43 |
message_col[4][0] = " Kanako "; |
44 |
message[5] = "* I'm trying my best to# honor her memory."; |
45 |
message[6] = "* Aren't distractions# what's best for all# of that?"; |
46 |
message[7] = "* ?"; |
47 |
prt[0] = 416; |
48 |
prt[1] = 416; |
49 |
prt[2] = 416; |
50 |
prt[3] = 416; |
51 |
prt[4] = 416; |
52 |
prt[5] = 416; |
53 |
prt[6] = 416; |
54 |
prt[7] = 418; |
55 |
} |
56 |
break; |
57 |
case 6: |
58 |
cutscene_wait(1.5); |
59 |
break; |
60 |
case 7: |
61 |
if (cutscene_npc_reset_sprite(actor_starlo, "left")) |
62 |
scene = 7.2; |
63 |
break; |
64 |
case 7.2: |
65 |
if (cutscene_wait(0.3)) |
66 |
scene = 7.4; |
67 |
break; |
68 |
case 7.4: |
69 |
cutscene_npc_direction(actor_starlo, "down"); |
70 |
scene = 7.6; |
71 |
break; |
72 |
case 7.6: |
73 |
if (cutscene_wait(1)) |
74 |
scene = 8; |
75 |
break; |
76 |
case 8: |
77 |
cutscene_dialogue(); |
78 |
with (msg) |
79 |
{ |
80 |
position = 0; |
81 |
talker[0] = actor_starlo; |
82 |
message[0] = "* You..."; |
83 |
message[1] = "* Why'd you follow me?"; |
84 |
message[2] = "* Are you still my friend?"; |
85 |
message[3] = "* ..."; |
86 |
message[4] = "* Hold on..."; |
87 |
message[5] = "* This all happened after# you showed up!"; |
88 |
message[6] = "* Ed specifically# mentioned YOU as the# problem!"; |
89 |
message[7] = "* That's right! I was just# bein' a good friend."; |
90 |
message[8] = "* I made you who you are# yet this is what I get?"; |
91 |
message[9] = "* ..."; |
92 |
message[10] = "* Let's face facts. I# couldn't keep you here# forever, kid."; |
93 |
message[11] = "* Word would've gotten out# that Feathers hadn't# clocked in, eventually."; |
94 |
message[12] = "* Feathers...# Wait a minute..."; |
95 |
message[13] = "* Royal Guards like her# have a ton of status."; |
96 |
message[14] = "* They gain that status by# doin' the King's work."; |
97 |
message[15] = "* I'm sure... I'm sure# everyone would come back# if I did the same."; |
98 |
message[16] = "* I'd be revered not only# in the Wild East but the# entire Underground!!"; |
99 |
message[17] = "* I'd..."; |
100 |
prt[0] = 416; |
101 |
prt[1] = 416; |
102 |
prt[2] = 418; |
103 |
prt[3] = 416; |
104 |
prt[4] = 418; |
105 |
prt[5] = 421; |
106 |
prt[6] = 421; |
107 |
prt[7] = 418; |
108 |
prt[8] = 416; |
109 |
prt[9] = 416; |
110 |
prt[10] = 421; |
111 |
prt[11] = 421; |
112 |
prt[12] = 418; |
113 |
prt[13] = 418; |
114 |
prt[14] = 418; |
115 |
prt[15] = 421; |
116 |
prt[16] = 417; |
117 |
prt[17] = 418; |
118 |
} |
119 |
break; |
120 |
case 9: |
121 |
cutscene_wait(0.5); |
122 |
break; |
123 |
case 10: |
124 |
cutscene_npc_direction(actor_starlo, "right"); |
125 |
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;
} (wind_sound, 1000); |
126 |
break; |
127 |
case 11: |
128 |
cutscene_dialogue(); |
129 |
with (msg) |
130 |
{ |
131 |
position = 0; |
132 |
talker[0] = actor_starlo; |
133 |
message[0] = "* ..."; |
134 |
prt[0] = 416; |
135 |
} |
136 |
break; |
137 |
case 12: |
138 |
cutscene_npc_direction(actor_starlo, "down"); |
139 |
break; |
140 |
case 13: |
141 |
cutscene_wait(1); |
142 |
break; |
143 |
case 14: |
144 |
cutscene_dialogue(); |
145 |
with (msg) |
146 |
{ |
147 |
position = 0; |
148 |
talker[0] = actor_starlo; |
149 |
message[0] = "* Clover, you've been an# excellent deputy but..."; |
150 |
message[1] = "* As a lawman, what I'm# about to do is embedded# in my SOUL."; |
151 |
message[2] = "* My true duty."; |
152 |
message[3] = "* Don't... Don't make this# difficult for me."; |
153 |
message[4] = "* Just hold..."; |
154 |
message[5] = "* STILL!"; |
155 |
prt[0] = 416; |
156 |
prt[1] = 421; |
157 |
prt[2] = 421; |
158 |
prt[3] = 418; |
159 |
prt[4] = 416; |
160 |
prt[5] = 421; |
161 |
} |
162 |
break; |
163 |
case 15: |
164 |
cutscene_npc_action_sprite(actor_starlo, 1275, 1/3, true, 0); |
165 |
break; |
166 |
case 16: |
167 |
cutscene_battle_initiate("starlo", true, true); |
168 |
instance_destroy(); |
169 |
break; |
170 |
case 17: |
171 |
cutscene_wait(1); |
172 |
break; |
173 |
case 18: |
174 |
cutscene_dialogue(); |
175 |
with (msg) |
176 |
{ |
177 |
talker[0] = actor_ceroba; |
178 |
message[0] = "* Who have you become?"; |
179 |
message[1] = "* Because this sure as# hell isn't the Starlo# I grew up with!"; |
180 |
prt[0] = 370; |
181 |
prt[1] = 394; |
182 |
} |
183 |
break; |
184 |
case 19: |
185 |
cutscene_npc_direction(actor_clover, "down"); |
186 |
break; |
187 |
case 20: |
188 |
cutscene_npc_walk(actor_ceroba, actor_starlo.x, actor_clover.y + 20, 1, "x", "up"); |
189 |
break; |
190 |
case 21: |
191 |
cutscene_npc_walk_relative(actor_clover, -30, 0, 3, "x", "right"); |
192 |
break; |
193 |
case 22: |
194 |
cutscene_npc_walk(actor_ceroba, actor_ceroba.x, actor_starlo.y + 60, 1, "y", "up"); |
195 |
break; |
196 |
case 23: |
197 |
cutscene_dialogue(); |
198 |
with (msg) |
199 |
{ |
200 |
position = 0; |
201 |
talker[0] = actor_starlo; |
202 |
message[0] = "* Ceroba..."; |
203 |
message[1] = "* Now's not a good time# for this."; |
204 |
message[2] = "* Don't kick me while# I'm down, please."; |
205 |
prt[0] = 421; |
206 |
prt[1] = 416; |
207 |
prt[2] = 416; |
208 |
if (message_current == 1) |
209 |
actor_starlo.npc_direction = "up"; |
210 |
} |
211 |
actor_clover.npc_direction = "up"; |
212 |
break; |
213 |
case 24: |
214 |
cutscene_wait(0.5); |
215 |
break; |
216 |
case 25: |
217 |
cutscene_dialogue(); |
218 |
with (msg) |
219 |
{ |
220 |
position = 0; |
221 |
talker[0] = actor_ceroba; |
222 |
message[0] = "* I'm... I'm sorry, Star."; |
223 |
message[1] = "* I know this is# weighing heavily on you# but listen..."; |
224 |
message[2] = "* None of us hate you.# The REAL you."; |
225 |
message[3] = "* We adore you!"; |
226 |
message[4] = "* What we hate is this# false, reckless persona# you've created."; |
227 |
prt[0] = 394; |
228 |
prt[1] = 370; |
229 |
prt[2] = 370; |
230 |
prt[3] = 372; |
231 |
prt[4] = 394; |
232 |
talker[5] = actor_starlo; |
233 |
message[5] = "* ..."; |
234 |
prt[5] = 406; |
235 |
talker[6] = actor_ceroba; |
236 |
message[6] = "* I have my own baggage.# We all do."; |
237 |
message[7] = "* I don't even know if I# have room to say this# but..."; |
238 |
message[8] = "* Bring him back."; |
239 |
message[9] = "* Bring back the# innocent farmer I once# knew."; |
240 |
prt[6] = 377; |
241 |
prt[7] = 371; |
242 |
prt[8] = 370; |
243 |
prt[9] = 394; |
244 |
talker[10] = actor_starlo; |
245 |
message[10] = "* I just... wanted to be# appreciated. Revered by# all."; |
246 |
message[11] = "* I was trying to provide# a slice of the Surface# where we have none."; |
247 |
prt[10] = 406; |
248 |
prt[11] = 406; |
249 |
talker[12] = actor_ceroba; |
250 |
message[12] = "* There's nothing wrong# with that."; |
251 |
message[13] = "* I'm not even telling# you to quit running the# town."; |
252 |
message[14] = "* Just don't let this# identity consume you.# It isn't healthy."; |
253 |
prt[12] = 370; |
254 |
prt[13] = 370; |
255 |
prt[14] = 394; |
256 |
} |
257 |
break; |
258 |
case 26: |
259 |
cutscene_wait(0.5); |
260 |
break; |
261 |
case 27: |
262 |
cutscene_dialogue(); |
263 |
with (msg) |
264 |
{ |
265 |
position = 0; |
266 |
talker[0] = actor_starlo; |
267 |
message[0] = "* ..."; |
268 |
prt[0] = 416; |
269 |
} |
270 |
break; |
271 |
case 28: |
272 |
cutscene_wait(0.45); |
273 |
break; |
274 |
case 29: |
275 |
cutscene_npc_direction(actor_starlo, "right"); |
276 |
break; |
277 |
case 30: |
278 |
cutscene_wait(0.45); |
279 |
break; |
280 |
case 31: |
281 |
cutscene_npc_direction(actor_starlo, "down"); |
282 |
break; |
283 |
case 32: |
284 |
cutscene_music_start(192, 500); |
285 |
break; |
286 |
case 33: |
287 |
cutscene_dialogue(); |
288 |
with (msg) |
289 |
{ |
290 |
position = 0; |
291 |
talker[0] = actor_starlo; |
292 |
message[0] = "* ...Very well."; |
293 |
message[1] = "* Clover, I'm terribly# sorry for attacking# you."; |
294 |
message[2] = "* I do value your# friendship and the time# we've spent together."; |
295 |
message[3] = "* You have every right# to make fun but..."; |
296 |
prt[0] = 406; |
297 |
prt[1] = 406; |
298 |
prt[2] = 418; |
299 |
prt[3] = 416; |
300 |
} |
301 |
break; |
302 |
case 34: |
303 |
cutscene_npc_action_sprite(actor_starlo, 1276, 0.25, true, 0); |
304 |
break; |
305 |
case 35: |
306 |
cutscene_npc_set_sprites(actor_starlo, 207, 205, 196, 201, 206, 204, 1277, 200); |
307 |
break; |
308 |
case 36: |
309 |
cutscene_npc_reset_sprite(actor_starlo, "down"); |
310 |
break; |
311 |
case 37: |
312 |
cutscene_wait(0.25); |
313 |
break; |
314 |
case 38: |
315 |
cutscene_dialogue(); |
316 |
with (msg) |
317 |
{ |
318 |
position = 0; |
319 |
talker[0] = actor_starlo; |
320 |
message[0] = "* This is who I really# am."; |
321 |
message[1] = "* I'm not a real# sheriff... just some# nobody farmer."; |
322 |
prt[0] = 432; |
323 |
prt[1] = 432; |
324 |
talker[2] = actor_ceroba; |
325 |
message[2] = "* Don't say that, Star."; |
326 |
message[3] = "* You may not be a real# sheriff but..."; |
327 |
message[4] = "* You're the best# sheriff I've ever# known!"; |
328 |
prt[2] = 370; |
329 |
prt[3] = 377; |
330 |
prt[4] = 395; |
331 |
} |
332 |
break; |
333 |
case 39: |
334 |
cutscene_wait(0.25); |
335 |
break; |
336 |
case 40: |
337 |
cutscene_dialogue(); |
338 |
with (msg) |
339 |
{ |
340 |
position = 0; |
341 |
talker[0] = actor_starlo; |
342 |
message[0] = "* Yeah..."; |
343 |
message[1] = "* I suppose I am KINDA# cool."; |
344 |
prt[0] = 429; |
345 |
prt[1] = 433; |
346 |
talker[2] = actor_ceroba; |
347 |
message[2] = "* Darn right!"; |
348 |
prt[2] = 395; |
349 |
talker[3] = actor_starlo; |
350 |
message[3] = "* But..."; |
351 |
prt[3] = 431; |
352 |
} |
353 |
break; |
354 |
case 41: |
355 |
cutscene_npc_action_sprite(actor_starlo, actor_starlo.up_sprite, 0.2, true, 0.2, 281, 0); |
356 |
break; |
357 |
case 42: |
358 |
cutscene_wait(0.25); |
359 |
break; |
360 |
case 43: |
361 |
cutscene_npc_set_sprites(actor_starlo, 207, 237, 240, 236, 206, 235, 230, 232); |
362 |
break; |
363 |
case 44: |
364 |
cutscene_npc_reset_sprite(actor_starlo, "down"); |
365 |
case 45: |
366 |
cutscene_dialogue(); |
367 |
with (msg) |
368 |
{ |
369 |
position = 0; |
370 |
talker[0] = actor_starlo; |
371 |
message[0] = "* This whole show wasn't# only for some personal# power trip."; |
372 |
prt[0] = 421; |
373 |
talker[1] = actor_ceroba; |
374 |
message[1] = "* Hm?"; |
375 |
prt[1] = 370; |
376 |
talker[2] = actor_starlo; |
377 |
message[2] = "* I also did it to...# cheer you up."; |
378 |
message[3] = "* You might've wanted# the old me but I also# wanted the old you."; |
379 |
message[4] = "* Because of..."; |
380 |
message[5] = "* ...Kanako..."; |
381 |
prt[2] = 418; |
382 |
prt[3] = 418; |
383 |
prt[4] = 416; |
384 |
prt[5] = 406; |
385 |
talker[6] = actor_ceroba; |
386 |
message[6] = "* ..."; |
387 |
prt[6] = 393; |
388 |
} |
389 |
break; |
390 |
case 46: |
391 |
cutscene_wait(0.25); |
392 |
break; |
393 |
case 47: |
394 |
cutscene_npc_direction(actor_ceroba, "down"); |
395 |
break; |
396 |
case 48: |
397 |
cutscene_wait(0.5); |
398 |
break; |
399 |
case 49: |
400 |
cutscene_dialogue(); |
401 |
with (msg) |
402 |
{ |
403 |
position = 0; |
404 |
talker[0] = actor_ceroba; |
405 |
message[0] = "* I... Um... Appreciate# that, Star."; |
406 |
message[1] = "* I..."; |
407 |
message[2] = "* I believe I have# business to take care# of relating to her..."; |
408 |
prt[0] = 394; |
409 |
prt[1] = 371; |
410 |
prt[2] = 370; |
411 |
talker[3] = actor_starlo; |
412 |
message[3] = "* What do you mean?"; |
413 |
prt[3] = 421; |
414 |
talker[4] = actor_ceroba; |
415 |
message[4] = "* I must tell you# something."; |
416 |
message[5] = "* I suppose Clover# should know as well."; |
417 |
message[6] = "* As much fun it is to# have duels and catch# bandits..."; |
418 |
message[7] = "* There's a pressing# matter looming over# me."; |
419 |
message[8] = "* ..."; |
420 |
message[9] = "* Let's go to the old# Steamworks gate."; |
421 |
message[10] = "* We'll speak there."; |
422 |
prt[4] = 394; |
423 |
prt[5] = 394; |
424 |
prt[6] = 370; |
425 |
prt[7] = 371; |
426 |
prt[8] = 377; |
427 |
prt[9] = 370; |
428 |
prt[10] = 370; |
429 |
talker[11] = actor_starlo; |
430 |
message[11] = "* Ceroba..."; |
431 |
prt[11] = 406; |
432 |
talker[12] = actor_ceroba; |
433 |
message[12] = "* Come on."; |
434 |
prt[12] = 394; |
435 |
if (message_current == 2) |
436 |
actor_ceroba.npc_direction = "up"; |
437 |
} |
438 |
break; |
439 |
case 50: |
440 |
cutscene_npc_walk(actor_ceroba, actor_ceroba.x, actor_starlo.y + 30, 3, "x", "up"); |
441 |
break; |
442 |
case 51: |
443 |
cutscene_npc_walk_relative(actor_starlo, -40, 0, 3, "x", "right"); |
444 |
break; |
445 |
case 52: |
446 |
cutscene_npc_walk(actor_ceroba, actor_ceroba.x, -40, 4, "x", "up"); |
447 |
if (actor_ceroba.y < (actor_starlo.y - 60)) |
448 |
actor_starlo.npc_direction = "up"; |
449 |
break; |
450 |
case 53: |
451 |
cutscene_dialogue(); |
452 |
with (msg) |
453 |
{ |
454 |
position = 0; |
455 |
talker[0] = actor_starlo; |
456 |
message[0] = "* I guess you're really# part of the team now,# Clover."; |
457 |
message[1] = "* You heard her."; |
458 |
prt[0] = 421; |
459 |
prt[1] = 417; |
460 |
} |
461 |
actor_starlo.npc_direction = "down"; |
462 |
break; |
463 |
case 54: |
464 |
cutscene_npc_walk(actor_starlo, actor_starlo.x, -60, 3, "x", "up"); |
465 |
break; |
466 |
case 55: |
467 |
cutscene_audio_fade(cutscene_music, 0, 1200, 0.15, false, true); |
468 |
break; |
469 |
case 56: |
470 |
cutscene_wait(1); |
471 |
break; |
472 |
case 57: |
473 |
cutscene_dialogue(); |
474 |
with (msg) |
475 |
{ |
476 |
sndfnt = 102; |
477 |
message[0] = "* Clover! Clover!"; |
478 |
prt[0] = 318; |
479 |
} |
480 |
break; |
481 |
case 58: |
482 |
cutscene_instance_create(obj_pl.x, __view_get(e__VW.YView, 0) + __view_get(e__VW.WView, 0) + 50, 1164); |
483 |
break; |
484 |
case 59: |
485 |
cutscene_npc_direction(actor_clover, "down"); |
486 |
break; |
487 |
case 60: |
488 |
cutscene_npc_walk(1164, 160, 220, 3, "x", "up"); |
489 |
break; |
490 |
case 61: |
491 |
cutscene_dialogue(); |
492 |
with (msg) |
493 |
{ |
494 |
sndfnt = 102; |
495 |
message[0] = "* So I have good news# and bad news."; |
496 |
message[1] = "* I'll start with the# good:"; |
497 |
message[2] = "* Turns out, the wife of# that old friend I told# you about is here!"; |
498 |
message[3] = "* Her name is Ceroba!"; |
499 |
message[4] = "* You... probably met her# already now that I# think about it."; |
500 |
message[5] = "* She broke my cell lock# with a sick magic staff# and let me go!"; |
501 |
message[6] = "* I also made sure she# knew I wouldn't tell# ASGORE about this."; |
502 |
message[7] = "* So now that that's# taken care of... the bad# news."; |
503 |
message[8] = "* I'm about to go back# on my word, sadly."; |
504 |
message[9] = "* I know I JUST said I# wouldn't leave your side# but then... ya know... "; |
505 |
message[10] = "* ...This crazy detour# happened."; |
506 |
message[11] = "* I also realize I threw# my job to the wind to# travel with you but..."; |
507 |
message[12] = "* Since the imprisonment# took up so much time, I# have to go back."; |
508 |
message[13] = "* If I don't at LEAST# clock in..."; |
509 |
message[14] = "* ...the Royal Guard# will grow suspicious!"; |
510 |
message[15] = "* Plus, Ava is totalled.# It was their property."; |
511 |
message[16] = "* I'll only be gone for# a moment to fix my# mistakes!"; |
512 |
message[17] = "* Ceroba encouraged this# decision, so don't# worry.\t"; |
513 |
message[18] = "* She told me she would# accompany you on the# journey to Hotland."; |
514 |
message[19] = "* So hey, it all works# out!"; |
515 |
message[20] = "* Again, I'm so-so-so-SO# sorry about this but# I'll cya later!"; |
516 |
prt[0] = 321; |
517 |
prt[1] = 312; |
518 |
prt[2] = 318; |
519 |
prt[3] = 312; |
520 |
prt[4] = 320; |
521 |
prt[5] = 328; |
522 |
prt[6] = 337; |
523 |
prt[7] = 338; |
524 |
prt[8] = 317; |
525 |
prt[9] = 320; |
526 |
prt[10] = 333; |
527 |
prt[11] = 321; |
528 |
prt[12] = 329; |
529 |
prt[13] = 321; |
530 |
prt[14] = 321; |
531 |
prt[15] = 323; |
532 |
prt[16] = 321; |
533 |
prt[17] = 328; |
534 |
prt[18] = 328; |
535 |
prt[19] = 312; |
536 |
prt[20] = 323; |
537 |
} |
538 |
break; |
539 |
case 62: |
540 |
cutscene_npc_walk(1164, obj_martlet_npc.x, __view_get(e__VW.YView, 0) + __view_get(e__VW.WView, 0) + 50, 4, "x", "down"); |
541 |
break; |
542 |
case 63: |
543 |
cutscene_camera_move(obj_pl.x, obj_pl.y, 1); |
544 |
break; |
545 |
case 64: |
546 |
scr_cutscene_end(); |
547 |
camera_set_view_target(view_camera[0], 1031); |
548 |
global.dunes_flag[39] = 1; |
549 |
scene = -1; |
550 |
instance_destroy(actor_clover); |
551 |
instance_destroy(actor_starlo); |
552 |
instance_destroy(obj_martlet_npc); |
553 |
instance_destroy(actor_ceroba); |
554 |
break; |
555 |
} |
556 |
|
557 |
enum e__VW |
558 |
{ |
559 |
XView, |
560 |
YView, |
561 |
WView, |
562 |
HView, |
563 |
Angle, |
564 |
HBorder, |
565 |
VBorder, |
566 |
HSpeed, |
567 |
VSpeed, |
568 |
Object, |
569 |
Visible, |
570 |
XPort, |
571 |
YPort, |
572 |
WPort, |
573 |
HPort, |
574 |
Camera, |
575 |
SurfaceID |
576 |
} |