Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_dw_church_knightclimbpost_Create_0

(view raw script w/o annotations or w/e)
1
layer_set_visible("DEBUG_ASSETS", 0);
2
if (
scr_debug
scr_debug

function
scr_debug()
{ if (global.debug == 1) return 1; }
())
3
{
4
    if (keyboard_check(ord("P")))
5
        global.tempflag[90] = 1;
6
}
7
giant_door_marker = 
scr_dark_marker
scr_dark_marker

function
scr_dark_marker(arg0, arg1, arg2)
{ thismarker = instance_create(arg0, arg1, obj_marker); with (thismarker) { sprite_index = arg2; image_speed = 0; image_xscale = 2; image_yscale = 2; } return thismarker; }
(237, 167, spr_giantdarkdoor);
8
with (giant_door_marker)
9
    
scr_depth
scr_depth

function
scr_depth(arg0 = id, arg1 = 0)
{ with (arg0) depth = 100000 - ((y * 10) + (sprite_height * 10) + (arg1 * 10)); }
();
10
pillar = -4;
11
pillar_con = 0;
12
pillar_active = false;
13
pillar_pan = false;
14
pillar_pan_timer = 0;
15
con = -1;
16
_show_border = true;
17
if (global.plot < 195)
18
{
19
    con = 0;
20
    
scr_setparty
scr_setparty

function
scr_setparty(arg0 = false, arg1 = false, arg2 = false)
{ var kris = obj_mainchara; var slot = 0; var __make = true; if (!i_ex(kris)) __make = false;
scr_losechar();
safe_delete(obj_caterpillarchara); if (arg0 == true) {
scr_getchar(2);
if (__make) { with (
scr_makecaterpillar(kris.x, kris.y, 2, slot))
{ halign = (global.darkzone == 0) ? 3 : 6; valign = (global.darkzone == 0) ? 6 : 16; x -= halign; y -= valign; } } slot++; } if (arg1 == true) {
scr_getchar(3);
if (__make) { with (
scr_makecaterpillar(kris.x, kris.y, 3, slot))
{ halign = 2; valign = 12; x -= halign; y -= valign; } } slot++; } if (arg2 == true) {
scr_getchar(4);
if (__make) { with (
scr_makecaterpillar(kris.x, kris.y, 4, slot))
{ halign = (global.darkzone == 0) ? 2 : 4; valign = (global.darkzone == 0) ? 9 : 18; x -= halign; y -= valign; } } slot++; } }
(1, 1);
21
    if (
scr_debug
scr_debug

function
scr_debug()
{ if (global.debug == 1) return 1; }
())
22
    {
23
        if (!snd_is_playing(global.currentsong[1]) && global.tempflag[90] != 2)
24
            mus_play_ext("creepychase.ogg", 1, 0.7, 1.2);
25
    }
26
    var door_block = instance_create(giant_door_marker.x + 30, giant_door_marker.y + 273, obj_solidblockDark);
27
    with (door_block)
28
        image_xscale = 5;
29
    var door_readable = instance_create(giant_door_marker.x + 40, giant_door_marker.y + 250, obj_readable_room1);
30
    with (door_readable)
31
    {
32
        extflag = "grand_door";
33
        image_xscale = 8;
34
        image_yscale = 2;
35
    }
36
}
37
else
38
{
39
    giant_door_marker.image_index = 1;
40
    walk_timer = 0;
41
    blackall = -4;
42
    if (global.plot >= 240)
43
    {
44
        giant_door_marker.image_index = 0;
45
        if (global.plot < 243)
46
        {
47
            con = 20;
48
            
scr_setparty
scr_setparty

function
scr_setparty(arg0 = false, arg1 = false, arg2 = false)
{ var kris = obj_mainchara; var slot = 0; var __make = true; if (!i_ex(kris)) __make = false;
scr_losechar();
safe_delete(obj_caterpillarchara); if (arg0 == true) {
scr_getchar(2);
if (__make) { with (
scr_makecaterpillar(kris.x, kris.y, 2, slot))
{ halign = (global.darkzone == 0) ? 3 : 6; valign = (global.darkzone == 0) ? 6 : 16; x -= halign; y -= valign; } } slot++; } if (arg1 == true) {
scr_getchar(3);
if (__make) { with (
scr_makecaterpillar(kris.x, kris.y, 3, slot))
{ halign = 2; valign = 12; x -= halign; y -= valign; } } slot++; } if (arg2 == true) {
scr_getchar(4);
if (__make) { with (
scr_makecaterpillar(kris.x, kris.y, 4, slot))
{ halign = (global.darkzone == 0) ? 2 : 4; valign = (global.darkzone == 0) ? 9 : 18; x -= halign; y -= valign; } } slot++; } }
(1, 1);
49
            blackall = 
scr_dark_marker
scr_dark_marker

function
scr_dark_marker(arg0, arg1, arg2)
{ thismarker = instance_create(arg0, arg1, obj_marker); with (thismarker) { sprite_index = arg2; image_speed = 0; image_xscale = 2; image_yscale = 2; } return thismarker; }
(-10, -10, spr_pixel_white);
50
            blackall.image_xscale = 999;
51
            blackall.image_yscale = 999;
52
            blackall.depth = 100;
53
            blackall.image_blend = c_black;
54
            blackall.image_alpha = 1;
55
            blackall.visible = 1;
56
            _show_border = false;
57
        }
58
        if (global.flag[1658] == 1)
59
        {
60
            
scr_setparty
scr_setparty

function
scr_setparty(arg0 = false, arg1 = false, arg2 = false)
{ var kris = obj_mainchara; var slot = 0; var __make = true; if (!i_ex(kris)) __make = false;
scr_losechar();
safe_delete(obj_caterpillarchara); if (arg0 == true) {
scr_getchar(2);
if (__make) { with (
scr_makecaterpillar(kris.x, kris.y, 2, slot))
{ halign = (global.darkzone == 0) ? 3 : 6; valign = (global.darkzone == 0) ? 6 : 16; x -= halign; y -= valign; } } slot++; } if (arg1 == true) {
scr_getchar(3);
if (__make) { with (
scr_makecaterpillar(kris.x, kris.y, 3, slot))
{ halign = 2; valign = 12; x -= halign; y -= valign; } } slot++; } if (arg2 == true) {
scr_getchar(4);
if (__make) { with (
scr_makecaterpillar(kris.x, kris.y, 4, slot))
{ halign = (global.darkzone == 0) ? 2 : 4; valign = (global.darkzone == 0) ? 9 : 18; x -= halign; y -= valign; } } slot++; } }
(1, 1);
61
            pillar = instance_create(1000, 524, obj_dw_leave_ch4);
62
            pillar_active = false;
63
            if (global.flag[1659] == 0 && global.plot >= 243)
64
            {
65
                if (blackall == -4)
66
                {
67
                    blackall = 
scr_dark_marker
scr_dark_marker

function
scr_dark_marker(arg0, arg1, arg2)
{ thismarker = instance_create(arg0, arg1, obj_marker); with (thismarker) { sprite_index = arg2; image_speed = 0; image_xscale = 2; image_yscale = 2; } return thismarker; }
(-10, -10, spr_pixel_white);
68
                    blackall.image_xscale = 999;
69
                    blackall.image_yscale = 999;
70
                    blackall.depth = 100;
71
                    blackall.image_blend = c_black;
72
                }
73
                blackall.image_alpha = 1;
74
                pillar.scene_mode = true;
75
                con = 40;
76
                global.interact = 1;
77
                _show_border = false;
78
            }
79
            else
80
            {
81
                pillar_active = true;
82
                pillar_trigger = instance_create(pillar.x - 160, pillar.y - 50, obj_trigger);
83
                with (pillar_trigger)
84
                {
85
                    image_xscale = 10;
86
                    image_yscale = 10;
87
                    if (global.flag[1660] == 1)
88
                        x += 40;
89
                }
90
                if (global.tempflag[58] == 1)
91
                {
92
                    pillar_con = 30;
93
                    global.tempflag[58] = 0;
94
                    
scr_setparty
scr_setparty

function
scr_setparty(arg0 = false, arg1 = false, arg2 = false)
{ var kris = obj_mainchara; var slot = 0; var __make = true; if (!i_ex(kris)) __make = false;
scr_losechar();
safe_delete(obj_caterpillarchara); if (arg0 == true) {
scr_getchar(2);
if (__make) { with (
scr_makecaterpillar(kris.x, kris.y, 2, slot))
{ halign = (global.darkzone == 0) ? 3 : 6; valign = (global.darkzone == 0) ? 6 : 16; x -= halign; y -= valign; } } slot++; } if (arg1 == true) {
scr_getchar(3);
if (__make) { with (
scr_makecaterpillar(kris.x, kris.y, 3, slot))
{ halign = 2; valign = 12; x -= halign; y -= valign; } } slot++; } if (arg2 == true) {
scr_getchar(4);
if (__make) { with (
scr_makecaterpillar(kris.x, kris.y, 4, slot))
{ halign = (global.darkzone == 0) ? 2 : 4; valign = (global.darkzone == 0) ? 9 : 18; x -= halign; y -= valign; } } slot++; } }
(1, 1);
95
                    if (blackall == -4)
96
                    {
97
                        blackall = 
scr_dark_marker
scr_dark_marker

function
scr_dark_marker(arg0, arg1, arg2)
{ thismarker = instance_create(arg0, arg1, obj_marker); with (thismarker) { sprite_index = arg2; image_speed = 0; image_xscale = 2; image_yscale = 2; } return thismarker; }
(-10, -10, spr_pixel_white);
98
                        blackall.image_xscale = 999;
99
                        blackall.image_yscale = 999;
100
                        blackall.depth = 100;
101
                    }
102
                    blackall.image_alpha = 1;
103
                    blackall.image_blend = c_white;
104
                    with (obj_border_controller)
105
                    {
106
                        stop_custom_effect();
107
                        hide_border();
108
                    }
109
                }
110
                _show_border = true;
111
            }
112
        }
113
    }
114
    else
115
    {
116
        var door_block = instance_create(giant_door_marker.x + 30, giant_door_marker.y + 273, obj_solidblockDark);
117
        with (door_block)
118
            image_xscale = 5;
119
        var door_readable = instance_create(giant_door_marker.x + 40, giant_door_marker.y + 250, obj_readable_room1);
120
        with (door_readable)
121
        {
122
            extflag = "grand_door";
123
            image_xscale = 8;
124
            image_yscale = 2;
125
        }
126
    }
127
}
128
customcon = 0;
129
timer = 0;
130
roaring_knight = instance_create(2000, 890, obj_ch4_DCA01_roaringknight);
131
roaring_knight.sprite_index = spr_roaringknight_arms_cross;
132
roaring_knight.image_index = 0;
133
roaring_knight.depth = 899990;
134
giant_door_marker.depth = roaring_knight.depth + 100;
135
camera_pan = false;
136
camera_pan_timer = 0;
137
camera_y_pos = 6880;
138
camera_x_pos = 6880;
139
camera_x_target = 1419;
140
camera_y_target = 1542;
141
switch_marker = 
scr_dark_marker
scr_dark_marker

