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.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 = 4371; parent = obj_mainchara; target = 24; global.cinstance[1] = id; } else { after_sprite = 8042; 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; newme.slidesprite = sprite_index; ...
(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.fun = 1;
15
            mc.depth = depth;
16
        }
17
    }
18
    with (obj_plat_player)
19
        instance_destroy();
20
    with (obj_plat_follower)
21
    {
22
        restore_default_behavior();
23
        with (back_marker)
24
            
scr_doom
scr_doom

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