Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_dw_churchb_prophecyencounter_Draw_0

(view raw script w/o annotations or w/e)
1
var count = 0;
2
var space = 10;
3
var border = 8;
4
var _cx = camerax();
5
var _cy = cameray();
6
if (i_ex(bat))
7
{
8
    with (bat)
9
    {
10
        if (con == 1 || con == 10)
11
        {
12
            drawx = 0;
13
            drawscale = 1;
14
            if (con == 1)
15
            {
16
                if (!variable_instance_exists(id, "auraalph"))
17
                    auraalph = 0;
18
                auraalph = lerp(auraalph, 1, 0.1);
19
            }
20
            if (!variable_instance_exists(id, "drawsiner"))
21
                drawsiner = 0;
22
            drawsiner += 0.25;
23
            tempx = x;
24
            x += drawx;
25
            superscalex = 0;
26
            superdrawx = 0;
27
            superscalexb = 1;
28
            gpu_set_blendmode(bm_add);
29
            for (var i = 0; i < 5; i++)
30
            {
31
                var aura = (i * 9) + ((drawsiner * 3) % 9);
32
                var aurax = (aura * 0.75) + (sin(aura / 4) * 4);
33
                var auray = 45 * 
scr_ease_in
scr_ease_in

function
scr_ease_in(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_in_bounce(arg0, 0, 1, 1); case -2: return ease_in_elastic(arg0, 0, 1, 1); case -1: var _s = 1.70158; return arg0 * arg0 * (((_s + 1) * arg0) - _s); case 0: return arg0; case 1: return -cos(arg0 * 1.5707963267948966) + 1; case 6: return power(2, 10 * (arg0 - 1)); case 7: return -(sqrt(1 - sqr(arg0)) - 1); default: return power(arg0, arg1); } }
(aura / 45, 1);
34
                var aurayscale = min(80 / sprite_height, 1);
35
                draw_sprite_ext(sprite_index, image_index, x - ((aurax / 180) * drawscale * sprite_width), y - ((auray / 82) * sprite_height * aurayscale), (image_xscale + (aurax / 36)) * drawscale, image_yscale + ((auray / 36) * aurayscale), image_angle, c_red, image_alpha * (1 - (auray / 45)) * 0.5 * auraalph);
36
            }
37
            gpu_set_blendmode(bm_normal);
38
            var xmult = min((70 / sprite_width) * 4, 4);
39
            var ymult = min((80 / sprite_height) * 5, 5);
40
            var ysmult = min((80 / sprite_height) * 0.2, 0.2);
41
            draw_sprite_ext_centerscale(sprite_index, image_index, x + superdrawx + (sin(drawsiner / 5) * xmult), y + (cos(drawsiner / 5) * ymult), image_xscale + superscalex, image_yscale + (sin(drawsiner / 5) * ysmult), image_angle, 255, image_alpha * 0.2 * auraalph);
42
            draw_sprite_ext_centerscale(sprite_index, image_index, (x + superdrawx) - (sin(drawsiner / 5) * xmult), y - (cos(drawsiner / 5) * ymult), image_xscale + superscalex, image_yscale - (sin(drawsiner / 5) * ysmult), image_angle, 255, image_alpha * 0.2 * auraalph);
43
            
scr_draw_outline_ext
scr_draw_outline_ext

function
scr_draw_outline_ext(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)
{ gpu_set_fog(true, arg7, 0, 0); var __xdirA = arg9; var __xdirB = 0; var __ydirA = 0; var __ydirB = arg9; if ((arg6 % 90) != 0) { __xdirA = lengthdir_x(arg9, arg6); __xdirB = lengthdir_x(arg9, arg6 + 90); __ydirA = lengthdir_y(arg9, arg6 + 90); __ydirB = lengthdir_y(arg9, arg6); } draw_sprite_ext(arg0, arg1, arg2 + __xdirA, arg3 + __ydirA, arg4, arg5, arg6, c_white, arg8); draw_sprite_ext(arg0, arg1, arg2 - __xdirA, arg3 - __ydirA, arg4, arg5, arg6, c_white, arg8); draw_sprite_ext(arg0, arg1, arg2 + __xdirB, arg3 + __ydirB, arg4, arg5, arg6, c_white, arg8); draw_sprite_ext(arg0, arg1, arg2 - __xdirB, arg3 - __ydirB, arg4, arg5, arg6, c_white, arg8); gpu_set_fog(false, c_white, 0, 0); }
(sprite_index, image_index, x, y, image_xscale * drawscale, image_yscale, image_angle, c_red, image_alpha * 0.3 * auraalph, 2);
44
            draw_sprite_ext(sprite_index, image_index, x, y, image_xscale * drawscale, image_yscale, image_angle, image_blend, image_alpha);
45
            x = tempx;
46
        }
47
        var draw_collision = false;
48
        if (draw_collision)
49
        {
50
            var dir = image_angle - 90;
51
            var leng = 48;
52
            var size = 24;
53
            d_circle(x + lengthdir_x(leng, dir), y + lengthdir_y(leng, dir), size, 1);
54
            d_circle(x, y, size * 2, 1);
55
        }
56
    }
57
}