Undertale script viewer

← back to main script listing

gml_Object_obj_metthand_r_Draw_0

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