function
scr_dark_marker(arg0, arg1, arg2)
{ thismarker = instance_create(arg0, arg1, obj_marker); with (thismarker) { sprite_index = arg2; image_speed = 0; image_xscale = 2; image_yscale = 2; } return thismarker; }
(3040, 1300, spr_dw_church_switch);
142
with (switch_marker)
143
{
144
    image_index = 0;
145
    
scr_depth
scr_depth

function
scr_depth(arg0 = id, arg1 = 0)
{ with (arg0) depth = 100000 - ((y * 10) + (sprite_height * 10) + (arg1 * 10)); }
();
146
}
147
switch_readable = instance_create(switch_marker.x + 10, switch_marker.y + 10, obj_readable_room1);
148
with (switch_readable)
149
    extflag = "switch";
150
if (global.plot >= 195)
151
{
152
    with (roaring_knight)
153
        instance_destroy();
154
}
155
if (global.plot >= 240)
156
{
157
    with (switch_marker)
158
        instance_destroy();
159
    with (switch_readable)
160
        instance_destroy();
161
}
162
exit_block = instance_create(3080, 1360, obj_solidblockDark);
163
with (exit_block)
164
    image_yscale = 2;
165
cover_markers = [];
166
for (var i = 0; i < 6; i++)
167
{
168
    var cover_marker = 
scr_marker
scr_marker

function
scr_marker(arg0, arg1, arg2)
{ thismarker = instance_create(arg0, arg1, obj_marker); with (thismarker) { sprite_index = arg2; image_speed = 0; } return thismarker; }
(3080 + (i * 80), 1360, spr_blank_tile_black);
169
    with (cover_marker)
170
    {
171
        depth = layer_get_depth("ASSETS_Bridge") - 10;
172
        image_xscale = 2;
173
        image_yscale = 2;
174
    }
175
    cover_markers[i] = cover_marker;
176
}
177
178
unlock_bridge = function()
179
{
180
    with (exit_block)
181
        instance_destroy();
182
    var i = array_length(cover_markers) - 1;
183
    while (i >= 0)
184
    {
185
        with (cover_markers[i])
186
        {
187
            with (instance_create(x, y, obj_dw_church_magicalglass_breakable))
188
                
scr_darksize
scr_darksize

function
scr_darksize()
{ var inst = id; if (argument_count) inst = argument0; inst.image_xscale = 2; inst.image_yscale = 2; }
(id);
189
            instance_destroy();
190
        }
191
        i--;
192
    }
193
    with (switch_readable)
194
        instance_destroy();
195
};
196
197
unlock_anim = function()
198
{
199
    if (
scr_flag_get
scr_flag_get

function
scr_flag_get(arg0)
{ var flag_value = global.flag[arg0]; return flag_value; } function scr_flag_name_get(arg0) { if (!global.is_console) { var v = global.flagname[arg0]; return is_undefined(v) ? "*unknown flag*" : v; } else { return ""; } } function scr_getflag(arg0) { return
scr_flag_get(arg0);
}
(1567) == 0)
200
        
scr_flag_set
scr_flag_set

function
scr_flag_set(arg0, arg1)
{ global.flag[arg0] = arg1; if (
scr_debug())
show_debug_message("*** flag [" + string(arg0) + "] updated: " + string(arg1) + " | " + scr_flag_name_get(arg0)); } function scr_setflag(arg0, arg1) {
scr_flag_set(arg0, arg1);
}
(1567, 1);
201
    with (switch_marker)
202
        image_index = 1;
203
    snd_play(snd_locker);
204
    
scr_shakescreen
scr_shakescreen

function
scr_shakescreen(arg0 = 4, arg1 = 4)
{ var shaker = instance_create(x, y, obj_shake); if (i_ex(shaker)) { shaker.shakex = arg0; shaker.shakey = arg1; } }
();
205
    for (var i = 0; i < array_length(cover_markers); i++)
206
    {
207
        with (cover_markers[i])
208
        {
209
            with (instance_create(x, y, obj_dw_church_magicalglass_breakable))
210
            {
211
                
scr_darksize
scr_darksize

function
scr_darksize()
{ var inst = id; if (argument_count) inst = argument0; inst.image_xscale = 2; inst.image_yscale = 2; }
(id);
212
                image_alpha = 0;
213
                idlealpha = 0;
214
                
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_lerp_var_instance, 1 + (i * 4), id, "idlealpha", 0, 0.2, 20, 3, "out");
215
            }
216
            instance_destroy();
217
        }
218
    }
