Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_dunes_29b_controller_geno_Step_0

(view raw script w/o annotations or w/e)
1
switch (scene)
2
{
3
    case 0:
4
        if (obj_pl.x > 300)
5
        {
6
            scr_cutscene_start
scr_cutscene_start

function scr_cutscene_start() { global.cutscene = true; obj_pl.state = scr_frozen_state; obj_pl.image_index = 0; obj_pl.image_speed = 0; }
();
7
            audio_sound_gain(obj_radio.current_song, 0, 360);
8
            timer = 5;
9
            scene++;
10
        }
11
        break;
12
    case 1:
13
        if (!scr_timer
scr_timer

function scr_timer() { if (timer > 0) { timer--; return false; } else { return true; } }
())
14
            exit;
15
        scr_text
scr_text

function scr_text() { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue); }
();
16
        with (msg)
17
        {
18
            sndfnt = 102;
19
            message[0] = "* There you are!";
20
            position = 1;
21
            skippable = false;
22
            if (cutoff >= string_length(message[message_current]))
23
            {
24
                other.scene++;
25
                other.timer = 60;
26
                sndfnt = 102;
27
                portrait = false;
28
            }
29
        }
30
        break;
31
    case 2:
32
        if (scr_timer
scr_timer

function scr_timer() { if (timer > 0) { timer--; return false; } else { return true; } }
())
33
        {
34
            scene++;
35
            timer = 15;
36
            instance_destroy(msg);
37
        }
38
        break;
39
    case 3:
40
        if (!scr_timer
scr_timer

function scr_timer() { if (timer > 0) { timer--; return false; } else { return true; } }
())
41
            exit;
42
        if (!instance_exists(obj_martlet_dunes_32))
43
        {
44
            martlet = instance_create(__view_get(e__VW.XView, 0) + 320 + 40, obj_pl.y, obj_martlet_dunes_32);
45
            martlet.actor_speed = 2;
46
        }
47
        if (martlet.npc_arrived)
48
        {
49
            martlet.npc_arrived = false;
50
            timer = 30;
51
            scene++;
52
        }
53
        break;
54
    case 4:
55
        if (!scr_timer
scr_timer

function scr_timer() { if (timer > 0) { timer--; return false; } else { return true; } }
())
56
            exit;
57
        scr_text
scr_text

function scr_text() { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue); }
();
58
        with (msg)
59
        {
60
            sndfnt = 102;
61
            talker[0] = other.martlet;
62
            message[0] = "* I shouldn't have fled#  like I did...\t";
63
            message[1] = "* You kept going. Kept#  destroying lives.\t";
64
            message[2] = "* This isn't self defense#  like I once assumed.\t";
65
            message[3] = "* You're on a mission.\t";
66
            message[4] = "* But...";
67
            message[5] = "* This warped sense of#  justice... It won't#  bring them back.\t";
68
            message[6] = "* I have reservations#  about the King's#  business just like you.\t";
69
            message[7] = "* But you don't have the#  context of those#  actions.\t";
70
            message[8] = "* I know... You want to#  believe the best of#  others.\t";
71
            message[9] = "* That the fallen humans#  were fully pacifistic#  and didn't initiate       ";
72
            prt[0] = 315;
73
            prt[1] = 317;
74
            prt[2] = 329;
75
            prt[3] = 309;
76
            prt[4] = 309;
77
            prt[5] = 309;
78
            prt[6] = 329;
79
            prt[7] = 309;
80
            prt[8] = 317;
81
            prt[9] = 317;
82
            position = 1;
83
            if (message_current == 9)
84
            {
85
                skippable = false;
86
                if (cutoff >= string_length(message[message_current]))
87
                {
88
                    instance_destroy();
89
                    other.scene++;
90
                }
91
            }
92
        }
93
        break;
94
    case 5:
95
        cutscene_instance_create(obj_pl.x, obj_pl.y, 1168);
96
        break;
97
    case 6:
98
        cutscene_npc_walk_relative(1168, 10, 0, 0.5, "x", "right");
99
        break;
100
    case 7:
101
        cutscene_wait(0.5);
102
        break;
103
    case 8:
104
        obj_martlet_dunes_32.right_sprite = 272;
105
        cutscene_npc_walk_relative(1763, 10, 0, 1, "x", "left");
106
        break;
107
    case 9:
108
        cutscene_wait(0.5);
109
        break;
110
    case 10:
111
        scr_text
scr_text

function scr_text() { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue); }
();
112
        with (msg)
