Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_b2d_dungeonend_Step_0

(view raw script w/o annotations or w/e)
1
if (
scr_debug
scr_debug

function
scr_debug()
{ if (global.debug == 1) return 1; }
())
2
{
3
    if (active && obj_board_camera.con == 0)
4
    {
5
        if (global.flag[1055 sword_route_progress] < 2)
6
            global.flag[1055 sword_route_progress] = 2;
7
    }
8
}
9
if (kris == 0)
10
{
11
    with (obj_mainchara_board)
12
    {
13
        if (name == "kris")
14
            other.kris = id;
15
    }
16
}
17
if (kr_real == 0)
18
{
19
    with (obj_mainchara)
20
        other.kr_real = id;
21
}
22
if (active == 1)
23
{
24
    if (musinit == 0 && obj_board_camera.con == 0)
25
    {
26
        north = snd_init("northernlight.ogg");
27
        music = mus_loop_ext(north, 1, 1/3);
28
        mus_volume(music, 0, 0);
29
        mus_volume(music, 1, 90);
30
        with (obj_gameshow_swordroute)
31
            
scr_lerpvar_instance
scr_lerpvar_instance

function
scr_lerpvar_instance()
{ __lerpvar = instance_create(0, 0, obj_lerpvar); __lerpvar.target = argument[0]; __lerpvar.varname = argument[1]; __lerpvar.pointa = argument[2]; __lerpvar.pointb = argument[3]; __lerpvar.maxtime = argument[4]; if (argument_count >= 6) __lerpvar.easetype = argument[5]; if (argument_count >= 7) __lerpvar.easeinout = argument[6]; return __lerpvar; } function scr_lerp_var_instance() { if (argument_count >= 6)
scr_lerpvar_instance(argument0, argument1, argument2, argument3, argument4, argument5);
else if (argument_count >= 7)
scr_lerpvar_instance(argument0, argument1, argument2, argument3, argument4, argument5, argument6);
else
scr_lerpvar_instance(argument0, argument1, argument2, argument3, argument4);
} function scr_lerp_instance_var() { if (argument_count >= 6)
scr_lerpvar_instance(argument0, argument1, argument2, argument3, argument4, argument5);
else if (argument_count >= 7)
scr_lerpvar_instance(argument0, argument1, argument2, argument3, argument4, argument5, argument6);
else
scr_lerpvar_instance(argument0, argument1, argument2, argument3, argument4);
}
(id, "screenalpha", 1, 0, 15);
32
        var memx = kris.x - board_tilex(0);
33
        var memy = kris.y - board_tiley(0);
34
        
scr_board_instawarp
scr_board_instawarp

function
scr_board_instawarp(arg0, arg1, arg2, arg3, arg4)
{ with (obj_board_camera) { instawarp = true; if (argument_count == 6) { instawarproomgoto = argument5; camsavex = arg0; camsavey = arg1; } if (arg4 == "left" || arg4 == "right")
scr_quickwarp(arg0, arg1, arg2, arg3 + (obj_board_controller.kris_object.y - 144));
else if (arg4 == "up" || arg4 == "down")
scr_quickwarp(arg0, arg1, arg2 + (obj_board_controller.kris_object.x - 288), arg3);
else
scr_quickwarp(arg0, arg1, arg2, arg3);
} }
(4160, 4672, 4160 + memx, 4672 + memy);
35
        kris.cantleave = 0;
36
        musinit = 1;
37
    }
38
    if (con == 0)
39
    {
40
        if (campancon == 0 && obj_board_camera.con == 0)
41
            campancon++;
42
        if (campancon == 1 && obj_board_camera.con != 0)
43
            campancon++;
44
        if (campancon == 2 && obj_board_camera.con == 0)
45
            campancon++;
46
        if (campancon == 3 && obj_board_camera.con != 0)
47
            campancon++;
48
        if (campancon == 4 && obj_board_camera.con == 0)
49
        {
50
            if (collision_rectangle(board_tilex(4), board_tiley(3), board_tilex(8), board_tiley(5), obj_mainchara_board, 0, 0))
51
            {
52
                global.interact = 1;
53
                campancon = 5;
54
                
scr_speaker
scr_speaker

function
scr_speaker(arg0)
{ _speaker = arg0; global.typer = 5; if (global.darkzone == 1) global.typer = 6; if (global.fighting == 1) global.typer = 4; global.fc = 0; global.fe = 0; if (_speaker == "silent" && global.darkzone == 0) global.typer = 2; if (_speaker == "silent" && global.darkzone == 1) global.typer = 36; if (_speaker == "balloon" || _speaker == "enemy") global.typer = 50; if (_speaker == "sans") { global.typer = 14; global.fc = 6; } if (_speaker == "undyne" || _speaker == "und") { global.typer = 17; global.fc = 9; } if (_speaker == "temmie" || _speaker == "tem") global.typer = 21; if (_speaker == "jevil") global.typer = 35; if (_speaker == "catti") global.fc = 13; if (_speaker == "jockington" || _speaker == "joc") global.fc = 14; if (_speaker == "catty" || _speaker == "caddy") global.fc = 16; if (_speaker == "bratty" || _speaker == "bra") global.fc = 17; if (_speaker == "rouxls" || _speaker == "rou") global.fc = 18; if (_speaker == "burgerpants" || _speaker == "bur") global.fc = 19; if (_speaker == "spamton") { if (global.fighting == 0) global.typer = 66; else global.typer = 68; } if (_speaker == "sneo") global.typer = 67; if (_speaker == "tenna") { global.typer = 80; if (global.fighting == 1) global.typer = 81; } if (_speaker == "susie" || _speaker == "sus") { global.fc = 1; global.typer = 10; if (global.darkzone == 1) { global.typer = 30; if (global.fighting == 1) global.typer = 47; } } if (_speaker == "ralsei" || _speaker == "ral") { global.fc = 2; global.typer = 31; if (global.fighting == 1) global.typer = 45; if (global.flag[30 ralsei_hat_state] == 1) global.typer = 6; } if (_speaker == "noelle" || _speaker == "noe") { global.fc = 3; if (global.darkzone == 0) global.typer = 12; else global.typer = 56; if (global.fighting == 1) global.typer = 59; } if (_speaker == "toriel" || _speaker == "tor") { global.fc = 4; global.typer = 7; } if (_speaker == "asgore" || _speaker == "asg") { global.fc = 10; global.typer = 18; } if (_speaker == "king" || _speaker == "kin") { global.fc = 20; global.typer = 33; ...
("no_name");
55
                msgsetloc(0, 
Well done.Wait for input
"Well done./", "obj_b2d_dungeonend_slash_Step_0_gml_100_0"
);
56
                msgnextloc(
You found my secret hiding place.Wait for input
"You found my secret hiding place./", "obj_b2d_dungeonend_slash_Step_0_gml_101_0"
);
57
                msgnextloc(
But there's nothing here...Wait for input
"But there's nothing here.../", "obj_b2d_dungeonend_slash_Step_0_gml_59_0"
);
58
                msgnextloc(
...is there?Wait for inputClose Message
"...is there?/%", "obj_b2d_dungeonend_slash_Step_0_gml_60_0"
);
59
                with (bw_make())
60
                    skip = true;
61
            }
62
        }
63
        if (campancon == 5 && !bw_ex())
64
        {
65
            campancon = 6;
66
            var memx = kris.x - board_tilex(0);
67
            var memy = kris.y - board_tiley(0);
68
            
scr_board_instawarp
scr_board_instawarp

function
scr_board_instawarp(arg0, arg1, arg2, arg3, arg4)
{ with (obj_board_camera) { instawarp = true; if (argument_count == 6) { instawarproomgoto = argument5; camsavex = arg0; camsavey = arg1; } if (arg4 == "left" || arg4 == "right")
scr_quickwarp(arg0, arg1, arg2, arg3 + (obj_board_controller.kris_object.y - 144));
else if (arg4 == "up" || arg4 == "down")
scr_quickwarp(arg0, arg1, arg2 + (obj_board_controller.kris_object.x - 288), arg3);
else
scr_quickwarp(arg0, arg1, arg2, arg3);
} }
(4160, 4672, 4160 + memx, 4672 + memy);
69
        }
70
        if (campancon == 6 && obj_board_camera.con == 0)
71
            campancon++;
72
        if (campancon == 7 && obj_board_camera.con != 0)
73
            campancon++;
74
        if (campancon == 8 && obj_board_camera.con == 0)
75
        {
76
            var memx = kris.x - board_tilex(0);
77
            var memy = kris.y - board_tiley(0);
78
            
scr_board_instawarp
scr_board_instawarp

function
scr_board_instawarp(arg0, arg1, arg2, arg3, arg4)
{ with (obj_board_camera) { instawarp = true; if (argument_count == 6) { instawarproomgoto = argument5; camsavex = arg0; camsavey = arg1; } if (arg4 == "left" || arg4 == "right")
scr_quickwarp(arg0, arg1, arg2, arg3 + (obj_board_controller.kris_object.y - 144));
else if (arg4 == "up" || arg4 == "down")
scr_quickwarp(arg0, arg1, arg2 + (obj_board_controller.kris_object.x - 288), arg3);
else
scr_quickwarp(arg0, arg1, arg2, arg3);
} }
(4160, 4672, 4160 + memx, 4672 + memy);
79
            sparkle[0] = instance_create(4352, 4544, obj_board_interactable);
80
            sparkle[1] = instance_create(4736, 4800, obj_board_interactable);
81
            sparkle[2] = instance_create(3968, 4800, obj_board_interactable);
82
            sparkle[3] = instance_create(4352, 5056, obj_board_interactable);
83
            for (var i = 0; i < array_length(sparkle); i++)
84
            {
85
                with (sparkle[i])
86
                {
87
                    
scr_darksize
scr_darksize

function
scr_darksize()
{ var inst = id; if (argument_count) inst = argument0; inst.image_xscale = 2; inst.image_yscale = 2; }
();
88
                    visible = false;
89
                    scr_delay_var("visible", true, 15);
90
                    setxy_board();
91
                    sprite_index = spr_board_sparkle;
92
                    depth = 999990;
93
                    image_speed = 0.125;
94
                }
95
            }
96
            campancon++;
97
        }
98
        if (campancon == 8 && obj_board_camera.con == 0)
99
            campancon++;
100
        if (campancon == 9 && obj_board_camera.con != 0)
101
        {
102
            campancon++;
103
            kris.cantleave = true;
104
        }
105
        if (campancon == 10 && obj_board_camera.con == 0)
106
        {
107
            kris.cantleave = true;
108
            var trig = false;
109
            if (collision_rectangle(board_tilex(5.75), board_tiley(3.75), board_tilex(6.25), board_tiley(4.25), obj_mainchara_board, 0, 0))
110
                trig = true;
111
            for (var i = 0; i < array_length(sparkle); i++)
112
            {
113
                with (sparkle[i])
114
                {
115
                    if (myinteract == 3)
116
                        trig = true;
117
                }
118
            }
119
            if (trig)
120
            {
121
                for (var i = 0; i < array_length(sparkle); i++)
122
                {
123
                    with (sparkle[i])
124
                        instance_destroy();
125
                }
126
                global.interact = 1;
127
                con = 2;
128
                timer = 0;
129
            }
130
        }
131
    }
132
    if (con == 2 && !bw_ex())
133
    {
134
        timer++;
135
        if (timer == 15)
136
        {
137
            
scr_speaker
scr_speaker

function
scr_speaker(arg0)
{ _speaker = arg0; global.typer = 5; if (global.darkzone == 1) global.typer = 6; if (global.fighting == 1) global.typer = 4; global.fc = 0; global.fe = 0; if (_speaker == "silent" && global.darkzone == 0) global.typer = 2; if (_speaker == "silent" && global.darkzone == 1) global.typer = 36; if (_speaker == "balloon" || _speaker == "enemy") global.typer = 50; if (_speaker == "sans") { global.typer = 14; global.fc = 6; } if (_speaker == "undyne" || _speaker == "und") { global.typer = 17; global.fc = 9; } if (_speaker == "temmie" || _speaker == "tem") global.typer = 21; if (_speaker == "jevil") global.typer = 35; if (_speaker == "catti") global.fc = 13; if (_speaker == "jockington" || _speaker == "joc") global.fc = 14; if (_speaker == "catty" || _speaker == "caddy") global.fc = 16; if (_speaker == "bratty" || _speaker == "bra") global.fc = 17; if (_speaker == "rouxls" || _speaker == "rou") global.fc = 18; if (_speaker == "burgerpants" || _speaker == "bur") global.fc = 19; if (_speaker == "spamton") { if (global.fighting == 0) global.typer = 66; else global.typer = 68; } if (_speaker == "sneo") global.typer = 67; if (_speaker == "tenna") { global.typer = 80; if (global.fighting == 1) global.typer = 81; } if (_speaker == "susie" || _speaker == "sus") { global.fc = 1; global.typer = 10; if (global.darkzone == 1) { global.typer = 30; if (global.fighting == 1) global.typer = 47; } } if (_speaker == "ralsei" || _speaker == "ral") { global.fc = 2; global.typer = 31; if (global.fighting == 1) global.typer = 45; if (global.flag[30 ralsei_hat_state] == 1) global.typer = 6; } if (_speaker == "noelle" || _speaker == "noe") { global.fc = 3; if (global.darkzone == 0) global.typer = 12; else global.typer = 56; if (global.fighting == 1) global.typer = 59; } if (_speaker == "toriel" || _speaker == "tor") { global.fc = 4; global.typer = 7; } if (_speaker == "asgore" || _speaker == "asg") { global.fc = 10; global.typer = 18; } if (_speaker == "king" || _speaker == "kin") { global.fc = 20; global.typer = 33; ...
("no_name");
138
            msgsetloc(0, 
YOU GOT THE\nSHELTER KEY
"YOU GOT THE\n\\cSSHELTER KEY\\cW", "obj_b2d_dungeonend_slash_Step_0_gml_114_0"
);
139
            d = bw_make();
140
            d.skippable = false;
141
            d.reachedend_draw_triangle = false;
142
            d.rate = 6;
143
            d.textsound = snd_silent;
144
            d.reachedend_sound_play = false;
145
            d.boardopensound = false;
146
            timer = 0;
147
            con++;
148
        }
149
    }
150
    if (con == 3)
151
    {
152
        if (d.halt)
153
        {
154
            global.flag[1055 sword_route_progress] = 3;
155
            snd_play(snd_link_sfx_itemget_bad);
156
            timer = 0;
157
            con++;
158
        }
159
    }
160
    if (con == 4)
161
    {
162
        timer++;
163
        if (timer == 30)
164
        {
165
            safe_delete(obj_writer);
166
            safe_delete(obj_board_writer);
167
            
scr_speaker
scr_speaker

function
scr_speaker(arg0)
{ _speaker = arg0; global.typer = 5; if (global.darkzone == 1) global.typer = 6; if (global.fighting == 1) global.typer = 4; global.fc = 0; global.fe = 0; if (_speaker == "silent" && global.darkzone == 0) global.typer = 2; if (_speaker == "silent" && global.darkzone == 1) global.typer = 36; if (_speaker == "balloon" || _speaker == "enemy") global.typer = 50; if (_speaker == "sans") { global.typer = 14; global.fc = 6; } if (_speaker == "undyne" || _speaker == "und") { global.typer = 17; global.fc = 9; } if (_speaker == "temmie" || _speaker == "tem") global.typer = 21; if (_speaker == "jevil") global.typer = 35; if (_speaker == "catti") global.fc = 13; if (_speaker == "jockington" || _speaker == "joc") global.fc = 14; if (_speaker == "catty" || _speaker == "caddy") global.fc = 16; if (_speaker == "bratty" || _speaker == "bra") global.fc = 17; if (_speaker == "rouxls" || _speaker == "rou") global.fc = 18; if (_speaker == "burgerpants" || _speaker == "bur") global.fc = 19; if (_speaker == "spamton") { if (global.fighting == 0) global.typer = 66; else global.typer = 68; } if (_speaker == "sneo") global.typer = 67; if (_speaker == "tenna") { global.typer = 80; if (global.fighting == 1) global.typer = 81; } if (_speaker == "susie" || _speaker == "sus") { global.fc = 1; global.typer = 10; if (global.darkzone == 1) { global.typer = 30; if (global.fighting == 1) global.typer = 47; } } if (_speaker == "ralsei" || _speaker == "ral") { global.fc = 2; global.typer = 31; if (global.fighting == 1) global.typer = 45; if (global.flag[30 ralsei_hat_state] == 1) global.typer = 6; } if (_speaker == "noelle" || _speaker == "noe") { global.fc = 3; if (global.darkzone == 0) global.typer = 12; else global.typer = 56; if (global.fighting == 1) global.typer = 59; } if (_speaker == "toriel" || _speaker == "tor") { global.fc = 4; global.typer = 7; } if (_speaker == "asgore" || _speaker == "asg") { global.fc = 10; global.typer = 18; } if (_speaker == "king" || _speaker == "kin") { global.fc = 20; global.typer = 33; ...
("no_name");
168
            msgsetloc(0, 
Oh,Delay 11 you found that,Delay 11 too!Wait for input
"Oh^1, you found that^1, too!/", "obj_b2d_dungeonend_slash_Step_0_gml_145_0"
);
169
            msgnextloc(
Perfect,Delay 11 just perfect...Wait for input
"Perfect^1, just perfect.../", "obj_b2d_dungeonend_slash_Step_0_gml_146_0"
);
170
            msgnextloc(
Thanks for all your hard work,Delay 11 Kris!Wait for inputClose Message
"Thanks for all your hard work^1, Kris!/%", "obj_b2d_dungeonend_slash_Step_0_gml_147_0"
);
171
            bw_make();
172
            con = 5;
173
            timer = 0;
174
        }
175
    }
176
    if (
scr_debug
scr_debug

function
scr_debug()
{ if (global.debug == 1) return 1; }
())
177
    {
178
        if (keyboard_check_pressed(ord("1")))
179
        {
180
        }
181
    }
182
    if (con == 5 && !bw_ex())
183
    {
184
        timer++;
185
        if (timer == 15)
186
        {
187
            snd_free_all();
188
            
scr_speaker
scr_speaker

function
scr_speaker(arg0)
{ _speaker = arg0; global.typer = 5; if (global.darkzone == 1) global.typer = 6; if (global.fighting == 1) global.typer = 4; global.fc = 0; global.fe = 0; if (_speaker == "silent" && global.darkzone == 0) global.typer = 2; if (_speaker == "silent" && global.darkzone == 1) global.typer = 36; if (_speaker == "balloon" || _speaker == "enemy") global.typer = 50; if (_speaker == "sans") { global.typer = 14; global.fc = 6; } if (_speaker == "undyne" || _speaker == "und") { global.typer = 17; global.fc = 9; } if (_speaker == "temmie" || _speaker == "tem") global.typer = 21; if (_speaker == "jevil") global.typer = 35; if (_speaker == "catti") global.fc = 13; if (_speaker == "jockington" || _speaker == "joc") global.fc = 14; if (_speaker == "catty" || _speaker == "caddy") global.fc = 16; if (_speaker == "bratty" || _speaker == "bra") global.fc = 17; if (_speaker == "rouxls" || _speaker == "rou") global.fc = 18; if (_speaker == "burgerpants" || _speaker == "bur") global.fc = 19; if (_speaker == "spamton") { if (global.fighting == 0) global.typer = 66; else global.typer = 68; } if (_speaker == "sneo") global.typer = 67; if (_speaker == "tenna") { global.typer = 80; if (global.fighting == 1) global.typer = 81; } if (_speaker == "susie" || _speaker == "sus") { global.fc = 1; global.typer = 10; if (global.darkzone == 1) { global.typer = 30; if (global.fighting == 1) global.typer = 47; } } if (_speaker == "ralsei" || _speaker == "ral") { global.fc = 2; global.typer = 31; if (global.fighting == 1) global.typer = 45; if (global.flag[30 ralsei_hat_state] == 1) global.typer = 6; } if (_speaker == "noelle" || _speaker == "noe") { global.fc = 3; if (global.darkzone == 0) global.typer = 12; else global.typer = 56; if (global.fighting == 1) global.typer = 59; } if (_speaker == "toriel" || _speaker == "tor") { global.fc = 4; global.typer = 7; } if (_speaker == "asgore" || _speaker == "asg") { global.fc = 10; global.typer = 18; } if (_speaker == "king" || _speaker == "kin") { global.fc = 20; global.typer = 33; ...
("no_name");
189
            msgsetloc(0, 
YOU WERE USED UP.
"YOU WERE USED UP.", "obj_b2d_dungeonend_slash_Step_0_gml_168_0"
);
190
            d = bw_make();
191
            d.skippable = false;
192
            d.reachedend_draw_triangle = false;
193
            d.rate = 6;
194
            d.textsound = snd_silent;
195
            d.reachedend_sound_play = false;
196
            d.boardopensound = false;
197
            timer = 0;
198
            con++;
199
        }
200
    }
201
    if (con == 6)
202
    {
203
        if (d.halt == 1)
204
        {
205
            timer++;
206
            if (timer == 10)
207
            {
208
                kris.image_alpha = 0;
209
                snd_play_x(snd_board_kill_ominous, 0.5, 0.5);
210
                snd_play_x(snd_board_torch, 0.8, 1.2);
211
                timer = 0;
212
                con++;
213
            }
214
        }
215
    }
216
    if (con == 7)
217
    {
218
        audio_stop_all();
219
        safe_delete(obj_writer);
220
        safe_delete(obj_board_writer);
221
        depth = 100000;
222
        draw_static = 1;
223
        obj_gameshow_swordroute.drawui = false;
224
        drawblack = true;
225
        with (obj_mainchara_board)
226
            controlled = 0;
227
        timer = 0;
228
        con++;
229
    }
230
    if (con == 8)
231
    {
232
        timer++;
233
        if (timer == 1)
234
            snd_play(snd_tv_static);
235
        if (timer == 30)
236
        {
237
            snd_stop(snd_tv_static);
238
            draw_static = 0;
239
            obj_board_controller.drawcrt = false;
240
        }
241
        if (timer == 90)
242
            obj_mainchara.sprite_index = spr_krisu_holdcontroller_slightright;
243
        if (timer == 150)
244
            obj_mainchara.sprite_index = spr_krisu_kneel;
245
        if (timer == 210)
246
        {
247
            obj_mainchara.facing = 2;
248
            obj_mainchara.fun = false;
249
            obj_mainchara.freeze = false;
250
            con++;
251
        }
252
    }
253
    if (con == 9)
254
    {
255
        con++;
256
        global.flag[7 disable_menu?] = 0;
257
        with (obj_gameshow_swordroute)
258
        {
259
            depth = 999980;
260
            bg.depth = 999994;
261
            gameconsole.depth = 999985;
262
        }
263
        with (obj_mainchara_board)
264
            ignoredepth = 1;
265
        with (obj_board_controller)
266
            depth = 999980;
267
        with (obj_marker)
268
        {
269
            if (x == 0 && y == 380)
270
                depth = 999979;
271
        }
272
        with (obj_mainchara)
273
        {
274
            ignoredepth = 1;
275
            depth = 999979;
276
        }
277
        with (obj_board_parent)
278
            depth += 500;
279
        with (obj_mainchara_board)
280
            visible = false;
281
        global.interact = 0;
282
    }
283
}