Deltarune (Chapter 5) script viewer

← back to main script listing

gml_Object_obj_dw_castle_church_climb_Create_0

related scripts: Create_0 Draw_0Other_11Other_12Other_15Other_19Step_0Step_1Step_2

(view raw script w/o annotations or w/e)
1
depth = 6000;
2
con = 0;
3
timer = 0;
4
init = 0;
5
siner = 0;
6
roomphase = 0;
7
ccon = 0;
8
catchinteract = false;
9
forceclimb = false;
10
turnofflayers("cutscene");
11
turnofflayers("DEBUG");
12
turnofflayers("ASSETS");
13
turnofflayers("NPCs");
14
layer_set_visible("BG_ASSETS", 1);
15
scoreboard = 
16
{
17
    x: 0,
18
    y: room_height,
19
    siner: 0,
20
    timer: 0,
21
    image_index: 0,
22
    timetogonow: false
23
};
24
curtain = scr_marker_fromasset(findsprite(spr_dw_changing_room_curtain, "ASSETS"));
25
curtain.sprite_index = spr_dw_castle_church_climb_curtain;
26
curtain.image_index = 0;
27
curtain.image_speed = 0;
28
scr_depth
scr_depth

function
scr_depth(arg0 = id, arg1 = 0)
{ with (arg0) depth = 100000 - ((y * 10) + (sprite_height * 10) + (arg1 * 10)); }
(curtain, 1000);
29
curtainbg = scr_marker_fromasset(findsprite(spr_dw_changing_room_curtain_back, "ASSETS"));
30
curtainbg.sprite_index = spr_dw_castle_church_climb_curtainbg;
31
var bgTopDecor = findsprite_all(6202, "ASSETS");
32
for (var i = 0; i < array_length(bgTopDecor); i++)
33
    scr_marker_fromasset(bgTopDecor[i], curtain.depth - 1);
34
scr_depth
scr_depth

function
scr_depth(arg0 = id, arg1 = 0)
{ with (arg0) depth = 100000 - ((y * 10) + (sprite_height * 10) + (arg1 * 10)); }
(curtainbg, -10000);
35
var music = "climb.ogg";
36
scr_musicer
scr_musicer

function
scr_musicer(arg0 = "dogcheck.ogg", arg1 = 0.7, arg2 = 1, arg3 = 0, arg4 = -1)
{ var musicer = instance_create_depth(0, 0, 0, obj_musicer_gen); musicer.song = arg0; musicer.volume = arg1; musicer.pitch = arg2; musicer.delay = arg3; musicer.fadein = arg4; return musicer; }
(music);
37
thisclimbtime = -1;
38
cutscene = -1;
39
fademusic = 0;
40
canceltimer = 0;
41
effectinit = 0;
42
climbflag = 1440;
43
timber = 0;
44
climbingcon = 0;
45
stufftomove = [];
46
array_push(stufftomove, 586);
47
array_push(stufftomove, 1064);
48
array_push(stufftomove, 1712);
49
var ws1 = findspriteinfo(spr_dw_church_climb_wallswitch, "ASSETS");
50
wallswitch = 
scr_marker_ext
scr_marker_ext