219
    with (exit_block)
220
        instance_destroy();
221
    with (switch_readable)
222
        instance_destroy();
223
};
224
225
if (global.plot < 242 && 
scr_flag_get
scr_flag_get

function
scr_flag_get(arg0)
{ var flag_value = global.flag[arg0]; return flag_value; } function scr_flag_name_get(arg0) { if (!global.is_console) { var v = global.flagname[arg0]; return is_undefined(v) ? "*unknown flag*" : v; } else { return ""; } } function scr_getflag(arg0) { return
scr_flag_get(arg0);
}
(1567) == 1)
226
{
227
    unlock_bridge();
228
    with (switch_marker)
229
        instance_destroy();
230
}
231
232
regain_control = function()
233
{
234
    global.interact = 0;
235
    global.facing = 0;
236
    var kr_x = kr_actor.x;
237
    var kr_y = kr_actor.y;
238
    obj_mainchara.x = kr_x;
239
    obj_mainchara.y = kr_y;
240
    obj_mainchara.visible = 1;
241
    obj_mainchara.cutscene = 0;
242
    var su_x = su_actor.x;
243
    var su_y = su_actor.y;
244
    var ra_x = ra_actor.x;
245
    var ra_y = ra_actor.y;
246
    with (obj_caterpillarchara)
247
    {
248
        if (name == "susie")
249
        {
250
            x = su_x;
251
            y = su_y;
252
        }
253
        else if (name == "ralsei")
254
        {
255
            x = ra_x;
256
            y = ra_y;
257
        }
258
        
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() { _newfacing =
scr_facing_letter_to_number(
scr_get_cardinal_direction(point_direction(x, y, obj_mainchara.x, obj_mainchara.y)));
remx[0] = obj_mainchara.x; remy[0] = obj_mainchara.y; facing[0] = _newfacing; for (_iaia = target; _iaia > 0; _iaia -= 1) { remx[_iaia] = lerp(obj_mainchara.x, x, _iaia / target); if (global.darkzone == 1) remy[_iaia] = lerp(obj_mainchara.y, y + 16, _iaia / target); else remy[_iaia] = lerp(obj_mainchara.y, y + 6, _iaia / target); facing[_iaia] = _newfacing; } }
();
259
        visible = 1;
260
    }
261
    with (obj_actor)
262
        visible = 0;
263
};
264
265
lose_control = function()
266
{
267
    global.interact = 1;
268
    global.facing = 0;
269
    kr_actor.x = obj_mainchara.x;
270
    kr_actor.y = obj_mainchara.y;
271
    kr_actor.sprite_index = obj_mainchara.sprite_index;
272
    var su_x = 0;
273
    var su_y = 0;
274
    var su_sprite = -4;
275
    var ra_x = 0;
276
    var ra_y = 0;
277
    var ra_sprite = -4;
278
    with (obj_caterpillarchara)
279
    {
280
        if (name == "susie")
281
        {
282
            su_x = x;
283
            su_y = y;
284
            su_sprite = sprite_index;
285
        }
286
        else if (name == "ralsei")
287
        {
288
            ra_x = x;
289
            ra_y = y;
290
            ra_sprite = sprite_index;
291
        }
292
    }
293
    su_actor.x = su_x;
294
    su_actor.y = su_y;
295
    su_actor.sprite_index = su_sprite;
296
    ra_actor.x = ra_x;
297
    ra_actor.y = ra_y;
298
    ra_actor.sprite_index = ra_sprite;
299
    with (obj_actor)
300
        visible = 1;
301
    with (obj_caterpillarchara)
302
        visible = 0;
303
    with (obj_mainchara)
304
        visible = 0;
305
};
306
307
greenflame = -4;
308
flamefade = false;
309
if (global.plot >= 243)
310
    event_user(9);