Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_dw_church_bravewarrior_Step_0

(view raw script w/o annotations or w/e)
1
var checktouch = true;
2
var emergstop = false;
3
with (obj_dw_church_sideclimb)
4
{
5
    if (defendercon >= 7 && defendercon < 10)
6
    {
7
        emergstop = true;
8
        hspeed = 0;
9
    }
10
}
11
if (con == 99 || emergstop)
12
    checktouch = false;
13
if (con == 0)
14
{
15
    timer++;
16
    if (timer == 1)
17
    {
18
        y = 336 + irandom(12);
19
        ystart = y;
20
        climbtime = 14;
21
        sprite_index = spr_npc_cup_climb;
22
        image_speed = 0.125;
23
        image_blend = c_black;
24
        image_alpha = 0;
25
        
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; }
("y", ystart, ystart - 56, climbtime, 2, "out");
26
        
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; }
("image_alpha", 0, 1, 7);
27
        
scr_lerp_imageblend
scr_lerp_imageblend

function
scr_lerp_imageblend()
{ var lerpblend = instance_create(x, y, obj_lerpimageblend); lerpblend.target = argument0; lerpblend.color1 = argument1; lerpblend.color2 = argument2; var ___time = argument3; if (argument_count > 4) { var _style = argument4; var _ease = argument5; lerpblend.mylerp = scr_lerp_var_instance(lerpblend, "blendindex", 0, 1, ___time, _style, _ease); } else { lerpblend.mylerp = scr_lerp_var_instance(lerpblend, "blendindex", 0, 1, ___time); } with (lerpblend) alarm_set(0, ___time + 1); return lerpblend; }
(id, c_black, c_white, 7, 2, "in");
28
    }
29
    if (timer == (1 + climbtime))
30
    {
31
        jumptime = 12;
32
        var topy = 230;
33
        var boty = 250;
34
        var targy = boty;
35
        
scr_jump_to_point
scr_jump_to_point

function
scr_jump_to_point(arg0, arg1, arg2, arg3, arg4 = 0)
{ var ___jump =
scr_jump_to_point_sprite(arg0, arg1, arg2, arg3, 0, 0);
with (___jump) { trackalpha = arg4; trackblend = arg4; trackindex = arg4; tracksprite = arg4; trackangle = arg4; } return ___jump; }
(x +
scr_even
scr_even

function
scr_even(arg0)
{ return round(arg0 / 2) * 2; }
(random(20)), targy, 24, jumptime, true);
36
    }
37
    if (timer == (1 + climbtime + jumptime))
38
    {
39
        
scr_depth
scr_depth

function
scr_depth(arg0 = id, arg1 = 0)
{ with (arg0) depth = 100000 - ((y * 10) + (sprite_height * 10) + (arg1 * 10)); }
();
40
        waittime = 3;
41
        sprite_index = spr_npc_cup_walk;
42
        image_speed = 0;
43
    }
44
    if (timer < (climbtime + jumptime))
45
        checktouch = false;
46
    if (timer == (1 + climbtime + jumptime + waittime + 1))
47
    {
48
        image_speed = 0.25;
49
        hspeed = 4;
50
        con = 1;
51
        if (emergstop)
52
        {
53
            con = 99;
54
            hspeed = 0;
55
            image_speed = 0;
56
            image_index = 0;
57
        }
58
    }
