Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_newhome_03_elevator_Step_0

(view raw script w/o annotations or w/e)
1
if live_call()
2
    return global.live_result;
3
if (global.route != 3 && global.hotland_flag[10] == 0)
4
{
5
    if (scr_interact
scr_interact

function scr_interact() //gml_Script_scr_interact { if (distance_to_object(obj_pl) < 20 && obj_pl.state == gml_Script_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))
6
    {
7
        scr_text
scr_text

function scr_text() //gml_Script_scr_text { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue) }
()
8
        with (msg)
9
        {
10
            sndfnt = 102
11
            message[0] = "* I think this elevator#  goes to the Castle."
12
            message[1] = "* Probably the last place#  Ceroba would run to."
13
            message[2] = "* Let's keep searching#  this area for now."
14
            prt[0] = 338
15
            prt[1] = 315
16
            prt[2] = 321
17
        }
18
    }
19
}
20
else
21
{
22
    switch scene
23
    {
24
        case 0:
25
            image_speed = 1
26
            if (image_index >= (image_number - 1))
27
            {
28
                image_index = image_number - 1
29
                image_speed = 0
30
                scene++
31
            }
32
            break
33
        case 1:
34
            obj_player_npc.image_alpha += 0.2
35
            if (obj_player_npc.image_alpha >= 1)
36
                scene++
37
            break
38
        case 2:
39
            if cutscene_npc_walk(1168, obj_player_npc.x, 140, 3, "y", "down")
40
            {
41
                if (global.party_member != -4)
42
                    scene = 3
43
                else
44
                    scene = 6
45
            }
46
            break
47
        case 3:
48
            obj_martlet_npc.image_alpha += 0.2
49
            if (obj_martlet_npc.image_alpha >= 1)
50
                scene++
51
            break
52
        case 4:
53
            cutscene_npc_walk(1164, obj_player_npc.x, (obj_pl.y - 1), 3, "y", "down")
54
            break
55
        case 5:
56
            obj_pl.direction = 270
57
            cutscene_actor_into_follower()
58
            break
59
        case 6:
60
            image_speed = -1
61
            if (image_index <= 1)
62
            {
63
                image_index = 0
64
                image_speed = 0
65
                scene++
66
            }
67
            break
68
        case 7:
69
            instance_destroy(obj_player_npc)
70
            scr_cutscene_end
scr_cutscene_end

function scr_cutscene_end() //gml_Script_scr_cutscene_end { global.cutscene = false obj_pl.alarm[0] = 1 }
()
71
            scene = 8
72
            break
73
    }
74
75
    switch scene
76
    {
77
        case 8:
78
            if (scr_interact
scr_interact

function scr_interact() //gml_Script_scr_interact { if (distance_to_object(obj_pl) < 20 && obj_pl.state == gml_Script_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))
79
            {
80
                audio_play_sound(snd_sliding_door_open, 1, 0)
81
                image_speed = 1
82
                scr_cutscene_start
scr_cutscene_start

function scr_cutscene_start() //gml_Script_scr_cutscene_start { global.cutscene = true obj_pl.state = gml_Script_scr_frozen_state obj_pl.image_index = 0 obj_pl.image_speed = 0 }
()
83
                cutscene_advance()
84
            }
85
            break
86
        case 9:
87
            if (image_index > (image_number - 1))
88
            {
89
                image_speed = 0
90
                image_index = image_number - 1
91
                cutscene_advance()
92
            }
93
            break
94
        case 10:
95
            instance_create(obj_pl.x, obj_pl.y, obj_player_npc)
96
            if (global.party_member != -4)
97
            {
98
                cutscene_follower_into_actor()
99
                obj_martlet_npc.x_dest = 0
100
                obj_martlet_npc.y_dest = 0
101
                obj_martlet_npc.x_dest[0] = 0
102
                obj_martlet_npc.y_dest[0] = 0
103
                obj_martlet_npc.can_walk = false
104
            }
105
            else
106
                cutscene_advance()
107
            break
108
        case 11:
109
            if cutscene_npc_walk(1168, 260, 100, 3, "x", "down")
110
            {
111
                if (global.party_member != -4)
112
                    scene = 12
113
                else
114
                    scene = 13
115
            }
116
            if (obj_player_npc.y < 120 && obj_player_npc.image_alpha > 0)
117
                obj_player_npc.image_alpha -= 0.2
118
            break
119
        case 12:
120
            cutscene_npc_walk(1164, obj_player_npc.x, 135, 3, "x", "up")
121
            if (obj_martlet_npc.y < 140 && obj_martlet_npc.image_alpha > 0)
122
                obj_martlet_npc.image_alpha -= 0.2
123
            break
124
        case 13:
125
            cutscene_change_room(259, 160, 220, 0.1)
126
            break
127
    }
128
129
}