function
scr_marker_ext(arg0, arg1, arg2, arg3 = 1, arg4 = 1, arg5 = 0, arg6 = 0, arg7 = 16777215, arg8 = depth, arg9 = false, arg10 = -1, arg11 = 1, arg12 = false)
{ var objinst = 1238; if (arg12) objinst = 1496; var thismarker = instance_create(arg0, arg1, objinst); with (thismarker) { depth = arg8; sprite_index = arg2; image_speed = arg5; image_xscale = arg3; image_yscale = arg4; image_index = arg6; image_blend = arg7; image_alpha = arg11; if (arg9)
scr_depth_alt();
} if (arg10 > 0)
scr_doom(thismarker, arg10);
return thismarker; } function scr_marker_fromasset(arg0, arg1 = depth, arg2 = false, arg3 = false) { if (is_undefined(arg0)) { debug_message("Warning: scr_marker_fromasset() sprite_instance didn't exist"); return -4; } var sprite = layer_sprite_get_sprite(arg0); var index = layer_sprite_get_index(arg0); var imagespeed = layer_sprite_get_speed(arg0); var xscale = layer_sprite_get_xscale(arg0); var yscale = layer_sprite_get_yscale(arg0); var angle = layer_sprite_get_angle(arg0); var blend = layer_sprite_get_blend(arg0); var alpha = layer_sprite_get_alpha(arg0); var xloc = layer_sprite_get_x(arg0); var yloc = layer_sprite_get_y(arg0); var markertype = 1238; if (arg3) markertype = 1496; var thismarker = instance_create_depth(xloc, yloc, arg1, markertype); with (thismarker) { sprite_index = sprite; image_index = index; image_speed = imagespeed; image_xscale = xscale; image_yscale = yscale; image_angle = angle; image_blend = blend; image_alpha = alpha; if (arg2)
scr_depth_alt(id, arg2);
} return thismarker; } function scr_assetgetinfo(arg0) { var sprite = layer_sprite_get_sprite(arg0); var index = layer_sprite_get_index(arg0); var xloc = layer_sprite_get_x(arg0); var yloc = layer_sprite_get_y(arg0); var xscale = layer_sprite_get_xscale(arg0); var yscale = layer_sprite_get_yscale(arg0); var angle = layer_sprite_get_angle(arg0); var blend = layer_sprite_get_blend(arg0); var alpha = layer_sprite_get_alpha(arg0); var imagespeed = layer_sprite_get_speed(arg0); return [sprite, index, xloc, yloc, xscale, yscale, angle, blend, alpha, imagespeed]; }
(ws1.x, ws1.y, spr_dw_church_climb_wallswitch, 2, 2, 0, undefined, undefined, 99990);
51
triginit = 0;
52
climbinit = 0;
53
forcefall = 0;
54
tickcount = 0;
55
fulltime = 54000;
56
ch4trophy = -4;
57
if (global.flag[1524] <= 182 && global.flag[1524] != 0 && global.flag[1525] <= 302 && global.flag[1525] != 0)
58
{
59
    ch4trophy = scr_makenpc_fromasset(findsprite(spr_dw_church_sideclimb_trophy, "ASSETS", #A1FF82));
60
    ch4trophy.marker.image_blend = c_white;
61
}
62
ch5trophy = -4;
63
64
maketrophy = function()
65
{
66
    if (!i_ex(ch5trophy))
67
    {
68
        ch5trophy = scr_makenpc_fromasset(findsprite(spr_dw_church_sideclimb_trophy, "ASSETS", #CEFF3D));
69
        ch5trophy.marker.image_blend = c_white;
70
    }
71
};
72
73
devtime = 512;
74
if (global.flag[climbflag] <= devtime && global.flag[climbflag] > 1)
75
    maketrophy();
76
if (i_ex(ch4trophy) || i_ex(ch5trophy))
77
{
78
    var tab = findsprite(spr_dw_castle_church_climb_table, "ASSETS");
79
    table = scr_marker_fromasset(tab);
80
    with (table)
81
    {
82
        with (instance_create(bbox_left, bbox_top, obj_solidblocksized))
83
            
scr_sizeexact
scr_sizeexact

function
scr_sizeexact(arg0, arg1, arg2 = id)
{ with (arg2) { if (!sprite_exists(sprite_index)) { debug_message("Can't size, no sprite"); exit; } var _w = sprite_get_width(sprite_index); var _h = sprite_get_width(sprite_index); image_xscale = arg0 / _w; image_yscale = arg1 / _h; } }
(other.bbox_right - other.bbox_left, other.bbox_bottom - other.bbox_top);
84
        
scr_depth_alt
scr_depth_alt

function
scr_depth_alt(arg0 = id, arg1 = 0)
{ with (arg0) depth = 100000 - ((y * 10) + ((sprite_height - sprite_yoffset) * 10) + (arg1 * 10)); }
();
85
    }
86
    with (ch4trophy)
87
        marker.depth = other.table.depth - 1;
88
    with (ch5trophy)
89
        marker.depth = other.table.depth - 1;
90
}
91
cup = scr_makenpc_fromasset(findsprite(spr_npc_cup_walk, "NPCs"));
92
cup.issolid = false;
93
var werewirerecruited = false;
94
if (global.flag[633 recruit_plugboy] == 1)
95
    werewirerecruited = true;
96
balt = -4;
97
baltswing = -4;
98
werewire = -4;
99
if (!werewirerecruited)
100
{
101
    balt = scr_makenpc_fromasset(findsprite(spr_incense_spared, "NPCs"));
102
    balt.issolid = false;
103
    var bl = findspriteinfo(spr_pxwhite, "npcs", #FF23CF, undefined);
104
    baltsolid = instance_create(bl.x, bl.y, obj_solidblocksized);
105
    with (baltsolid)
106
        
scr_sizeexact
scr_sizeexact

function
scr_sizeexact(arg0, arg1, arg2 = id)
{ with (arg2) { if (!sprite_exists(sprite_index)) { debug_message("Can't size, no sprite"); exit; } var _w = sprite_get_width(sprite_index); var _h = sprite_get_width(sprite_index); image_xscale = arg0 / _w; image_yscale = arg1 / _h; } }
(bl.sprite_width, bl.sprite_height);
107
}
108
else
109
{
110
    baltswing = scr_makenpc_fromasset(findsprite(spr_dw_npc_balthizard_swing, "NPCs"), true);
111
    with (baltswing)
112
    {
113
        markerstick = false;
114
        issolid = false;
115
        with (marker)
116
        {
117
            shadow = 
scr_marker_ext
scr_marker_ext

function
scr_marker_ext(arg0, arg1, arg2, arg3 = 1, arg4 = 1, arg5 = 0, arg6 = 0, arg7 = 16777215, arg8 = depth, arg9 = false, arg10 = -1, arg11 = 1, arg12 = false)
{ var objinst = 1238; if (arg12) objinst = 1496; var thismarker = instance_create(arg0, arg1, objinst); with (thismarker) { depth = arg8; sprite_index = arg2; image_speed = arg5; image_xscale = arg3; image_yscale = arg4; image_index = arg6; image_blend = arg7; image_alpha = arg11; if (arg9)
scr_depth_alt();
} if (arg10 > 0)
scr_doom(thismarker, arg10);
return thismarker; } function scr_marker_fromasset(arg0, arg1 = depth, arg2 = false, arg3 = false) { if (is_undefined(arg0)) { debug_message("Warning: scr_marker_fromasset() sprite_instance didn't exist"); return -4; } var sprite = layer_sprite_get_sprite(arg0); var index = layer_sprite_get_index(arg0); var imagespeed = layer_sprite_get_speed(arg0); var xscale = layer_sprite_get_xscale(arg0); var yscale = layer_sprite_get_yscale(arg0); var angle = layer_sprite_get_angle(arg0); var blend = layer_sprite_get_blend(arg0); var alpha = layer_sprite_get_alpha(arg0); var xloc = layer_sprite_get_x(arg0); var yloc = layer_sprite_get_y(arg0); var markertype = 1238; if (arg3) markertype = 1496; var thismarker = instance_create_depth(xloc, yloc, arg1, markertype); with (thismarker) { sprite_index = sprite; image_index = index; image_speed = imagespeed; image_xscale = xscale; image_yscale = yscale; image_angle = angle; image_blend = blend; image_alpha = alpha; if (arg2)
scr_depth_alt(id, arg2);
} return thismarker; } function scr_assetgetinfo(arg0) { var sprite = layer_sprite_get_sprite(arg0); var index = layer_sprite_get_index(arg0); var xloc = layer_sprite_get_x(arg0); var yloc = layer_sprite_get_y(arg0); var xscale = layer_sprite_get_xscale(arg0); var yscale = layer_sprite_get_yscale(arg0); var angle = layer_sprite_get_angle(arg0); var blend = layer_sprite_get_blend(arg0); var alpha = layer_sprite_get_alpha(arg0); var imagespeed = layer_sprite_get_speed(arg0); return [sprite, index, xloc, yloc, xscale, yscale, angle, blend, alpha, imagespeed]; }
(x, y + 108, spr_seth_shadow, 4, 2, undefined, undefined, c_black, 1000000, undefined, undefined, 0.25);
118
            
scr_sizeexact
scr_sizeexact

function
scr_sizeexact(arg0, arg1, arg2 = id)
{ with (arg2) { if (!sprite_exists(sprite_index)) { debug_message("Can't size, no sprite"); exit; } var _w = sprite_get_width(sprite_index); var _h = sprite_get_width(sprite_index); image_xscale = arg0 / _w; image_yscale = arg1 / _h; } }
(80, 18, shadow);
119
            siner = 0;
120
            
121
            step_func = function()
122
            {
123
                siner++;
124
                var targalpha = !instance_exists(obj_climb_kris);
125
                image_alpha = lerp(image_alpha, targalpha, 0.25);
126
                x = lerp(x, xstart + (sin(siner / 15) * 12), 0.25);
127
                y = lerp(y, ystart + (abs(cos(siner / 15)) * 4), 0.25);
128
            };
129
            
130
            end_step_func = function()
131
            {
132
                shadow.image_alpha = ((((y - ystart) / 4) * 0.025) + 0.25) * image_alpha;
133
                shadow.x = x + 44;
134
            };
135
            
136
            draw_func = function()
137
            {
138
                draw_self();
139
                for (var i = 0; i < 32; i++)
140
                {
141
                    var xloc = lerp(x, xstart, i / 12) + 28 + 16;
142
                    var yloc = (y - (34 * i)) + 4 + 2;
143
                    draw_sprite_ext(spr_dw_npc_balthizard_swing_tether, 0, xloc, yloc, 2, 2, 0, c_white, image_alpha);
144
                }
145
            };
146
        }
147
    }
148
    werewire = scr_makenpc_fromasset(findsprite(spr_werewire_hang, "NPCs"), true);
149
    with (werewire)
150
    {
151
        markerstick = false;
152
        issolid = false;
153
        with (marker)
154
        {
155
            shadow = 
scr_marker_ext
scr_marker_ext

function
scr_marker_ext(arg0, arg1, arg2, arg3 = 1, arg4 = 1, arg5 = 0, arg6 = 0, arg7 = 16777215, arg8 = depth, arg9 = false, arg10 = -1, arg11 = 1, arg12 = false)
{ var objinst = 1238; if (arg12) objinst = 1496; var thismarker = instance_create(arg0, arg1, objinst); with (thismarker) { depth = arg8; sprite_index = arg2; image_speed = arg5; image_xscale = arg3; image_yscale = arg4; image_index = arg6; image_blend = arg7; image_alpha = arg11; if (arg9)
scr_depth_alt();
} if (arg10 > 0)
scr_doom(thismarker, arg10);
return thismarker; } function scr_marker_fromasset(arg0, arg1 = depth, arg2 = false, arg3 = false) { if (is_undefined(arg0)) { debug_message("Warning: scr_marker_fromasset() sprite_instance didn't exist"); return -4; } var sprite = layer_sprite_get_sprite(arg0); var index = layer_sprite_get_index(arg0); var imagespeed = layer_sprite_get_speed(arg0); var xscale = layer_sprite_get_xscale(arg0); var yscale = layer_sprite_get_yscale(arg0); var angle = layer_sprite_get_angle(arg0); var blend = layer_sprite_get_blend(arg0); var alpha = layer_sprite_get_alpha(arg0); var xloc = layer_sprite_get_x(arg0); var yloc = layer_sprite_get_y(arg0); var markertype = 1238; if (arg3) markertype = 1496; var thismarker = instance_create_depth(xloc, yloc, arg1, markertype); with (thismarker) { sprite_index = sprite; image_index = index; image_speed = imagespeed; image_xscale = xscale; image_yscale = yscale; image_angle = angle; image_blend = blend; image_alpha = alpha; if (arg2)
scr_depth_alt(id, arg2);
} return thismarker; } function scr_assetgetinfo(arg0) { var sprite = layer_sprite_get_sprite(arg0); var index = layer_sprite_get_index(arg0); var xloc = layer_sprite_get_x(arg0); var yloc = layer_sprite_get_y(arg0); var xscale = layer_sprite_get_xscale(arg0); var yscale = layer_sprite_get_yscale(arg0); var angle = layer_sprite_get_angle(arg0); var blend = layer_sprite_get_blend(arg0); var alpha = layer_sprite_get_alpha(arg0); var imagespeed = layer_sprite_get_speed(arg0); return [sprite, index, xloc, yloc, xscale, yscale, angle, blend, alpha, imagespeed]; }
(x, y + 166, spr_seth_shadow, 4, 2, undefined, undefined, c_black, 1000000, undefined, undefined, 0.25);
156
            
scr_sizeexact
scr_sizeexact

function
scr_sizeexact(arg0, arg1, arg2 = id)
{ with (arg2) { if (!sprite_exists(sprite_index)) { debug_message("Can't size, no sprite"); exit; } var _w = sprite_get_width(sprite_index); var _h = sprite_get_width(sprite_index); image_xscale = arg0 / _w; image_yscale = arg1 / _h; } }
(48, 18, shadow);
157
            siner = 0;
158
            
159
            step_func = function()
160
            {
161
                siner++;
162
                var targalpha = !instance_exists(obj_climb_kris);
163
                image_alpha = lerp(image_alpha, targalpha, 0.25);
164
                x = lerp(x, xstart + (sin(-siner / 15) * 12), 0.25);
165
                y = lerp(y, ystart + (abs(cos(-siner / 15)) * 4), 0.25);
166
            };
167
            
168
            end_step_func = function()
169
            {
170
                shadow.image_alpha = ((((y - ystart) / 4) * 0.025) + 0.25) * image_alpha;
171
                shadow.x = (x + 44) - 24;
172
            };
173
            
174
            draw_func = function()
175
            {
176
                draw_self();
177
                for (var i = 0; i < 5; i++)
178
                {
179
                    var xloc = (lerp(x, xstart, i / 12) + 28 + 16) - 40;
180
                    var yloc = y - (24 * i);
181
                    draw_sprite_ext(spr_werewire_hang_tether, 0, xloc, yloc, 2, 24, 0, c_white, image_alpha);
182
                }
183
            };
184
        }
185
    }
186
}
187
if (!instance_exists(obj_tutorial_text))
188
    instance_create(0, 0, obj_tutorial_text);
189
cutbit = 1441;
190
bitdepth = 1;
191
bitvals = 12;
192
sawCutscene0 = scr_flag_get_ext(cutbit, 0, bitdepth);
193
sawCutscene1 = scr_flag_get_ext(cutbit, 1, bitdepth);
194
sawCutscene5 = scr_flag_get_ext(cutbit, 2, bitdepth);
195
ralseiScene5Choice = scr_flag_get_ext(cutbit, 3, bitdepth);
196
sawCutscene2 = scr_flag_get_ext(cutbit, 4, bitdepth);
197
sawCutscene3 = scr_flag_get_ext(cutbit, 5, bitdepth);
198
sawCutscene4 = scr_flag_get_ext(cutbit, 6, bitdepth);
199
sawCutscene9 = scr_flag_get_ext(cutbit, 7, bitdepth);
200
sawCutscene6 = scr_flag_get_ext(cutbit, 8, bitdepth);
201
show_debug_message_concat("\nsawCutscene0", " = ", sawCutscene0, "\nsawCutscene1", " = ", sawCutscene1, "\nsawCutscene5", " = ", sawCutscene5, "\nralseiScene5Choice", " = ", ralseiScene5Choice, "\nsawCutscene2", " = ", sawCutscene2, "\nsawCutscene3", " = ", sawCutscene3, "\nsawCutscene4", " = ", sawCutscene4, "\nsawCutscene9", " = ", sawCutscene9, "\nsawCutscene6", " = ", sawCutscene6);
202
203
updateSeenCutscenes = function()
204
{
205
    var savearray = [sawCutscene0, sawCutscene1, sawCutscene5, ralseiScene5Choice, sawCutscene2, sawCutscene3, sawCutscene4, sawCutscene9, sawCutscene6];
206
    for (var i = 0; i < array_length(savearray); i++)
207
        scr_flag_set_ext(cutbit, i, savearray[i], bitdepth);
208
};
209
210
seenAll = function()
211
{
212
    var seen = false;
213
    if (sawCutscene1 && sawCutscene3 && sawCutscene4 && sawCutscene5)
214
        seen = true;
215
    return seen;
216
};