Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_dw_church_magicalglass_breakable_Step_0

(view raw script w/o annotations or w/e)
1
if (con == 0)
2
{
3
    if (destroy)
4
    {
5
        con = 1;
6
        timer = 0;
7
    }
8
}
9
var targalpha = idlealpha;
10
if (
scr_onscreen
scr_onscreen

function
scr_onscreen(arg0)
{ obj = arg0; spacer = 0; if ((obj.x + obj.sprite_width + spacer) < camerax() || (obj.x - spacer) > (camerax() + 640) || (obj.y + obj.sprite_height + spacer) < cameray() || (obj.y - spacer) > (cameray() + 480)) return false; else return true; }
(self))
11
{
12
    with (obj_dw_churchb_darkclimb)
13
    {
14
        if (i_ex(sujumpoff))
15
        {
16
            if (place_meeting(x, y, sujumpoff))
17
            {
18
                targalpha = 0.8;
19
                break;
20
            }
21
        }
22
    }
23
    var specialcase = false;
24
    with (obj_dw_church_staircase)
25
    {
26
        if (con >= 10)
27
            specialcase = true;
28
    }
29
    if (specialcase)
30
    {
31
        clientlist = [1409];
32
        clientlist_length = 1;
33
    }
34
    if (targalpha == idlealpha)
35
    {
36
        for (var i = 0; i < clientlist_length; i++)
37
        {
38
            if (place_meeting(x, y, clientlist[i]))
39
            {
40
                targalpha = 0.8;
41
                break;
42
            }
43
        }
44
    }
45
}
46
if (targalpha == 0.8 && i_ex(obj_dw_churchc_dodge))
47
    idlealpha = 0.2;
48
image_alpha = lerp(image_alpha, targalpha, 0.125);
49
if (con == 1)
50
{
51
    var delaytime = delay;
52
    if (delay)
53
    {
54
        spr = 1252;
55
        for (var j = 0; j < sprite_get_number(spr); j++)
56
        {
57
            with (
scr_marker_ext
scr_marker_ext

function
scr_marker_ext(arg0, arg1, arg2, arg3 = 1, arg4 = 1, arg5 = 0, arg6 = 0, arg7 = 16777215, arg8 = depth, arg9 = false, arg10 = -1, arg11 = 1)
{ var thismarker = instance_create(arg0, arg1, obj_marker); with (thismarker) { depth = arg8; sprite_index = arg2; image_speed = arg5; image_xscale = arg3; image_yscale = arg4; image_index = arg6; image_blend = arg7; image_alpha = arg11; if (arg9)
scr_depth_alt();
} if (arg10 > 0)
scr_doom(thismarker, arg10);
return thismarker; } function scr_marker_fromasset(arg0, arg1 = depth, arg2 = false) { if (is_undefined(arg0)) { debug_message("Warning: scr_marker_fromasset() sprite_instance didn't exist"); return -4; } var sprite = layer_sprite_get_sprite(arg0); var index = layer_sprite_get_index(arg0); var imagespeed = layer_sprite_get_speed(arg0); var xscale = layer_sprite_get_xscale(arg0); var yscale = layer_sprite_get_yscale(arg0); var angle = layer_sprite_get_angle(arg0); var blend = layer_sprite_get_blend(arg0); var alpha = layer_sprite_get_alpha(arg0); var xloc = layer_sprite_get_x(arg0); var yloc = layer_sprite_get_y(arg0); var thismarker = instance_create_depth(xloc, yloc, arg1, obj_marker); with (thismarker) { sprite_index = sprite; image_index = index; image_speed = imagespeed; image_xscale = xscale; image_yscale = yscale; image_angle = angle; image_blend = blend; image_alpha = alpha; if (arg2)
scr_depth_alt(id, arg2);
} return thismarker; } function scr_assetgetinfo(arg0) { var sprite = layer_sprite_get_sprite(arg0); var index = layer_sprite_get_index(arg0); var xloc = layer_sprite_get_x(arg0); var yloc = layer_sprite_get_y(arg0); var xscale = layer_sprite_get_xscale(arg0); var yscale = layer_sprite_get_yscale(arg0); var angle = layer_sprite_get_angle(arg0); var blend = layer_sprite_get_blend(arg0); var alpha = layer_sprite_get_alpha(arg0); var imagespeed = layer_sprite_get_speed(arg0); return [sprite, index, xloc, yloc, xscale, yscale, angle, blend, alpha, imagespeed]; }
(x + choose(2, -2), y + choose(2, -2), spr, 2, 2, undefined, j, undefined, depth))
58
            {
59
                direction = random(360);
60
                scr_delay_var("gravity", 0.5 + random(0.1), delaytime);
61
                scr_delay_var("friction", 0, delaytime);
62
                scr_delay_var("speed", 2, delaytime);
63
                
scr_doom
scr_doom

function
scr_doom(arg0 = id, arg1)
{ with (instance_create_depth(0, 0, 0, obj_doom)) { alarm[0] target = arg0; persistent = arg0.persistent; } }
(id, 120);
64
            }
65
        }
66
        if (!nosound)
67
        {
68
            var volmod = 0.6;
69
            var snd = snd_play_complex(0, 0, undefined);
70
            snd_add_complex(snd, 0, 236, 0.6, volmod * 0.4, (delaytime - 1) + 2, -1, 0);
71
            snd_add_complex(snd, 1, 390, 0.8, volmod * 0.5, (delaytime - 1) + 0, -1, 0);
72
            snd_add_complex(snd, 2, 390, 0.71, volmod * 0.5, (delaytime - 1) + 0, -1, 0);
73
            snd_add_complex(snd, 3, 269, 0.7, volmod * 1, (delaytime - 1) + 0, -1, 0);
74
            snd_add_complex(snd, 4, 321, 1, volmod * 0.85, 0, -1, 0);
75
        }
76
    }
77
    else
78
    {
79
    }
80
    instance_destroy();
81
}