Undertale script viewer

← back to main script listing

gml_Object_obj_metthand_l_Draw_0

(view raw script w/o annotations or w/e)
1
draw_set_color(c_black);
2
ossafe_fill_rectangle(segx + 18, y + 2, global.idealborder[1] + 2, y + 18);
3
draw_set_color(c_white);
4
ossafe_fill_rectangle(segx + 20, y + 4, global.idealborder[1], y + 16);
5
i = segx + 20;
6
while (i < global.idealborder[1])
7
{
8
    draw_set_color(c_black);
9
    draw_line_width(i, y + 2, i, y + 18, 2);
10
    i += 20;
11
}
12
anim += 0.25;
13
if (on == 0)
14
    draw_sprite(spr_yellowtrigger_pl, anim, segx + yseg, y);
15
if (on == 1)
16
    draw_sprite(spr_yellowtrigger_off_pl, anim, segx + yseg, y);
17
draw_sprite(sprite_index, image_index, segx, y);
18
if (collision_rectangle(segx + yseg, y, segx + yseg + 20, y + 14, obj_heartshot, 0, 1))
19
{
20
    snd_play(snd_mtt_burst);
21
    g = collision_rectangle(segx + yseg, y, segx + yseg + 20, y + 14, obj_heartshot, 0, 1);
22
    with (g)
23
        instance_destroy();
24
    if (on == 0)
25
        on = 1;
26
    else
27
        on = 0;
28
}
29
if (collision_rectangle(segx + 3, y - 4, global.idealborder[1], y + 10, obj_heartshot, 0, 1))
30
{
31
    g = collision_rectangle(segx + 3, y - 4, global.idealborder[1], y + 10, obj_heartshot, 0, 1);
32
    with (g)
33
        instance_destroy();
34
    vspeed += 0.75;
35
    y += 3;
36
    snd_play(snd_swallow);
37
}
38
if (collision_rectangle(segx + 5, y + 4, global.idealborder[1], y + 14, obj_heart, 0, 1))
39
    event_user(11);
40
if (on == 1)
41
{
42
    if (segx < (global.idealborder[1] + 5))
43
    {
44
        if (xm <= 0)
45
            xm = 2;
46
        xm += 2;
47
        segx += xm;
48
    }
49
    else
50
    {
51
        xm = 0;
52
        segx = global.idealborder[1] + 5;
53
    }
54
}
55
if (on == 0)
56
{
57
    if (segx > segxinit)
58
    {
59
        if (xm >= 0)
60
            xm = -1;
61
        xm -= 1;
62
        segx += xm;
63
    }
64
    else
65
    {
66
        xm = 0;
67
        segx = segxinit;
68
    }
69
}
70
s += 1;
71
yseg = ysegi + (sin(s / sp) * sf);