Deltarune (Chapter 5) script viewer

← back to main script listing

gml_Object_obj_dw_church_organ_Step_0

related scripts: Create_0Draw_0Other_10Step_0

(view raw script w/o annotations or w/e)
1
var kractor = -4;
2
with (obj_actor)
3
{
4
    if (name == "kris")
5
        kractor = id;
6
}
7
if (buffer > -10)
8
    buffer--;
9
if (engaged == true)
10
{
11
    if (button2_h() && buffer < 0)
12
    {
13
        endtimer++;
14
        if (endtimer >= endtime)
15
        {
16
            engaged = false;
17
            endtimer = 0;
18
            con = 20;
19
        }
20
    }
21
    else
22
    {
23
        endtimer = 0;
24
    }
25
    soundtoplay = 0;
26
    if (left_h() && !down_h() && !right_h() && !up_h())
27
        soundtoplay = 1;
28
    if ((left_h() && down_h()) && !up_h() && !right_h())
29
        soundtoplay = 2;
30
    if (down_h() && !left_h() && !right_h() && !up_h())
31
        soundtoplay = 3;
32
    if ((down_h() && right_h()) && !left_h() && !up_h())
33
        soundtoplay = 4;
34
    if (right_h() && !left_h() && !down_h() && !up_h())
35
        soundtoplay = 5;
36
    if ((up_h() && right_h()) && !down_h() && !left_h())
37
        soundtoplay = 7;
38
    if (up_h() && !left_h() && !down_h() && !right_h())
39
        soundtoplay = 7;
40
    if ((up_h() && left_h()) && !down_h() && !right_h())
41
        soundtoplay = 8;
42
    makenote = false;
43
    if (buffer < 0 && con == 0)
44
    {
45
        with (obj_mainchara)
46
        {
47
            fun = 1;
48
            sprite_index = spr_kris_piano_loop_1;
49
            image_index = 3;
50
        }
51
        if (button1_p() && !button2_h())
52
        {
53
            makenote = true;
54
            var mysound = 0;
55
            var myinstrument = mysnd;
56
            var lowpitch = 0;
57
            var thispitch = 1;
58
            var passentry = "";
59
            switch (soundtoplay)
60
            {
61
                case 0:
62
                    if (!button3_h())
63
                    {
64
                        thispitch = 1;
65
                        passentry = "a";
66
                    }
67
                    else
68
                    {
69
                        thispitch = 0.5;
70
                        passentry = "i";
71
                    }
72
                    break;
73
                case 5:
74
                    if (!button3_h())
75
                    {
76
                        thispitch = 1.125;
77
                        passentry = "b";
78
                    }
79
                    else
80
                    {
81
                        thispitch = 0.5625;
82
                        passentry = "j";
83
                    }
84
                    break;
85
                case 4:
86
                    if (!button3_h())
87
                    {
88
                        thispitch = 1.25;
89
                        passentry = "c";
90
                    }
91
                    else
92
                    {
93
                        thispitch = 0.625;
94
                        passentry = "k";
95
                    }
96
                    break;
97
                case 3:
98
                    if (!button3_h())
99
                    {
100
                        thispitch = 4/3;
101
                        passentry = "d";
102
                    }
103
                    else
104
                    {
105
                        thispitch = 2/3;
106
                        passentry = "l";
107
                    }
108
                    break;
109
                case 2:
110
                    if (!button3_h())
111
                    {
112
                        thispitch = 1.5;
113
                        passentry = "e";
114
                    }
115
                    else
116
                    {
117
                        thispitch = 0.75;
118
                        passentry = "m";
119
                    }
120
                    break;
121
                case 1:
122
                    if (!button3_h())
123
                    {
124
                        thispitch = 1.6666666666666667;
125
                        passentry = "f";
126
                    }
127
                    else
128
                    {
129
                        thispitch = 0.8333333333333334;
130
                        passentry = "n";
131
                    }
132
                    break;
133
                case 8:
134
                    if (!button3_h())
135
                    {
136
                        thispitch = 1.875;
137
                        passentry = "g";
138
                    }
139
                    else
140
                    {
141
                        thispitch = 0.9375;
142
                        passentry = "o";
143
                    }
144
                    break;
145
                case 7:
146
                    if (!button3_h())
147
                    {
148
                        thispitch = 2;
149
                        passentry = "h";
150
                    }
151
                    else
152
                    {
153
                        thispitch = 1;
154
                        passentry = "a";
155
                    }
156
                    break;
157
            }
158
            if (selectors[trueindex].cut == true)
159
                snd_stop(selectors[trueindex].snd);
160
            snd_play(selectors[trueindex].snd, 0.8, thispitch);
161
            buffer = 0;
162
            with (obj_dw_castle_church_entrance)
163
            {
164
                if (button3_h())
165
                {
166
                    with (kk)
167
                        marker.dance();
168
                }
169
                else
170
                {
171
                    with (sweet)
172
                        marker.dance();
173
                }
174
            }
175
        }
176
    }
177
}
178
if (!engaged && con == 0)
179
{
180
    var trig = false;
181
    for (var i = 0; i < array_length(myint); i++)
182
    {
183
        if (myint[i].myinteract != 0)
184
            trig = true;
185
    }
186
    if (trig == true)
187
    {
188
        con = 10;
189
        global.interact = 1;
190
    }
191
}
192
if (con == 10)
193
{
194
    con = 11;
195
    snd_volume(global.currentsong[1], 0, 15);
196
    kr_actor = -4;
197
    ra_actor = -4;
198
    su_actor = -4;
199
    
scr_cutscene_make
scr_cutscene_make

function
scr_cutscene_make()
{ _cutscene_master = instance_create(0, 0, obj_cutscene_master); _cutscene_master.master_object = id; return _cutscene_master; }
();
200
    
scr_maincharacters_actors
scr_maincharacters_actors

function
scr_maincharacters_actors()
{ if (i_ex(obj_plat_player)) { scr_maincharacters_actors_plat(); exit; } actor_count = 0; kr = 0; kr_actor = instance_create(obj_mainchara.x, obj_mainchara.y, obj_actor);
scr_actor_setup(kr, kr_actor, "kris");
kr_actor.sprite_index = obj_mainchara.sprite_index; kr_actor.depth = obj_mainchara.depth; with (obj_mainchara) visible = 0; for (__jj = 0; __jj < array_length_1d(global.cinstance); __jj++) { if (i_ex(global.cinstance[__jj])) { if (global.cinstance[__jj].name == "susie") { actor_count++; su = __jj + 1; su_actor = instance_create(global.cinstance[__jj].x, global.cinstance[__jj].y, obj_actor);
scr_actor_setup(su, su_actor, "susie");
su_actor.sprite_index = global.cinstance[__jj].sprite_index; su_actor.depth = global.cinstance[__jj].depth; with (global.cinstance[__jj]) visible = 0; } if (global.cinstance[__jj].name == "ralsei") { actor_count++; ra = __jj + 1; ra_actor = instance_create(global.cinstance[__jj].x, global.cinstance[__jj].y, obj_actor);
scr_actor_setup(ra, ra_actor, "ralsei");
ra_actor.sprite_index = global.cinstance[__jj].sprite_index; ra_actor.depth = global.cinstance[__jj].depth; with (global.cinstance[__jj]) visible = 0; } if (global.cinstance[__jj].name == "noelle") { actor_count++; no = __jj + 1; no_actor = instance_create(global.cinstance[__jj].x, global.cinstance[__jj].y, obj_actor);
scr_actor_setup(no, no_actor, "noelle");
no_actor.sprite_index = global.cinstance[__jj].sprite_index; no_actor.depth = global.cinstance[__jj].depth; with (global.cinstance[__jj]) visible = 0; } } } }
();
201
    var camx = camerax();
202
    var camy = cameray();
203
    var camstart = 
204
    {
205
        x: camx,
206
        y: camy
207
    };
208
    var krstart = 
209
    {
210
        x: kr_actor.x,
211
        y: kr_actor.y
212
    };
213
    var rastart;
214
    if (i_ex(ra_actor))
215
    {
216
        rastart = 
217
        {
218
            x: ra_actor.x,
219
            y: ra_actor.y
220
        };
221
    }
222
    var sustart;
223
    if (i_ex(su_actor))
224
    {
225
        sustart = 
226
        {
227
            x: su_actor.x,
228
            y: su_actor.y
229
        };
230
    }
231
    var lay = "PianoMarkers";
232
    var krdest = findspriteinfo(spr_kris_piano_loop_1, lay);
233
    var sudest = findspriteinfo(spr_susie_walk_up_dw, lay);
234
    var radest = findspriteinfo(spr_ralsei_walk_up, lay);
235
    var camdest = findspriteinfo(spr_debug_cameraregionpreview, lay);
236
    var walkspeed = 4;
237
    var krwait = 
scr_returnwait_instance
scr_returnwait_instance

function
scr_returnwait_instance(arg0, arg1, arg2)
{ var dist = max(1, round(point_distance(arg0.x, arg0.y, arg1.x, arg1.y) / arg2)); return dist; }
(krstart, krdest, walkspeed);
238
    var suwait = 0;
239
    if (i_ex(su_actor))
240
        suwait = clamp(
scr_returnwait_instance
scr_returnwait_instance

function
scr_returnwait_instance(arg0, arg1, arg2)
{ var dist = max(1, round(point_distance(arg0.x, arg0.y, arg1.x, arg1.y) / arg2)); return dist; }
(sustart, sudest, walkspeed), 0, 25);
241
    var rawait = 0;
242
    if (i_ex(ra_actor))
243
        rawait = clamp(
scr_returnwait_instance
scr_returnwait_instance

function
scr_returnwait_instance(arg0, arg1, arg2)
{ var dist = max(1, round(point_distance(arg0.x, arg0.y, arg1.x, arg1.y) / arg2)); return dist; }
(rastart, radest, walkspeed), 0, 25);
244
    
c_sel
c_sel

function
c_sel(arg0)
{
c_cmd("select", arg0, 0, 0, 0);
}
(kr);
245
    c_walkto(krdest, krwait, "u");
246
    if (i_ex(ra_actor))
247
    {
248
        
c_sel
c_sel

function
c_sel(arg0)
{
c_cmd("select", arg0, 0, 0, 0);
}
(ra);
249
        c_walkto(radest, rawait, "u");
250
    }
251
    if (i_ex(su_actor))
252
    {
253
        
c_sel
c_sel

function
c_sel(arg0)
{
c_cmd("select", arg0, 0, 0, 0);
}
(su);
254
        c_walkto(sudest, suwait, "u");
255
    }
256
    
c_pannable
c_pannable

function
c_pannable(arg0)
{
c_cmd("pannable", arg0, 0, 0, 0);
}
(1);
257
    
c_pan
c_pan

function
c_pan(arg0, arg1, arg2)
{
c_cmd("pan", arg0, arg1, arg2, 0);
}
(camdest.x, camdest.y, krwait);
258
    
c_wait
c_wait

function
c_wait(arg0)
{
c_cmd("wait", arg0, 0, 0, 0);
}
(max(krwait, rawait, suwait) + 1);
259
    
c_actortokris
c_actortokris

function
c_actortokris()
{
c_cmd("actortokris", 0, 0, 0, 0);
}
();
260
    
c_actortocaterpillar
c_actortocaterpillar

function
c_actortocaterpillar()
{
c_cmd("actortocaterpillar", 0, 0, 0, 0);
} function c_actortocaterpillarstill() {
c_cmd("actortocaterpillarstill", 0, 0, 0, 0);
}
();
261
    
c_customfunc
c_customfunc

function
c_customfunc(arg0, arg1 = -1)
{ if (instance_exists(obj_cutscene_master)) { with (obj_cutscene_master) array_push(customfuncs, arg0);
c_cmd("customfunc", arg1, 0, 0, 0);
} }
(function()
262
    {
263
        with (obj_caterpillarchara)
264
        {
265
            
scr_caterpillar_interpolate
scr_caterpillar_interpolate

function
scr_caterpillar_interpolate(arg0 = "none")
{ if (arg0 == "all") { with (obj_caterpillarchara) scr_caterpillar_interpolate_old(); } else if (arg0 == "none") { if (object_index == obj_caterpillarchara) scr_caterpillar_interpolate_old(); } else { with (obj_caterpillarchara) { if (name == arg0) scr_caterpillar_interpolate_old(); } } } function scr_caterinterp(arg0 = "none") {
scr_caterpillar_interpolate(arg0);
} function scr_caterpillar_interpolate_old() { var _newfacing = direction_to_object_bbox(id, 1198, true); remx[0] = obj_mainchara.x; remy[0] = obj_mainchara.y; facing[0] = _newfacing; for (var _iaia = target; _iaia > 0; _iaia -= 1) { remx[_iaia] = lerp(obj_mainchara.x, x + halign, _iaia / target); remy[_iaia] = lerp(obj_mainchara.y, y + valign, _iaia / target); facing[_iaia] = _newfacing; } }
(name);
266
            
scr_caterpillar_facing
scr_caterpillar_facing

function
scr_caterpillar_facing(arg0)
{ with (obj_caterpillarchara) { for (i = 0; i < 25; i += 1) facing[i] = arg0; } }
(2);
267
        }
268
    });
269
    
c_terminatekillactors
c_terminatekillactors

function
c_terminatekillactors()
{
c_cmd("terminatekillactors", 0, 0, 0, 0);
}
();
270
}
271
if (con == 11 && !instance_exists(obj_cutscene_master))
272
{
273
    con = 0;
274
    engaged = true;
275
}
276
if (con == 20)
277
{
278
    con = 21;
279
    
scr_cutscene_make
scr_cutscene_make

function
scr_cutscene_make()
{ _cutscene_master = instance_create(0, 0, obj_cutscene_master); _cutscene_master.master_object = id; return _cutscene_master; }
();
280
    
scr_maincharacters_actors
scr_maincharacters_actors

function
scr_maincharacters_actors()
{ if (i_ex(obj_plat_player)) { scr_maincharacters_actors_plat(); exit; } actor_count = 0; kr = 0; kr_actor = instance_create(obj_mainchara.x, obj_mainchara.y, obj_actor);
scr_actor_setup(kr, kr_actor, "kris");
kr_actor.sprite_index = obj_mainchara.sprite_index; kr_actor.depth = obj_mainchara.depth; with (obj_mainchara) visible = 0; for (__jj = 0; __jj < array_length_1d(global.cinstance); __jj++) { if (i_ex(global.cinstance[__jj])) { if (global.cinstance[__jj].name == "susie") { actor_count++; su = __jj + 1; su_actor = instance_create(global.cinstance[__jj].x, global.cinstance[__jj].y, obj_actor);
scr_actor_setup(su, su_actor, "susie");
su_actor.sprite_index = global.cinstance[__jj].sprite_index; su_actor.depth = global.cinstance[__jj].depth; with (global.cinstance[__jj]) visible = 0; } if (global.cinstance[__jj].name == "ralsei") { actor_count++; ra = __jj + 1; ra_actor = instance_create(global.cinstance[__jj].x, global.cinstance[__jj].y, obj_actor);
scr_actor_setup(ra, ra_actor, "ralsei");
ra_actor.sprite_index = global.cinstance[__jj].sprite_index; ra_actor.depth = global.cinstance[__jj].depth; with (global.cinstance[__jj]) visible = 0; } if (global.cinstance[__jj].name == "noelle") { actor_count++; no = __jj + 1; no_actor = instance_create(global.cinstance[__jj].x, global.cinstance[__jj].y, obj_actor);
scr_actor_setup(no, no_actor, "noelle");
no_actor.sprite_index = global.cinstance[__jj].sprite_index; no_actor.depth = global.cinstance[__jj].depth; with (global.cinstance[__jj]) visible = 0; } } } }
();
281
    snd_volume(global.currentsong[1], 1, 15);
282
    var camx = camerax();
283
    var camy = cameray();
284
    var camstart = 
285
    {
286
        x: camx,
287
        y: camy
288
    };
289
    var krstart = 
290
    {
291
        x: kr_actor.x,
292
        y: kr_actor.y
293
    };
294
    var lay = "PianoMarkers";
295
    var krdest = findspriteinfo(spr_krisd_dark, lay);
296
    var walkspeed = 4;
297
    var krwait = 
scr_returnwait_instance
scr_returnwait_instance

function
scr_returnwait_instance(arg0, arg1, arg2)
{ var dist = max(1, round(point_distance(arg0.x, arg0.y, arg1.x, arg1.y) / arg2)); return dist; }
(krstart, krdest, walkspeed);
298
    
c_customfunc
c_customfunc

function
c_customfunc(arg0, arg1 = -1)
{ if (instance_exists(obj_cutscene_master)) { with (obj_cutscene_master) array_push(customfuncs, arg0);
c_cmd("customfunc", arg1, 0, 0, 0);
} }
(function()
299
    {
300
        with (obj_mainchara)
301
        {
302
            fun = 0;
303
            global.facing = 0;
304
        }
305
    });
306
    
c_sel
c_sel

function
c_sel(arg0)
{
c_cmd("select", arg0, 0, 0, 0);
}
(kr);
307
    c_walkto(krdest, krwait, "d");
308
    
c_wait
c_wait

function
c_wait(arg0)
{
c_cmd("wait", arg0, 0, 0, 0);
}
(krwait);
309
    
c_pannable
c_pannable

function
c_pannable(arg0)
{
c_cmd("pannable", arg0, 0, 0, 0);
}
(0);
310
    
c_actortokris
c_actortokris

function
c_actortokris()
{
c_cmd("actortokris", 0, 0, 0, 0);
}
();
311
    
c_actortocaterpillar
c_actortocaterpillar

function
c_actortocaterpillar()
{
c_cmd("actortocaterpillar", 0, 0, 0, 0);
} function c_actortocaterpillarstill() {
c_cmd("actortocaterpillarstill", 0, 0, 0, 0);
}
();
312
    
c_customfunc
c_customfunc

function
c_customfunc(arg0, arg1 = -1)
{ if (instance_exists(obj_cutscene_master)) { with (obj_cutscene_master) array_push(customfuncs, arg0);
c_cmd("customfunc", arg1, 0, 0, 0);
} }
(function()
313
    {
314
        with (obj_caterpillarchara)
315
            
scr_caterpillar_interpolate
scr_caterpillar_interpolate

function
scr_caterpillar_interpolate(arg0 = "none")
{ if (arg0 == "all") { with (obj_caterpillarchara) scr_caterpillar_interpolate_old(); } else if (arg0 == "none") { if (object_index == obj_caterpillarchara) scr_caterpillar_interpolate_old(); } else { with (obj_caterpillarchara) { if (name == arg0) scr_caterpillar_interpolate_old(); } } } function scr_caterinterp(arg0 = "none") {
scr_caterpillar_interpolate(arg0);
} function scr_caterpillar_interpolate_old() { var _newfacing = direction_to_object_bbox(id, 1198, true); remx[0] = obj_mainchara.x; remy[0] = obj_mainchara.y; facing[0] = _newfacing; for (var _iaia = target; _iaia > 0; _iaia -= 1) { remx[_iaia] = lerp(obj_mainchara.x, x + halign, _iaia / target); remy[_iaia] = lerp(obj_mainchara.y, y + valign, _iaia / target); facing[_iaia] = _newfacing; } }
(name);
316
        global.facing = 0;
317
    });
318
    
c_terminatekillactors
c_terminatekillactors

function
c_terminatekillactors()
{
c_cmd("terminatekillactors", 0, 0, 0, 0);
}
();
319
}
320
if (con == 21 && !instance_exists(obj_cutscene_master))
321
{
322
    for (var i = 0; i < array_length(myint); i++)
323
        myint[i].myinteract = 0;
324
    con = 0;
325
    global.interact = 0;
326
}
327
event_user(0);