Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_noellehouse_basement_Create_0

(view raw script w/o annotations or w/e)
1
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);
2
blackall.image_xscale = 999;
3
blackall.image_yscale = 999;
4
blackall.depth = -100;
5
blackall.image_blend = c_black;
6
blackall.image_alpha = 0;
7
vent_cover = 
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; }
(497, 54, spr_noellehouse_vent_open_cover_basement);
8
vent_cover.depth = 4999;
9
vent_loader = instance_find(obj_homealone_vent_hidden, 0);
10
vent_block_top = instance_create(vent_loader.x, vent_loader.y - 100, obj_homealone_solid);
11
vent_block_left = instance_create(472, 50, obj_homealone_solid);
12
with (vent_block_left)
13
{
14
    image_yscale = 0.85;
15
    image_xscale = 0.25;
16
}
17
vent_block_right = instance_create(495, 50, obj_homealone_solid);
18
with (vent_block_right)
19
{
20
    image_yscale = 0.85;
21
    image_xscale = 0.25;
22
}
23
vent_block = instance_create(470, 20, obj_homealone_solid);
24
with (vent_block)
25
    image_yscale = 1.5;
26
breaker_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; }
(142, 54, spr_noellehouse_basement_breaker);
27
with (breaker_marker)
28
    
scr_depth
scr_depth

function
scr_depth(arg0 = id, arg1 = 0)
{ with (arg0) depth = 100000 - ((y * 10) + (sprite_height * 10) + (arg1 * 10)); }
();
29
present_block = instance_create(107, 87, obj_solidblockLight);
30
with (present_block)
31
{
32
    image_yscale = 0.85;
33
    image_xscale = 0.25;
34
}
35
present_block = instance_create(194, 87, obj_solidblockLight);
36
with (present_block)
37
{
38
    image_yscale = 0.85;
39
    image_xscale = 0.25;
40
}
41
present_pushable = instance_create(140, 55, obj_homealone_present);
42
present_pushable.sprite_index = spr_noellehouse_present_tall_yellow;
43
present_pushable.depth = breaker_marker.depth - 10;
44
breaker_wait = false;
45
breaker_wait_timer = 0;
46
breaker_open = false;
47
breaker_open_timer = 0;
48
convo_controller = instance_create(0, 0, obj_homealone_basement_convo);
49
convo_timer = 0;
50
convo_active = false;
51
drop_vent = false;
52
drop_vent_blocked = false;
53
init = false;
54
init_heart = false;
55
camera_pan = true;
56
camera_pan_timer = 0;
57
camera_pan_active = false;
58
camera_pan_buffer = 0;
59
camera_x_pos = 320;
60
camera_x_pos_left = 0;
61
camera_x_pos_right = 320;
62
camera_x_target = camera_x_pos;
63
tree_fall = false;
64
tree_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; }
(211, 62, spr_noellehouse_basement_tree);
65
with (tree_marker)
66
    depth = 7000;
67
tree_sprite_timestamps = [330, 330, 200, 150, 150, 150, 150, 150, 1000];
68
tree_sprite_modifier = 60;
69
tree_sprite_index = 0;
70
tree_sprite_timer = 0;
71
tree_heart_stop = false;
72
angel_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; }
(311, 59, spr_noellehouse_basement_angel);
73
angel_marker.depth = tree_marker.depth - 1;
74
angel_fall = false;
75
angel_fall_timer = 0;
76
heart_fall = false;
77
heart_fall_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; }
(290, 90, spr_heartsmall);
78
heart_fall_marker.depth = tree_marker.depth + 10;
79
heart_fall_timer = 0;
80
var foreground = 
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; }
(0, 0, fg_noellehouse_basement);
81
foreground.depth = 6000;
82
var couch_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; }
(84, -40, spr_noellehouse_main_couch_big);
83
with (couch_marker)
84
    
scr_depth
scr_depth

