Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_red_dunes_30_Step_0

(view raw script w/o annotations or w/e)
1
event_inherited();
2
if (interact)
3
{
4
    if (global.party_member != -4)
5
    {
6
        if (npc_flag < 3)
7
        {
8
            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; }
();
9
            scene = 1;
10
            exit;
11
        }
12
    }
13
    scr_text
scr_text

function scr_text() { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue); }
();
14
    is_talking = true;
15
    switch (npc_flag)
16
    {
17
        case 0:
18
            with (msg)
19
            {
20
                portrait = false;
21
                sndfnt = 99;
22
                message[0] = "* WHOA!";
23
                message[1] = "* Whoa whoa WHOA!";
24
                message[2] = "* How many times are you gonna#  bring me in? I TOLD you I'm not#  a—";
25
                message[3] = "* Oh, you're... not a member#  of the guard.";
26
                message[4] = "* Gah! I'm really really sorry!";
27
                message[5] = "* I've been mistaken for a human#  a few too many times.";
28
                message[6] = "* Some of 'em even recognize me#  now. Maybe I should get to know#  them better...";
29
            }
30
            npc_flag = 1;
31
            break;
32
        case 1:
33
            with (msg)
34
            {
35
                portrait = false;
36
                sndfnt = 99;
37
                message[0] = "* You kinda look like the same#  might've happened to you.";
38
                message[1] = "* Dressing the way a human#  wouldn't is a good start,";
39
                message[2] = "* but a lot of folks down here#  don't know the nuances of#  ~human fashion~.";
40
                message[3] = "* Maybe put on like, two or three#  more hats.";
41
                message[4] = "* Put hats on your feet too.#  Nobody will bother you then.";
42
            }
43
            npc_flag = 2;
44
            break;
45
        case 2:
46
            with (msg)
47
            {
48
                portrait = false;
49
                sndfnt = 99;
50
                message[0] = "* So, do you just walk up to#  people repeatedly and expect#  them to talk to you?";
51
                message[1] = "* ...Does it work?";
52
                message[2] = "* ...Should I try it?";
53
            }
54
            break;
55
        case 3:
56
            if (global.party_member != -4)
57
            {
58
                is_talking = false;
59
                with (msg)
60
                {
61
                    message[0] = "* (Red stares awkwardly.)";
62
                    message[1] = "* (She isn't prepared for a#  second conversation.)";
63
                }
64
            }
65
            else
66
            {
67
                with (msg)
68
                {
69
                    message[0] = "* Hopefully Martlet didn't give#  you too much trouble!";
70
                    message[1] = "* Not that she would.";
71
                    message[2] = "* If you want a Guard to mistake#  you for a human, she's#  definitely the best one.";
72
                }
73
                npc_flag = 4;
74
            }
75
            break;
76
        case 4:
77
            with (msg)
78
            {
79
                message[0] = "* ...Wait, did you get arrested#  on PURPOSE to try and make new#  friends?";
80
                message[1] = "* ....";
81
                message[2] = "* ...................";
82
                message[3] = "* ...You might be onto something,#  buster.";
83
            }
84
            npc_flag = 5;
85
            break;
86
        case 5:
87
            is_talking = false;
88
            with (msg)
89
                message[0] = "* (Red is in deep thought.)";
90
            break;
91
    }
92
}
93
switch (scene)
94
{
95
    case 1:
96
        with (obj_martlet_follower)
97
        {
98
            image_alpha = 0;
99
            other.martlet_npc = instance_create(x, y, obj_martlet_npc);
100
        }
101
        with (obj_pl)
102
            other.player_npc = instance_create(x, y, obj_player_npc);
103
        with (martlet_npc)
104
        {
105
            x_dest[0] = other.x - 20;
106
            y_dest[0] = other.y + 35;
107
            end_direction = "up";
108
            can_walk = true;
109
        }
110
        with (player_npc)
111
        {
112
            x_dest[0] = other.x + 20;
113
            y_dest[0] = other.y + 35;
114
            end_direction = "up";
115
            can_walk = true;
116
        }
117
        scene++;
118
        break;
119
    case 2:
120
        if (player_npc.npc_arrived && martlet_npc.npc_arrived)
121
        {
122
            player_npc.npc_arrived = false;
123
            martlet_npc.npc_arrived = false;
124
            timer = 30;
125
            scene++;
126
        }
127
        break;
128
    case 3:
129
        if (!scr_timer
scr_timer

function scr_timer() { if (timer > 0) { timer--; return false; } else { return true; } }
())
130
            exit;
131
        var martlet = martlet_npc;
132
        var red = id;
133
        scr_text
scr_text

function scr_text() { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue); }
();
134
        with (msg)
