Deltarune (Chapter 5) script viewer

← back to main script listing

gml_GlobalScript_scr_floortex_shift_objects

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

function
scr_floortex_shift_objects(arg0, arg1, arg2)
{ if (arg1 == 0 && arg2 == 0) exit; arg0.x += arg1; arg0.y += arg2; arg0.y_plat += arg2; arg0.y_ow += arg2; arg0.bbox_bottom_ow += arg2; arg0.bbox_top_ow += arg2; arg0.bbox_bottom_plat += arg2; arg0.bbox_top_plat += arg2; arg0.front_x += arg1; arg0.back_x += arg1; with (arg0) { var _mainchara = instance_place(x, y, obj_mainchara); with (_mainchara) { var _x = (bbox_left + bbox_right) / 2; if (collision_line(_x, bbox_bottom - 2, _x, bbox_bottom + 6, arg0, 0, 0)) { if (!instance_place(x + arg1, y, obj_solidblock)) x += arg1; if (!instance_place(x, y + arg2, obj_solidblock)) y += arg2; } } } with (obj_platswap_helper) { if (!init) continue; with (obj_id) { var _walltex = -4; if (instance_exists(walltex)) { if (walltex.floortex == arg0) _walltex = walltex; } if (floortex == arg0 || instance_exists(_walltex)) { y_ow += arg2; x += arg1; y += arg2; set_floortex_obj_yplat(); if (obj_platswap.transition_time <= 0) { if (obj_platswap.mode == 0) y = y_ow; else y = y_plat; } } } } with (obj_papergrass) { if (floortex == arg0) { y_ow += arg2; x += arg1; y += arg2; set_floortex_obj_yplat(); if (obj_platswap.transition_time <= 0) { if (obj_platswap.mode == 0) y = y_ow; else y = y_plat; } } } with (obj_rock3d) { if (floortex == arg0) { y_ow += arg2; x += arg1; y += arg2; set_floortex_obj_yplat(); if (obj_platswap.transition_time <= 0) { if (obj_platswap.mode == 0) y = y_ow; else y = y_plat; } } } with (obj_pinktree) { if (floortex == arg0) { y_ow += arg2; x += arg1; y += arg2; set_floortex_obj_yplat(); if (obj_platswap.transition_time <= 0) { ...
(arg0, arg1, arg2)
2
{
3
    if (arg1 == 0 && arg2 == 0)
4
        exit;
5
    arg0.x += arg1;
6
    arg0.y += arg2;
7
    arg0.y_plat += arg2;
8
    arg0.y_ow += arg2;
9
    arg0.bbox_bottom_ow += arg2;
10
    arg0.bbox_top_ow += arg2;
11
    arg0.bbox_bottom_plat += arg2;
12
    arg0.bbox_top_plat += arg2;
13
    arg0.front_x += arg1;
14
    arg0.back_x += arg1;
15
    with (arg0)
16
    {
17
        var _mainchara = instance_place(x, y, obj_mainchara);
18
        with (_mainchara)
19
        {
20
            var _x = (bbox_left + bbox_right) / 2;
21
            if (collision_line(_x, bbox_bottom - 2, _x, bbox_bottom + 6, arg0, 0, 0))
22
            {
23
                if (!instance_place(x + arg1, y, obj_solidblock))
24
                    x += arg1;
25
                if (!instance_place(x, y + arg2, obj_solidblock))
26
                    y += arg2;
27
            }
28
        }
29
    }
30
    with (obj_platswap_helper)
31
    {
32
        if (!init)
33
            continue;
34
        with (obj_id)
35
        {
36
            var _walltex = -4;
37
            if (instance_exists(walltex))
38
            {
39
                if (walltex.floortex == arg0)
40
                    _walltex = walltex;
41
            }
42
            if (floortex == arg0 || instance_exists(_walltex))
43
            {
44
                y_ow += arg2;
45
                x += arg1;
46
                y += arg2;
47
                set_floortex_obj_yplat();
48
                if (obj_platswap.transition_time <= 0)
49
                {
50
                    if (obj_platswap.mode == 0)
51
                        y = y_ow;
52
                    else
53
                        y = y_plat;
54
                }
55
            }
56
        }
57
    }
58
    with (obj_papergrass)
59
    {
60
        if (floortex == arg0)
61
        {
62
            y_ow += arg2;
63
            x += arg1;
64
            y += arg2;
65
            set_floortex_obj_yplat();
66
            if (obj_platswap.transition_time <= 0)
67
            {
68
                if (obj_platswap.mode == 0)
69
                    y = y_ow;
70
                else
71
                    y = y_plat;
72
            }
73
        }
74
    }
75
    with (obj_rock3d)
76
    {
77
        if (floortex == arg0)
78
        {
79
            y_ow += arg2;
80
            x += arg1;
81
            y += arg2;
82
            set_floortex_obj_yplat();
83
            if (obj_platswap.transition_time <= 0)
84
            {
85
                if (obj_platswap.mode == 0)
86
                    y = y_ow;
87
                else
88
                    y = y_plat;
89
            }
90
        }
91
    }
92
    with (obj_pinktree)
93
    {
94
        if (floortex == arg0)
95
        {
96
            y_ow += arg2;
97
            x += arg1;
98
            y += arg2;
99
            set_floortex_obj_yplat();
100
            if (obj_platswap.transition_time <= 0)
101
            {
102
                if (obj_platswap.mode == 0)
103
                    y = y_ow;
104
                else
105
                    y = y_plat;
106
            }
107
        }
108
    }
109
}