Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_steamworks_04_controller_Step_0

(view raw script w/o annotations or w/e)
1
if (global.sworks_flag[0] == 2)
2
{
3
    switch scene
4
    {
5
        case 0:
6
            cutscene_wait(1)
7
            break
8
        case 1:
9
            cutscene_npc_walk_relative(actor_clover, 0, -30, 1, "y", "up")
10
            break
11
        case 2:
12
            cutscene_dialogue()
13
            with (msg)
14
            {
15
                talker[0] = 1161
16
                message[0] = "* Guess I should've#  expected this."
17
                prt[0] = 377
18
            }
19
            break
20
        case 3:
21
            cutscene_npc_direction(actor_ceroba, "down")
22
            break
23
        case 4:
24
            cutscene_wait(0.25)
25
            break
26
        case 5:
27
            cutscene_dialogue()
28
            with (msg)
29
            {
30
                talker[0] = 1161
31
                message[0] = "* In its prime, this was#  the main power source of#  the Underground."
32
                message[1] = "* That, obviously, was#  many years ago."
33
                message[2] = "* Until we breathe life#  back into this thing, we#  can't progress."
34
                prt[0] = 370
35
                prt[1] = 371
36
                prt[2] = 394
37
            }
38
            break
39
        case 6:
40
            cutscene_wait(0.5)
41
            break
42
        case 7:
43
            cutscene_camera_move(obj_pl.x, 380, 1)
44
            break
45
        case 8:
46
            cutscene_wait(0.5)
47
            break
48
        case 9:
49
            cutscene_npc_walk(actor_ceroba, 223, 360, 1, "x", "up")
50
            break
51
        case 10:
52
            cutscene_wait(0.5)
53
            break
54
        case 11:
55
            cutscene_dialogue()
56
            with (msg)
57
            {
58
                talker[0] = 1161
59
                message[0] = "* There's some kinda#  console here."
60
                message[1] = "* Maybe one of Chujin's#  codes will work? Just#  give me a second."
61
                message[2] = "* In the meantime, you#  can... wait over in the#  corner or something."
62
                prt[0] = 370
63
                prt[1] = 370
64
                prt[2] = 377
65
            }
66
            break
67
        case 12:
68
            cutscene_camera_move(obj_pl.x, obj_pl.y, 3)
69
            break
70
        case 13:
71
            instance_destroy(obj_player_npc)
72
            instance_destroy(obj_camera)
73
            global.sworks_flag[0] = 3
74
            scr_cutscene_end
scr_cutscene_end

function scr_cutscene_end() //gml_Script_scr_cutscene_end { global.cutscene = false obj_pl.alarm[0] = 1 }
()
75
            cutscene_advance()
76
            __view_set((9 << 0), 0, 1031)
77
            break
78
    }
79
80
}
81
with (actor_ceroba)
82
{
83
    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))
84
    {
85
        scr_text
scr_text

function scr_text() //gml_Script_scr_text { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue) }
()
86
        switch global.sworks_flag[1]
87
        {
88
            case 0:
89
                with (msg)
90
                {
91
                    talker[0] = 1161
92
                    message[0] = "* I need to concentrate#  right now."
93
                    prt[0] = 370
94
                }
95
                break
96
            case 1:
97
                with (msg)
98
                {
99
                    talker[0] = 1161
100
                    message[0] = "* I think I'm getting#  somewhere. Hold on."
101
                    prt[0] = 370
102
                }
103
                break
104
            case 2:
105
                with (msg)
106
                {
107
                    talker[0] = 1161
108
                    message[0] = "* Almost got it! Didn't#  think this would#  actually work!"
109
                    prt[0] = 370
110
                }
111
                break
112
        }
113
114
    }
