Undertale script viewer

← back to main script listing

gml_Object_obj_hg_body_Draw_0

(view raw script w/o annotations or w/e)
1
if (con == -1)
2
{
3
    image_alpha += 0.05;
4
    if (image_alpha >= 1)
5
    {
6
        con = 0.1;
7
        alarm[4] = 20;
8
    }
9
}
10
if (con < 3)
11
{
12
    draw_sprite_ext(spr_hg_leftovers, 0, x, y + (facey / 6), 2, 2, 0, c_white, image_alpha);
13
    draw_sprite_ext(spr_hg_horns, 0, x, y - (facey / 2), 2, 2, 0, c_white, image_alpha);
14
    draw_sprite_ext(spr_hg_mainface, 0, x + 88, y + 72 + facey, 2, 2 + facescale, 0, c_white, image_alpha);
15
    draw_sprite_ext(spr_hg_jaws, 0, x + 104, (y + 248) - (facey / 2), 2, 2, 0, c_white, image_alpha);
16
}
17
if (con == 1.1)
18
{
19
    caster_play(gl, 0.8, 1);
20
    con = 1;
21
}
22
if (con == 1)
23
{
24
    facey -= 3.5;
25
    facescale -= 0.2;
26
    siner = 0;
27
    if (facescale < -1)
28
    {
29
        con = 1.9;
30
        alarm[4] = 75;
31
        alarm[6] = 100;
gml_Object_obj_hg_body_Alarm_6.gml

instance_create(0, 0, obj_hg_debris); alarm[6] = 2;
32
    }
33
}
34
if (con == 1.9)
35
{
36
    siner += 1;
37
    facey += (sin(siner / 1.5) * 8);
38
    facescale += (sin(siner / 1.5) * 0.2);
39
}
40
if (con == 2.9)
41
{
42
    caster_play(gc, 1, 1);
43
    con = 3;
44
}
45
if (con == 3)
46
{
47
    if (cc < 80)
48
        cc += 0.5;
49
    sprite_index = spr_hg_laughing;
50
    if (image_alpha > 0.14)
51
        image_alpha -= 0.02;
52
    scr_fx_waver_scanline
scr_fx_waver_scanline

b = argument0; c = argument1; d = argument2; a += 1; for (i = 0; i < sprite_height; i += 1) { a += 1; draw_sprite_part_ext(sprite_index, image_index, 0, i, sprite_width, 1 * sin(a) * d, x + (sin(a / b) * c), y + (i * 2), 2, 2, c_white, image_alpha); }
(bb, cc, dd);
53
    draw_set_color(c_white);
54
    draw_set_alpha(1 - image_alpha);
55
    for (i = 0; i < 5; i += 1)
56
        draw_line_width_color(((room_width / 2) + random(10)) - random(10), ((room_height / 2) + random(10)) - random(10), random(room_width), room_height, 2, c_white, c_gray);
57
    for (i = 0; i < 5; i += 1)
58
        draw_line_width_color(((room_width / 2) + random(10)) - random(10), ((room_height / 2) + random(10)) - random(10), random(room_width), 0, 2, c_white, c_gray);
59
    for (i = 0; i < 5; i += 1)
60
        draw_line_width_color(((room_width / 2) + random(10)) - random(10), ((room_height / 2) + random(10)) - random(10), 0, random(room_height), 2, c_white, c_gray);
61
    for (i = 0; i < 5; i += 1)
62
        draw_line_width_color(((room_width / 2) + random(10)) - random(10), ((room_height / 2) + random(10)) - random(10), room_width, random(room_height), 2, c_white, c_gray);
63
    draw_set_alpha(1);
64
    draw_set_circle_precision(16);
65
    rad = (c_counter - 180) / 1.5;
66
    if (rad < 20)
67
        rad = 20;
68
    draw_set_color(c_green);
69
    draw_circle(320, 240, rad, 1);
70
    if (c_counter < 295)
71
    {
72
        if (collision_circle(320, 240, rad - 5, obj_heart, 0, 1))
73
            event_user(7);
74
    }
75
    if (c_counter < 180)
76
    {
77
        with (obj_heart)
78
        {
79
            pd = point_direction(x, y, 312, 232);
80
            ldrx = lengthdir_x(1, pd);
81
            ldry = lengthdir_y(1, pd);
82
            x += ldrx;
83
            y += ldry;
84
        }
85
    }
86
    if (c_counter > 180)
87
    {
88
        with (obj_heart)
89
        {
90
            pd = point_direction(x, y, 312, 232);
91
            ldrx = lengthdir_x(2, pd);
92
            ldry = lengthdir_y(2, pd);
93
            x += ldrx;
94
            y += ldry;
95
        }
96
    }
97
    c_counter += 1;
98
    if (c_counter > 180)
99
    {
100
        draw_set_color(c_white);
101
        draw_set_alpha((c_counter - 180) / 60);
102
        draw_circle(room_width / 2, room_height / 2, (c_counter - 180) / 1.5, 0);
103
        draw_set_alpha((c_counter - 210) / 80);
104
        ossafe_fill_rectangle(-10, -10, 999, 999);
105
        draw_set_alpha(1);
106
        if (c_counter > 275)
107
            obj_heart.image_alpha -= 0.05;
108
        if (c_counter > 320)
109
        {
110
            caster_free(gl);
111
            caster_free(gc);
112
            if (instance_exists(obj_asriel_body))
113
            {
114
                obj_asriel_body.gonercon = 10;
115
                instance_destroy();
116
            }
117
        }
118
    }
119
}
120
if (obj_heart.x < 0)
121
    obj_heart.x = 0;
122
if (obj_heart.x > (room_width - 16))
123
    obj_heart.x = room_width - 16;
124
if (obj_heart.y < 0)
125
    obj_heart.y = 0;
126
if (obj_heart.y > (room_height - 16))
127
    obj_heart.y = room_height - 16;