Deltarune (Chapter 5) script viewer

← back to main script listing

gml_Object_obj_pink_enemy_Draw_0

related scripts: Alarm_4Alarm_6CleanUp_0Create_0Draw_0 Other_10Other_11Other_12Other_22Step_0

(view raw script w/o annotations or w/e)
1
if (saturation_effect_enabled)
2
{
3
    shader_replace_simple_set_hook(57);
4
    shader_set_uniform_f(pos_uni, pos);
5
}
6
if (idlesprite == spr_pink_very_hurt)
7
{
8
    shader_replace_simple_set_hook(57);
9
    shader_set_uniform_f(pos_uni, pos);
10
    wave_siner++;
11
    distortsiner++;
12
    var __offsetx = -6;
13
    var __offsety = 28;
14
    for (i = 0; i < sprite_height; i += thickness)
15
        draw_sprite_part_ext(spr_pink_very_hurt_2xscale, image_index, 0, i * thickness, sprite_width, thickness + 2, x + shakex + __offsetx + (sin((wave_siner + (i * 8)) / 30) * 3), y + (i * thickness) + __offsety, 1, 1, c_white, 1);
16
    shader_replace_simple_reset_hook();
17
    turnredcon = 1;
18
    if (turnredcon == 1)
19
    {
20
        turnredtimer++;
21
        gpu_set_fog(1, c_red, 0, 0);
22
        __offsetx = -6;
23
        __offsety = 28;
24
        for (i = 0; i < sprite_height; i += thickness)
25
            draw_sprite_part_ext(spr_pink_very_hurt_2xscale, image_index, 0, i * thickness, sprite_width, thickness + 2, x + shakex + __offsetx + (sin((wave_siner + (i * 8)) / 30) * 3), y + (i * thickness) + __offsety, 1, 1, c_white, 0.2 + (sin(turnredtimer * 0.35) * 0.2));
26
        gpu_set_fog(0, c_white, 0, 0);
27
    }
28
    if ((turnredtimer % 15) == 0)
29
    {
30
        var smokey = instance_create(x + 50, y + 35 + irandom(20), obj_afterimage_grow);
31
        with (smokey)
32
            
scr_script_delayed
scr_script_delayed

function
scr_script_delayed()
{ var __scriptdelay = instance_create(0, 0, obj_script_delayed); __scriptdelay.script = argument[0]; __scriptdelay.alarm[0] = argument[1]; __scriptdelay.target = id; for (var __i = 0; __i < (argument_count - 2); __i++) __scriptdelay.script_arg[__i] = argument[__i + 2]; __scriptdelay.arg_count = argument_count - 2; return __scriptdelay; } function scr_script_delayed_until() { var __scriptdelay = instance_create(0, 0, obj_script_delayed_function); __scriptdelay.script = argument[0]; __scriptdelay.condition = argument[1]; __scriptdelay.target = id; for (var __i = 0; __i < (argument_count - 2); __i++) __scriptdelay.script_arg[__i] = argument[__i + 2]; __scriptdelay.arg_count = argument_count - 2; return __scriptdelay; } function delay_function(arg0, arg1) { return
scr_script_delayed(arg0, arg1);
}
(scr_var, 1, "visible", 1);
33
        smokey.visible = 0;
34
        smokey.depth = depth + 10;
35
        smokey.image_alpha = 2.5;
36
        smokey.sprite_index = spr_cakesmoke;
37
        smokey.hspeed = random_range(2, 4);
38
        if (idlesprite == spr_pink_run || idlesprite == spr_mew_kick_r || idlesprite == spr_pink_yelling_r || idlesprite == spr_pink_shocked_r || idlesprite == spr_mew_pushing)
39
            smokey.hspeed = random_range(-2, -4);
40
        smokey.gravity = -0.5;
41
        smokey.friction = 0.2;
42
        smokey.vspeed = random_range(-1, -2);
43
    }
44
    if (saturation_effect_enabled)
45
        shader_replace_simple_reset_hook();
46
    exit;
47
}
48
if ((state == 3 && hurttimer >= 0) || hurtcon > 0)
49
{
50
    if (datecount != 3)
51
    {
52
        with (obj_pink_dummy)
53
            shocktimer = 30;
54
        if ((hurttimer == 30 && hurtcon == 0) || (hurttimer < 5 && hurtcon == 1))
55
        {
56
            snd_stop(snd_pink_gasp);
57
            snd_play_x(snd_pink_gasp, 1, 1);
58
            hurtcon = 1;
59
            headspeed = -16;
60
            
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ var _id = self; if (!is_struct(self)) _id = id; 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_lerpcol() { if (argument_count < 6) ___lerpvar = scr_lerpcol_instance(id, argument[0], argument[1], argument[2], argument[3]); else ___lerpvar = scr_lerpcol_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]); return ___lerpvar; }
("headangle", 0, 360, 24, 1, "out");
61
        }
