Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_noellehouse_dess_Create_0

(view raw script w/o annotations or w/e)
1
con = -1;
2
customcon = 0;
3
init = false;
4
init_heart = false;
5
var block_door = (scr_sideb_active() && global.plot == 63) || global.plot != 66;
6
if (block_door && i_ex(obj_homealone_heart))
7
{
8
    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; }
(120, 220, spr_pixel_white);
9
    with (cover_marker)
10
    {
11
        depth = 999990;
12
        image_xscale = 12;
13
        image_yscale = 10;
14
        image_blend = #201E33;
15
    }
16
    var _block = instance_create(126, 220, obj_homealone_solid);
17
    with (_block)
18
        image_xscale = 2;
19
}
20
if (global.plot == 66)
21
{
22
    con = 0;
23
    convo_controller = instance_create(0, 0, obj_homealone_dess_convo);
24
    var _id = id;
25
    with (convo_controller)
26
        init_parent(_id);
27
    convo_timer = 0;
28
    convo_active = false;
29
    hit_heart = false;
30
    kris_bed_timestamps = [200, 200, 200, 200, 200, 500, 330, 330, 500, 330, 1000, 330, 330, 330, 330, 200, 1000];
31
    heart_in_timestamps = [1000, 330, 330, 660, 100, 50, 50, 50, 330, 330, 200, 200, 200, 1000, 330, 330, 1000];
32
    anim_player = instance_create(0, 0, obj_anim_custom);
33
    kris_bed_hide = false;
34
    kris_bed_con = 0;
35
    kris_bed_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; }
(21, 50, spr_kris_bed_come_out);
36
    kris_bed_marker.depth = 80000;
37
    anim_timestamps = [200, 200, 200, 200, 200, 500];
38
    anim_modifier = 30;
39
    anim_index = 0;
40
    anim_timer = 0;
41
    heart_fall_timer = 0;
42
    heart_fall_ypos = 0;
43
    kris_get = false;
44
    kris_get_timer = 0;
45
    kris_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; }
(0, 0, spr_noellehouse_kitchen_kris_chase_dr);
46
    with (kris_marker)
47
    {
48
        visible = 0;
49
        depth = 80000;
50
    }
51
    heart_take = false;
52
    heart_take_timer = 0;
53
    fall_trigger = [];
54
    var guitar_x = 0;
55
    var guitar_y = 0;
56
    var guitar_depth = 0;
57
    with (obj_npc_room)
58
    {
59
        if (sprite_index == spr_dess_guitar)
60
        {
61
            guitar_x = x;
62
            guitar_y = y;
63
            guitar_depth = depth;
64
            visible = 0;
65
        }
66
    }
67
    guitar_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; }
(guitar_x, guitar_y, spr_dess_guitar);
68
    guitar_marker.depth = guitar_depth;
69
    guitar_take = false;
70
    guitar_take_timer = 0;
71
    hockey_throw = instance_create(54, 150, obj_homealone_dess_hockey_puck);
72
    hockey_throw.visible = 0;
73
    hockey_throw.depth = kris_bed_marker.depth - 10;
74
    wall_marker = -4;
75
    ceiling_collider = instance_create(60, 26, obj_homealone_solid);
76
    with (ceiling_collider)
77
        image_xscale = 10;
78
    ceiling_right = instance_create(260, 40, obj_homealone_solid);
79
    with (ceiling_right)
80
        image_yscale = 4;
81
    phone_speech = instance_create(0, 0, obj_homealone_dess_phone);
82
    kris_move = false;
83
    kris_move_timer = 0;
84
    kris_fall = false;
85
    kris_fall_timer = 0;
86
    kris_fall_x = 0;
87
    kris_fall_y = 0;
