|
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_startscr_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_savegamescr_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_metascr_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_endscr_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
|
}
|