62
        if (hurtcon == 1)
63
        {
64
            headspeed += 1.4;
65
            heady += headspeed;
66
            if (heady > 0)
67
            {
68
                heady = 0;
69
                hurtcon = 0;
70
                talktimer = 0;
71
                if (damagedialogue == 0 && datecount != 2)
72
                    damagedialogue = 1;
73
            }
74
        }
75
        draw_sprite_ext(hurtsprite, 0, x + 10 + shakex + hurtspriteoffx + 36, (y - 2) + hurtspriteoffy + 26, 2, 2, 0, image_blend, 1);
76
        if (pink_head_white_alpha > 0)
77
        {
78
            d3d_set_fog(true, c_white, 0, 1);
79
            draw_sprite_ext(hurtsprite, 0, x + 10 + shakex + hurtspriteoffx + 36, (y - 2) + hurtspriteoffy + 26, 2, 2, 0, image_blend, pink_head_white_alpha);
80
            d3d_set_fog(false, c_black, 0, 0);
81
        }
82
        draw_sprite_ext(spr_pink_front_surprised_nohead, 1, x + 10 + headx + 36, (y - 2) + heady + 26, 2, 2, headangle, image_blend, 1);
83
        if (pink_head_white_alpha > 0)
84
        {
85
            d3d_set_fog(true, c_white, 0, 1);
86
            draw_sprite_ext(spr_pink_front_surprised_nohead, 1, x + 10 + headx + 36, (y - 2) + heady + 26, 2, 2, headangle, image_blend, pink_head_white_alpha);
87
            d3d_set_fog(false, c_black, 0, 0);
88
            pink_head_white_alpha -= 0.1;
89
        }
90
    }
91
    else
92
    {
93
        draw_sprite_ext(spr_pink_front_surprised, hurttimer / 2, x + shakex + hurtspriteoffx + 43, y + hurtspriteoffy + 42, 2, 2, 0, image_blend, 1);
94
        if (turnredcon == 1)
95
        {
96
            turnredtimer++;
97
            gpu_set_fog(1, c_red, 0, 0);
98
            draw_sprite_ext(spr_pink_front_surprised, hurttimer / 2, x + shakex + hurtspriteoffx + 43, y + hurtspriteoffy + 42, 2, 2, 0, image_blend, 0.2 + (sin(turnredtimer * 0.35) * 0.2));
99
            gpu_set_fog(0, c_white, 0, 0);
100
        }
101
    }