113
        {
114
            sndfnt = 102;
115
            talker[0] = other.martlet;
116
            message[0] = "* T-The Royal Guard are#  searching for you, let#  me make that clear.";
117
            message[1] = "* You're lucky I'm the#  one who found you. So#  please listen!";
118
            message[2] = "* I've spent my life in#  skepticism.";
119
            message[3] = "* Longing for eventual#  peace between our kinds.";
120
            message[4] = "* If you can believe it,#  I see goodness in you. ";
121
            message[5] = "* Somehow, I still have#  hope you can turn it#  around.";
122
            message[6] = "* I can't apprehend you#  on my own, I already#  tried that...";
123
            message[7] = "* So please... stop this.#  Us monsters don't#  deserve      ";
124
            prt[0] = 322;
125
            prt[1] = 309;
126
            prt[2] = 338;
127
            prt[3] = 338;
128
            prt[4] = 317;
129
            prt[5] = 329;
130
            prt[6] = 315;
131
            prt[7] = 317;
132
            position = 1;
133
            if (message_current == 7)
134
            {
135
                skippable = false;
136
                if (cutoff >= string_length(message[message_current]))
137
                {
138
                    instance_destroy();
139
                    other.scene++;
140
                }
141
            }
142
        }
143
        break;
144
    case 11:
145
        cutscene_npc_action_sprite(1168, 3295, 1, false);
146
        if (obj_player_npc.image_index >= 5)
147
        {
148
            obj_player_npc.image_index = 5;
149
            obj_player_npc.image_speed = 0;
150
            cutscene_advance(12);
151
        }
152
        timer = 30;
153
        break;
154
    case 12:
155
        if (!scr_timer
scr_timer

function scr_timer() { if (timer > 0) { timer--; return false; } else { return true; } }
())
156
            exit;
157
        obj_martlet_dunes_32.right_sprite = 272;
158
        cutscene_npc_walk_relative(1763, 10, 0, 1, "x", "left");
159
        break;
160
    case 13:
161
        cutscene_wait(0.5);
162
        break;
163
    case 14:
164
        cutscene_dialogue();
165
        with (msg)
166
        {
167
            sndfnt = 102;
168
            talker[0] = other.martlet;
169
            message[0] = "* W-wait!";
170
            prt[0] = 332;
171
            position = 1;
172
        }
173
        break;
174
    case 15:
175
        cutscene_wait(1);
176
        break;
177
    case 16:
178
        cutscene_dialogue();
179
        with (msg)
180
        {
181
            sndfnt = 102;
182
            talker[0] = other.martlet;
183
            message[0] = "* Just listen!\t";
184
            message[1] = "* I-I didn't want it to#  come to this but...\t";
185
            message[2] = "* I have to go.\t";
186
            message[3] = "* You won't get away with#  this, Clover.";
187
            prt[0] = 309;
188
            prt[1] = 309;
189
            prt[2] = 309;
190
            prt[3] = 309;
191
            position = 1;
192
        }
193
        break;
194
    case 17:
195
        if (obj_martlet_dunes_32.sprite_index != spr_martlet_fly_away)
196
        {
197
            obj_martlet_dunes_32.action_sprite = true;
198
            obj_martlet_dunes_32.sprite_index = spr_martlet_fly_away;
199
            obj_martlet_dunes_32.image_speed = 0.5;
200
            obj_martlet_dunes_32.image_index = 7;
201
        }
202
        if (obj_martlet_dunes_32.image_index >= (obj_martlet_dunes_32.image_number - 1))
203
        {
204
            instance_destroy(obj_martlet_dunes_32);
205
            scene++;
206
            timer = 20;
207
        }
208
        break;
209
    case 18:
210
        if (!scr_timer
scr_timer

function scr_timer() { if (timer > 0) { timer--; return false; } else { return true; } }
())
211
            exit;
212
        if (obj_player_npc.image_speed == 0)
213
        {
214
            obj_player_npc.image_index = 13;
215
            obj_player_npc.image_speed = 1;
216
        }
217
        if (obj_player_npc.image_index >= (obj_player_npc.image_number - 1))
218
            cutscene_advance();
219
        break;
220
    case 19:
221
        instance_destroy();
222
        instance_destroy(obj_player_npc);
223
        audio_sound_gain(obj_radio.current_song, 1, 360);
224
        global.dunes_flag[16] = 2;
225
        scr_cutscene_end
scr_cutscene_end

function scr_cutscene_end() { global.cutscene = false; obj_pl.alarm[0] = 1; }
();
226
        break;
227
}
228
229
enum e__VW
230
{
231
    XView,
232
    YView,
233
    WView,
234
    HView,
235
    Angle,
236
    HBorder,
237
    VBorder,
238
    HSpeed,
239
    VSpeed,
240
    Object,
241
    Visible,
242
    XPort,
243
    YPort,
244
    WPort,
245
    HPort,
246
    Camera,
247
    SurfaceID
248
}