135
        {
136
            if (talker[message_current] == red)
137
                sndfnt = 99;
138
            if (talker[message_current] == martlet || message_current == 0)
139
                sndfnt = 102;
140
            talker[0] = martlet;
141
            message[0] = "* Ooooh! Oh, hey! Clover!";
142
            message[1] = "* Remember how I told you#  I apprehended a human#  last week?";
143
            message[2] = "* Thaaat's her!";
144
            prt[0] = 328;
145
            prt[1] = 328;
146
            prt[2] = 318;
147
            talker[3] = red;
148
            message[3] = "* ?";
149
            message[4] = "* ????????????";
150
            message[5] = "* You STILL think I'm... your#  captain DID explain to you I'm#  not a human, right?";
151
            message[6] = "* Please tell me she did.";
152
            talker[7] = martlet;
153
            message[7] = "* Oh! I'm so sorry! I just#  thought you-";
154
            prt[7] = 333;
155
            talker[8] = red;
156
            message[8] = "* No, no, I'm sorry, I just...#  get it often.";
157
            message[9] = "* You MAY OR MAY NOT be the first#  that apprehended me repeatedly,#  though.";
158
            message[10] = "* Kinda put me on edge.";
159
            talker[9] = martlet;
160
            message[9] = "* It's totally fine!";
161
            message[10] = "* You wouldn't believe#  how many grumpy#  monsters I deal with.";
162
            message[11] = "* N-not that you're a#  grumpy monster!";
163
            message[12] = "* I'm sure you're very#  nice!";
164
            message[13] = "* Ahem. Anyway...";
165
            message[14] = "* What's your name?";
166
            ch_msg = 14;
167
            ch[1] = "It's Clover";
168
            message[15] = "* Huh? No, not you, silly,#  her!";
169
            prt[9] = 318;
170
            prt[10] = 328;
171
            prt[11] = 333;
172
            prt[12] = 323;
173
            prt[13] = 335;
174
            prt[14] = 320;
175
            prt[15] = 333;
176
            talker[16] = red;
177
            message[16] = "* I.... Actually, how about#  \"Red?\"";
178
            message[17] = "* That's what your colleagues#  have kept calling me every time#  I get falsely apprehended.";
179
            message[18] = "* To be honest...";
180
            message[19] = "* I hoped that eventually I'd be#  \"caught\" enough that you'd all#  recognize me and it'd stop.";
181
            message[20] = "* It might just be wiser to JOIN#  the Guard at this point...";
182
            talker[21] = martlet;
183
            message[21] = "* Join?";
184
            message[22] = "* That would be fantastic!";
185
            message[23] = "* I'd be glad to show you#  the ropes of my job!";
186
            message[24] = "* You could even help me#  build puzzles!";
187
            message[25] = "* That might be a code#  violation now that I#  think about it...";
188
            message[26] = "* Aaahh, it's fine!";
189
            prt[21] = 333;
190
            prt[22] = 318;
191
            prt[23] = 318;
192
            prt[24] = 313;
193
            prt[25] = 335;
194
            prt[26] = 313;
195
            talker[27] = red;
196
            message[27] = "* What?";
197
            message[28] = "* It can't be THAT easy to get in,#  right?";
198
            talker[29] = martlet;
199
            message[29] = "* I mean, they let me#  join.";
200
            message[30] = "* We'll figure it out!";
201
            message[31] = "* Me and Clover have some#  important business to#  attend to.";
202
            message[32] = "* But I should be free#  next week!";
203
            message[33] = "* You can find me doing#  my duty around Snowdin#  any day.";
204
            prt[29] = 337;
205
            prt[30] = 313;
206
            prt[31] = 338;
207
            prt[32] = 328;
208
            prt[33] = 328;
209
            talker[34] = red;
210
            message[34] = "* Oh.";
211
            message[35] = "* You're serious.";
212
            message[36] = "* Ah, ahahaha, I mean, haha,#  s-sure?";
213
            message[37] = "* S-sounds like a plan!!";
214
            message[38] = "* See you then!!";
215
            talker[39] = martlet;
216
            message[39] = "* See ya!";
217
            prt[39] = 312;
218
        }
219
        if (!global.dialogue_open)
220
        {
221
            scene++;
222
            obj_pl.image_alpha = 1;
223
            obj_pl.direction = 90;
224
            with (obj_martlet_follower)
225
            {
226
                x = other.martlet_npc.x;
227
                y = other.martlet_npc.y;
228
                npc_reset = true;
229
                dir_new[1] = 90;
230
                image_alpha = 1;
231
            }
232
            instance_destroy(martlet_npc);
233
            instance_destroy(player_npc);
234
            exit;
235
        }
236
        break;
237
    case 4:
238
        scene = 0;
239
        npc_flag = 3;
240
        scr_cutscene_end
scr_cutscene_end

function scr_cutscene_end() { global.cutscene = false; obj_pl.alarm[0] = 1; }
();
241
        break;
242
}