Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_complex_1c_doors_Step_0

(view raw script w/o annotations or w/e)
1
switch (scene)
2
{
3
    case 0:
4
        if (scr_interact
scr_interact

function scr_interact() { if (distance_to_object(obj_pl) < 20 && obj_pl.state == scr_normal_state) { var pl_dir = obj_pl.direction; var pl_x = 0; var pl_y = 0; var check_distance_x = 0; var check_distance_y = 0; switch (pl_dir) { case 0: pl_x = obj_pl.bbox_right; pl_y = obj_pl.bbox_top + 1; check_distance_x = 20; break; case 180: pl_x = obj_pl.bbox_left; pl_y = obj_pl.bbox_top + 1; check_distance_x = -20; break; case 90: pl_x = obj_pl.x; pl_y = obj_pl.bbox_top; check_distance_y = -20; break; case 270: pl_x = obj_pl.x; pl_y = obj_pl.bbox_bottom; check_distance_y = 20; break; } if (collision_line_first(pl_x, pl_y, pl_x + check_distance_x, pl_y + check_distance_y, id, false, false)) return true; } }
() && keyboard_multicheck_pressed(0))
5
        {
6
            if (global.route == 3)
7
            {
8
                if (global.hotland_flag[9] >= 3)
9
                {
10
                    if (!instance_exists(obj_dialogue_narrator))
11
                    {
12
                        var narrator = instance_create_depth(0, 0, -100, obj_dialogue_narrator);
13
                        with (narrator)
14
                            message[0] = "* (Not of interest.)";
15
                    }
16
                    exit;
17
                }
18
            }
19
            scr_cutscene_start
scr_cutscene_start

function scr_cutscene_start() { global.cutscene = true; obj_pl.state = scr_frozen_state; obj_pl.image_index = 0; obj_pl.image_speed = 0; }
();
20
            audio_play_sound(snd_knock_beautiful, 1, 0);
21
            cutscene_advance();
22
        }
23
        break;
24
    case 1:
25
        cutscene_wait(1);
26
        break;
27
    case 2:
28
        cutscene_dialogue();
29
        with (msg)
30
        {
31
            if (global.route == 3)
32
            {
33
                message[0] = "* (No response.)";
34
            }
35
            else
36
            {
37
                for (var i = 0; i < array_length(other.message); i++)
38
                    message[i] = other.message[i];
39
            }
40
        }
41
        break;
42
    case 3:
43
        scene = 0;
44
        scr_cutscene_end
scr_cutscene_end

function scr_cutscene_end() { global.cutscene = false; obj_pl.alarm[0] = 1; }
();
45
        break;
46
}