Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_battle_enemy_attack_goosic_disk_Step_0

(view raw script w/o annotations or w/e)
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
58
direction -= spin_speed
59
image_angle = direction
60
if (scene != 4 && scene != -1)
61
    speed = lerp(speed, 0, 0.3)
62
if (scene == 2 || scene == 3)
63
    var alpha_new = 1
64
else
65
    alpha_new = 0
66
arrow_alpha = lerp(arrow_alpha, alpha_new, 0.2)