Undertale script viewer

← back to main script listing

gml_Object_obj_undyneb_body_Draw_0

(view raw script w/o annotations or w/e)
1
head.image_index = global.faceemotion;
2
if (movetype == 0)
3
{
4
    siner += 1.2;
5
    if (obj_undyneboss.order == -39)
6
        siner -= 0.2;
7
    if (obj_undyneboss.order == -38)
8
        siner -= 0.4;
9
    if (obj_undyneboss.order == -37)
10
        siner -= 0.6;
11
    if (obj_undyneboss.order == -36)
12
        siner -= 0.8;
13
    if (obj_undyneboss.order == -35 || obj_undyneboss.order == -35)
14
        siner -= 1;
15
    legs.image_index = 0;
16
    ydiff = y - ystart;
17
    xdiff = x - xstart;
18
    larm.depth = depth + 5;
19
    hair.y = hair.ystart + (sin(siner / 6) * 4) + ydiff;
20
    head.y = head.ystart + (sin(siner / 6) * 2) + ydiff;
21
    armor.y = armor.ystart + (sin(siner / 6) * 4) + ydiff;
22
    pants.y = pants.ystart + (sin(siner / 6) * 2) + ydiff;
23
    larm.y = larm.ystart + (sin(siner / 6) * 5) + ydiff;
24
    larm.x = larm.xstart + (sin(siner / 6) * 5) + xdiff;
25
    rarm.y = rarm.ystart + (sin(siner / 6) * 6) + (sin(siner / 3) * 2) + ydiff;
26
    rarm.x = (rarm.xstart - (sin(siner / 3) * 2)) + xdiff;
27
    legs.y = legs.ystart + ydiff;
28
    if (rarm.image_angle > 0)
29
        rarm.image_angle -= 15;
30
    if (larm.image_angle < 0)
31
        larm.image_angle += 15;
32
}
33
else
34
{
35
    ydiff = y - ystart;
36
    xdiff = x - xstart;
37
    for (i = 0; i < 3; i += 1)
38
    {
39
        part[i].x = part[i].xstart + xdiff;
40
        part[i].y = part[i].ystart + ydiff;
41
    }
42
    part[4].x = part[4].xstart + xdiff;
43
    part[4].y = part[4].ystart + ydiff;
44
    if (y <= ystart)
45
        air += 1;
46
    larm.image_angle += larm.vspeed;
47
    rarm.image_angle -= rarm.vspeed;
48
}
49
if (movetype == 1 && vspeed > 0 && y > (ystart - 8))
50
{
51
    y = ystart;
52
    for (i = 0; i < 7; i += 1)
53
    {
54
        part[i].x = part[i].xstart + xdiff;
55
        part[i].y = part[i].ystart + ydiff;
56
    }
57
    legs.gravity = 0;
58
    legs.vspeed = 0;
59
    legs.hspeed = 0;
60
    legs.gravity = 0;
61
    legs.image_index = 0;
62
    larm.gravity = 0;
63
    larm.vspeed = 0;
64
    larm.hspeed = 0;
65
    larm.gravity = 0;
66
    larm.image_index = 0;
67
    rarm.gravity = 0;
68
    rarm.vspeed = 0;
69
    rarm.hspeed = 0;
70
    rarm.gravity = 0;
71
    rarm.image_index = 0;
72
    vspeed = 0;
73
    hspeed = 0;
74
    gravity = 0;
75
    if (jumpno <= 2)
76
        alarm[0] = 4;
77
    else
78
        movetype = 0;
79
}
80
if (movetype == 2)
81
{
82
    if (slashno == 0 && larm.image_angle > -84)
83
        larm.image_angle -= 25;
84
    if (slashno == 0 && larm.image_angle <= -84)
85
    {
86
        larm.image_angle = -84;
87
        alarm[1] = 5;
88
        slashno = 0.1;
89
    }
90
    if (slashno == 1.1)
91
    {
92
        slashno = 1;
93
        alarm[1] = 2;
94
    }
95
    if (slashno == 1)
96
    {
97
        larm.depth = 4;
98
        larm.image_angle += 55;
99
    }
100
    if (slashno == 2)
101
    {
102
        larm.image_angle = 66;
103
        slash = instance_create(larm.x - 180, larm.y + 20, obj_npc_marker);
104
        slash.sprite_index = spr_undyneb_smear;
105
        slash.visible = true;
106
        slash.image_alpha = 1;
107
        slashno = 3;
108
    }
109
    if (slashno == 3)
110
    {
111
        slash.image_alpha -= 0.1;
112
        larm.image_angle += 0.5;
113
        if (larm.image_angle > 70)
114
        {
115
            with (slash)
116
                instance_destroy();
117
            slashno = 4;
118
            alarm[1] = 3;
119
        }
120
    }
121
    if (slashno == 5)
122
    {
123
        larm.image_angle -= 15;
124
        if (larm.image_angle <= 6)
125
        {
126
            larm.image_angle = 0;
127
            slashno = 0;
128
            movetype = 0;
129
        }
130
    }
131
}
132
if (fadeout == 1)
133
{
134
    melter.image_index = 0;
135
    image_alpha -= 0.05;
136
    for (i = 0; i < 7; i += 1)
137
        part[i].image_alpha -= 0.2;
138
    with (melter)
139
        image_alpha += 0.2;
140
    if (image_alpha <= 0)
141
        instance_destroy();
142
}