1 |
if (live_call()) |
2 |
return global.live_result; |
3 |
var axis_talknoise = 111; |
4 |
audio_sound_pitch(axis_talknoise, axis_pitch); |
5 |
switch (scene) |
6 |
{ |
7 |
case 0: |
8 |
if (obj_pl.x < 280) |
9 |
{ |
10 |
scr_cutscene_start(); |
11 |
cutscene_advance(0.25); |
12 |
} |
13 |
break; |
14 |
case 0.25: |
15 |
cutscene_instance_create(obj_pl.x, obj_pl.y, 1168); |
16 |
cutscene_advance(0.5); |
17 |
break; |
18 |
case 0.5: |
19 |
if (cutscene_npc_walk(1168, obj_player_npc.x, 160, 3, "y", "left")) |
20 |
cutscene_advance(1); |
21 |
break; |
22 |
case 1: |
23 |
cutscene_wait(0.5); |
24 |
break; |
25 |
case 2: |
26 |
cutscene_camera_move(190, obj_pl.y, 1, false); |
27 |
break; |
28 |
case 3: |
29 |
cutscene_audio_fade(obj_radio.current_song, 0, 300, 0.25, false, true); |
30 |
break; |
31 |
case 4: |
32 |
cutscene_wait(1); |
33 |
break; |
34 |
case 5: |
35 |
tile_layer_hide(-1000); |
36 |
cutscene_advance(); |
37 |
break; |
38 |
case 6: |
39 |
cutscene_sfx_play(270, 0.8); |
40 |
break; |
41 |
case 7: |
42 |
cutscene_screenshake(0.5, 3); |
43 |
break; |
44 |
case 8: |
45 |
cutscene_wait(0.5); |
46 |
break; |
47 |
case 9: |
48 |
cutscene_music_start(219); |
49 |
break; |
50 |
case 10: |
51 |
cutscene_npc_walk(1166, 190, obj_pl.y, 4, "y", "right", false); |
52 |
break; |
53 |
case 11: |
54 |
if (cutscene_dialogue()) |
55 |
{ |
56 |
with (obj_pl) |
57 |
scr_axis_clover_scanscr_axis_clover_scanfunction scr_axis_clover_scan()
{
if (live_call())
return global.live_result;
var width = sprite_get_width(sprite_index);
var height = sprite_get_height(sprite_index);
i_inc = width / 20;
j_inc = 1;
var x_left = x - sprite_xoffset;
var y_top = (y + sprite_yoffset) - sprite_height;
for (var j = 0; j < height; j += j_inc)
{
part = instance_create(x_left, y_top + j, obj_piece_clover_scan);
with (part)
{
target_x = other.x;
target_y = other.y;
depth = other.depth - 1;
left = 0;
top = j;
self.width = width;
self.height = other.j_inc;
sprite_index = other.sprite_index;alarm[0]
if (j == 0)
event_perform(ev_alarm, 0);
}
}
} (); |
58 |
} |
59 |
with (msg) |
60 |
{ |
61 |
color = true; |
62 |
col_modif[0] = 16711935; |
63 |
col_modif[1] = 16711935; |
64 |
talker[0] = 1166; |
65 |
message[0] = "* AXIS MODEL 014 READY TO# GUARD AND PROTECT."; |
66 |
message_col[0][1] = " AXIS "; |
67 |
message[1] = "* VANDAL SPOTTED.# STEAMWORKS: EASTERN# BRANCH."; |
68 |
message[2] = "* SCANNING_"; |
69 |
message_col[2][0] = "* SCANNING_"; |
70 |
prt[0] = 473; |
71 |
prt[1] = 473; |
72 |
} |
73 |
break; |
74 |
case 12: |
75 |
if (global.dialogue_open) |
76 |
exit; |
77 |
cutscene_sfx_play(271, 1); |
78 |
audio_sound_pitch(snd_elevator, 2); |
79 |
break; |
80 |
case 13: |
81 |
cutscene_wait(3); |
82 |
break; |
83 |
case 14: |
84 |
cutscene_dialogue(); |
85 |
with (msg) |
86 |
{ |
87 |
color = true; |
88 |
col_modif[0] = 16711935; |
89 |
talker[0] = 1166; |
90 |
message[0] = "* HUMAN DETECTED_"; |
91 |
message_col[0][0] = "* HUMAN DETECTED_"; |
92 |
message[1] = "* WAIT. . ."; |
93 |
message[2] = "* THIS IS FAMILIAR."; |
94 |
message[3] = "* ACCESSING MEMORY BANK_"; |
95 |
message_col[3][0] = "* ACCESSING MEMORY BANK_"; |
96 |
prt[1] = 473; |
97 |
prt[2] = 473; |
98 |
} |
99 |
break; |
100 |
case 15: |
101 |
if (global.dialogue_open == true) |
102 |
exit; |
103 |
cutscene_sfx_play(364, 1); |
104 |
break; |
105 |
case 16: |
106 |
cutscene_wait(1); |
107 |
break; |
108 |
case 17: |
109 |
cutscene_dialogue(); |
110 |
with (msg) |
111 |
{ |
112 |
color = true; |
113 |
col_modif[0] = 16711935; |
114 |
talker[0] = 1166; |
115 |
message[0] = "* MEMORY BANK BLOCKED_"; |
116 |
message_col[0][0] = "* MEMORY BANK BLOCKED_"; |
117 |
message[1] = "* HM."; |
118 |
message[2] = "* WELL. IT MATTERS NOT."; |
119 |
message[3] = "* THREAT DIAGNOSIS_"; |
120 |
message_col[3][0] = "* THREAT DIAGNOSIS_"; |
121 |
prt[1] = 473; |
122 |
prt[2] = 473; |
123 |
} |
124 |
break; |
125 |
case 18: |
126 |
cutscene_wait(1); |
127 |
break; |
128 |
case 19: |
129 |
cutscene_dialogue(); |
130 |
with (msg) |
131 |
{ |
132 |
color = true; |
133 |
col_modif[0] = 255; |
134 |
talker[0] = 1166; |
135 |
message[0] = "* . . ."; |
136 |
message[1] = "* THREAT LEVEL: 10_"; |
137 |
message[2] = "* EMPATHY: BYPASSED_"; |
138 |
prt[0] = 473; |
139 |
message_col[1][0] = "* THREAT LEVEL: 10_"; |
140 |
message_col[2][0] = "* EMPATHY: BYPASSED_"; |
141 |
switch (message_current) |
142 |
{ |
143 |
case 0: |
144 |
noloop_message = 0; |
145 |
break; |
146 |
case 1: |
147 |
if (noloop_message < message_current) |
148 |
{ |
149 |
noloop_message = message_current; |
150 |
scr_screenshakescr_screenshakefunction scr_screenshake(arg0, arg1)
{
if (instance_exists(obj_screenshake_player))
exit;
with (instance_create(__view_get(e__VW.Object, 0).x, __view_get(e__VW.Object, 0).y, obj_screenshake_player))
{alarm[0]
intensity = arg1;
}
}
enum e__VW
{
XView,
YView,
WView,
HView,
Angle,
HBorder,
VBorder,
HSpeed,
VSpeed,
Object,
Visible,
XPort,
YPort,
WPort,
HPort,
Camera,
SurfaceID
} (6, 2); |
151 |
audio_play_sound(snd_guardener_level10, 1, 0); |
152 |
audio_stop_sound(other.cutscene_music); |
153 |
obj_axis_npc.right_sprite_idle = 107; |
154 |
other.axis_pitch = 0.8; |
155 |
} |
156 |
break; |
157 |
} |
158 |
} |
159 |
break; |
160 |
case 20: |
161 |
cutscene_wait(0.5); |
162 |
break; |
163 |
case 21: |
164 |
cutscene_dialogue(); |
165 |
with (msg) |
166 |
{ |
167 |
talker[0] = 1166; |
168 |
message[0] = "* WELCOME TO THE# STEAMWORKS, HUMAN."; |
169 |
message[1] = "* THINGS HAVEN'T BEEN# GOING YOUR WAY, HAVE# THEY?"; |
170 |
message[2] = "* I'M AFRAID WHAT YOU ARE# AFTER HAS. . ."; |
171 |
message[3] = "* . . .EXPIRED."; |
172 |
message[4] = "* FIVE SOULS ARE ALL THAT# WAIT FOR YOU IF YOU# REACH THE CASTLE."; |
173 |
message[5] = "* BUT I'M GUESSING YOU# PIECED THAT TOGETHER# ALREADY."; |
174 |
message[6] = "* IT IS INTERESTING. . ."; |
175 |
message[7] = "* HUMANS AND MONSTERS,# WHILE DIFFERENT, DO# SHARE ONE THING."; |
176 |
message[8] = "* A HUNGER FOR THE SOUL# OF THE OTHER."; |
177 |
message[9] = "* I SUPPOSE THAT IS NO# DIFFERENT HERE."; |
178 |
message[10] = "* MY USUAL PROTOCOL CALLS# FOR MERE APPREHENSION# BUT. . ."; |
179 |
message[11] = "* YOUR THREAT LEVEL# PERMITS ME TO INITIATE# ATTACK."; |
180 |
prt[0] = 473; |
181 |
prt[1] = 473; |
182 |
prt[2] = 473; |
183 |
prt[3] = 473; |
184 |
prt[4] = 473; |
185 |
prt[5] = 473; |
186 |
prt[6] = 473; |
187 |
prt[7] = 473; |
188 |
prt[8] = 473; |
189 |
prt[9] = 473; |
190 |
prt[10] = 473; |
191 |
prt[11] = 473; |
192 |
} |
193 |
break; |
194 |
case 22: |
195 |
cutscene_npc_action_sprite(1166, 1554, 1, false); |
196 |
obj_axis_npc.right_sprite_idle = 385; |
197 |
break; |
198 |
case 23: |
199 |
cutscene_wait(0.5); |
200 |
break; |
201 |
case 24: |
202 |
cutscene_dialogue(); |
203 |
with (msg) |
204 |
{ |
205 |
talker[0] = 1166; |
206 |
message[0] = "* STAND DOWN, HUMAN. IT# WILL ALL BE OVER SOON."; |
207 |
prt[0] = 473; |
208 |
} |
209 |
break; |
210 |
case 25: |
211 |
cutscene_wait(0.75); |
212 |
break; |
213 |
case 26: |
214 |
cutscene_battle_initiate("axis", true, false); |
215 |
obj_heart_initiate_battle.flash_delay = 5; |
216 |
obj_pl.image_alpha = 1; |
217 |
break; |
218 |
case 27: |
219 |
if (instance_exists(obj_heart_initiate_battle_2)) |
220 |
{ |
221 |
instance_destroy(obj_blackout_overworld_2); |
222 |
instance_destroy(obj_heart_initiate_battle_2); |
223 |
obj_pl.direction = 180; |
224 |
obj_pl.image_alpha = 0; |
225 |
cutscene_advance(); |
226 |
} |
227 |
break; |
228 |
case 28: |
229 |
cutscene_npc_action_sprite(1168, 316, 1, true, 0, 352, 8); |
230 |
if (obj_player_npc.image_index >= 8) |
231 |
{ |
232 |
if (obj_axis_npc.sprite_index != spr_axis_redeyes_shot) |
233 |
{ |
234 |
obj_axis_npc.sprite_index = spr_axis_redeyes_shot; |
235 |
obj_axis_npc.action_sprite = true; |
236 |
obj_axis_npc.image_index = 0; |
237 |
obj_axis_npc.image_speed = 1; |
238 |
other.axis_pitch = 1; |
239 |
cutscene_advance(29); |
240 |
} |
241 |
} |
242 |
break; |
243 |
case 29: |
244 |
if (!variable_instance_exists(id, "shoot_noloop")) |
245 |
shoot_noloop = 0; |
246 |
with (obj_axis_npc) |
247 |
{ |
248 |
if (action_sprite == true) |
249 |
{ |
250 |
var i = floor(image_index); |
251 |
switch (i) |
252 |
{ |
253 |
case 0: |
254 |
case 5: |
255 |
case 9: |
256 |
if (other.shoot_noloop < i) |
257 |
{ |
258 |
other.shoot_noloop = i; |
259 |
obj_player_npc.image_index = 7; |
260 |
obj_player_npc.image_speed = 1; |
261 |
audio_play_sound(snd_revolver_shoot, 1, 0); |
262 |
} |
263 |
break; |
264 |
} |
265 |
if (image_index >= (image_number - 0.5)) |
266 |
{ |
267 |
sprite_index = spr_axis_redeyes_shot_flyback; |
268 |
hspeed = -8; |
269 |
} |
270 |
} |
271 |
} |
272 |
if (obj_player_npc.image_index >= 10) |
273 |
{ |
274 |
obj_player_npc.image_speed = 0; |
275 |
if (shoot_noloop >= 9) |
276 |
cutscene_advance(); |
277 |
} |
278 |
break; |
279 |
case 30: |
280 |
if (obj_axis_npc.x <= 104) |
281 |
{ |
282 |
obj_axis_npc.x = 104; |
283 |
obj_axis_npc.hspeed = false; |
284 |
obj_axis_npc.sprite_index = spr_axis_redeyes_shot_slam; |
285 |
obj_axis_npc.image_speed = 1; |
286 |
obj_axis_npc.image_index = 0; |
287 |
scr_screenshakescr_screenshakefunction scr_screenshake(arg0, arg1)
{
if (instance_exists(obj_screenshake_player))
exit;
with (instance_create(__view_get(e__VW.Object, 0).x, __view_get(e__VW.Object, 0).y, obj_screenshake_player))
{alarm[0]
intensity = arg1;
}
}
enum e__VW
{
XView,
YView,
WView,
HView,
Angle,
HBorder,
VBorder,
HSpeed,
VSpeed,
Object,
Visible,
XPort,
YPort,
WPort,
HPort,
Camera,
SurfaceID
} (6, 2); |
288 |
audio_play_sound(snd_undertale_impact, 1, 0); |
289 |
cutscene_advance(); |
290 |
} |
291 |
break; |
292 |
case 31: |
293 |
if (obj_axis_npc.image_index >= (obj_axis_npc.image_number - 1)) |
294 |
{ |
295 |
obj_axis_npc.image_speed = 0; |
296 |
obj_axis_npc.image_index = obj_axis_npc.image_number - 1; |
297 |
cutscene_advance(); |
298 |
} |
299 |
break; |
300 |
case 32: |
301 |
cutscene_wait(1); |
302 |
break; |
303 |
case 33: |
304 |
obj_player_npc.image_speed = 1; |
305 |
if (obj_player_npc.image_index >= (obj_player_npc.image_number - 1)) |
306 |
{ |
307 |
obj_player_npc.action_sprite = false; |
308 |
cutscene_advance(); |
309 |
} |
310 |
break; |
311 |
case 34: |
312 |
cutscene_wait(1); |
313 |
break; |
314 |
case 35: |
315 |
cutscene_npc_walk_relative(1168, -100, 0, 1, "x", "left"); |
316 |
break; |
317 |
case 36: |
318 |
cutscene_npc_set_sprites(1166, 2592, 383, 2749, 3415, 2592, 383, 2749, 3415); |
319 |
break; |
320 |
case 37: |
321 |
if (cutscene_npc_action_sprite(1166, 1415, 1, false)) |
322 |
obj_axis_npc.x -= 29; |
323 |
break; |
324 |
case 38: |
325 |
cutscene_dialogue(); |
326 |
with (msg) |
327 |
{ |
328 |
talker[0] = 1166; |
329 |
color = true; |
330 |
col_modif[0] = 16711935; |
331 |
message[0] = "* AH. . ."; |
332 |
message[1] = "* DAMAGE CRITICAL_"; |
333 |
message_col[1][0] = "* DAMAGE CRITICAL_"; |
334 |
message[2] = "* t-zzz THReAT . .."; |
335 |
message_col[2][0] = "* t-zzz THReAT . .."; |
336 |
message[3] = "* thReat L-LeVEL 99;99# 9999 99_9. ."; |
337 |
message_col[3][0] = "* thReat L-LeVEL 99;99# 9999 99_9. ."; |
338 |
message[4] = "* . . ."; |
339 |
prt[0] = 3282; |
340 |
prt[4] = 3282; |
341 |
} |
342 |
break; |
343 |
case 39: |
344 |
cutscene_npc_walk(1166, 280, 180, 2, "y", "right"); |
345 |
if (obj_axis_npc.x > (obj_player_npc.x - 40)) |
346 |
obj_player_npc.npc_direction = "down"; |
347 |
if (obj_axis_npc.x > (obj_player_npc.x + 40)) |
348 |
obj_player_npc.npc_direction = "right"; |
349 |
break; |
350 |
case 40: |
351 |
cutscene_npc_walk(1166, 280, obj_player_npc.y, 2, "y", "right"); |
352 |
break; |
353 |
case 41: |
354 |
cutscene_wait(1); |
355 |
break; |
356 |
case 42: |
357 |
cutscene_dialogue(); |
358 |
with (msg) |
359 |
{ |
360 |
talker[0] = 1166; |
361 |
message[0] = "* I REMEMB3R NOW.. . .."; |
362 |
message[1] = "* . . ."; |
363 |
message[2] = "* THe 0THERS.. ."; |
364 |
message[3] = "* I MUST EVaCUATE . ."; |
365 |
prt[0] = 3282; |
366 |
prt[1] = 3282; |
367 |
prt[2] = 3282; |
368 |
prt[3] = 3282; |
369 |
} |
370 |
break; |
371 |
case 43: |
372 |
cutscene_npc_action_sprite(1168, 3295, 1, false); |
373 |
if (obj_player_npc.image_index >= 6) |
374 |
{ |
375 |
obj_player_npc.image_speed = 0; |
376 |
obj_player_npc.image_index = 11; |
377 |
cutscene_advance(); |
378 |
} |
379 |
break; |
380 |
case 44: |
381 |
cutscene_wait(0.5); |
382 |
break; |
383 |
case 45: |
384 |
cutscene_npc_direction(1166, "left"); |
385 |
break; |
386 |
case 46: |
387 |
cutscene_wait(0.5); |
388 |
break; |
389 |
case 47: |
390 |
audio_play_sound(snd_rock_break, 1, 0); |
391 |
cutscene_instance_create(obj_axis_npc.x, obj_axis_npc.y + 5, 2021); |
392 |
break; |
393 |
case 48: |
394 |
cutscene_wait(1); |
395 |
break; |
396 |
case 49: |
397 |
cutscene_sfx_play(401, 1); |
398 |
break; |
399 |
case 50: |
400 |
with (obj_axis_npc) |
401 |
{ |
402 |
image_alpha -= 0.15; |
403 |
image_angle -= 15; |
404 |
if (image_alpha <= 0) |
405 |
other.scene += 1; |
406 |
} |
407 |
break; |
408 |
case 51: |
409 |
cutscene_wait(1.5); |
410 |
break; |
411 |
case 52: |
412 |
cutscene_advance(); |
413 |
break; |
414 |
case 53: |
415 |
cutscene_wait(0.5); |
416 |
break; |
417 |
case 54: |
418 |
obj_player_npc.image_speed = 1; |
419 |
if (obj_player_npc.image_index >= (obj_player_npc.image_number - 1)) |
420 |
{ |
421 |
obj_player_npc.action_sprite = false; |
422 |
cutscene_advance(); |
423 |
} |
424 |
break; |
425 |
case 55: |
426 |
cutscene_wait(0.5); |
427 |
break; |
428 |
case 56: |
429 |
obj_steamworks_12_trapdoor.image_index = 7; |
430 |
obj_steamworks_12_trapdoor.image_speed = -0.5; |
431 |
cutscene_advance(); |
432 |
case 57: |
433 |
if (obj_steamworks_12_trapdoor.image_index <= 0.5) |
434 |
{ |
435 |
obj_steamworks_12_trapdoor.image_index = 0; |
436 |
obj_steamworks_12_trapdoor.image_speed = 0; |
437 |
cutscene_advance(); |
438 |
} |
439 |
break; |
440 |
case 58: |
441 |
cutscene_camera_move(obj_pl.x, obj_pl.y, 3); |
442 |
break; |
443 |
case 59: |
444 |
cutscene_end(); |
445 |
cutscene_camera_reset(); |
446 |
instance_destroy(obj_axis_npc); |
447 |
scr_radio_restart(); |
448 |
global.sworks_flag[3] = 1; |
449 |
break; |
450 |
} |