Deltarune (Chapter 5) script viewer

← back to main script listing

gml_GlobalScript_scr_plat_encounter

(view raw script w/o annotations or w/e)
1
function 
scr_plat_encounter
scr_plat_encounter

function
scr_plat_encounter(arg0, arg1 = -1, arg2 = false)
{ with (obj_plat_game) paused = true; if (!instance_exists(obj_mainchara)) { with (obj_plat_player) { var mc = instance_create(x, y, obj_mainchara); mc.sprite_index = sprite_index; mc.image_index = image_index; mc.image_speed = 0; mc.cutscene = 1; mc.doorcooldown = 99999999; mc.fun = 1; mc.depth = depth; } } with (obj_plat_player) instance_destroy(); with (obj_plat_follower) { restore_default_behavior(); with (back_marker)
scr_doom(self, 30).respects_platmode = false;
var cp = instance_create(x, y, obj_caterpillarchara); with (cp) { depth = other.depth; name = other.name; initialize(); x = other.x; y = other.y; sprite_index = other.sprite_index; image_index = other.image_index; image_speed = 0; fun = 1; follow = 0; var after_sprite = sprite_index; if (name == "ralsei") { after_sprite = 4382; parent = obj_mainchara; target = 24; global.cinstance[1] = id; } else { after_sprite = 8058; parent = obj_mainchara; global.cinstance[0] = id; } image_xscale = other.image_xscale; encounter_return_offset = [after_sprite, sprite_xoffset, sprite_yoffset, 2]; } instance_destroy(); } if (is_array(arg0)) { for (var i = 0; i < array_length(arg0); i++) { with (arg0[i]) { newme = instance_create(x, y, obj_testoverworldenemy); newme.image_xscale = image_xscale; newme.image_yscale = image_yscale; newme.sprite_index = touchsprite; newme.touchsprite = touchsprite; newme.slidesprite = sprite_index; newme.depth = depth; newme.silent = arg2; newme.eraser = false; newme.washit = false; newme.whichmonster = whichmonster; newme.platmode = true; if (i == 0) { if (arg1 > 0) global.flag[54 encounter_pointer] = arg1; global.flag[55 enemy_x] = x; global.flag[56 enemy_y] = y; global.encounterno = myencounter; with (newme) event_user(0); } } } } else { with (arg0) { if (arg1 > 0) global.flag[54 encounter_pointer] = arg1; global.flag[55 enemy_x] = x; global.flag[56 enemy_y] = y; newme = instance_create(x, y, obj_testoverworldenemy); newme.image_xscale = image_xscale; newme.image_yscale = image_yscale; newme.sprite_index = touchsprite; newme.touchsprite = touchsprite; ...
(arg0, arg1 = -1, arg2 = false)
2
{
3
    with (obj_plat_game)
4
        paused = true;
5
    if (!instance_exists(obj_mainchara))
6
    {
7
        with (obj_plat_player)
8
        {
9
            var mc = instance_create(x, y, obj_mainchara);
10
            mc.sprite_index = sprite_index;
11
            mc.image_index = image_index;
12
            mc.image_speed = 0;
13
            mc.cutscene = 1;
14
            mc.doorcooldown = 99999999;
15
            mc.fun = 1;
16
            mc.depth = depth;
17
        }
18
    }
19
    with (obj_plat_player)
20
        instance_destroy();
21
    with (obj_plat_follower)
22
    {
23
        restore_default_behavior();
24
        with (back_marker)
25
            
scr_doom
scr_doom

function
scr_doom(arg0, arg1)
{ var _doom = instance_create_depth(0, 0, 0, obj_doom); with (_doom) { alarm[0] = arg1; target = arg0; } return _doom; }
(self, 30).respects_platmode = false;
26
        var cp = instance_create(x, y, obj_caterpillarchara);
27
        with (cp)
28
        {
29
            depth = other.depth;
30
            name = other.name;
31
            initialize();
32
            x = other.x;
33
            y = other.y;
34
            sprite_index = other.sprite_index;
35
            image_index = other.image_index;
36
            image_speed = 0;
37
            fun = 1;
38
            follow = 0;
39
            var after_sprite = sprite_index;
40
            if (name == "ralsei")
41
            {
42
                after_sprite = 4382;
43
                parent = obj_mainchara;
44
                target = 24;
45
                global.cinstance[1] = id;
46
            }
47
            else
48
            {
49
                after_sprite = 8058;
50
                parent = obj_mainchara;
51
                global.cinstance[0] = id;
52
            }
53
            image_xscale = other.image_xscale;
54
            encounter_return_offset = [after_sprite, sprite_xoffset, sprite_yoffset, 2];
55
        }
56
        instance_destroy();
57
    }
58
    if (is_array(arg0))
59
    {
60
        for (var i = 0; i < array_length(arg0); i++)
61
        {
62
            with (arg0[i])
63
            {
64
                newme = instance_create(x, y, obj_testoverworldenemy);
65
                newme.image_xscale = image_xscale;
66
                newme.image_yscale = image_yscale;
67
                newme.sprite_index = touchsprite;
68
                newme.touchsprite = touchsprite;
69
                newme.slidesprite = sprite_index;
70
                newme.depth = depth;
71
                newme.silent = arg2;
72
                newme.eraser = false;
73
                newme.washit = false;
74
                newme.whichmonster = whichmonster;
75
                newme.platmode = true;
76
                if (i == 0)
77
                {
78
                    if (arg1 > 0)
79
                        global.flag[54 encounter_pointer] = arg1;
80
                    global.flag[55 enemy_x] = x;
81
                    global.flag[56 enemy_y] = y;
82
                    global.encounterno = myencounter;
83
                    with (newme)
84
                        event_user(0);
85
                }
86
            }
87
        }
88
    }
89
    else
90
    {
91
        with (arg0)
92
        {
93
            if (arg1 > 0)
94
                global.flag[54 encounter_pointer] = arg1;
95
            global.flag[55 enemy_x] = x;
96
            global.flag[56 enemy_y] = y;
97
            newme = instance_create(x, y, obj_testoverworldenemy);
98
            newme.image_xscale = image_xscale;
99
            newme.image_yscale = image_yscale;
100
            newme.sprite_index = touchsprite;
101
            newme.touchsprite = touchsprite;
102
            newme.slidesprite = sprite_index;
103
            newme.depth = depth;
104
            newme.silent = arg2;
105
            newme.eraser = false;
106
            newme.washit = false;
107
            newme.whichmonster = whichmonster;
108
            newme.platmode = true;
109
            with (newme)
110
                event_user(0);
111
            global.encounterno = myencounter;
112
            return newme;
113
        }
114
    }
115
}