Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_castle_01_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, 170, 3, "y", "down")
21
        {
22
            if (global.party_member != -4)
23
                scene = 3
24
            else
25
                scene = 6
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, (obj_player_npc.y - 5), 3, "y", "down")
35
        break
36
    case 5:
37
        obj_pl.direction = 270
38
        cutscene_actor_into_follower()
39
        break
40
    case 6:
41
        image_speed = -1
42
        if (image_index <= 1)
43
        {
44
            image_index = 0
45
            image_speed = 0
46
            scene++
47
        }
48
        break
49
    case 7:
50
        instance_destroy(obj_player_npc)
51
        scr_cutscene_end
scr_cutscene_end

function scr_cutscene_end() //gml_Script_scr_cutscene_end { global.cutscene = false obj_pl.alarm[0] = 1 }
()
52
        scene = 8
53
        break
54
}
55
56
switch scene
57
{
58
    case 8:
59
        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))
60
        {
61
            audio_play_sound(snd_sliding_door_open, 1, 0)
62
            image_speed = 1
63
            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 }
()
64
            cutscene_advance()
65
        }
66
        break
67
    case 9:
68
        if (image_index > (image_number - 1))
69
        {
70
            image_speed = 0
71
            image_index = image_number - 1
72
            cutscene_advance()
73
        }
74
        break
75
    case 10:
76
        if (global.party_member != -4)
77
        {
78
            cutscene_follower_into_actor()
79
            obj_martlet_npc.x_dest = 0
80
            obj_martlet_npc.y_dest = 0
81
            obj_martlet_npc.x_dest[0] = 0
82
            obj_martlet_npc.y_dest[0] = 0
83
            obj_martlet_npc.can_walk = false
84
        }
85
        instance_create(obj_pl.x, obj_pl.y, obj_player_npc)
86
        cutscene_advance(11)
87
        break
88
    case 11:
89
        if cutscene_npc_walk(1168, 2000, 140, 3, "x", "up")
90
            cutscene_advance(11)
91
        if (obj_player_npc.y < 145 && obj_player_npc.image_alpha > 0)
92
            obj_player_npc.image_alpha -= 0.2
93
        if (obj_player_npc.image_alpha <= 0)
94
        {
95
            if (global.party_member != -4)
96
                scene = 12
97
            else
98
                scene = 13
99
        }
100
        break
101
    case 12:
102
        if cutscene_npc_walk(1164, obj_player_npc.x, 140, 3, "x", "up")
103
            cutscene_advance(12)
104
        if (obj_martlet_npc.y < 145 && obj_martlet_npc.image_alpha > 0)
105
            obj_martlet_npc.image_alpha -= 0.2
106
        if (obj_martlet_npc.image_alpha <= 0)
107
            cutscene_advance(13)
108
        break
109
    case 13:
110
        cutscene_change_room(259, 160, 220, 0.1)
111
        break
112
}