Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_darkslide_new_Collision_obj_mainchara

(view raw script w/o annotations or w/e)
1
var solidcheck = 0;
2
cancollide = 0;
3
if (sliding == 0 && global.interact == 0)
4
{
5
    if (obj_mainchara.y < ((y + sprite_height) - obj_mainchara.sprite_height))
6
    {
7
        with (obj_mainchara)
8
        {
9
            if (place_meeting(x, y + 20, obj_solidblock))
10
                solidcheck = 1;
11
        }
12
        if (solidcheck == 0)
13
        {
14
            snd_play(snd_noise);
15
            slide_noise = snd_loop(snd_paper_surf);
16
            with (obj_mainchara)
17
            {
18
                sliding = 1;
19
                fun = 1;
20
                sprite_index = spr_krisd_slide;
21
                image_speed = 0.2;
22
            }
23
            sliding = 1;
24
        }
25
    }
26
    else
27
    {
28
        obj_mainchara.y = (y + sprite_height) - 48;
29
    }
30
}
31
if (sliding == 1)
32
{
33
    collide = 1;
34
    global.interact = 1;
35
    other.y += 12;
36
    collidetimer = 1;
37
    collider += 1;
38
    if (slidetimer == 0)
39
    {
40
        dust = instance_create(obj_mainchara.x + 20, obj_mainchara.y + 30, obj_slidedust);
41
        with (dust)
42
        {
43
            vspeed = -6;
44
            hspeed = -1 + random(2);
45
        }
46
        slidetimer = -3;
47
    }
48
    slidetimer += 1;
49
    if (slidetimer >= 1)
50
        slidetimer = -3;
51
    if (move_lr_enabled)
52
    {
53
        if (left_h())
54
        {
55
            with (obj_mainchara)
56
            {
57
                _px = -6;
58
                if (!place_meeting(x + _px, y, obj_solidblock))
59
                    x += _px;
60
            }
61
        }
62
        if (right_h())
63
        {
64
            with (obj_mainchara)
65
            {
66
                _px = 6;
67
                if (!place_meeting(x + _px, y, obj_solidblock))
68
                    x += _px;
69
            }
70
        }
71
        solidcheck = 0;
72
        with (obj_mainchara)
73
        {
74
            if (place_meeting(x, y + 20, obj_solidblock))
75
                solidcheck = 1;
76
        }
77
        if (solidcheck == 1)
78
            instant_end_sliding = 1;
79
    }
80
}