Deltarune (Chapter 5) script viewer

← back to main script listing

gml_Object_obj_dashmode_trigger_Other_10

(view raw script w/o annotations or w/e)
1
var dashlines = spawn_dashlines;
2
var _disable_control = disable_control;
3
with (obj_mainchara)
4
{
5
    var _exists = instance_exists(obj_plat_dashlines);
6
    if (!_exists)
7
        autorun = 0;
8
    if (other.usable && !autorun && !_exists)
9
    {
10
        other.just_initiated = true;
11
        with (other)
12
            scr_delay_var("just_initiated", false, 30);
13
        run = 1;
14
        runtimer = 60;
15
        autorun = 1;
16
        var _dashchara = instance_create_depth(x + 19, y + 38, depth, obj_mainchara_dash);
17
        _dashchara.camera_distance = other.camera_distance;
18
        _dashchara.image_xscale = 2;
19
        if (other.dashdir == -1)
20
            _dashchara.image_xscale = -2;
21
        with (_dashchara)
22
        {
23
            hspeed = image_xscale * 6;
24
            disable_control = _disable_control;
25
            if (dashlines)
26
            {
27
                var _dashlines = instance_create(x, y, obj_plat_dashlines);
28
                _dashlines.owner = id;
29
                _dashlines.xspeed = -7.5 * image_xscale;
30
            }
31
            if (instance_place(x, y, obj_solidblock))
32
            {
33
                if (!instance_place(x, y + 10, obj_solidblock))
34
                    y += 10;
35
            }
36
        }
37
        with (obj_caterpillarchara)
38
        {
39
            var dashchara = instance_create_depth(x + 19, y + 38, depth, obj_caterpillar_dash);
40
            dashchara.caterpillar = name;
41
            visible = 1;
42
            dashchara.image_xscale = _dashchara.image_xscale;
43
            dashchara.hspeed = image_xscale * 6;
44
            with (dashchara)
45
                set_dashmode_chara(other.name);
46
        }
47
        instance_destroy(obj_caterpillarchara);
48
        audio_stop_sound(snd_weaponpull_fast);
49
        snd_play(snd_weaponpull_fast);
50
        instance_destroy();
51
    }
52
}