88
}
89
else
90
{
91
    var vent_collider = [];
92
    vent_collider[0] = instance_create(28, 46, obj_homealone_solid);
93
    with (vent_collider[0])
94
    {
95
        image_xscale = 1.2;
96
        image_yscale = 0.4;
97
    }
98
    vent_collider[1] = instance_create(68, 46, obj_homealone_solid);
99
    with (vent_collider[1])
100
    {
101
        image_xscale = 1.2;
102
        image_yscale = 0.4;
103
    }
104
    vent_collider[2] = instance_create(74, 55, obj_homealone_solid);
105
    with (vent_collider[2])
106
    {
107
        image_xscale = 1.2;
108
        image_yscale = 0.75;
109
    }
110
    vent_collider[3] = instance_create(22, 55, obj_homealone_solid);
111
    with (vent_collider[3])
112
    {
113
        image_xscale = 1.2;
114
        image_yscale = 0.75;
115
    }
116
    vent_collider[4] = instance_create(45, 68, obj_homealone_solid);
117
    with (vent_collider[4])
118
    {
119
        image_xscale = 1.5;
120
        image_yscale = 0.75;
121
    }
122
}
123
124
get_susie_sprite = function(arg0)
125
{
126
    var sprite = spr_susie_sit_arms_crossed;
127
    switch (arg0)
128
    {
129
        case "A":
130
            sprite = spr_susie_sit_arms_crossed;
131
            break;
132
        case "B":
133
            sprite = spr_susie_sit_arms_crossed_shocked;
134
            break;
135
        case "C":
136
            sprite = spr_susie_sit_arms_crossed_unhappy;
137
            break;
138
        case "D":
139
            sprite = spr_susie_sit_arms_crossed_tsun;
140
            break;
141
        case "E":
142
            sprite = spr_susie_sit_normal_left;
143
            break;
144
        case "F":
145
            sprite = spr_susie_sit_normal_left_look_back;
146
            break;
147
        case "G":
148
            sprite = spr_susie_sit_arms_crossed_look_back;
149
            break;
150
    }
151
    return sprite;
152
};
153
154
get_noelle_sprite = function(arg0)
155
{
156
    var sprite_base = string_char_at(arg0, 0);
157
    var index_code = string_digits(arg0);
158
    var _image_index = real(index_code);
159
    var sprite = spr_noelle_sit;
160
    switch (sprite_base)
161
    {
162
        case "A":
163
            sprite = spr_noelle_sit;
164
            break;
165
        case "B":
166
            sprite = spr_noelle_sit_expressions;
167
            break;
168
        case "C":
169
            sprite = spr_noelle_sit_strangleface;
170
            break;
171
        case "D":
172
            sprite = spr_noelle_sit_blush_expressions;
173
            break;
174
        case "E":
175
            sprite = spr_noelle_sit_sad_down;
176
            break;
177
    }
178
    var _image = [];
179
    _image[0] = sprite;
180
    _image[1] = _image_index;
181
    return _image;
182
};
183
184
trigger_event = function(arg0)
185
{
186
    var noelle_base_pos = new Vector2(69, 110);
187
    var susie_base_pos = new Vector2(45, 112);
188
    if (string_pos("susie_", arg0) != 0)
189
    {
190
        var parts = string_split(arg0, "_", false, 999);
191
        var sprite_code = string(parts[1]);
192
        if (sprite_code == "Z")
193
            exit;
194
        var susie_sprite = get_susie_sprite(sprite_code);
195
        with (su_actor)
196
        {
197
            sprite_index = susie_sprite;
198
            x = susie_base_pos.x;
199
            y = susie_base_pos.y;
200
        }
201
    }
202
    else if (string_pos("noelle_", arg0) != 0)
203
    {
204
        var parts = string_split(arg0, "_", false, 999);
205
        var sprite_code = string(parts[1]);
206
        if (sprite_code == "Z")
207
            exit;
208
        with (no_actor)
209
        {
210
            image_speed = 0;
211
            auto_walk = 0;
212
            x = noelle_base_pos.x;
213
            y = noelle_base_pos.y;
214
        }
215
        var noelle_sprite = get_noelle_sprite(sprite_code);
216
        no_actor.sprite_index = noelle_sprite[0];
217
        no_actor.image_index = noelle_sprite[1];
218
    }
219
    else
220
    {
221
        switch (arg0)
222
        {
223
            case "kris_notice":
224
                with (obj_homealone_dess_closet_kris)
225
                    notice = true;
226
                break;
227
            case "kris_cringe":
228
                with (obj_homealone_dess_closet_kris)
229
                    cringe = true;
230
                break;
231
            case "convo_branch_finished":
232
                with (obj_homealone_dess_closet_kris)
233
                    tired_mode = true;
234
                with (convo_controller)
235
                    start_final_convo();
236
                break;
237
            case "convo_tree_finished":
238
                break;
239
            case "convo_interrupted":
240
                with (su_actor)
241
                {
242
                    sprite_index = spr_susie_sit_awkward;
243
                    image_speed = 0;
244
                    x = susie_base_pos.x;
245
                    y = susie_base_pos.y;
246
                }
247
                with (no_actor)
248
                {
249
                    sprite_index = spr_noelle_sit_awkward;
250
                    image_index = 0;
251
                    x = noelle_base_pos.x;
252
                    y = noelle_base_pos.y;
253
                }
254
                break;
255
        }
256
    }
257
};
258
259
kris_get_heart = function()
260
{
261
    kris_bed_hide = false;
262
    guitar_take = false;
263
    con = 1;
264
};
265
266
heart_burst_event = function()
267
{
268
    
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; } }
();
269
    instance_create(kr_actor.x + 16, kr_actor.y + 16, obj_heartburst);
270
    snd_play(snd_grab);
271
    snd_play(snd_hurt1);
272
};
273
274
cutscene_end = function()
275
{
276
    con = 53;
277
};