59
}
60
if (con == 1)
61
{
62
    var trig = 0;
63
    var endtrig = instance_place(x, y, obj_trigger);
64
    if (i_ex(endtrig))
65
    {
66
        if (endtrig.extflag == "defenderdescend")
67
            trig = 1;
68
    }
69
    if (emergstop)
70
    {
71
        trig = 0;
72
        con = 99;
73
        hspeed = 0;
74
        image_speed = 0;
75
        image_index = 0;
76
    }
77
    if (trig == 1)
78
    {
79
        con = 3;
80
        scr_delay_var("con", 2, 1 + irandom(4));
81
        timer = 0;
82
    }
83
}
84
if (con == 2)
85
{
86
    timer++;
87
    if (timer == 1)
88
    {
89
        hspeed = 0;
90
        jumptime = irandom_range(4, 8);
91
        sprite_index = spr_npc_cup_climb;
92
        image_speed = 0;
93
        
scr_jump_to_point
scr_jump_to_point

function
scr_jump_to_point(arg0, arg1, arg2, arg3, arg4 = 0)
{ var ___jump =
scr_jump_to_point_sprite(arg0, arg1, arg2, arg3, 0, 0);
with (___jump) { trackalpha = arg4; trackblend = arg4; trackindex = arg4; tracksprite = arg4; trackangle = arg4; } return ___jump; }
(x + 12 +
scr_even
scr_even

function
scr_even(arg0)
{ return round(arg0 / 2) * 2; }
(random(20)), 266 +
scr_even
scr_even

function
scr_even(arg0)
{ return round(arg0 / 2) * 2; }
(random(32)), 12, jumptime, 1);
94
        
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, 90);
95
    }
96
    if (timer >= (1 + jumptime))
97
    {
98
        checktouch = false;
99
        image_index += 0.16666666666666666;
100
        y += 2;
101
        image_blend = merge_color(image_blend, c_black, 0.125);
102
        image_alpha -= (1/30);
103
    }
104
    if (image_alpha <= 0)
105
        instance_destroy();
106
}
107
if (checktouch)
108
{
109
    
scr_depth
scr_depth

function
scr_depth(arg0 = id, arg1 = 0)
{ with (arg0) depth = 100000 - ((y * 10) + (sprite_height * 10) + (arg1 * 10)); }
();
110
    if (place_meeting(x - 14, y, obj_mainchara))
111
    {
112
        if (global.interact == 0)
113
        {
114
            obj_mainchara.x = clamp(obj_mainchara.x + 8, 0, 2842);
115
            with (obj_caterpillarchara)
116
            {
117
                if (x < obj_mainchara.x)
118
                    x = obj_mainchara.x;
119
                var yoff = -16;
120
                if (name == "ralsei")
121
                    yoff = -12;
122
                y = 
scr_even
scr_even

function
scr_even(arg0)
{ return round(arg0 / 2) * 2; }
(lerp(y, obj_mainchara.y + yoff, 0.5));
123
            }
124
            
scr_caterpillar_interpolate
scr_caterpillar_interpolate

function
scr_caterpillar_interpolate(arg0 = "none")
{ if (arg0 == "all") { with (obj_caterpillarchara) scr_caterpillar_interpolate_old(); } else if (arg0 == "none") { if (object_index == obj_caterpillarchara) scr_caterpillar_interpolate_old(); } else { with (obj_caterpillarchara) { if (name == arg0) scr_caterpillar_interpolate_old(); } } } function scr_caterinterp(arg0 = "none") {
scr_caterpillar_interpolate(arg0);
} function scr_caterpillar_interpolate_old() { _newfacing =
scr_facing_letter_to_number(
scr_get_cardinal_direction(point_direction(x, y, obj_mainchara.x, obj_mainchara.y)));
remx[0] = obj_mainchara.x; remy[0] = obj_mainchara.y; facing[0] = _newfacing; for (_iaia = target; _iaia > 0; _iaia -= 1) { remx[_iaia] = lerp(obj_mainchara.x, x, _iaia / target); if (global.darkzone == 1) remy[_iaia] = lerp(obj_mainchara.y, y + 16, _iaia / target); else remy[_iaia] = lerp(obj_mainchara.y, y + 6, _iaia / target); facing[_iaia] = _newfacing; } }
("all");
125
        }
126
        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, y, sprite_index, 2, 2, 0, undefined, undefined, undefined, 1))
127
        {
128
            hspeed = -8 - random(4);
129
            gravity = 1;
130
            vspeed = -8 - random(8);
131
            
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; }
("image_alpha", image_alpha, 0, 30, 2, "in");
132
            
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, 30);
133
            snd_play(snd_smallcar_yelp, 0.75, 0.6);
134
        }
135
        instance_destroy();
136
    }
137
}