Deltarune (Chapter 5) script viewer

← back to main script listing

gml_GlobalScript_draw_enemyaura

(view raw script w/o annotations or w/e)
1
function draw_enemyaura(arg0 = true, arg1 = sprite_width / 2, arg2 = 0, arg3 = false, arg4 = true)
2
{
3
    if (!sprite_exists(sprite_index))
4
        exit;
5
    if (!variable_instance_exists(id, "drawaura"))
6
        drawaura = true;
7
    if (!variable_instance_exists(id, "facing"))
8
        facing = 0;
9
    if (!variable_instance_exists(id, "drawsiner"))
10
        drawsiner = 0;
11
    if (!variable_instance_exists(id, "auraalph"))
12
        auraalph = 1;
13
    if (!variable_instance_exists(id, "fakescale"))
14
        fakescale = 2;
15
    var targ = -1;
16
    with (obj_mainchara)
17
        targ = x + 18;
18
    if (arg0 && targ != -1)
19
    {
20
        if (targ > arg1)
21
            facing = 1;
22
        else
23
            facing = 0;
24
    }
25
    if (drawaura)
26
    {
27
        specialspritecase = 0;
28
        drawx = 0;
29
        fakescale = abs(fakescale);
30
        if (facing == 1)
31
        {
32
            fakescale = -abs(fakescale);
33
            drawx = arg2;
34
        }
35
        drawsiner += 0.25;
36
        var remx = x;
37
        x += drawx;
38
        superscalexb = 1;
39
        drawx = 0;
40
        drawscale = 1;
41
        xoff = 0;
42
        if (facing == 1)
43
            drawscale = -1;
44
        drawsiner += 0.25;
45
        tempx = x;
46
        x += drawx;
47
        superscalex = 0;
48
        superdrawx = 0;
49
        superscalexb = 1;
50
        if (facing == 1)
51
        {
52
            superscalex = -4;
53
            superscalexb = -1;
54
            superdrawx = -sprite_width * 2;
55
            xoff = 0;
56
        }
57
        gpu_set_blendmode(bm_add);
58
        for (i = 0; i < 5; i++)
59
        {
60
            var aura = (i * 9) + ((drawsiner * 3) % 9);
61
            var aurax = (aura * 0.75) + (sin(aura / 4) * 4);
62
            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);
63
            var aurayscale = min(80 / sprite_height, 1);
64
            draw_sprite_ext(sprite_index, image_index, x - xoff - ((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);
65
        }
66
        gpu_set_blendmode(bm_normal);
67
        var xmult = min((70 / sprite_width) * 4, 4);
68
        var ymult = min((80 / sprite_height) * 5, 5);
69
        var ysmult = min((80 / sprite_height) * 0.2, 0.2);
70
        draw_sprite_ext_centerscale(sprite_index, image_index, (x - xoff) + 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);
71
        draw_sprite_ext_centerscale(sprite_index, image_index, ((x - xoff) + 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);
72
        
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 - xoff, y, image_xscale * drawscale, image_yscale, image_angle, c_red, image_alpha * 0.3, 2 * auraalph);
73
        x = tempx;
74
        mymidx = x + (sprite_width / 2);
75
        mymidy = y + ((bbox_bottom - y) / 2);
76
        x = remx;
77
    }
78
    if (!arg4)
79
        exit;
80
    if (facing == 0)
81
        draw_sprite_ext(sprite_index, image_index, x, y, 2, 2, 0, image_blend, image_alpha);
82
    else
83
        draw_sprite_ext(sprite_index, image_index, x + arg2, y, -2, 2, 0, image_blend, image_alpha);
84
}