| 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); |