115
}
116
if (global.sworks_flag[1] == 3)
117
{
118
    switch scene
119
    {
120
        case 0:
121
            instance_create(obj_ceroba_npc.x, 300, obj_camera)
122
            obj_camera.move = false
123
            __view_set((9 << 0), 0, 1120)
124
            audio_stop_sound(snd_machinery)
125
            obj_steamworks_04_generator.image_speed = 0
126
            cutscene_advance()
127
            break
128
        case 1:
129
            cutscene_wait(2)
130
            break
131
        case 2:
132
            obj_steamworks_04_generator.image_speed = (1/3)
133
            audio_play_sound(snd_generator_start, 1, 0)
134
            var rumble_sound = audio_play_sound(snd_machinery, 1, 0)
135
            audio_sound_gain(rumble_sound, 0, 0)
136
            audio_sound_gain(rumble_sound, 1, 1500)
137
            instance_create(obj_ceroba_npc.x, (obj_ceroba_npc.y - 35), obj_cutscene_ex)
138
            cutscene_advance()
139
            break
140
        case 3:
141
            cutscene_wait(2.5)
142
            break
143
        case 4:
144
            cutscene_change_room(152, 655, 170, 0.05)
145
            break
146
    }
147
148
}
149
if (global.sworks_flag[1] == 4)
150
{
151
    switch scene
152
    {
153
        case 0:
154
            __view_set((9 << 0), 0, 1161)
155
            cutscene_advance()
156
            break
157
        case 1:
158
            cutscene_instance_create(330, 200, obj_player_npc)
159
            break
160
        case 2:
161
            cutscene_npc_walk(1168, 300, obj_ceroba_npc.y, 3, "y", "left", false)
162
            break
163
        case 3:
164
            cutscene_npc_direction(obj_ceroba_npc, "right")
165
            break
166
        case 4:
167
            cutscene_wait(0.5)
168
            break
169
        case 5:
170
            cutscene_dialogue()
171
            with (msg)
172
            {
173
                talker[0] = 1161
174
                message[0] = "* It's working!"
175
                message[1] = "* Wait... What have you#  been up to?"
176
                prt[0] = 372
177
                prt[1] = 393
178
            }
179
            break
180
        case 6:
181
            cutscene_wait(0.5)
182
            break
183
        case 7:
184
            cutscene_npc_direction(obj_ceroba_npc, "up")
185
            break
186
        case 8:
187
            cutscene_wait(0.5)
188
            break
189
        case 9:
190
            cutscene_npc_direction(obj_ceroba_npc, "down")
191
            break
192
        case 10:
193
            cutscene_wait(0.5)
194
            break
195
        case 11:
196
            cutscene_npc_direction(obj_ceroba_npc, "left")
197
            break
198
        case 12:
199
            cutscene_wait(0.5)
200
            break
201
        case 13:
202
            cutscene_npc_direction(obj_ceroba_npc, "right")
203
            break
204
        case 14:
205
            cutscene_wait(0.5)
206
            break
207
        case 15:
208
            cutscene_dialogue()
209
            with (msg)
210
            {
211
                talker[0] = 1161
212
                message[0] = "* Oh..."
213
                message[1] = "* I... wasn't actually#  doing anything this#  whole time was I?"
214
                message[2] = "* Ugh, alright. You're#  clearly more capable of#  problem solving."
215
                message[3] = "* I suppose you should#  lead the way from now#  on."
216
                message[4] = "* Just head west from#  here and we'll reach#  Hotland eventually."
217
                prt[0] = 377
218
                prt[1] = 382
219
                prt[2] = 384
220
                prt[3] = 377
221
                prt[4] = 377
222
            }
223
            break
224
        case 16:
225
            ceroba_x_dest = obj_player_npc.x + 20
226
            ceroba_end_dir = "left"
227
            cutscene_advance()
228
            break
229
        case 17:
230
            cutscene_npc_walk(1161, ceroba_x_dest, obj_player_npc.y, 3, "y", ceroba_end_dir)
231
            break
232
        case 18:
233
            cutscene_camera_move(obj_pl.x, obj_pl.y, 2)
234
            break
235
        case 19:
236
            obj_pl.image_alpha = 1
237
            __view_set((9 << 0), 0, 1031)
238
            instance_destroy(obj_player_npc)
239
            global.party_member = 1171
240
            scr_actor_into_follower
scr_actor_into_follower

function scr_actor_into_follower(argument0, argument1) //gml_Script_scr_actor_into_follower { if (!instance_exists(argument0)) return false; if (argument1 == noone) return false; instance_create(argument0.x, argument0.y, argument1) argument1.x = argument0.x argument1.y = argument0.y with (argument0) { switch npc_direction { case "up": argument1.sprite_index = argument1.up_sprite_idle break case "down": argument1.sprite_index = argument1.down_sprite_idle break case "left": argument1.sprite_index = argument1.left_sprite_idle break case "right": argument1.sprite_index = argument1.right_sprite_idle break } } instance_destroy(argument0) }
(obj_ceroba_npc, obj_ceroba_follower)
241
            global.sworks_flag[1] = 5
242
            scr_cutscene_end
scr_cutscene_end

function scr_cutscene_end() //gml_Script_scr_cutscene_end { global.cutscene = false obj_pl.alarm[0] = 1 }
()
243
            break
244
    }
245
246
}