Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_tenna_lightemup_bullet_Draw_0

(view raw script w/o annotations or w/e)
1
if (i_ex(obj_lightemup_controller))
2
{
3
    if (mysprite == 1169)
4
    {
5
        var xoffset = 0;
6
        var yoffset = 0;
7
        var xoffset2 = 0;
8
        var yoffset2 = 0;
9
        var scale = image_xscale;
10
        if (targetsprite == 229)
11
        {
12
            xoffset = 2;
13
            yoffset = 1;
14
        }
15
        if (targetsprite == 3065)
16
        {
17
            xoffset = 4;
18
            yoffset = 6;
19
        }
20
        if (targetsprite == 3860)
21
        {
22
            xoffset = 4;
23
            yoffset = 0;
24
        }
25
        if (targetsprite == 4760)
26
        {
27
            image_angle += 4;
28
            xoffset = 8;
29
            yoffset = 8;
30
        }
31
        if (targetsprite == 667)
32
        {
33
            xoffset = 6;
34
            yoffset = 6;
35
        }
36
        if (sprite_index == spr_ball_collision_full2)
37
        {
38
            if (targetsprite == 3860)
39
            {
40
                xoffset = 3;
41
                yoffset = 5;
42
            }
43
            if (targetsprite == 667)
44
            {
45
                xoffset = 9;
46
                yoffset = 7;
47
            }
48
            xoffset2 = -4;
49
            yoffset2 = -4;
50
        }
51
        if (sprite_index == spr_ball_collision_full_3xscale)
52
        {
53
            if (targetsprite == 4670)
54
            {
55
                xoffset = -12;
56
                yoffset = -14;
57
            }
58
            if (targetsprite == 3897)
59
            {
60
                xoffset = -8;
61
                yoffset = -8;
62
            }
63
            if (targetsprite == 510)
64
            {
65
                xoffset = -10;
66
                yoffset = -8;
67
            }
68
            if (targetsprite == 3986)
69
            {
70
                xoffset = -4;
71
                yoffset = -6;
72
            }
73
            if (targetsprite == 3360)
74
            {
75
                xoffset = 0;
76
                yoffset = -9;
77
            }
78
            xoffset2 = -18;
79
            yoffset2 = -18;
80
        }
81
        if (spritechangecon == 0)
82
        {
83
            var thickness = 2;
84
            var wave_maxa = sprite_get_height(sprite_index);
85
            var wobbleamount = 1;
86
            var _shakex = 0;
87
            if (hittimer == 5)
88
                _shakex = 5;
89
            if (hittimer == 4)
90
                _shakex = -4;
91
            if (hittimer == 3)
92
                _shakex = 3;
93
            if (hittimer == 2)
94
                _shakex = -2;
95
            if (hittimer == 1)
96
                _shakex = 1;
97
            if (hittimer == 0)
98
                _shakex = 0;
99
            for (i = 0; i < wave_maxa; i += thickness)
100
                draw_sprite_part_ext(sprite_index, 0, 0, i * thickness, 400, thickness + 2, ((x + _shakex + xoffset2) - 18) + (sin((spritechangesiner + (i * 8)) / 30) * wobbleamount), ((y + yoffset2) - 21) + (i * thickness) + (sin(spritechangesiner / 16) * 3), image_xscale, image_yscale, image_blend, 0.7);
101
            wave_maxa = sprite_get_height(targetsprite) * scale;
102
            for (i = 0; i < wave_maxa; i += thickness)
103
                draw_sprite_part_ext(targetsprite, 0, 0, i * thickness, 400, thickness + 2, ((x + _shakex) - 18) + xoffset + (sin((spritechangesiner + (i * 8)) / 30) * wobbleamount), (y - 21) + yoffset + (i * thickness * scale) + (sin(spritechangesiner / 16) * 3), scale, scale, image_blend, image_alpha);
104
        }
105
        if (spritechangecon == 1)
106
        {
107
            var thickness = 2;
108
            var wave_maxa = sprite_get_height(sprite_index);
109
            var wobbleamount = 1;
110
            var progress = obj_shadowman_sharpshoot_target.tennahp / obj_shadowman_sharpshoot_target.tennahpmax;
111
            var _rate = lerp(35, 80, progress);
112
            var wobblespeed = round(_rate / 5);
113
            spritechangesiner += spritechangespeed;
114
            spritechangetimer++;
115
            if (spritechangetimer < wobblespeed)
116
            {
117
                wobbleamount = lerp(1, 12, spritechangetimer / wobblespeed);
118
                spritechangespeed = lerp(1, 20, spritechangetimer / wobblespeed);
119
            }
120
            if (spritechangetimer == (wobblespeed - 2))
121
            {
122
                with (obj_lightemup_controller)
123
                {
124
                    if (extra_timer < 10)
125
                        extra_timer = 9;
126
                }
127
            }
128
            if (spritechangetimer == wobblespeed)
129
            {
130
                wobbleamount = 12;
131
                event_user(1);
132
            }
133
            if (spritechangetimer > wobblespeed)
134
            {
135
                wobbleamount = lerp(12, 1, (spritechangetimer - 15) / wobblespeed);
136
                spritechangespeed = lerp(20, 1, (spritechangetimer - 15) / wobblespeed);
137
            }
138
            if (spritechangetimer == (wobblespeed * 2))
139
            {
140
                spritechangetimer = 0;
141
                spritechangecon = 0;
142
            }
143
            var _shakex = 0;
144
            if (hittimer == 5)
145
                _shakex = 5;
146
            if (hittimer == 4)
147
                _shakex = -4;
148
            if (hittimer == 3)
149
                _shakex = 3;
150
            if (hittimer == 2)
151
                _shakex = -2;
152
            if (hittimer == 1)
153
                _shakex = 1;
154
            if (hittimer == 0)
155
                _shakex = 0;
156
            for (i = 0; i < wave_maxa; i += thickness)
157
                draw_sprite_part_ext(sprite_index, 0, 0, i * thickness, 400, thickness + 2, ((x + _shakex + xoffset2) - 18) + (sin((spritechangesiner + (i * 8)) / 30) * wobbleamount), ((y + yoffset2) - 21) + (i * thickness) + (sin(spritechangesiner / 16) * 3), image_xscale, image_yscale, image_blend, 0.7);
158
            wave_maxa = sprite_get_height(targetsprite);
159
            for (i = 0; i < wave_maxa; i += thickness)
160
                draw_sprite_part_ext(targetsprite, 0, 0, i * thickness, 400, thickness + 2, ((x + _shakex) - 18) + xoffset + (sin((spritechangesiner + (i * 8)) / 30) * wobbleamount), (y - 21) + yoffset + (i * thickness) + (sin(spritechangesiner / 16) * 3), image_xscale, image_yscale, image_blend, image_alpha);
161
        }
162
    }
163
    else
164
    {
165
        var _shakex = 0;
166
        if (hittimer == 5)
167
            _shakex = 5;
168
        if (hittimer == 4)
169
            _shakex = -4;
170
        if (hittimer == 3)
171
            _shakex = 3;
172
        if (hittimer == 2)
173
            _shakex = -2;
174
        if (hittimer == 1)
175
            _shakex = 1;
176
        if (hittimer == 0)
177
            _shakex = 0;
178
        draw_sprite_ext(sprite_index, image_index, x + _shakex, y, image_xscale, image_yscale, image_angle, image_blend, 0.5);
179
        draw_set_color(c_orange);
180
        draw_sprite_ext(mysprite, timer, (x + _shakex) - (16 * image_xscale), y - (30 * image_yscale), image_yscale / 1.5, image_xscale / 1.5, 0, c_white, image_alpha);
181
    }
182
}