Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_knight_pointing_starchild_Draw_0

(view raw script w/o annotations or w/e)
1
if (con == 4)
2
{
3
    var _scale = (image_yscale + image_xscale) / 2;
4
    draw_sprite_ext(spr_thrash_missile_explosion, timer, x, y, _scale, _scale, image_angle - 90, c_red, 1);
5
    exit;
6
}
7
draw_set_blend_mode(bm_add);
8
drawtimer++;
9
var _glow = 
scr_pingpong
scr_pingpong

function
scr_pingpong(arg0, arg1)
{ if (arg1 == 0) return arg0; var __value = scr_loop(arg0, arg1 * 2); if (__value > arg1) __value = (arg1 * 2) - __value; return __value; } function scr_pingpong_ext(arg0, arg1, arg2) { var __range = arg2 - arg1; if (__range == 0) return arg0; var __value = scr_loop(arg0 - arg1, __range * 2); if (__value > __range) __value = (__range * 2) - __value; return __value + arg1; } function scr_loop(arg0, arg1) { if (arg1 == 0) return arg0; var __value = arg0 % arg1; if (arg0 < 0) __value += arg1; return __value; } function scr_loop_ext(arg0, arg1, arg2) { var __range = arg2 - arg1; if (__range == 0) return arg0; var __amount = arg0 - arg1; var __value = __amount % __range; if (__value < 0)
scr_debug_print(string(__amount) + " % " + string(__range) + " = " + string(__value));
if (__amount < 0) __value += __range; return __value + arg1; }
(drawtimer, 2) / 4;
10
var _glowcol = 16777215;
11
if (con >= 1)
12
{
13
    if (con > 1)
14
        _glowcol = 255;
15
    else
16
        _glowcol = merge_color(c_white, c_red, timer / 10);
17
}
18
scr_draw_outline
scr_draw_outline

function
scr_draw_outline(arg0, arg1, arg2)
{ gpu_set_fog(true, arg1, 0, 0); var __xdirA = arg0; var __xdirB = 0; var __ydirA = 0; var __ydirB = arg0; if ((image_angle % 90) != 0) { __xdirA = lengthdir_x(arg0, image_angle); __xdirB = lengthdir_x(arg0, image_angle + 90); __ydirA = lengthdir_y(arg0, image_angle + 90); __ydirB = lengthdir_y(arg0, image_angle); } draw_sprite_ext(sprite_index, image_index, x + __xdirA, y + __ydirA, image_xscale, image_yscale, image_angle, c_white, image_alpha * arg2); draw_sprite_ext(sprite_index, image_index, x - __xdirA, y - __ydirA, image_xscale, image_yscale, image_angle, c_white, image_alpha * arg2); draw_sprite_ext(sprite_index, image_index, x + __xdirB, y + __ydirB, image_xscale, image_yscale, image_angle, c_white, image_alpha * arg2); draw_sprite_ext(sprite_index, image_index, x - __xdirB, y - __ydirB, image_xscale, image_yscale, image_angle, c_white, image_alpha * arg2); gpu_set_fog(false, c_white, 0, 0); }
(image_xscale, _glowcol, _glow * image_alpha);
19
if (con > 0)
20
    draw_sprite_ext(sprite_index, 1, x, y, image_xscale, image_yscale, image_angle, outline, image_alpha);
21
draw_set_blend_mode(bm_normal);
22
draw_sprite_ext(sprite_index, 0, x, y, image_xscale, image_yscale, image_angle, image_blend, image_alpha);
23
if (difficulty < 2)
24
{
25
    image_alpha = clamp01(remap(lifetime - 15, lifetime, 1, 0, drawtimer));
26
    if (image_alpha < 1)
27
        active = false;
28
    if (image_alpha == 0)
29
        instance_destroy();
30
}