Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_flowey1_Step_0

(view raw script w/o annotations or w/e)
1
script_execute(scr_depth, 0, 0, 0, 0, 0);
2
if ((global.flag[24 Flowey introduction progress] == 0 && room == rm_darkruins_03) && waiter == 1)
3
{
4
    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; }
();
5
    waiter = 2;
6
    image_alpha = 255;
7
}
8
if (obj_pl.state == scr_frozen_state && waiter == 2)
9
{
10
    if (!instance_exists(obj_dialogue))
11
        msg = instance_create(x, y, obj_dialogue);
12
    if (global.meta_flowey_introduction_count >= 2)
13
    {
14
        with (msg)
15
        {
16
            position = 0;
17
            sndfnt = 96;
18
            color = true;
19
            col_modif[0] = 65535;
20
            col_modif[1] = 255;
21
            message[0] = "* Howdy!";
22
            message[1] = "* I'm FLOWEY. ";
23
            message_col[1][0] = "      FLOWEY  ";
24
            message[2] = "* FLOWEY the FLOWER!";
25
            message_col[2][0] = "  FLOWEY     FLOWER ";
26
            message[3] = "* Hmm...";
27
            message[4] = "* You look like a pretty#  confident person.";
28
            message[5] = "* I shouldn't hold you#  here all day should I?";
29
            message[6] = "* Wouldn't want to be a#  hindrance!";
30
            message[7] = "* I'll letcha go, but you#  should know this at#  least:";
31
            message[8] = "* King ASGORE is#  responsible for#  everything.";
32
            message_col[8][1] = "       ASGORE                                   ";
33
            message[9] = "* Seek him out and do#  what you must.";
34
            message[10] = "* Also...";
35
            message[11] = "* If you ever run into#  trouble, I can SAVE for#  you!";
36
            message[12] = "* Just come look for#  these things and I'll be#  there!";
37
            prt[0] = 348;
38
            prt[1] = 348;
39
            prt[2] = 348;
40
            prt[3] = 347;
41
            prt[4] = 348;
42
            prt[5] = 348;
43
            prt[6] = 347;
44
            prt[7] = 348;
45
            prt[8] = 348;
46
            prt[9] = 348;
47
            prt[10] = 347;
48
            prt[11] = 348;
49
            prt[12] = 348;
50
            other.waiter = 1;
51
            global.flag[24 Flowey introduction progress] = 1;
52
        }
53
    }
54
    else if (global.meta_flowey_introduction_count == 1)
55
    {
56
        with (msg)
57
        {
58
            position = 0;
59
            sndfnt = 96;
60
            color = true;
61
            col_modif[0] = 65535;
62
            col_modif[1] = 255;
63
            message[0] = "* Howdy!";
64
            message[1] = "* I'm FLOWEY. ";
65
            message_col[1][0] = "      FLOWEY  ";
66
            message[2] = "* FLOWEY the FLOWER!";
67
            message_col[2][0] = "  FLOWEY     FLOWER ";
68
            message[3] = "* Hmmm...";
69
            message[4] = "* You look confused.";
70
            message[5] = "* Toriel ought to have#  taught you how things#  work around here!";
71
            message[6] = "* She didn't?";
72
            message[7] = "* I guess little old me#  will have to do then.";
73
            message[8] = "* Do you want me to teach#  ya?";
74
            prt[0] = 348;
75
            prt[1] = 348;
76
            prt[2] = 348;
77
            prt[3] = 347;
78
            prt[4] = 357;
79
            prt[5] = 347;
80
            prt[6] = 348;
81
            prt[7] = 3251;
82
            prt[8] = 348;
83
            col_modif[0] = 65535;
84
            ch_msg = 8;
85
            ch[1] = "Yes";
86
            ch[2] = "No";
87
            if (outcome == 1)
88
            {
89
                global.dialogue_open = false;
90
                other.waiter = 3;
91
            }
92
            if (outcome == 2)
93
            {
94
                message[9] = "* I see...";
95
                message[10] = "* Going in headstrong - I#  like it!";
96
                message[11] = "* Well you should know#  this at least:";
97
                message[12] = "* Those humans you're#  after?";
98
                message[13] = "* Sorry, but...";
99
                message[14] = "* King ASGORE has already#  gotten to 'em.";
100
                message_col[14][0] = "";
101
                message_col[14][1] = "       ASGORE                             ";
102
                message[15] = "* On the bright side, I#  hear their SOULs are in#  holding.";
103
                message[16] = "* Do what you will with#  that information.";
104
                message[17] = "* Also...";
105
                message[18] = "* Whenever you need help,#  I can SAVE for you!";
106
                message[19] = "* That means if anything#  bad happens, I can make#  it unhappen!";
107
                message[20] = "* So if you ever need to#  save, come look for me!";
108
                message[21] = "* I'll leave these little#  things around for you.";
109
                prt[9] = 353;
110
                prt[10] = 348;
111
                prt[11] = 347;
112
                prt[12] = 348;
113
                prt[13] = 353;
114
                prt[14] = 352;
115
                prt[15] = 348;
116
                prt[16] = 348;
117
                prt[17] = 347;
118
                prt[18] = 348;
119
                prt[19] = 348;
120
                prt[20] = 348;
121
                prt[21] = 347;
122
                other.waiter = 1;
123
                global.flag[24 Flowey introduction progress] = 1;
124
            }
125
        }
126
    }
127
    else if (global.meta_flowey_introduction_count == 0)
128
    {
129
        with (msg)
130
        {
131
            position = 0;
132
            color = true;
133
            sndfnt = 96;
134
            message[0] = "* Howdy!#* I'm FLOWEY. #* FLOWEY the FLOWER!";
135
            message[1] = "* Hmm... #* You look confused!";
136
            message[2] = "* Toriel ought to have #  taught you how things #  work around here!";
137
            message[3] = "* She didn't?";
138
            message[4] = "* I guess little old me #  will have to do then.#* Ready? Here we go!";
139
            message_col[0][0] = "        #      FLOWEY  #  FLOWEY     FLOWER ";
140
            col_modif[0] = 65535;
141
            prt[0] = 348;
142
            prt[1] = 357;
143
            prt[2] = 347;
144
            prt[3] = 352;
145
            prt[4] = 348;
146
        }
147
        waiter = 3;
148
    }
149
}
150
if ((!instance_exists(obj_dialogue) && waiter == 3) && global.flag[24 Flowey introduction progress] == 0)
151
{
152
    instance_create(obj_pl.x, obj_pl.y, obj_heart_initiate_battle);
153
    global.battle_enemy_name = "flowey intro";
154
    global.current_room_overworld = room_get_name(room);
155
    global.battling_boss = false;
156
    global.battle_start = true;
157
    instance_destroy();
158
    waiter = 4;
159
}
160
if ((global.flag[24 Flowey introduction progress] == 1 && room == rm_darkruins_03) && waiter == 0)
161
{
162
    image_alpha = 255;
163
    obj_pl.direction = 90;
164
    global.cutscene = true;
165
    if (!instance_exists(obj_dialogue))
166
        msg = instance_create(x, y, obj_dialogue);
167
    with (msg)
168
    {
169
        position = 0;
170
        sndfnt = 96;
171
        message[0] = "* You probably want to go#  home, don'tcha?#";
172
        message[1] = "* Well you've got a long #  journey ahead!";
173
        message[2] = "* If you ever need to save,#  come look for me!";
174
        message[3] = "* I'll leave these little #  things around for you.";
175
        prt[0] = 347;
176
        prt[1] = 348;
177
        prt[2] = 348;
178
        prt[3] = 348;
179
    }
180
    waiter = 1;
181
}
182
if ((!instance_exists(obj_dialogue) && waiter == 1) && global.flag[24 Flowey introduction progress] == 1)
183
{
184
    image_speed = 0.2;
185
    sprite_index = spr_floweyleave;
186
}
187
if ((global.flag[24 Flowey introduction progress] == 2 && room == rm_darkruins_03) && waiter == 1 && !instance_exists(obj_dialogue))
188
{
189
    waiter = 2;
190
    image_alpha = 255;
191
    if (obj_pl.state == scr_frozen_state && waiter == 2)
192
    {
193
        if (!instance_exists(obj_dialogue))
194
            msg = instance_create(x, y, obj_dialogue);
195
        if (global.meta_flowey_introduction_count >= 2)
196
        {
197
            with (msg)
198
            {
199
                position = 0;
200
                sndfnt = 96;
201
                message[0] = "* Well, I suppose that's#  that.";
202
                message[1] = "* Go get 'em, buddy!";
203
                prt[0] = 347;
204
                prt[1] = 348;
205
            }
206
        }
207
        else if (global.meta_flowey_introduction_count == 1)
208
        {
209
            with (msg)
210
            {
211
                position = 0;
212
                sndfnt = 96;
213
                message[0] = "* Well, that pretty much#  covers it!";
214
                message[1] = "* Good luck, pal!";
215
                prt[0] = 348;
216
                prt[1] = 3251;
217
            }
218
        }
219
        else if (global.meta_flowey_introduction_count == 0)
220
        {
221
            with (msg)
222
            {
223
                position = 0;
224
                sndfnt = 96;
225
                color = true;
226
                col_modif[0] = 255;
227
                message[0] = "* That way it's easy to #  find me!";
228
                message[1] = "* If you see one don't #  hesitate to call me! ";
229
                message[2] = "* And then I'll save #  for you. Like I just #  saved for you now!";
230
                message[3] = "* ...";
231
                message[4] = "* There's one more#  thing...";
232
                message[5] = "* The king of all the#  monsters, ASGORE...";
233
                message[6] = "* He's been killing#  humans.";
234
                message[7] = "* The only way out is#  killing him and... #  well...";
235
                message[8] = "* You're pretty small...";
236
                message[9] = "* That doesn't matter too#  much though.";
237
                message[10] = "* What matters is you've#  got me on your#  side!";
238
                message[11] = "* I'll let you get going,#  but please be careful.";
239
                message[12] = "* There's all sortsa #  dangerous traps down#  here.";
240
                message[13] = "* And some of the #  monsters in this#  place...";
241
                message[14] = "* I hear they don't #  like visitors.#  So good luck!";
242
                message_col[5][0] = "                     #            ASGORE   ";
243
                prt[0] = 348;
244
                prt[1] = 348;
245
                prt[2] = 347;
246
                prt[3] = 354;
247
                prt[4] = 357;
248
                prt[5] = 352;
249
                prt[6] = 352;
250
                prt[7] = 353;
251
                prt[8] = 356;
252
                prt[9] = 352;
253
                prt[10] = 348;
254
                prt[11] = 348;
255
                prt[12] = 357;
256
                prt[13] = 354;
257
                prt[14] = 357;
258
            }
259
        }
260
        waiter = 3;
261
    }
262
}
263
if ((!instance_exists(obj_dialogue) && waiter == 3) && global.flag[24 Flowey introduction progress] == 2)
264
{
265
    global.flag[24 Flowey introduction progress] = 3;
266
    scr_savegame
scr_savegame

function scr_savegame() { if (file_exists("Save.sav")) file_delete("Save.sav"); ini_open("Save.sav"); var SavedRoom = room_get_name(room); ini_write_string("Save1", "room", SavedRoom); ini_write_real("Save1", "pX", obj_pl.x); ini_write_real("Save1", "pY", obj_pl.y); ini_write_real("Save1", "dir", obj_pl.direction); SavedRoom = room; ini_write_real("Save1", "HP", global.current_hp_self); ini_write_real("Save1", "MAXHP", global.max_hp_self); ini_write_real("Save1", "PP", global.current_pp_self); ini_write_real("Save1", "MAXPP", global.max_pp_self); ini_write_real("Save1", "SP", global.current_sp_self); ini_write_real("Save1", "MAXSP", global.max_sp_self); ini_write_real("Save1", "RP", global.current_rp_self); ini_write_real("Save1", "MAXRP", global.max_rp_self); ini_write_real("Save1", "AT - Primary", global.player_attack); ini_write_real("Save1", "AT - Secondary", global.player_weapon_modifier_attack); ini_write_real("Save1", "DFP", global.player_defense); ini_write_real("Save1", "DFS", global.player_armor_modifier_defense); ini_write_real("Save1", "LV", global.player_level); ini_write_real("Save1", "EXP", global.player_exp); ini_write_real("Save1", "Gold", global.player_gold); ini_write_string("Save1", "Armor", global.player_armor); ini_write_string("Save1", "Weapon", global.player_weapon); ini_write_string("Save1", "Ammo", global.player_weapon_modifier); ini_write_string("Save1", "Accessory", global.player_armor_modifier); ini_write_string("Save1", "rmName", global.saveroom); ini_write_string("Save1", "playerSprite", global.player_sprites); ini_write_real("Save1", "playerCanRun", global.player_can_run); if (global.party_member == -4) ini_write_string("Save1", "Follower", "noone"); else ini_write_string("Save1", "Follower", object_get_name(global.party_member)); ini_write_real("Save1", "Satchel", global.player_has_satchel); ini_write_real("Save1", "FTravel", global.player_can_travel); scr_determine_playtime(); ini_write_real("Playtime", "Seconds", global.elapsed_seconds); var ds_list_encounters = ds_list_write(global.encounter_list); ini_write_string("Encounters", "0", ds_list_encounters); var ds_list_steal = ds_list_write(global.steal_list); ini_write_string("Steal", "0", ds_list_steal); var ds_list_fasttravel = ds_list_write(global.fast_travel_list); ini_write_string("FastTravel", "0", ds_list_fasttravel); var inv1 = global.item_slot[1]; ini_write_string("Items", "00", global.item_slot[1]); ini_write_string("Items", "01", global.item_slot[2]); ini_write_string("Items", "02", global.item_slot[3]); ini_write_string("Items", "03", global.item_slot[4]); ini_write_string("Items", "04", global.item_slot[5]); ini_write_string("Items", "05", global.item_slot[6]); ini_write_string("Items", "06", global.item_slot[7]); ini_write_string("Items", "07", global.item_slot[8]); var ds_list_string = ds_list_write(global.box_slot_list); ini_write_string("DBox", "0", ds_list_string); ini_write_real("Misc", "01", global.tinypuzzle); for (var i = 0; i < array_length_1d(global.ruins_flag); i++) ini_write_real("RuinsFlags", string(i), global.ruins_flag[i]); for (var i = 0; i < array_length_1d(global.flag); i++) ini_write_real("Flags", string(i), global.flag[i]); for (var i = 0; i < array_length_1d(global.snowdin_flag); i++) ini_write_real("SnowdinFlags", string(i), global.snowdin_flag[i]); for (var i = 0; i < array_length_1d(global.dunes_flag); i++) ini_write_real("DunesFlags", string(i), global.dunes_flag[i]); for (var i = 0; i < array_length_1d(global.dunes_flag_ext); i++) ini_write_real("DunesFlagsExt", string(i), global.dunes_flag_ext[i]); for (var i = 0; i < array_length_1d(global.sworks_flag); i++) ini_write_real("SworksFlags", string(i), global.sworks_flag[i]); ini_write_string("SworksFlags", "code", global.factory_code); ds_list_string = ds_list_write(global.factory_code_2); ini_write_string("SworksFlags", "code2", ds_list_string); ini_write_string("SworksFlags", "code3", global.factory_code_3); ini_write_real("SworksFlags", "RbCount", global.sworks_robot_count); for (var i = 0; i < global.sworks_robot_count; i++) { ini_write_real("RbSprite", string(i), global.sworks_robot_sprite[i]); ini_write_real("RbX", string(i), global.sworks_robot_x[i]); ini_write_real("RbY", string(i), global.sworks_robot_y[i]); ini_write_real("RbD", string(i), global.sworks_robot_depth[i]); ini_write_real("RbS", string(i), global.sworks_robot_scale[i]); ini_write_real("RbA", string(i), global.sworks_robot_angle[i]); } ini_write_string("SworksFlags", "sworks_id", ds_grid_write(global.sworks_id_grid)); for (var i = 0; i < array_length_1d(global.item_stock); i++) ini_write_real("ItemStock", string(i), global.item_stock[i]); for (var i = 0; i < array_length_1d(global.hotland_flag); i++) ini_write_real("HotlandFlags", string(i), global.hotland_flag[i]); for (var i = 0; i < array_length_1d(global.flowey_flag); i++) ini_write_real("FloweyFlags", string(i), global.flowey_flag[i]); ini_write_real("FloweyFlags", "savenumber", global.flowey_save_number); ini_write_real("FloweyFlags", "savecount", global.save_count); for (var i = 0; i < array_length_1d(global.extra_flag); i++) ini_write_real("ExtraFlags", string(i), global.extra_flag[i]); for (var i = 0; i < array_length_1d(global.mail_flag); i++) ini_write_real("MailFlags", string(i), global.mail_flag[i]); ds_list_string = ds_list_write(global.mail_list); ini_write_string("Mail", "0", ds_list_string); ds_list_string = ds_list_write(global.mail_unclaimed_list); ...
();
267
    image_speed = 0.2;
268
    sprite_index = spr_floweyleave;
269
    audio_sound_gain(mus_floweynew_yellow, 0, 2000);
270
    global.cutscene = false;
271
    global.meta_flowey_introduction_count += 1;
272
    scr_savegame_meta
scr_savegame_meta

function scr_savegame_meta() { if (file_exists("Save02.sav")) file_delete("Save02.sav"); ini_open("Save02.sav"); ini_write_real("00", "00", global.meta_flowey_introduction_count); ini_write_real("00", "01", global.meta_flowey_fight_count); ini_write_real("00", "02", global.game_finished_pacifist); ini_write_real("00", "03", global.game_finished_pacifist_kill); ini_write_real("00", "04", global.game_finished_murder); ini_write_real("Deaths", "00", global.death_count_total); ini_write_real("Deaths", "01", global.death_count[1]); ini_write_real("Deaths", "02", global.death_count[2]); ini_close(); }
();
273
    scr_cutscene_end
scr_cutscene_end

function scr_cutscene_end() { global.cutscene = false; obj_pl.alarm[0] = 1; }
();
274
    obj_pl.alarm[0] = 5;
275
    waiter = 4;
276
}
277
if (instance_exists(obj_dialogue) && obj_dialogue.sndfnt == 96)
278
{
279
    if (obj_dialogue.cutoff == string_length(obj_dialogue.message[obj_dialogue.message_current]))
280
    {
281
        image_speed = 0;
282
        image_index = 0;
283
    }
284
    else
285
    {
286
        image_speed = 0.2;
287
    }
288
}