Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_mikesign_Step_0

(view raw script w/o annotations or w/e)
1
if (sign_action == 0)
2
{
3
    sign_y = 
scr_approach
scr_approach

function
scr_approach(arg0, arg1, arg2)
{ if (arg0 < arg1) { arg0 += arg2; if (arg0 > arg1) return arg1; } else { arg0 -= arg2; if (arg0 < arg1) return arg1; } return arg0; }
(sign_y, sign_ystart, 12);
4
    if (instance_number(obj_mike_crowd) > 0 || instance_number(obj_mike_pipe) > 0)
5
        sign_action = 1;
6
}
7
if (sign_action == 1)
8
{
9
    sign_vspeed += 0.25;
10
    sign_y += sign_vspeed;
11
    if (sign_y > -1)
12
    {
13
        sign_vspeed *= -0.4;
14
        sign_bounce += 1;
15
    }
16
    if (sign_bounce >= 3)
17
    {
18
        sign_vspeed = 0;
19
        sign_bounce = 0;
20
        sign_y = 0;
21
        sign_action = 2;
22
        if (sign_col == 65280 || sign_col == 65535)
23
            sign_sound = snd_play_x(snd_crowd, 1, 1);
24
        if (sign_col == 255)
25
        {
26
            sign_sound = snd_play(snd_shh);
27
            mus_volume(global.batmusic[1], 0, 0);
28
        }
29
    }
30
}
31
if (sign_action == 2)
32
{
33
    if (instance_number(obj_mike_crowd) == 0 && instance_number(obj_mike_pipe) == 0)
34
    {
35
        sign_action = 0;
36
        sign_col = 8421504;
37
        snd_stop(sign_sound);
38
        sign_sound = -1;
39
    }
40
}
41
if (sign_action2 == 0)
42
    sign_y2 = 
scr_approach
scr_approach

function
scr_approach(arg0, arg1, arg2)
{ if (arg0 < arg1) { arg0 += arg2; if (arg0 > arg1) return arg1; } else { arg0 -= arg2; if (arg0 < arg1) return arg1; } return arg0; }
(sign_y2, sign_ystart, 12);
43
if (sign_action2 == 1)
44
{
45
    sign_y2 = 
scr_approach
scr_approach

function
scr_approach(arg0, arg1, arg2)
{ if (arg0 < arg1) { arg0 += arg2; if (arg0 > arg1) return arg1; } else { arg0 -= arg2; if (arg0 < arg1) return arg1; } return arg0; }
(sign_y2, 0, 4);
46
    if (sign_y2 == 0)
47
    {
48
        sign_action2 = 2;
49
        snd_play(snd_shh);
50
        snd_stop(sign_sound);
51
        sign_sound = -1;
52
        mus_volume(global.batmusic[1], 0, 0);
53
    }
54
}
55
if (sign_action2 == 2)
56
{
57
    if (instance_number(obj_mike_quiet) == 0)
58
    {
59
        sign_action2 = 0;
60
        mus_volume(global.batmusic[1], 1, 50);
61
    }
62
}