Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_b1push2_old_Step_0

(view raw script w/o annotations or w/e)
1
if (init == 0)
2
{
3
    with (obj_mainchara_board)
4
    {
5
        if (name == "kris")
6
            other.kr = id;
7
        if (name == "susie")
8
            other.su = id;
9
        if (name == "ralsei")
10
            other.ra = id;
11
    }
12
    if (kr != 0)
13
        init = 1;
14
}
15
if (active == 1)
16
{
17
    maketimer = 0;
18
    if (con == 0 && obj_board_camera.con == 0)
19
    {
20
        if (ra.follow == 0)
21
            ra.follow = 1;
22
        var letsstart = 0;
23
        with (kr)
24
        {
25
            if (place_meeting(x, y, obj_board_trigger))
26
            {
27
                var trig = instance_place(x, y, obj_board_trigger);
28
                if (trig.extflag == "push2")
29
                    letsstart = 1;
30
            }
31
        }
32
        if (letsstart == 1)
33
        {
34
            global.interact = 1;
35
            with (obj_board_trigger)
36
            {
37
                if (extflag == "push2")
38
                    instance_destroy();
39
            }
40
            with (su)
41
                setxy(other.kr.x, other.kr.y);
42
            with (ra)
43
            {
44
                setxy(other.kr.x, other.kr.y);
45
                
scr_board_caterpillar_interpolate
scr_board_caterpillar_interpolate

function
scr_board_caterpillar_interpolate()
{ var _____kris = 0; with (obj_mainchara_board) { if (name == "kris") _____kris = id; } if (_____kris != 0) { remx[0] = _____kris.x; remy[0] = _____kris.y; for (var __rempos = 75; __rempos > 0; __rempos -= 1) { remx[__rempos] = lerp(_____kris.x, x, __rempos / 75); remy[__rempos] = lerp(_____kris.y, y + 6, __rempos / 75); } } }
();
46
            }
47
            hazard[0] = instance_create_board(5, 0, obj_board_solid);
48
            hazard[1] = instance_create_board(6, 0, obj_board_solid);
49
            hazard[2] = instance_create_board(0, 3, obj_board_solid);
50
            hazard[3] = instance_create_board(0, 4, obj_board_solid);
51
            hazard[4] = instance_create_board(5, 7, obj_board_solid);
52
            hazard[5] = instance_create_board(6, 7, obj_board_solid);
53
            hazard[6] = instance_create_board(11, 3, obj_board_solid);
54
            hazard[7] = instance_create_board(11, 4, obj_board_solid);
55
            for (var i = 0; i < 8; i++)
56
            {
57
                with (hazard[i])
58
                {
59
                    sprite_index = spr_board_rouxlsblock;
60
                    visible = true;
61
                    
scr_darksize
scr_darksize

function
scr_darksize()
{ var inst = id; if (argument_count) inst = argument0; inst.image_xscale = 2; inst.image_yscale = 2; }
();
62
                    
scr_depth_board
scr_depth_board

function
scr_depth_board()
{ depth = 1000000 - ((y * 10) + ((sprite_height - sprite_yoffset) * 10)); } function scr_board_depth() {
scr_depth_board();
}
();
63
                    var puff = instance_create(x, y, obj_board_smokepuff);
64
                    puff.depth = depth - 100;
65
                }
66
            }
67
            
scr_shakescreen
scr_shakescreen

function
scr_shakescreen()
{ instance_create(x, y, obj_shake); }
();
68
            snd_play_pitch(snd_impact_bc, 0.6);
69
            snd_play_pitch(snd_impact_bc, 1.2);
70
            timer = 0;
71
            con = 1;
72
        }
73
    }
74
    if (con == 1)
75
    {
76
        timer++;
77
        if (timer == 5)
78
        {
79
            global.interact = 0;
80
            
scr_tennabubble
scr_tennabubble

function
scr_tennabubble()
{ var __lifetime = -1; var __clear = true; var __tennaObj = -1; var __taillength = -1; var __tailwidth = 8; if (argument_count >= 4) __lifetime = argument3; if (argument_count >= 5) __clear = argument4; if (argument_count >= 6) __tennaObj = argument5; if (argument_count >= 7) __taillength = argument6; if (argument_count >= 8) __tailwidth = argument7; var tennaBubble = instance_create(argument1, argument2, obj_tennatalkbubble); tennaBubble.text = argument0; tennaBubble.clear = __clear; tennaBubble.lifetime = __lifetime; tennaBubble.tenna = __tennaObj; tennaBubble.taillength = __taillength; tennaBubble.tailwidth = __tailwidth; tennaBubble.bubbletype = 0; return tennaBubble; } function scr_tennabubble_angle() { var __lifetime = -1; var __clear = true; var __tailwidth = 8; if (argument_count >= 6) __lifetime = argument5; if (argument_count >= 7) __clear = argument6; if (argument_count >= 8) __tailwidth = argument7; var tennaBubble = instance_create(argument1, argument2, obj_tennatalkbubble); tennaBubble.text = argument0; tennaBubble.clear = __clear; tennaBubble.lifetime = __lifetime; tennaBubble.tailwidth = __tailwidth; tennaBubble.bubbletype = 1; tennaBubble.type1direction = argument3 - 90; tennaBubble.taillength = argument4; return tennaBubble; } function scr_tennabubble_xytail() { var __lifetime = -1; var __clear = true; var __taillength = -1; var __tailwidth = 8; if (argument_count >= 6) __lifetime = argument5; if (argument_count >= 7) __clear = argument6; if (argument_count >= 8) __tailwidth = argument7; var tennaBubble = instance_create(argument1, argument2, obj_tennatalkbubble); tennaBubble.text = argument0; tennaBubble.clear = __clear; tennaBubble.lifetime = __lifetime; tennaBubble.tailwidth = __tailwidth; tennaBubble.bubbletype = 2; tennaBubble.t2x = argument3; tennaBubble.t2y = argument4; return tennaBubble; }
("OH... #IT'S THIS#PUZZLE AGAIN.", 564, 100, -1, 1, -1, 72);
81
            con = 2;
82
            
scr_pathfind_to_point
scr_pathfind_to_point

function
scr_pathfind_to_point(arg0, arg1, arg2)
{ var __destx = arg1 + 16; var __desty = arg2 + 16; if (arg1 < 12 && arg2 < 8) { __destx = 128 + (32 * arg1) + 16; __desty = 64 + (32 * arg2) + 16; } with (obj_mainchara_board) { if (name == arg0) { path_end(); is_moving_timer = 0; is_moving = true; path_target_x = __destx; path_target_y = __desty; follow = false; if (argument_count == 4) { if (argument3 != -1) path_end_facing = argument3; } if (argument_count == 5) { if (argument4 != -1) allow_diagonals = argument4; } } } }
("ralsei", 5, 2);
83
            
scr_pathfind_to_point
scr_pathfind_to_point

function
scr_pathfind_to_point(arg0, arg1, arg2)
{ var __destx = arg1 + 16; var __desty = arg2 + 16; if (arg1 < 12 && arg2 < 8) { __destx = 128 + (32 * arg1) + 16; __desty = 64 + (32 * arg2) + 16; } with (obj_mainchara_board) { if (name == arg0) { path_end(); is_moving_timer = 0; is_moving = true; path_target_x = __destx; path_target_y = __desty; follow = false; if (argument_count == 4) { if (argument3 != -1) path_end_facing = argument3; } if (argument_count == 5) { if (argument4 != -1) allow_diagonals = argument4; } } } }
("susie", 7, 2);
84
        }
85
    }
86
    if (con == 2 && !i_ex(obj_tennatalkbubble))
87
    {
88
        
scr_tennabubble
scr_tennabubble

function
scr_tennabubble()
{ var __lifetime = -1; var __clear = true; var __tennaObj = -1; var __taillength = -1; var __tailwidth = 8; if (argument_count >= 4) __lifetime = argument3; if (argument_count >= 5) __clear = argument4; if (argument_count >= 6) __tennaObj = argument5; if (argument_count >= 7) __taillength = argument6; if (argument_count >= 8) __tailwidth = argument7; var tennaBubble = instance_create(argument1, argument2, obj_tennatalkbubble); tennaBubble.text = argument0; tennaBubble.clear = __clear; tennaBubble.lifetime = __lifetime; tennaBubble.tenna = __tennaObj; tennaBubble.taillength = __taillength; tennaBubble.tailwidth = __tailwidth; tennaBubble.bubbletype = 0; return tennaBubble; } function scr_tennabubble_angle() { var __lifetime = -1; var __clear = true; var __tailwidth = 8; if (argument_count >= 6) __lifetime = argument5; if (argument_count >= 7) __clear = argument6; if (argument_count >= 8) __tailwidth = argument7; var tennaBubble = instance_create(argument1, argument2, obj_tennatalkbubble); tennaBubble.text = argument0; tennaBubble.clear = __clear; tennaBubble.lifetime = __lifetime; tennaBubble.tailwidth = __tailwidth; tennaBubble.bubbletype = 1; tennaBubble.type1direction = argument3 - 90; tennaBubble.taillength = argument4; return tennaBubble; } function scr_tennabubble_xytail() { var __lifetime = -1; var __clear = true; var __taillength = -1; var __tailwidth = 8; if (argument_count >= 6) __lifetime = argument5; if (argument_count >= 7) __clear = argument6; if (argument_count >= 8) __tailwidth = argument7; var tennaBubble = instance_create(argument1, argument2, obj_tennatalkbubble); tennaBubble.text = argument0; tennaBubble.clear = __clear; tennaBubble.lifetime = __lifetime; tennaBubble.tailwidth = __tailwidth; tennaBubble.bubbletype = 2; tennaBubble.t2x = argument3; tennaBubble.t2y = argument4; return tennaBubble; }
("JUST SOLVE IT#AND LET'S#MOVE ON.", 564, 100, -1, 1, -1, 72);
89
        bubbletimer = 0;
90
        con = 3;
91
    }
92
    if (con == 3 && !i_ex(obj_tennatalkbubble))
93
    {
94
        bubbletimer++;
95
        if (bubbletimer == 180)
96
        {
97
            
scr_tennabubble
scr_tennabubble

function
scr_tennabubble()
{ var __lifetime = -1; var __clear = true; var __tennaObj = -1; var __taillength = -1; var __tailwidth = 8; if (argument_count >= 4) __lifetime = argument3; if (argument_count >= 5) __clear = argument4; if (argument_count >= 6) __tennaObj = argument5; if (argument_count >= 7) __taillength = argument6; if (argument_count >= 8) __tailwidth = argument7; var tennaBubble = instance_create(argument1, argument2, obj_tennatalkbubble); tennaBubble.text = argument0; tennaBubble.clear = __clear; tennaBubble.lifetime = __lifetime; tennaBubble.tenna = __tennaObj; tennaBubble.taillength = __taillength; tennaBubble.tailwidth = __tailwidth; tennaBubble.bubbletype = 0; return tennaBubble; } function scr_tennabubble_angle() { var __lifetime = -1; var __clear = true; var __tailwidth = 8; if (argument_count >= 6) __lifetime = argument5; if (argument_count >= 7) __clear = argument6; if (argument_count >= 8) __tailwidth = argument7; var tennaBubble = instance_create(argument1, argument2, obj_tennatalkbubble); tennaBubble.text = argument0; tennaBubble.clear = __clear; tennaBubble.lifetime = __lifetime; tennaBubble.tailwidth = __tailwidth; tennaBubble.bubbletype = 1; tennaBubble.type1direction = argument3 - 90; tennaBubble.taillength = argument4; return tennaBubble; } function scr_tennabubble_xytail() { var __lifetime = -1; var __clear = true; var __taillength = -1; var __tailwidth = 8; if (argument_count >= 6) __lifetime = argument5; if (argument_count >= 7) __clear = argument6; if (argument_count >= 8) __tailwidth = argument7; var tennaBubble = instance_create(argument1, argument2, obj_tennatalkbubble); tennaBubble.text = argument0; tennaBubble.clear = __clear; tennaBubble.lifetime = __lifetime; tennaBubble.tailwidth = __tailwidth; tennaBubble.bubbletype = 2; tennaBubble.t2x = argument3; tennaBubble.t2y = argument4; return tennaBubble; }
("WHAT A#WASTE OF#TIME.", 564, 100, -1, 1, -1, 72);
98
            con = 4;
99
        }
100
    }
101
    if (con > 1 && con < 100 && instance_number(obj_board_event_push2_blocktrigger) == 1)
102
    {
103
        con = 400;
104
        timer = 0;
105
    }
106
    if (con == 400)
107
    {
108
        timer++;
109
        if (timer >= 10)
110
        {
111
            
scr_couchtalk
scr_couchtalk

function scr_couchclear(arg0) { with (obj_couchwriter) { if (speaker == arg0) instance_destroy(); } } function
scr_couchtalk(arg0, arg1)
{ var ix = -1; var iy = -1; if (argument_count >= 6) { ix = argument4; iy = argument5; } var couchtext = instance_create_depth(ix, iy, 5000, obj_couchwriter); couchtext.mystring = arg0; couchtext.speaker = arg1; if (argument_count >= 3) couchtext.cleartext = argument2; if (argument_count >= 4) couchtext.drawtime = argument3; if (argument_count >= 7) couchtext.customsnd = argument6; if (argument_count >= 8) couchtext.customcolor = argument7; if (argument_count >= 9) couchtext.talkrate = argument8; if (argument_count >= 10) couchtext.talklength = argument9; return couchtext; }
("I think I might have an idea#how to help solve this puzzle.", "ralsei");
112
            con = -99999999;
113
            
scr_script_delayed
scr_script_delayed

function
scr_script_delayed()
{ var __scriptdelay = instance_create(0, 0, obj_script_delayed); __scriptdelay.script = argument[0]; __scriptdelay.alarm[0] = argument[1]; __scriptdelay.target = id; for (var __i = 0; __i < (argument_count - 2); __i++) __scriptdelay.script_arg[__i] = argument[__i + 2]; __scriptdelay.arg_count = argument_count - 2; return __scriptdelay; }
(scr_var, 15, "con", 401);
114
        }
115
    }
116
    if (con == 401)
117
    {
118
        
scr_pathfind_end
scr_pathfind_end

function
scr_pathfind_end(arg0)
{ with (obj_mainchara_board) { if (name == arg0) { path_end(); path_target_x = -1; path_target_y = -1; is_moving_timer = 0; is_moving = false; } } }
("ralsei");
119
        
scr_pathfind_to_point
scr_pathfind_to_point

function
scr_pathfind_to_point(arg0, arg1, arg2)
{ var __destx = arg1 + 16; var __desty = arg2 + 16; if (arg1 < 12 && arg2 < 8) { __destx = 128 + (32 * arg1) + 16; __desty = 64 + (32 * arg2) + 16; } with (obj_mainchara_board) { if (name == arg0) { path_end(); is_moving_timer = 0; is_moving = true; path_target_x = __destx; path_target_y = __desty; follow = false; if (argument_count == 4) { if (argument3 != -1) path_end_facing = argument3; } if (argument_count == 5) { if (argument4 != -1) allow_diagonals = argument4; } } } }
("ralsei", 6, 3);
120
        timer = 0;
121
        con++;
122
    }
123
    if (con == 402)
124
    {
125
        with (ra)
126
        {
127
            if (x == board_tilex(6) && y == board_tiley(3))
128
            {
129
                goStoole = 1;
130
                other.con = 403;
131
            }
132
        }
133
    }
134
    if (con > 1 && con < 999)
135
    {
136
        if (!i_ex(obj_board_event_push2_blocktrigger))
137
        {
138
            global.interact = 1;
139
            safe_delete(obj_tennatalkbubble);
140
            timer = 0;
141
            con = 999;
142
        }
143
    }
144
    if (con == 999)
145
    {
146
        timer++;
147
        if (timer >= 16)
148
        {
149
            
scr_shakescreen
scr_shakescreen

function
scr_shakescreen()
{ instance_create(x, y, obj_shake); }
();
150
            for (var i = 0; i < 8; i++)
151
            {
152
                with (hazard[i])
153
                {
154
                    var puff = instance_create(x, y, obj_board_smokepuff);
155
                    puff.depth = depth - 100;
156
                    instance_destroy();
157
                }
158
            }
159
            with (obj_pushableblock_board)
160
            {
161
                if (extflag == "push2")
162
                {
163
                    mynpc = instance_create(x, y, obj_board_npc);
164
                    mynpc.sprite_index = sprite_index;
165
                    
scr_darksize
scr_darksize

function
scr_darksize()
{ var inst = id; if (argument_count) inst = argument0; inst.image_xscale = 2; inst.image_yscale = 2; }
(mynpc);
166
                    mynpc.extflag = "ROUXLSBLOCK";
167
                    instance_destroy();
168
                }
169
            }
170
            snd_play_pitch(snd_impact_bc, 1.2);
171
            snd_play_pitch(snd_impact_bc, 0.6);
172
            solved = 1;
173
            
scr_tennabubble
scr_tennabubble

function
scr_tennabubble()
{ var __lifetime = -1; var __clear = true; var __tennaObj = -1; var __taillength = -1; var __tailwidth = 8; if (argument_count >= 4) __lifetime = argument3; if (argument_count >= 5) __clear = argument4; if (argument_count >= 6) __tennaObj = argument5; if (argument_count >= 7) __taillength = argument6; if (argument_count >= 8) __tailwidth = argument7; var tennaBubble = instance_create(argument1, argument2, obj_tennatalkbubble); tennaBubble.text = argument0; tennaBubble.clear = __clear; tennaBubble.lifetime = __lifetime; tennaBubble.tenna = __tennaObj; tennaBubble.taillength = __taillength; tennaBubble.tailwidth = __tailwidth; tennaBubble.bubbletype = 0; return tennaBubble; } function scr_tennabubble_angle() { var __lifetime = -1; var __clear = true; var __tailwidth = 8; if (argument_count >= 6) __lifetime = argument5; if (argument_count >= 7) __clear = argument6; if (argument_count >= 8) __tailwidth = argument7; var tennaBubble = instance_create(argument1, argument2, obj_tennatalkbubble); tennaBubble.text = argument0; tennaBubble.clear = __clear; tennaBubble.lifetime = __lifetime; tennaBubble.tailwidth = __tailwidth; tennaBubble.bubbletype = 1; tennaBubble.type1direction = argument3 - 90; tennaBubble.taillength = argument4; return tennaBubble; } function scr_tennabubble_xytail() { var __lifetime = -1; var __clear = true; var __taillength = -1; var __tailwidth = 8; if (argument_count >= 6) __lifetime = argument5; if (argument_count >= 7) __clear = argument6; if (argument_count >= 8) __tailwidth = argument7; var tennaBubble = instance_create(argument1, argument2, obj_tennatalkbubble); tennaBubble.text = argument0; tennaBubble.clear = __clear; tennaBubble.lifetime = __lifetime; tennaBubble.tailwidth = __tailwidth; tennaBubble.bubbletype = 2; tennaBubble.t2x = argument3; tennaBubble.t2y = argument4; return tennaBubble; }
("WHAT THE HECK KINDA#PUZZLE WAS THAT?!", 480, 408, 90, 1, -1, 64);
174
            ra.unstoole = 1;
175
            with (ra)
176
                
scr_script_delayed
scr_script_delayed

function
scr_script_delayed()
{ var __scriptdelay = instance_create(0, 0, obj_script_delayed); __scriptdelay.script = argument[0]; __scriptdelay.alarm[0] = argument[1]; __scriptdelay.target = id; for (var __i = 0; __i < (argument_count - 2); __i++) __scriptdelay.script_arg[__i] = argument[__i + 2]; __scriptdelay.arg_count = argument_count - 2; return __scriptdelay; }
(scr_var, 3, "unstoole", 1);
177
            with (ra)
178
                
scr_script_delayed
scr_script_delayed

function
scr_script_delayed()
{ var __scriptdelay = instance_create(0, 0, obj_script_delayed); __scriptdelay.script = argument[0]; __scriptdelay.alarm[0] = argument[1]; __scriptdelay.target = id; for (var __i = 0; __i < (argument_count - 2); __i++) __scriptdelay.script_arg[__i] = argument[__i + 2]; __scriptdelay.arg_count = argument_count - 2; return __scriptdelay; }
(scr_var, 4, "follow", 1);
179
            global.interact = 0;
180
            visited = 1;
181
            con++;
182
        }
183
    }
184
    if (solved)
185
    {
186
        if (visited == 0)
187
        {
188
            con++;
189
            visited = 1;
190
            ra.follow = true;
191
            
scr_pathfind_to_point
scr_pathfind_to_point

function
scr_pathfind_to_point(arg0, arg1, arg2)
{ var __destx = arg1 + 16; var __desty = arg2 + 16; if (arg1 < 12 && arg2 < 8) { __destx = 128 + (32 * arg1) + 16; __desty = 64 + (32 * arg2) + 16; } with (obj_mainchara_board) { if (name == arg0) { path_end(); is_moving_timer = 0; is_moving = true; path_target_x = __destx; path_target_y = __desty; follow = false; if (argument_count == 4) { if (argument3 != -1) path_end_facing = argument3; } if (argument_count == 5) { if (argument4 != -1) allow_diagonals = argument4; } } } }
("susie", 2, 6);
192
        }
193
    }
194
}
195
else
196
{
197
    if (solved == 1 && made == 0)
198
    {
199
        maketimer++;
200
        if (maketimer > 30)
201
        {
202
            made = 1;
203
            chaseenemy = instance_create(x + 160, y + 96, obj_chaseenemy_board_spawner);
204
        }
205
    }
206
    if (solved && visited)
207
        visited = 0;
208
}