Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_hotland_complex_elevator_Step_0

(view raw script w/o annotations or w/e)
1
if live_call()
2
    return global.live_result;
3
switch scene
4
{
5
    case 0:
6
        image_speed = 1
7
        if (image_index >= (image_number - 1))
8
        {
9
            image_index = image_number - 1
10
            image_speed = 0
11
            scene++
12
        }
13
        break
14
    case 1:
15
        obj_player_npc.image_alpha += 0.2
16
        if (obj_player_npc.image_alpha >= 1)
17
            scene++
18
        break
19
    case 2:
20
        if cutscene_npc_walk(1168, obj_player_npc.x, 250, 3, "y", "down")
21
        {
22
            if (global.party_member != -4)
23
                scene = 3
24
            else
25
                scene = 5
26
        }
27
        break
28
    case 3:
29
        obj_martlet_npc.image_alpha += 0.2
30
        if (obj_martlet_npc.image_alpha >= 1)
31
            scene++
32
        break
33
    case 4:
34
        cutscene_npc_walk(1164, obj_player_npc.x, 230, 3, "y", "down")
35
        break
36
    case 5:
37
        cutscene_actor_into_follower()
38
        break
39
    case 6:
40
        image_speed = -1
41
        if (image_index <= 1)
42
        {
43
            image_index = 0
44
            image_speed = 0
45
            scene++
46
        }
47
        break
48
    case 7:
49
        instance_destroy(obj_player_npc)
50
        scr_cutscene_end
scr_cutscene_end

function scr_cutscene_end() //gml_Script_scr_cutscene_end { global.cutscene = false obj_pl.alarm[0] = 1 }
()
51
        scene = 8
52
        break
53
}
54
55
switch scene
56
{
57
    case 8:
58
        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))
59
        {
60
            if (global.hotland_flag[1] < 1 && global.hotland_flag[9] < 3)
61
            {
62
                scr_text
scr_text

function scr_text() //gml_Script_scr_text { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue) }
()
63
                with (msg)
64
                {
65
                    if (global.route == 3)
66
                        message[0] = "* (This is the wrong way.)"
67
                    else
68
                        message[0] = "* (The elevator is in use.)"
69
                }
70
            }
71
            else
72
            {
73
                image_speed = 1
74
                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 }
()
75
                cutscene_advance()
76
            }
77
        }
78
        break
79
    case 9:
80
        if (image_index > (image_number - 1))
81
        {
82
            image_speed = 0
83
            image_index = image_number - 1
84
            cutscene_advance()
85
        }
86
        break
87
    case 10:
88
        if (global.party_member != -4)
89
            scr_follower_into_actor
scr_follower_into_actor

function scr_follower_into_actor() //gml_Script_scr_follower_into_actor { if (global.party_member == noone) return false; actor_follower = instance_create(global.party_member.x, global.party_member.y, global.party_member.npc_actor) with (global.party_member) { switch sprite_index { case up_sprite: case up_sprite_idle: case up_sprite_run: other.actor_follower.npc_direction = "up" other.actor_follower.sprite_index = other.actor_follower.up_sprite break case down_sprite: case down_sprite_idle: case down_sprite_run: other.actor_follower.npc_direction = "down" other.actor_follower.sprite_index = other.actor_follower.down_sprite break case left_sprite: case left_sprite_idle: case left_sprite_run: other.actor_follower.npc_direction = "left" other.actor_follower.sprite_index = other.actor_follower.left_sprite break case right_sprite: case right_sprite_idle: case right_sprite_run: other.actor_follower.sprite_index = other.actor_follower.right_sprite break } instance_destroy() } return true; }
()
90
        instance_create(obj_pl.x, obj_pl.y, obj_player_npc)
91
        cutscene_advance()
92
        break
93
    case 11:
94
        if cutscene_npc_walk(1168, 378, 200, 3, "x", "down")
95
        {
96
            if (global.party_member != -4)
97
                scene = 12
98
            else
99
                scene = 13
100
        }
101
        if (obj_player_npc.y < 235 && obj_player_npc.image_alpha > 0)
102
            obj_player_npc.image_alpha -= 0.2
103
        break
104
    case 12:
105
        cutscene_npc_walk(1164, 378, 200, 3, "x", "down")
106
        if (obj_martlet_npc.y < 235 && obj_martlet_npc.image_alpha > 0)
107
            obj_martlet_npc.image_alpha -= 0.2
108
        break
109
    case 13:
110
        cutscene_change_room(259, 160, 220, 0.1)
111
        break
112
}
113
114
if (image_index == 0 && image_speed == 1)
115
{
116
    if (!audio_is_playing(snd_sliding_door_open))
117
        audio_play_sound(snd_sliding_door_open, 1, 0)
118
}