Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_steamworks_13_axis_door_Step_0

(view raw script w/o annotations or w/e)
1
with (obj_robuild_parent)
2
{
3
    if (robot_item_is_carried == true)
4
        return;
5
}
6
if (global.sworks_flag[6] == 0)
7
{
8
    switch scene
9
    {
10
        case 0:
11
            if place_meeting(x, y, obj_pl)
12
            {
13
                obj_pl.direction = 180
14
                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 }
()
15
                cutscene_advance()
16
                if (global.route == 2)
17
                    obj_ceroba_npc.npc_direction = "right"
18
            }
19
            break
20
        case 1:
21
            cutscene_dialogue()
22
            with (msg)
23
            {
24
                talker[0] = 1161
25
                message[0] = "* Hold on! That's far too#  easy of an escape."
26
                message[1] = "* Don't be reckless,#  we'll find another way#  out."
27
                prt[0] = 381
28
                prt[1] = 377
29
            }
30
            break
31
        case 2:
32
            obj_ceroba_npc.npc_direction = "down"
33
            cutscene_advance()
34
            break
35
        case 3:
36
            cutscene_instance_create(obj_pl.x, obj_pl.y, obj_player_npc)
37
            break
38
        case 4:
39
            cutscene_npc_walk_relative(1168, 0, 40, 3, "y", "down")
40
            break
41
        case 5:
42
            with (obj_player_npc)
43
            {
44
                if (!(place_free(x, y)))
45
                {
46
                    other.scene = 4
47
                    return;
48
                }
49
            }
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
            cutscene_advance()
53
            break
54
        case 6:
55
            if place_meeting(x, y, obj_pl)
56
            {
57
                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 }
()
58
                cutscene_change_room(161, 160, 280, 0.1)
59
            }
60
            break
61
    }
62
63
}
64
if (global.sworks_flag[6] == 1)
65
{
66
    switch scene
67
    {
68
        case 0:
69
            cutscene_wait(1)
70
            break
71
        case 1:
72
            if (global.route != 2)
73
            {
74
                global.sworks_flag[6] = 2
75
                scr_cutscene_end
scr_cutscene_end

function scr_cutscene_end() //gml_Script_scr_cutscene_end { global.cutscene = false obj_pl.alarm[0] = 1 }
()
76
                scene = 0
77
                return;
78
            }
79
            obj_ceroba_npc.npc_direction_hold = "down"
80
            obj_ceroba_npc.npc_direction = "right"
81
            cutscene_dialogue()
82
            with (msg)
83
            {
84
                talker[0] = 1161
85
                message[0] = "* Wow, he caught you.#  Shocker."
86
                prt[0] = 384
87
            }
88
            break
89
        case 2:
90
            global.sworks_flag[6] = 2
91
            scr_cutscene_end
scr_cutscene_end

function scr_cutscene_end() //gml_Script_scr_cutscene_end { global.cutscene = false obj_pl.alarm[0] = 1 }
()
92
            scene = 0
93
            break
94
    }
95
96
}
97
if (global.sworks_flag[6] == 2)
98
{
99
    if place_meeting(x, y, obj_pl)
100
    {
101
        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 }
()
102
        cutscene_change_room(161, 160, 280, 0.1)
103
    }
104
}
105
if (global.sworks_flag[6] == 3)
106
{
107
    switch scene
108
    {
109
        case 0:
110
            cutscene_wait(1)
111
            break
112
        case 1:
113
            if (global.route != 2)
114
            {
115
                global.sworks_flag[6] = 4
116
                scr_cutscene_end
scr_cutscene_end

function scr_cutscene_end() //gml_Script_scr_cutscene_end { global.cutscene = false obj_pl.alarm[0] = 1 }
()
117
                scene = 0
118
                return;
119
            }
120
            obj_ceroba_npc.npc_direction_hold = "down"
121
            obj_ceroba_npc.npc_direction = "right"
122
            cutscene_dialogue()
123
            with (msg)
124
            {
125
                talker[0] = 1161
126
                message[0] = "* What are you trying to#  accomplish?"
127
                message[1] = "* Come on, stick to the#  plan!"
128
                prt[0] = 366
129
                prt[1] = 368
130
            }
131
            break
132
        case 2:
133
            global.sworks_flag[6] = 4
134
            scr_cutscene_end
scr_cutscene_end

function scr_cutscene_end() //gml_Script_scr_cutscene_end { global.cutscene = false obj_pl.alarm[0] = 1 }
()
135
            scene = 0
136
            break
137
    }
138
139
}
140
if (global.sworks_flag[6] == 4)
141
{
142
    switch scene
143
    {
144
        case 0:
145
            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))
146
            {
147
                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 }
()
148
                cutscene_advance()
149
            }
150
            break
151
        case 1:
152
            cutscene_sfx_play(snd_fail, 1)
153
            break
154
        case 2:
155
            cutscene_wait(1)
156
            break
157
        case 3:
158
            cutscene_dialogue()
159
            with (msg)
160
                message[0] = "* (The door is locked.)"
161
            break
162
        case 4:
163
            cutscene_advance()
164
            break
165
        case 5:
166
            if (global.party_member != -4)
167
            {
168
                cutscene_advance(7)
169
                return;
170
            }
171
            cutscene_instance_create(obj_pl.x, obj_pl.y, obj_player_npc)
172
            break
173
        case 6:
174
            cutscene_npc_walk_relative(1168, 0, 40, 3, "y", "down")
175
            break
176
        case 7:
177
            with (obj_player_npc)
178
            {
179
                if (!(place_free(x, y)))
180
                {
181
                    other.scene = 6
182
                    return;
183
                }
184
            }
185
            instance_destroy(obj_player_npc)
186
            scr_cutscene_end
scr_cutscene_end

function scr_cutscene_end() //gml_Script_scr_cutscene_end { global.cutscene = false obj_pl.alarm[0] = 1 }
()
187
            cutscene_advance(0)
188
            break
189
    }
190
191
}