Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_smokey_Step_0

(view raw script w/o annotations or w/e)
1
if (sprite_index == spr_smokey_smoke)
2
{
3
    image_speed = 0.4;
4
    if (image_index >= (image_number - image_speed))
5
    {
6
        sprite_index = spr_smokey;
7
        scr_cutscene_end
scr_cutscene_end

function scr_cutscene_end() { global.cutscene = false; obj_pl.alarm[0] = 1; }
();
8
        audio_sound_gain(obj_radio.bgm, 1, 300);
9
    }
10
    exit;
11
}
12
event_inherited();
13
if (interact)
14
{
15
    scr_text
scr_text

function scr_text() { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue); }
();
16
    is_talking = 1;
17
    waiter = 1;
18
}
19
if (waiter == 1)
20
{
21
    if (global.dunes_flag[6] == false)
22
    {
23
        switch (npc_flag)
24
        {
25
            case 0:
26
                with (msg)
27
                {
28
                    portrait = false;
29
                    sndfnt = 99;
30
                    message[0] = "* Hey, just in time!";
31
                    message[1] = "* I'm sure you noticed all this#  mining mumbo jumbo lying around,#  yea?";
32
                    message[2] = "* Well, Corporate said we have to#  solve puzzles as we work to#  exercise the ol' noggin.";
33
                    message[3] = "* They even made the Foreman lock#  the door until work's done.";
34
                    message[4] = "* Pretty unnecessary if you ask#  me.";
35
                    message[5] = "* Seeing as I'm on my permanent#  smoke break, could you solve it#  for me?";
36
                    message[6] = "* You look like a smart kid. Give#  it a shot.";
37
                }
38
                if (!global.dialogue_open)
39
                {
40
                    npc_flag = 1;
41
                    waiter = 0;
42
                }
43
                break;
44
            case 1:
45
                with (msg)
46
                {
47
                    portrait = false;
48
                    sndfnt = 99;
49
                    message[0] = "* What do ya need?";
50
                    ch_msg = 0;
51
                    ch[1] = "Can you help me?";
52
                }
53
                if (!global.dialogue_open)
54
                {
55
                    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; }
();
56
                    audio_sound_gain(obj_radio.bgm, 0, 300);
57
                    sprite_index = spr_smokey_smoke;
58
                    audio_play_sound(snd_smoke, 1, 0);
59
                    waiter = 0;
60
                    npc_flag = 2;
61
                }
62
                break;
63
            case 2:
64
                with (msg)
65
                {
66
                    portrait = false;
67
                    sndfnt = 99;
68
                    message[0] = "* You're not gonna solve the#  puzzle by talking to me.";
69
                    message[1] = "* Kids these days are so#  lazy, I swear.";
70
                }
71
                break;
72
        }
73
    }
74
    else
75
    {
76
        if (npc_flag < 3)
77
            npc_flag = 3;
78
        switch (npc_flag)
79
        {
80
            case 3:
81
                with (msg)
82
                {
83
                    message[0] = "* Great job! I knew you could do#  it, kid!";
84
                    message[1] = "* Won't be another job until#  tomorrow.";
85
                    message[2] = "* I can spend the rest of my#  workday doing absolutely#  nothing.";
86
                    message[3] = "* Oh wait, I already was.";
87
                }
88
                if (!global.dialogue_open)
89
                {
90
                    npc_flag = 4;
91
                    waiter = 0;
92
                }
93
                break;
94
            case 4:
95
                with (msg)
96
                {
97
                    message[0] = "* You gotta wonder when ol'#  ASGORE is gonna call off this#  excavation.";
98
                    message[1] = "* Mining Co. has been in business#  for decades!";
99
                }
100
                if (!global.dialogue_open)
101
                {
102
                    npc_flag = 2;
103
                    waiter = 0;
104
                }
105
                break;
106
        }
107
    }
108
}