Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_titan_battle_hands_manager_Draw_0

(view raw script w/o annotations or w/e)
1
if (!surface_exists(hands_surface))
2
    hands_surface = surface_create(640, 480);
3
surface_set_target(hands_surface);
4
draw_clear_alpha(c_white, 0);
5
with (hand_1)
6
{
7
    if (fingers_broken == 4)
8
    {
9
        x += choose(-1, 0, 1);
10
        y += choose(-1, 0, 1);
11
        if (irandom(1))
12
        {
13
            with (instance_create_depth(x + irandom_range(-80, 80), y + irandom_range(-60, 60), choose(depth + 1, depth - 1), obj_battle_marker))
14
            {
15
                var bb = irandom(4);
16
                destroyoncomplete = true;
17
                sprite_index = spr_finisher_explosion;
18
                image_index = 0;
19
                image_speed = 0;
20
                image_alpha = 0;
21
                image_angle = irandom(360);
22
                image_xscale = 0.5;
23
                image_yscale = 0.5;
24
                direction = 90;
25
                speed = 8;
26
                
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("speed", 8, 1, 8);
27
                
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("image_xscale", 0.5, 0.25, 4 * ((0.25 * bb) + 0.5));
28
                
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("image_yscale", 0.5, 0.25, 4 * ((0.25 * bb) + 0.5));
29
                
scr_var
scr_var

function
scr_var(arg0, arg1)
{ variable_instance_set(id, arg0, arg1); }
("image_speed", (0.075 * bb) + 0.4);
30
                
scr_var
scr_var

function
scr_var(arg0, arg1)
{ variable_instance_set(id, arg0, arg1); }
("image_alpha", 1);
31
            }
32
        }
33
        if (other.hand_1_overload == 1)
34
        {
35
            snd_play(snd_explosion);
36
            
scr_shakescreen
scr_shakescreen

function
scr_shakescreen(arg0 = 4, arg1 = 4)
{ var shaker = instance_create(x, y, obj_shake); if (i_ex(shaker)) { shaker.shakex = arg0; shaker.shakey = arg1; } }
();
37
            for (var bb = 0; bb < 8; bb++)
38
            {
39
                with (instance_create_depth(x + irandom_range(-40, 40), y + irandom_range(-30, 30), choose(depth + 1, depth - 1), obj_battle_marker))
40
                {
41
                    destroyoncomplete = true;
42
                    sprite_index = spr_finisher_explosion;
43
                    image_index = 0;
44
                    image_speed = 0;
45
                    image_alpha = 0;
46
                    image_angle = irandom(360);
47
                    image_xscale = 0.5;
48
                    image_yscale = 0.5;
49
                    direction = irandom(360);
50
                    speed = 8;
51
                    
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("speed", 16, 1, 16);
52
                    
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("image_xscale", 0.5, 0.25, 4 * ((0.25 * bb) + 0.5));
53
                    
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("image_yscale", 0.5, 0.25, 4 * ((0.25 * bb) + 0.5));
54
                    
scr_var
scr_var

function
scr_var(arg0, arg1)
{ variable_instance_set(id, arg0, arg1); }
("image_speed", (0.075 * bb) + 0.4);
55
                    
scr_var
scr_var

function
scr_var(arg0, arg1)
{ variable_instance_set(id, arg0, arg1); }
("image_alpha", 1);
56
                }
57
            }
58
            with (instance_create_depth(x, y, depth, obj_battle_marker))
59
            {
60
                var bb = irandom(4);
61
                destroyoncomplete = true;
62
                sprite_index = spr_titan_shockwave_bullet_explosion;
63
                image_index = 0;
64
                image_speed = 1;
65
                image_alpha = 1;
66
                image_angle = irandom(360);
67
                image_xscale = 1;
68
                image_yscale = 0.5;
69
            }
70
            with (instance_create_depth(x, y, depth, obj_battle_marker))
71
            {
72
                var bb = irandom(4);
73
                destroyoncomplete = true;
74
                sprite_index = spr_titan_shockwave_bullet_explosion;
75
                image_index = 0;
76
                image_speed = 0.75;
77
                image_alpha = 1;
78
                image_angle = irandom(360);
79
                image_xscale = 1.5;
80
                image_yscale = 0.75;
81
            }
82
            with (instance_create_depth(x, y, depth, obj_battle_marker))
83
            {
84
                var bb = irandom(4);
85
                destroyoncomplete = true;
86
                sprite_index = spr_titan_shockwave_bullet_explosion;
87
                image_index = 0;
88
                image_speed = 0.5;
89
                image_alpha = 1;
90
                image_angle = irandom(360);
91
                image_xscale = 2;
92
                image_yscale = 1;
93
            }
94
            instance_destroy();
95
        }
96
    }
97
    draw_sprite_ext(sprite_index, image_index, x - __view_get(e__VW.XView, 0), y - __view_get(e__VW.YView, 0), image_xscale, image_yscale, image_angle, image_blend, 1);
98
    d3d_set_fog(true, c_white, 0, 0);
99
    draw_sprite_ext(sprite_index, image_index, x - __view_get(e__VW.XView, 0), y - __view_get(e__VW.YView, 0), image_xscale, image_yscale, image_angle, image_blend, other.hand_1_overload);
100
    d3d_set_fog(false, c_white, 0, 0);
101
    with (finger_1)
102
        draw_sprite_ext(sprite_index, image_index, x - __view_get(e__VW.XView, 0), y - __view_get(e__VW.YView, 0), image_xscale, image_yscale, image_angle, image_blend, 1);
103
    with (finger_2)
104
        draw_sprite_ext(sprite_index, image_index, x - __view_get(e__VW.XView, 0), y - __view_get(e__VW.YView, 0), image_xscale, image_yscale, image_angle, image_blend, 1);
105
    with (finger_3)
106
        draw_sprite_ext(sprite_index, image_index, x - __view_get(e__VW.XView, 0), y - __view_get(e__VW.YView, 0), image_xscale, image_yscale, image_angle, image_blend, 1);
107
    with (finger_4)
108
        draw_sprite_ext(sprite_index, image_index, x - __view_get(e__VW.XView, 0), y - __view_get(e__VW.YView, 0), image_xscale, image_yscale, image_angle, image_blend, 1);
109
}
110
with (hand_2)
111
{
112
    if (fingers_broken == 4)
113
    {
114
        x += choose(-1, 0, 1);
115
        y += choose(-1, 0, 1);
116
        if (irandom(1))
117
        {
118
            with (instance_create_depth(x + irandom_range(-80, 80), y + irandom_range(-60, 60), choose(depth + 1, depth - 1), obj_battle_marker))
119
            {
120
                var bb = irandom(4);
121
                destroyoncomplete = true;
122
                sprite_index = spr_finisher_explosion;
123
                image_index = 0;
124
                image_speed = 0;
125
                image_alpha = 0;
126
                image_angle = irandom(360);
127
                image_xscale = 0.5;
128
                image_yscale = 0.5;
129
                direction = 90;
130
                speed = 8;
131
                
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("speed", 8, 1, 8);
132
                
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("image_xscale", 0.5, 0.25, 4 * ((0.25 * bb) + 0.5));
133
                
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("image_yscale", 0.5, 0.25, 4 * ((0.25 * bb) + 0.5));
134
                
scr_var
scr_var

function
scr_var(arg0, arg1)
{ variable_instance_set(id, arg0, arg1); }
("image_speed", (0.075 * bb) + 0.4);
135
                
scr_var
scr_var

function
scr_var(arg0, arg1)
{ variable_instance_set(id, arg0, arg1); }
("image_alpha", 1);
136
            }
137
        }
138
        if (other.hand_2_overload == 1)
139
        {
140
            if (global.turntimer > 5)
141
                global.turntimer += 30;
142
            snd_play(snd_explosion);
143
            
scr_shakescreen
scr_shakescreen

function
scr_shakescreen(arg0 = 4, arg1 = 4)
{ var shaker = instance_create(x, y, obj_shake); if (i_ex(shaker)) { shaker.shakex = arg0; shaker.shakey = arg1; } }
();
144
            for (var bb = 0; bb < 8; bb++)
145
            {
146
                with (instance_create_depth(x + irandom_range(-40, 40), y + irandom_range(-30, 30), choose(depth + 1, depth - 1), obj_battle_marker))
147
                {
148
                    destroyoncomplete = true;
149
                    sprite_index = spr_finisher_explosion;
150
                    image_index = 0;
151
                    image_speed = 0;
152
                    image_alpha = 0;
153
                    image_angle = irandom(360);
154
                    image_xscale = 0.5;
155
                    image_yscale = 0.5;
156
                    direction = irandom(360);
157
                    speed = 16;
158
                    
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("speed", 16, 1, 16);
159
                    
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("image_xscale", 0.5, 0.25, 4 * ((0.25 * bb) + 0.5));
160
                    
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("image_yscale", 0.5, 0.25, 4 * ((0.25 * bb) + 0.5));
161
                    
scr_var
scr_var

function
scr_var(arg0, arg1)
{ variable_instance_set(id, arg0, arg1); }
("image_speed", (0.075 * bb) + 0.4);
162
                    
scr_var
scr_var

function
scr_var(arg0, arg1)
{ variable_instance_set(id, arg0, arg1); }
("image_alpha", 1);
163
                }
164
            }
165
            with (instance_create_depth(x, y, depth, obj_battle_marker))
166
            {
167
                var bb = irandom(4);
168
                destroyoncomplete = true;
169
                sprite_index = spr_titan_shockwave_bullet_explosion;
170
                image_index = 0;
171
                image_speed = 1;
172
                image_alpha = 1;
173
                image_angle = irandom(360);
174
                image_xscale = 1;
175
                image_yscale = 0.5;
176
            }
177
            with (instance_create_depth(x, y, depth, obj_battle_marker))
178
            {
179
                var bb = irandom(4);
180
                destroyoncomplete = true;
181
                sprite_index = spr_titan_shockwave_bullet_explosion;
182
                image_index = 0;
183
                image_speed = 0.75;
184
                image_alpha = 1;
185
                image_angle = irandom(360);
186
                image_xscale = 1.5;
187
                image_yscale = 0.75;
188
            }
189
            with (instance_create_depth(x, y, depth, obj_battle_marker))
190
            {
191
                var bb = irandom(4);
192
                destroyoncomplete = true;
193
                sprite_index = spr_titan_shockwave_bullet_explosion;
194
                image_index = 0;
195
                image_speed = 0.5;
196
                image_alpha = 1;
197
                image_angle = irandom(360);
198
                image_xscale = 2;
199
                image_yscale = 1;
200
            }
201
            instance_destroy();
202
        }
203
    }
204
    draw_sprite_ext(sprite_index, image_index, x - __view_get(e__VW.XView, 0), y - __view_get(e__VW.YView, 0), image_xscale, image_yscale, image_angle, image_blend, 1);
205
    d3d_set_fog(true, c_white, 0, 0);
206
    draw_sprite_ext(sprite_index, image_index, x - __view_get(e__VW.XView, 0), y - __view_get(e__VW.YView, 0), image_xscale, image_yscale, image_angle, image_blend, other.hand_2_overload);
207
    d3d_set_fog(false, c_white, 0, 0);
208
    with (finger_1)
209
        draw_sprite_ext(sprite_index, image_index, x - __view_get(e__VW.XView, 0), y - __view_get(e__VW.YView, 0), image_xscale, image_yscale, image_angle, image_blend, 1);
210
    with (finger_2)
211
        draw_sprite_ext(sprite_index, image_index, x - __view_get(e__VW.XView, 0), y - __view_get(e__VW.YView, 0), image_xscale, image_yscale, image_angle, image_blend, 1);
212
    with (finger_3)
213
        draw_sprite_ext(sprite_index, image_index, x - __view_get(e__VW.XView, 0), y - __view_get(e__VW.YView, 0), image_xscale, image_yscale, image_angle, image_blend, 1);
214
    with (finger_4)
215
        draw_sprite_ext(sprite_index, image_index, x - __view_get(e__VW.XView, 0), y - __view_get(e__VW.YView, 0), image_xscale, image_yscale, image_angle, image_blend, 1);
216
}
217
with (hand_1)
218
{
219
    with (finger_1)
220
        darkdraw();
221
    with (finger_2)
222
        darkdraw();
223
    with (finger_3)
224
        darkdraw();
225
    with (finger_4)
226
        darkdraw();
227
}
228
with (hand_2)
229
{
230
    with (finger_1)
231
        darkdraw();
232
    with (finger_2)
233
        darkdraw();
234
    with (finger_3)
235
        darkdraw();
236
    with (finger_4)
237
        darkdraw();
238
}
239
surface_reset_target();
240
draw_set_alpha(image_alpha);
241
for (a = 0; a < 60; a++)
242
{
243
    var side = 1;
244
    draw_surface_part(hands_surface, 0, a * 15, 640, 15, x + (sin(a + timer) * (3 - (image_alpha * 3)) * side), y + (a * 15));
245
}
246
draw_set_alpha(1);
247
248
enum e__VW
249
{
250
    XView,
251
    YView,
252
    WView,
253
    HView,
254
    Angle,
255
    HBorder,
256
    VBorder,
257
    HSpeed,
258
    VSpeed,
259
    Object,
260
    Visible,
261
    XPort,
262
    YPort,
263
    WPort,
264
    HPort,
265
    Camera,
266
    SurfaceID
267
}