Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_ch4_DCC00_jackenstein_Create_0

(view raw script w/o annotations or w/e)
1
_is_init = false;
2
image_speed = 0;
3
image_was = 0;
4
scr_darksize
scr_darksize

function
scr_darksize()
{ var inst = id; if (argument_count) inst = argument0; inst.image_xscale = 2; inst.image_yscale = 2; }
(id);
5
current_mode = 0;
6
current_state = 0;
7
dust_timer = 0;
8
dust_counter = 0;
9
dust = -4;
10
climb_speed = 1;
11
fixed_x_pos = 210;
12
glassrows = obj_dw_churchc_finalclimb.glassrows;
13
glassheights = obj_dw_churchc_finalclimb.glassheights;
14
15
dust_effect = function()
16
{
17
    dust_counter++;
18
    snd_play(snd_wing, 1, 1.2);
19
    snd_play(snd_glass_crunch, 0.4, 1.2);
20
    var x_offset = ((dust_counter % 2) == 1) ? 0 : 40;
21
    dust = instance_create(x + 100 + x_offset, y + 260, obj_slidedust);
22
    dust.depth = depth + 5;
23
    with (dust)
24
    {
25
        vspeed = -2;
26
        hspeed = -1 + random(2);
27
    }
28
};
29
30
crack_a_row = function()
31
{
32
    for (var i = 0; i < array_length(glassheights); i++)
33
    {
34
        var _top = glassheights[i];
35
        var _bot = glassheights[i] + 164;
36
        var _hand = bbox_top + 40;
37
        var _foot = bbox_bottom - 120;
38
        if ((_hand > _top && _hand < _bot) || (_foot > _top && _foot < _bot))
39
        {
40
            with (obj_dw_churchc_finalclimb)
41
            {
42
                glass_row_crack(i);
43
                if (i > 8)
44
                    glass_row_shake([i, 3]);
45
                else
46
                    glass_row_shake([i, 1]);
47
            }
48
        }
49
    }
50
};
51
52
start_climbing = function()
53
{
54
    change_mode(1);
55
};
56
57
stop_climbing = function()
58
{
59
    change_mode(0);
60
};
61
62
start_slipping = function()
63
{
64
    change_mode(2);
65
};
66
67
start_falling = function()
68
{
69
    change_mode(3);
70
};
71
72
change_mode = function(arg0)
73
{
74
    if (current_mode == arg0)
75
        exit;
76
    exit_mode(arg0);
77
};
78
79
enter_mode = function(arg0)
80
{
81
    switch (arg0)
82
    {
83
        case 0:
84
            change_state(0);
85
            break;
86
        case 1:
87
            break;
88
        case 2:
89
            change_state(0);
90
            vspeed = 10;
91
            
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ 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_lerpvar_respect() { 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]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("friction", 0, 1, 12, "out");
92
            
scr_shakeobj
scr_shakeobj

function
scr_shakeobj()
{ var _shakeobj = instance_create(x, y, obj_shakeobj); _shakeobj.target = id; if (argument_count >= 1) { if (i_ex(argument0)) _shakeobj.target = argument0; } if (argument_count >= 2) { if (argument1 != -1) _shakeobj.shakeamt = argument1; } if (argument_count >= 3) { if (argument2 != -1) _shakeobj.shakereduct = argument2; } with (_shakeobj) event_user(0); }
();
93
            break;
94
        case 3:
95
            gravity = 2;
96
            break;
97
    }
98
    current_mode = arg0;
99
};
100
101
exit_mode = function(arg0)
102
{
103
    switch (current_mode)
104
    {
105
        case 0:
106
            break;
107
        case 1:
108
            break;
109
        case 2:
110
            break;
111
    }
112
    enter_mode(arg0);
113
};
114
115
change_state = function(arg0)
116
{
117
    if (current_state == arg0)
118
        exit;
119
    exit_state(arg0);
120
};
121
122
enter_state = function(arg0)
123
{
124
    switch (arg0)
125
    {
126
        case 0:
127
            image_speed = 0;
128
            break;
129
        case 1:
130
            image_speed = 0.2 * climb_speed;
131
            break;
132
    }
133
    current_state = arg0;
134
};
135
136
exit_state = function(arg0)
137
{
138
    switch (current_state)
139
    {
140
        case 0:
141
            break;
142
        case 1:
143
            image_speed = 0;
144
            break;
145
    }
146
    enter_state(arg0);
147
};