1 |
if (live_call()) |
2 |
return global.live_result; |
3 |
switch (scene) |
4 |
{ |
5 |
case -1: |
6 |
disc_yoffset -= abs(vsp); |
7 |
y += vsp; |
8 |
if (disc_yoffset <= 0) |
9 |
{ |
10 |
vsp = lerp(vsp, 0, 0.15); |
11 |
if (abs(vsp) < 0.1) |
12 |
{ |
13 |
vsp = 0; |
14 |
scene = 1; |
15 |
} |
16 |
} |
17 |
break; |
18 |
case 1: |
19 |
cutscene_wait(0.5); |
20 |
break; |
21 |
case 2: |
22 |
if (spin_speed < 20) |
23 |
spin_speed += 1; |
24 |
else |
25 |
cutscene_advance(); |
26 |
break; |
27 |
case 3: |
28 |
var soul_dir = point_direction(x, y, obj_heart_battle_fighting_parent.x, obj_heart_battle_fighting_parent.y); |
29 |
if (launch_timer > 0) |
30 |
launch_timer -= 1; |
31 |
else if (direction > floor(soul_dir - spin_speed) && direction < floor(soul_dir + spin_speed)) |
32 |
slow_down_noloop = true; |
33 |
if (slow_down_noloop == true) |
34 |
{ |
35 |
spin_speed = lerp(spin_speed, 0, 0.75); |
36 |
if (spin_speed < 0.1) |
37 |
{ |
38 |
spin_speed = 0; |
39 |
scene++; |
40 |
} |
41 |
} |
42 |
break; |
43 |
case 4: |
44 |
cutscene_wait(0.2); |
45 |
break; |
46 |
case 5: |
47 |
speed = lerp(speed, 14, 0.5); |
48 |
if (cutscene_wait(0.7)) |
49 |
{ |
50 |
launch_timer = launch_timer_max; |
51 |
slow_down_noloop = false; |
52 |
scene = 1; |
53 |
cutscene_advance(2); |
54 |
} |
55 |
break; |
56 |
} |
57 |
direction -= spin_speed; |
58 |
image_angle = direction; |
59 |
if (scene != 4 && scene != -1) |
60 |
speed = lerp(speed, 0, 0.3); |
61 |
var alpha_new; |
62 |
if (scene == 2 || scene == 3) |
63 |
alpha_new = 1; |
64 |
else |
65 |
alpha_new = 0; |
66 |
arrow_alpha = lerp(arrow_alpha, alpha_new, 0.2); |