Undertale script viewer

← back to main script listing

gml_Object_obj_sorrybody_Draw_0

(view raw script w/o annotations or w/e)
1
if (pause == 1)
2
{
3
    draw_sprite_ext(spr_sorry_body, 0, x, y + 64, 2, 2, 0, c_white, 1);
4
    draw_sprite_ext(spr_sorryleg, 0, x - 2, y + 128, 2, 2, 0, c_white, 1);
5
    draw_sprite_ext(spr_sorryleg, 0, x + 2, y + 128, -2, 2, 0, c_white, 1);
6
    if (global.flag[20 animation_index] == 0)
7
    {
8
        draw_sprite_ext(spr_sorryarm, 0, x - 44, y + 32, 2, 2, 0, c_white, 1);
9
        draw_sprite_ext(spr_sorryarm, 0, x + 46, y + 32, -2, 2, 0, c_white, 1);
10
    }
11
    draw_sprite_ext(spr_sorry_head, 0, x, y, 2, 2, 0, c_white, 1);
12
    draw_sprite_ext(spr_sorry_face, global.faceemotion, x, y + 12, 2, 2, 0, c_white, 1);
13
    draw_sprite_ext(spr_sorryear_l, 0, x - 32, y - 22, 2, 2, 0, c_white, 1);
14
    draw_sprite_ext(spr_sorryear_l, 0, x + 32, y - 22, -2, 2, 0, c_white, 1);
15
    draw_sprite_ext(spr_sorryhat, hat, x, y - 20, 2, 2, 0, c_white, 1);
16
    if (global.flag[20 animation_index] == 1)
17
    {
18
        draw_sprite_ext(spr_sorryarm_headgrab, 0, x - 44, y + 32, 2, 2, 0, c_white, 1);
19
        draw_sprite_ext(spr_sorryarm_headgrab, 0, x + 46, y + 32, -2, 2, 0, c_white, 1);
20
    }
21
    if (global.flag[20 animation_index] == 2)
22
    {
23
        draw_sprite_ext(spr_sorryarm_behind, 0, x - 44, y + 32, 2, 2, 0, c_white, 1);
24
        draw_sprite_ext(spr_sorryarm_behind, 0, x + 46, y + 32, -2, 2, 0, c_white, 1);
25
    }
26
    if (global.flag[20 animation_index] >= 3)
27
    {
28
        draw_sprite_ext(spr_sorryarm_behind, 0, x - 44, y + 32, 2, 2, 0, c_white, 1);
29
        draw_sprite_ext(spr_sorryarm_drawing, global.flag[20 animation_index], x + 52, y + 28, -2, 2, 0, c_white, 1);
30
    }
31
}
32
if (freeze == 0 && back == 0 && pause == 0)
33
{
34
    siner += 1;
35
    if (intense == 1)
36
        siner += 1;
37
    draw_sprite_ext(spr_sorrytail, 0, x + (sin(siner / 12) * 46), y + 88, sin(siner / 12) * 2, 2, 0, c_white, 1);
38
    draw_sprite_ext(spr_sorry_body, 0, x, y + 64 + (sin(siner / 6) * 2), 2, 2, 0, c_white, 1);
39
    draw_sprite_ext(spr_sorryleg, 0, x - 2 - (sin(siner / 6) * 2), y + 128, 2, 2 + (cos(siner / 3) * 0.1), 0, c_white, 1);
40
    draw_sprite_ext(spr_sorryleg, 0, x + 2 + (sin(siner / 6) * 2), y + 128, -2, 2 + (cos(siner / 3) * 0.1), 0, c_white, 1);
41
    if (global.flag[20 animation_index] == 0)
42
    {
43
        draw_sprite_ext(spr_sorryarm, global.flag[20 animation_index], (x - 44) + (sin(siner / 3) * 2), y + 32, 2, 2, 0, c_white, 1);
44
        draw_sprite_ext(spr_sorryarm, global.flag[20 animation_index], (x + 46) - (sin(siner / 3) * 2), y + 32, -2, 2, 0, c_white, 1);
45
    }
46
    draw_sprite_ext(spr_sorry_head, 0, x, y + (sin(siner / 6) * 3), 2, 2, 0, c_white, 1);
47
    draw_sprite_ext(spr_sorry_face, global.faceemotion, x, y + 12 + (sin(siner / 6) * 4), 2, 2, 0, c_white, 1);
48
    draw_sprite_ext(spr_sorryear_l, 0, x - 32, (y - 22) + (sin(siner / 6) * 1), 2, 2, 0, c_white, 1);
49
    draw_sprite_ext(spr_sorryear_l, 0, x + 32, (y - 22) + (sin(siner / 6) * 1), -2, 2, 0, c_white, 1);
50
    draw_sprite_ext(spr_sorryhat, hat, x, (y - 20) + (sin(siner / 6) * 5), 2, 2, 0, c_white, 1);
51
    if (global.flag[20 animation_index] == 1)
52
    {
53
        draw_sprite_ext(spr_sorryarm_headgrab, global.flag[20 animation_index], (x - 44) + (sin(siner / 3) * 2), y + 32, 2, 2, 0, c_white, 1);
54
        draw_sprite_ext(spr_sorryarm_headgrab, global.flag[20 animation_index], (x + 46) - (sin(siner / 3) * 2), y + 32, -2, 2, 0, c_white, 1);
55
    }
56
    if (global.flag[20 animation_index] == 2)
57
    {
58
        draw_sprite_ext(spr_sorryarm_behind, global.flag[20 animation_index], (x - 44) + (sin(siner / 3) * 2), y + 32, 2, 2, 0, c_white, 1);
59
        draw_sprite_ext(spr_sorryarm_behind, global.flag[20 animation_index], (x + 46) - (sin(siner / 3) * 2), y + 32, -2, 2, 0, c_white, 1);
60
    }
61
    if (global.flag[20 animation_index] >= 3)
62
    {
63
        draw_sprite_ext(spr_sorryarm_behind, global.flag[20 animation_index], (x - 44) + (sin(siner / 3) * 2), y + 32, 2, 2, 0, c_white, 1);
64
        draw_sprite_ext(spr_sorryarm_drawing, global.flag[20 animation_index], (x + 52) - (sin(siner / 3) * 2), y + 28, -2, 2, 0, c_white, 1);
65
    }
66
}
67
if (back == 1)
68
{
69
    tailsiner += (1 + tail_t);
70
    siner += 1;
71
    if (intense == 1)
72
        siner += 1;
73
    if (armtype == 0)
74
    {
75
        draw_sprite_ext(spr_sorryarm, 0, (x - 44) + (sin(siner / 3) * 2), y + 32, 2, 2, 0, c_white, 1);
76
        draw_sprite_ext(spr_sorryarm, 0, (x + 46) - (sin(siner / 3) * 2), y + 32, -2, 2, 0, c_white, 1);
77
    }
78
    if (armtype == 1)
79
    {
80
        arm_a = sin(siner / 8) * 22;
81
        armspr = 612;
82
        if (arm_a <= -16)
83
        {
84
            armspr = 615;
85
            if (madetrash == 0)
86
            {
87
                madetrash = 1;
88
                repeat (diff)
89
                    instance_create((x - 54) + arm_a, y + 32 + 8 + arm_a, obj_sorry_trashball);
90
                if (instance_exists(obj_sosorry))
91
                {
92
                    if (obj_sosorry.myplot >= 5)
93
                    {
94
                        with (obj_sorry_trashball)
95
                            stop = -1;
96
                    }
97
                }
98
            }
99
        }
100
        if (arm_a > 0)
101
            madetrash = 0;
102
        draw_sprite_ext(armspr, 0, (x - 20) + arm_a, y + 32 + 20 + arm_a, 2, 2, -sin(siner / 4) * 15, c_white, 1);
103
        arm_b = sin((24 + siner) / 8) * 22;
104
        armspr = 612;
105
        if (arm_b <= -16)
106
        {
107
            armspr = 615;
108
            if (madetrash_b == 0)
109
            {
110
                madetrash_b = 1;
111
                repeat (diff)
112
                    instance_create((x + 54) - arm_b, y + 32 + 8 + arm_b, obj_sorry_trashball);
113
                if (instance_exists(obj_sosorry))
114
                {
115
                    if (obj_sosorry.myplot >= 5)
116
                    {
117
                        with (obj_sorry_trashball)
118
                            stop = -1;
119
                    }
120
                }
121
            }
122
        }
123
        if (arm_b > 0)
124
            madetrash_b = 0;
125
        draw_sprite_ext(armspr, 0, (x + 22) - arm_b, y + 32 + 20 + arm_b, -2, 2, sin((12 + siner) / 4) * 15, c_white, 1);
126
    }
127
    draw_sprite_ext(spr_sorryhat, hat, x, (y - 20) + (sin(siner / 6) * 5), 2, 2, 0, c_white, 1);
128
    draw_sprite_ext(spr_sorry_headback, 0, x, y + (sin(siner / 6) * 3), 2, 2, 0, c_white, 1);
129
    draw_sprite_ext(spr_sorryleg, 0, x - 2 - (sin(siner / 6) * 2), y + 128, 2, 2 + (cos(siner / 3) * 0.1), 0, c_white, 1);
130
    draw_sprite_ext(spr_sorryleg, 0, x + 2 + (sin(siner / 6) * 2), y + 128, -2, 2 + (cos(siner / 3) * 0.1), 0, c_white, 1);
131
    draw_sprite_ext(spr_sorryear_l, 0, x - 32, (y - 22) + (sin(siner / 6) * 1), 2, 2, 0, c_white, 1);
132
    draw_sprite_ext(spr_sorryear_l, 0, x + 32, (y - 22) + (sin(siner / 6) * 1), -2, 2, 0, c_white, 1);
133
    draw_sprite_ext(spr_sorry_bodyback, 0, x, y + 64 + (sin(siner / 6) * 2), 2, 2, 0, c_white, 1);
134
    if (tailtype == 0)
135
    {
136
        minpull = sin(tailsiner / 12) * 1.7;
137
        if (minpull > 0)
138
            minpull += 0.3;
139
        if (minpull < 0)
140
            minpull -= 0.3;
141
        for (i = 0; i < 16; i += 1)
142
        {
143
            if (minpull >= 0)
144
                g = -1;
145
            if (minpull < 0)
146
                g = 1;
147
            draw_sprite_ext(spr_sorrytail_curveback, 0, x + (sin(tailsiner / 12) * 40), y + 82 + (sin(siner / 6) * 2), minpull + (i * 0.04 * g), 2, 0, c_white, 1);
148
        }
149
    }
150
    if (tailtype == 1)
151
    {
152
        rot = sin(tailsiner / 12) * 80;
153
        cut = 1;
154
        if (rot >= 46 || rot <= -46)
155
            cut = 0.5;
156
        if (rot >= 49 || rot <= -49)
157
            cut = 0.25;
158
        if (rot >= 52 || rot <= -52)
159
            cut = 0;
160
        add = (extend - (abs(sin(tailsiner / 12)) * extend)) * cut;
161
        if (abs(rot) < 58)
162
        {
163
            draw_sprite_ext(spr_sorrytail_vert, 0, x, (y + 42) - (add * 15), 2 - (add / 4), 2 + add, sin(tailsiner / 12) * 80, ch_color, 1);
164
            if (collision_line(x, (y + 42) - (add * 15), x + lengthdir_x(130 + (60 * add), rot - 90), ((y + 42) - (add * 15)) + lengthdir_y(130 + (60 * add), rot - 90), obj_heart, false, true))
165
                event_user(1);
166
            if (collision_line(x - 2, (y + 42) - (add * 15), (x + lengthdir_x(130 + (60 * add), rot - 90)) - 2, ((y + 42) - (add * 15)) + lengthdir_y(130 + (60 * add), rot - 90), obj_heart, false, true))
167
                event_user(1);
168
            if (collision_line(x + 2, (y + 42) - (add * 15), x + lengthdir_x(130 + (60 * add), rot - 90) + 2, ((y + 42) - (add * 15)) + lengthdir_y(130 + (60 * add), rot - 90), obj_heart, false, true))
169
                event_user(1);
170
            madech = 0;
171
        }
172
        if (rot >= 58)
173
        {
174
            if (madech == 0)
175
            {
176
                madech = 1;
177
                if (ch == 0)
178
                    ch = choose(1, 1, 0);
179
                else if (ch == 1)
180
                    ch = choose(0, 0, 1);
181
                else
182
                    ch = choose(0, 1);
183
                if (ch == 0)
184
                    ch_color = 16754964;
185
                else
186
                    ch_color = 4235519;
187
            }
188
            if (ch == 0)
189
                ch_color2 = merge_color(c_white, #14A9FF, abs(sin(siner / 2)));
190
            if (ch == 1)
191
                ch_color2 = merge_color(c_white, c_orange, abs(sin(siner / 2)));
192
            draw_sprite_ext(spr_sorrytail_curveback, 0, x + (sin(tailsiner / 12) * 44), y + 80, 2, 2, (sin(tailsiner / 12) * 60) - 60, ch_color2, 1);
193
        }
194
        if (rot <= -58)
195
        {
196
            if (madech == 0)
197
            {
198
                madech = 1;
199
                if (ch == 0)
200
                    ch = choose(1, 1, 0);
201
                else if (ch == 1)
202
                    ch = choose(0, 0, 1);
203
                else
204
                    ch = choose(0, 1);
205
                if (ch == 0)
206
                    ch_color = 16754964;
207
                else
208
                    ch_color = 4235519;
209
            }
210
            if (ch == 0)
211
                ch_color2 = merge_color(c_white, #14A9FF, abs(sin(siner / 2)));
212
            if (ch == 1)
213
                ch_color2 = merge_color(c_white, c_orange, abs(sin(siner / 2)));
214
            draw_sprite_ext(spr_sorrytail_curveback, 0, x + (sin(tailsiner / 12) * 44), y + 80, -2, 2, (sin(tailsiner / 12) * 60) + 60, ch_color2, 1);
215
        }
216
    }
217
    if (o_o == 0)
218
        o_o = 1;
219
    else
220
        o_o = 0;
221
}
222
if (shimmy == 1)
223
    x += (cos(siner / 12) * 6);