function
scr_depth(arg0 = id, arg1 = 0)
{ with (arg0) depth = 100000 - ((y * 10) + (sprite_height * 10) + (arg1 * 10)); }
();
85
susie_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; }
(couch_marker.x + 44, couch_marker.y + 10, spr_susie_sit_normal);
86
susie_marker.depth = couch_marker.depth - 10;
87
susie_interactable = -4;
88
susie_surprise = false;
89
susie_surprise_timer = 0;
90
susie_surprise_timestamps = [200, 60, 60, 100, 660, 100, 100, 50, 60, 660];
91
susie_surprise_index = 0;
92
susie_face_right = false;
93
noelle_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; }
(couch_marker.x + 76, couch_marker.y + 6, spr_noelle_sit_awkward);
94
noelle_marker.depth = couch_marker.depth - 10;
95
noelle_interactable = -4;
96
noelle_surprise = false;
97
noelle_surprise_trigger = false;
98
noelle_surprise_timer = 0;
99
noelle_surprise_timestamps = [500, 100, 50, 50, 50, 50, 50, 50, 50, 50, 100, 100, 500];
100
noelle_surprise_index = 0;
101
noelle_face_left = false;
102
progress_scene = false;
103
progress_scene_timer = 0;
104
noelle_flashlight_torch = 
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; }
(0, 0, spr_flashlight);
105
noelle_flashlight_torch.visible = 0;
106
noelle_flashlight = 
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; }
(0, 0, spr_flashlight_beam_wall_1);
107
noelle_flashlight.image_alpha = 0;
108
susie_flashlight_torch = 
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; }
(0, 0, spr_flashlight);
109
susie_flashlight_torch.visible = 0;
110
susie_flashlight = 
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; }
(0, 0, spr_flashlight_beam_wall_1);
111
susie_flashlight.image_alpha = 0;
112
heart_catch_scene = false;
113
heart_catch_con = 0;
114
customcon = 0;
115
overlay = instance_create(0, 0, obj_noellehouse_basement_overlay);
116
overlay.depth = 7100;
117
overlay.tree_target = tree_marker;
118
overlay.angel_target = angel_marker;
119
with (overlay)
120
    set_alpha(0);
121
flicker_lights = false;
122
flicker_lights_count = 0;
123
flicker_lights_timer = 0;
124
flicker_lights_time = 10;
125
boombox = instance_find(obj_homealone_basement_boombox, 0);
126
santa = instance_create(530, 130, obj_homealone_dancing_santa_mini);
127
made_noise = false;
128
lost_power = false;
129
leave_couch = false;
130
leave_couch_timer = 0;
131
basement_scene = false;
132
basement_timer = 0;
133
move_wait = false;
134
move_count = 0;
135
leave_basement = false;
136
susie_alone = false;
137
susie_alone_timer = 0;
138
susie_alone_anim = false;
139
susie_alone_anim_timer = 0;
140
susie_alone_marker = -4;
141
heart_vent_check = false;
142
heart_vent_cover = -4;
143
144
start_bgm = function()
145
{
146
    mus_volume(global.currentsong[1], 0, 30);
147
    snd_stop(snd_smile);
148
    basement_bgm = snd_loop(snd_smile);
149
    snd_volume(basement_bgm, 0.4, 0);
150
    snd_pitch(basement_bgm, 0.15);
151
};
152
153
stop_bgm = function()
154
{
155
    snd_stop(snd_smile);
156
};
157
158
lose_control = function()
159
{
160
    global.interact = 1;
161
};
162
163
regain_control = function()
164
{
165
    global.interact = 0;
166
};
167
168
watch_movie = function()
169
{
170
    with (susie_marker)
171
        
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("x", x, xstart + 6, 8, 2, "out");
172
    with (noelle_marker)
173
        
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("x", x, xstart - 6, 8, 2, "out");
174
};
175
176
make_noise = function()
177
{
178
    if (made_noise)
179
        exit;
180
    made_noise = true;
181
    mus_volume(global.currentsong[1], 0, 14);
182
    with (convo_controller)
183
        make_noise();
184
};
185
186
open_breaker = function()
187
{
188
    breaker_open = true;
189
};
190
191
lose_power = function()
192
{
193
    if (lost_power)
194
        exit;
195
    lost_power = true;
196
    snd_play(snd_noise);
197
    snd_play_x(snd_swing, 1, 1.2);
198
    snd_stop(snd_smile);
199
    mus_volume(global.currentsong[1], 0, 1);
200
    lose_control();
201
    with (boombox)
202
        disable();
203
    with (santa)
204
    {
205
alarm[10]
206
        is_active = false;
207
    }
208
    flicker_lights = true;
209
    leave_couch = true;
210
    with (convo_controller)
211
        lose_power();
212
};
213
214
enable_tree_fall = function()
215
{
216
    regain_control();
217
    with (overlay)
218
        heart_glow_show();
219
    camera_pan = false;
220
    tree_fall = true;
221
};
222
223
start_basement_scene = function()
224
{
225
    lose_control();
226
    with (convo_controller)
227
        change_convo_index(4);
228
    scr_delay_var("basement_scene", true, 60);
229
};
230
231
freak_out = function(arg0)
232
{
233
    lose_control();
234
    with (convo_controller)
235
        interrupt_convo();
236
    if (arg0 == "noelle")
237
    {
238
        noelle_surprise = true;
239
        noelle_surprise_timer = 0;
240
    }
241
    else
242
    {
243
        susie_surprise = true;
244
        susie_surprise_timer = 0;
245
        susie_marker.sprite_index = spr_susie_flashlight_surprise;
246
        susie_marker.image_index = 0;
247
        susie_marker.image_speed = 0;
248
    }
249
    susie_marker.visible = 1;
250
    with (susie_interactable)
251
        instance_destroy();
252
    noelle_marker.visible = 1;
253
    with (noelle_interactable)
254
        instance_destroy();
255
};