102
}
103
else
104
{
105
    if (idlesprite == spr_pink_laugh_pouring)
106
    {
107
        
scr_enemy_drawidle_generic
scr_enemy_drawidle_generic

function
scr_enemy_drawidle_generic(arg0)
{ if (state == 0) { fsiner += 1; siner += arg0; thissprite = idlesprite; if (global.mercymod[myself] >= global.mercymax[myself]) thissprite = sparedsprite; draw_monster_body_part(thissprite, siner, x, y); } }
(1/3);
108
    }
109
    else if (idlesprite == spr_pink_sweat_drop)
110
    {
111
        siner += (1/3);
112
        if (siner > 2)
113
            siner = 2;
114
        draw_monster_body_part(spr_pink_sweat_drop, siner, x + 14, y - 2);
115
    }
116
    else if (idlesprite == spr_pink_front_ohoho)
117
    {
118
        siner += (1/3);
119
        draw_monster_body_part(spr_pink_front_ohoho, siner, x + 46, y + 39);
120
    }
121
    else if (idlesprite == spr_pink_laugh)
122
    {
123
        siner += (1/3);
124
        draw_monster_body_part(spr_pink_laugh, siner, x + 52, y + 34);
125
    }
126
    else if (idlesprite == spr_pink_front_angry)
127
    {
128
        siner += 0.16666666666666666;
129
        draw_monster_body_part(spr_pink_front_angry, siner, x + 52, y + 38);
130
    }
131
    else if (idlesprite == spr_pink_front_angry_blink)
132
    {
133
        siner += 0.16666666666666666;
134
        draw_monster_body_part(spr_pink_front_angry_blink, siner, x + 52, y + 38);
135
    }
136
    else if (idlesprite == spr_pink_front_sweat)
137
    {
138
        siner += 0.16666666666666666;
139
        draw_monster_body_part(spr_pink_front_sweat, siner, x + 52, y + 38);
140
    }
141
    else if (idlesprite == spr_pink_peace_sign)
142
    {
143
        siner += 0.16666666666666666;
144
        draw_monster_body_part(spr_pink_peace_sign, siner, x + 20, y);
145
    }
146
    else if (idlesprite == spr_mew_stomp)
147
    {
148
        draw_monster_body_part(spr_mew_stomp, siner, x + 52, y + 38);
149
    }
150
    else if (idlesprite == spr_mew_stomp2)
151
    {
152
        siner += 0.16666666666666666;
153
        draw_monster_body_part(spr_mew_stomp, siner, x + 52, y + 38);
154
    }
155
    else if (idlesprite == spr_mew_stomp_angrier)
156
    {
157
        siner += 0.5;
158
        draw_monster_body_part(spr_mew_stomp, siner, x + 52, y + 38);
159
    }
160
    else if (idlesprite == spr_pink_yelling)
161
    {
162
        siner += 0.16666666666666666;
163
        draw_monster_body_part(spr_pink_yelling, siner, x + 6, y - 6);
164
    }
165
    else if (idlesprite == spr_mew_kick)
166
    {
167
        draw_monster_body_part(spr_mew_kick, siner, x + 18, y - 4);
168
    }
169
    else if (idlesprite == spr_mew_kick_r)
170
    {
171
        draw_monster_body_part(spr_mew_kick_r, siner, x + 18, y - 4);
172
    }
173
    else if (idlesprite == spr_mew_pushing)
174
    {
175
        siner += 0.16666666666666666;
176
        draw_monster_body_part(spr_mew_pushing, siner, x + 18 + (sin(siner * 1) * 5), y - 4);
177
        if (dateflashcon == 1)
178
        {
179
            dateflashsiner++;
180
            d3d_set_fog(true, c_white, 0, 1);
181
            draw_sprite_ext_flash(spr_mew_pushing, siner, x + 18 + (sin(siner * 1) * 5), y - 4, image_xscale, image_yscale, 0, c_white, (sin(dateflashsiner / 5) * 0.5) + 0.5);
182
            d3d_set_fog(false, c_black, 0, 0);
183
        }
184
    }
185
    else if (idlesprite == spr_pink_shocked_r)
186
    {
187
        siner += 0.5;
188
        draw_monster_body_part(spr_pink_shocked_r, siner, x, y);
189
        if (dateflashcon == 1)
190
        {
191
            dateflashsiner++;
192
            d3d_set_fog(true, c_white, 0, 1);
193
            draw_sprite_ext_flash(spr_pink_shocked_r, siner, x, y, image_xscale, image_yscale, 0, c_white, (sin(dateflashsiner / 5) * 0.5) + 0.5);
194
            d3d_set_fog(false, c_black, 0, 0);
195
        }
196
    }
197
    else if (idlesprite == spr_pink_shocked)
198
    {
199
        siner += 0.5;
200
        draw_monster_body_part(spr_pink_shocked, siner, x, y);
201
        if (dateflashcon == 1)
202
        {
203
            dateflashsiner++;
204
            d3d_set_fog(true, c_white, 0, 1);
205
            draw_sprite_ext_flash(spr_pink_shocked, siner, x, y, image_xscale, image_yscale, 0, c_white, (sin(dateflashsiner / 5) * 0.5) + 0.5);
206
            d3d_set_fog(false, c_black, 0, 0);
207
        }
208
    }
209
    else if (idlesprite == spr_pink_run)
210
    {
211
        siner += 0.5;
212
        draw_monster_body_part(spr_pink_run, siner, x + 18, y + 35);
213
        if (dateflashcon == 1)
214
        {
215
            dateflashsiner++;
216
            d3d_set_fog(true, c_white, 0, 1);
217
            draw_sprite_ext_flash(spr_pink_run, siner, x + 18, y + 35, image_xscale, image_yscale, 0, c_white, (sin(dateflashsiner / 5) * 0.5) + 0.5);
218
            d3d_set_fog(false, c_black, 0, 0);
219
        }
220
    }
221
    else if (idlesprite == spr_pink_walk_right)
222
    {
223
        siner += 0.5;
224
        draw_monster_body_part(spr_pink_walk_right, siner, x + 6, y + 4);
225
    }
226
    else if (idlesprite == spr_pink_yelling_r && !i_ex(obj_date_controller))
227
    {
228
        siner += 0.16666666666666666;
229
        draw_monster_body_part(spr_pink_yelling_r, siner, x + 6, y + 6);
230
        dateflashsiner++;
231
        d3d_set_fog(true, c_white, 0, 1);
232
        draw_sprite_ext_flash(spr_pink_yelling_r, siner, x + 6, y + 6, image_xscale, image_yscale, 0, c_white, (sin(dateflashsiner / 5) * 0.5) + 0.5);
233
        d3d_set_fog(false, c_black, 0, 0);
234
    }
235
    else if (idlesprite == spr_pink_yelling_r && i_ex(obj_date_controller))
236
    {
237
        draw_monster_body_part(spr_pink_yelling_r, 1, x + 6, y + 6);
238
        dateflashsiner++;
239
        d3d_set_fog(true, c_white, 0, 1);
240
        draw_sprite_ext_flash(spr_pink_yelling_r, 1, x + 6, y + 6, image_xscale, image_yscale, 0, c_white, (sin(dateflashsiner / 5) * 0.5) + 0.5);
241
        d3d_set_fog(false, c_black, 0, 0);
242
    }
243
    else if (idlesprite == spr_pink_kneeling_sad)
244
    {
245
        draw_monster_body_part(spr_pink_kneeling_sad, siner, x + 18, y - 4);
246
    }
247
    else if (idlesprite == spr_pink_kneeling_sad2)
248
    {
249
        siner += 0.16666666666666666;
250
        draw_monster_body_part(spr_pink_kneeling_sad2, siner, x + 18, y - 4);
251
    }
252
    else if (idlesprite == spr_pink_kneeling_crying_loop)
253
    {
254
        siner += 0.16666666666666666;
255
        draw_monster_body_part(spr_pink_kneeling_crying_loop, siner, x + 18, y - 6);
256
    }
257
    else if (idlesprite == spr_pink_kneeling_crying_loop)
258
    {
259
        siner += 0.16666666666666666;
260
        draw_monster_body_part(spr_pink_kneeling_crying_loop, siner, x + 18, y - 6);
261
    }
262
    else
263
    {
264
        
scr_enemy_drawidle_generic
scr_enemy_drawidle_generic

function
scr_enemy_drawidle_generic(arg0)
{ if (state == 0) { fsiner += 1; siner += arg0; thissprite = idlesprite; if (global.mercymod[myself] >= global.mercymax[myself]) thissprite = sparedsprite; draw_monster_body_part(thissprite, siner, x, y); } }
(0.16666666666666666);
265
        if (dateflashcon == 1)
266
        {
267
            dateflashsiner++;
268
            d3d_set_fog(true, c_white, 0, 1);
269
            
scr_enemy_drawidle_generic
scr_enemy_drawidle_generic

function
scr_enemy_drawidle_generic(arg0)
{ if (state == 0) { fsiner += 1; siner += arg0; thissprite = idlesprite; if (global.mercymod[myself] >= global.mercymax[myself]) thissprite = sparedsprite; draw_monster_body_part(thissprite, siner, x, y); } }
(0.16666666666666666);
270
            d3d_set_fog(false, c_black, 0, 0);
271
        }
272
    }
273
    if (turnredcon == 1)
274
    {
275
        turnredtimer++;
276
        gpu_set_fog(1, c_red, 0, 0);
277
        if (idlesprite == spr_pink_kneeling_sad2)
278
            draw_sprite_ext(spr_pink_kneeling_sad2, siner, x + 18, y - 4, image_xscale, image_yscale, 0, c_red, 0.2 + (sin(turnredtimer * 0.35) * 0.2));
279
        else if (idlesprite == spr_pink_front_sweat)
280
            draw_sprite_ext(spr_pink_front_sweat, siner, x + 52, y + 38, image_xscale, image_yscale, 0, c_red, 0.2 + (sin(turnredtimer * 0.35) * 0.2));
281
        else
282
            draw_sprite_ext(thissprite, siner, x, y, image_xscale, image_yscale, 0, c_red, 0.2 + (sin(turnredtimer * 0.35) * 0.2));
283
        gpu_set_fog(0, c_white, 0, 0);
284
        if ((turnredtimer % 5) == 0)
285
        {
286
            var smokey = instance_create(x + 50, y + 35 + irandom(20), obj_afterimage_grow);
287
            with (smokey)
288
                
scr_script_delayed
scr_script_delayed

function
scr_script_delayed()
{ var __scriptdelay = instance_create(0, 0, obj_script_delayed); __scriptdelay.script = argument[0]; __scriptdelay.alarm[0] = argument[1]; __scriptdelay.target = id; for (var __i = 0; __i < (argument_count - 2); __i++) __scriptdelay.script_arg[__i] = argument[__i + 2]; __scriptdelay.arg_count = argument_count - 2; return __scriptdelay; } function scr_script_delayed_until() { var __scriptdelay = instance_create(0, 0, obj_script_delayed_function); __scriptdelay.script = argument[0]; __scriptdelay.condition = argument[1]; __scriptdelay.target = id; for (var __i = 0; __i < (argument_count - 2); __i++) __scriptdelay.script_arg[__i] = argument[__i + 2]; __scriptdelay.arg_count = argument_count - 2; return __scriptdelay; } function delay_function(arg0, arg1) { return
scr_script_delayed(arg0, arg1);
}
(scr_var, 1, "visible", 1);
289
            smokey.visible = 0;
290
            smokey.depth = depth + 10;
291
            smokey.image_alpha = 2.5;
292
            smokey.sprite_index = spr_cakesmoke;
293
            smokey.hspeed = random_range(2, 4);
294
            if (idlesprite == spr_pink_run || idlesprite == spr_mew_kick_r || idlesprite == spr_pink_yelling_r || idlesprite == spr_pink_shocked_r || idlesprite == spr_mew_pushing)
295
                smokey.hspeed = random_range(-2, -4);
296
            smokey.gravity = -0.5;
297
            smokey.friction = 0.2;
298
            smokey.vspeed = random_range(-1, -2);
299
        }
300
    }
301
    else if (datecount >= 1 || dateflashcon == 1)
302
    {
303
        turnredtimer++;
304
        if ((turnredtimer % 15) == 0)
305
        {
306
            var smokey = instance_create(x + 50, y + 35 + irandom(20), obj_afterimage_grow);
307
            with (smokey)
308
                
scr_script_delayed
scr_script_delayed

function
scr_script_delayed()
{ var __scriptdelay = instance_create(0, 0, obj_script_delayed); __scriptdelay.script = argument[0]; __scriptdelay.alarm[0] = argument[1]; __scriptdelay.target = id; for (var __i = 0; __i < (argument_count - 2); __i++) __scriptdelay.script_arg[__i] = argument[__i + 2]; __scriptdelay.arg_count = argument_count - 2; return __scriptdelay; } function scr_script_delayed_until() { var __scriptdelay = instance_create(0, 0, obj_script_delayed_function); __scriptdelay.script = argument[0]; __scriptdelay.condition = argument[1]; __scriptdelay.target = id; for (var __i = 0; __i < (argument_count - 2); __i++) __scriptdelay.script_arg[__i] = argument[__i + 2]; __scriptdelay.arg_count = argument_count - 2; return __scriptdelay; } function delay_function(arg0, arg1) { return
scr_script_delayed(arg0, arg1);
}
(scr_var, 1, "visible", 1);
309
            smokey.visible = 0;
310
            smokey.depth = depth + 10;
311
            smokey.image_alpha = 2.5;
312
            smokey.sprite_index = spr_cakesmoke;
313
            smokey.hspeed = random_range(2, 4);
314
            if (idlesprite == spr_pink_run || idlesprite == spr_mew_kick_r || idlesprite == spr_pink_yelling_r || idlesprite == spr_pink_shocked_r || idlesprite == spr_mew_pushing)
315
                smokey.hspeed = random_range(-2, -4);
316
            smokey.gravity = -0.5;
317
            smokey.friction = 0.2;
318
            smokey.vspeed = random_range(-1, -2);
319
            smokey.image_xscale = 0.25;
320
            smokey.image_yscale = 0.25;
321
        }
322
    }
323
    if (i_ex(obj_date_ui) && obj_date_ui.electricity_con == 0)
324
    {
325
        if (electricity_con == 1)
326
        {
327
            var _elec_x_offset = 0;
328
            if (idlesprite == spr_mew_stomp)
329
                _elec_x_offset = 16;
330
            if (idlesprite == spr_mew_stomp2)
331
                _elec_x_offset = 16;
332
            if (idlesprite == spr_mew_stomp_angrier)
333
                _elec_x_offset = 16;
334
            draw_sprite_ext(spr_pink_electricity, electricity_timer, x + _elec_x_offset, y - 10, 1.5, 1.8, 0, c_white, 1);
335
            electricity_timer++;
336
            if (electricity_timer == 1)
337
                snd_loop(snd_electroshock_loop);
338
            if (electricity_timer == 30)
339
            {
340
                snd_stop(snd_electroshock_loop);
341
                electricity_timer = 0;
342
                electricity_con = 0;
343
            }
344
        }
345
        else
346
        {
347
            snd_stop(snd_electroshock_loop);
348
        }
349
    }
350
}
351
if (saturation_effect_enabled)
352
    shader_replace_simple_reset_hook();
353
if (talked > 0 && talked < 1)
354
{
355
}
356
else if (becomeflash == 0)
357
{
358
    flash = 0;
359
}
360
else
361
{
362
    becomeflash = 0;
363
}
364
if (talked == 0.41 && i_ex(obj_growtangle) && i_ex(obj_heart) && intropurple_y != 0)
365
{
366
    depth = obj_heart.depth - 5;
367
    draw_set_alpha(introalpha);
368
    draw_set_color(purple_color);
369
    d_rectangle(obj_growtangle.x - 71, obj_growtangle.y + 71 + intropurple_y, obj_growtangle.x + 71, obj_growtangle.y + 71, false);
370
    draw_set_alpha(1);
371
}