1 |
script_execute(scr_depth, 0, 0, 0, 0, 0); |
2 |
if (global.route == 2 && global.flag[21 Hurt Dalv during battle?] == false) |
3 |
{ |
4 |
if (waiter == 1) |
5 |
{ |
6 |
scr_textscr_textfunction scr_text()
{
if (!instance_exists(obj_dialogue))
msg = instance_create(x, y, obj_dialogue);
} (); |
7 |
with (msg) |
8 |
{ |
9 |
portrait = true; |
10 |
sndfnt = 100; |
11 |
message[0] = "* Well, here we are."; |
12 |
message[1] = "* Thank you..."; |
13 |
message[2] = "* For everything."; |
14 |
message[3] = "* You have really helped# me out."; |
15 |
message[4] = "* Because of this..."; |
16 |
message[5] = "* I'm leaving this place."; |
17 |
message[6] = "* I'm tired of being# alone."; |
18 |
message[7] = "* It'll take a few days to# pack up..."; |
19 |
message[8] = "* But I think I'm ready to# give the Underground# another shot."; |
20 |
message[9] = "* I have so much# creativity I've been# storing up."; |
21 |
message[10] = "* I'm finally ready to let# my talents show."; |
22 |
message[11] = "* I can publish my novel,# have an organ concert,"; |
23 |
message[12] = "* I might even make# another friend!"; |
24 |
message[13] = "* What a world it would be# if I had two whole# friends."; |
25 |
message[14] = "* I'll go around and place# corn on every doorstep."; |
26 |
message[15] = "* Everyone needs a little# corn in their life."; |
27 |
message[16] = "* I've eaten corn every# day for a year and I'm# doing moderately OK."; |
28 |
message[17] = "* So much to learn, so# much to teach. I'm very# excited!"; |
29 |
message[18] = "* Oops. There I go again# with my rambling."; |
30 |
message[19] = "* Let's get you out of# here."; |
31 |
message[20] = "* Oh..."; |
32 |
message[21] = "* It seems the exit is# blocked off..."; |
33 |
message[22] = "* Let's see."; |
34 |
prt[0] = 1755; |
35 |
prt[1] = 1769; |
36 |
prt[2] = 1769; |
37 |
prt[3] = 1769; |
38 |
prt[4] = 1780; |
39 |
prt[5] = 1776; |
40 |
prt[6] = 1763; |
41 |
prt[7] = 1780; |
42 |
prt[8] = 1776; |
43 |
prt[9] = 1761; |
44 |
prt[10] = 1769; |
45 |
prt[11] = 1769; |
46 |
prt[12] = 1761; |
47 |
prt[13] = 1761; |
48 |
prt[14] = 1769; |
49 |
prt[15] = 1769; |
50 |
prt[16] = 1776; |
51 |
prt[17] = 1769; |
52 |
prt[18] = 1768; |
53 |
prt[19] = 1776; |
54 |
prt[20] = 1755; |
55 |
prt[21] = 1755; |
56 |
prt[22] = 1755; |
57 |
} |
58 |
waiter++; |
59 |
} |
60 |
if (waiter == 2 && instance_exists(obj_dialogue)) |
61 |
{ |
62 |
if (msg.message_current == 20) |
63 |
direction = 90; |
64 |
else |
65 |
direction = 270; |
66 |
} |
67 |
if (waiter == 2 && !instance_exists(obj_dialogue)) |
68 |
{ |
69 |
direction = 90; |
70 |
if (y > 80) |
71 |
{ |
72 |
npc_walking = true; |
73 |
y -= 2; |
74 |
if (y < 80) |
75 |
y = 80; |
76 |
} |
77 |
if (y == 80) |
78 |
{ |
79 |
npc_walking = false; |
80 |
waiter++; |
81 |
} |
82 |
} |
83 |
if (waiter == 3 && sprite_index != spr_dalv_npc_boards_pacifist) |
84 |
{ |
85 |
if (no_loop_sound == false) |
86 |
{ |
87 |
audio_play_sound(snd_wood_pull, 1, 0); |
88 |
no_loop_sound = true; |
89 |
} |
90 |
sprite_index = spr_dalv_npc_boards_pacifist; |
91 |
image_speed = 1/3; |
92 |
image_index = 0; |
93 |
} |
94 |
if (waiter == 4) |
95 |
{ |
96 |
direction = 270; |
97 |
sprite_index = cdalv_down; |
98 |
y += 21; |
99 |
scr_textscr_textfunction scr_text()
{
if (!instance_exists(obj_dialogue))
msg = instance_create(x, y, obj_dialogue);
} (); |
100 |
with (msg) |
101 |
{ |
102 |
portrait = true; |
103 |
sndfnt = 100; |
104 |
ch_msg = 2; |
105 |
ch[1] = "Clover"; |
106 |
message[0] = "* There we go. You're all# set."; |
107 |
message[1] = "* Oh, before I forget,# I never asked for# your name!"; |
108 |
message[2] = "* Mind informing me?"; |
109 |
message[3] = "* Clover? What a nice name."; |
110 |
message[4] = "* Well, Clover, thank you# so much."; |
111 |
message[5] = "* See you later..."; |
112 |
message[6] = "* Friend."; |
113 |
prt[0] = 1776; |
114 |
prt[1] = 1769; |
115 |
prt[2] = 1776; |
116 |
prt[3] = 1769; |
117 |
prt[4] = 1776; |
118 |
prt[5] = 1769; |
119 |
prt[6] = 1773; |
120 |
} |
121 |
waiter++; |
122 |
} |
123 |
if (waiter == 5 && !instance_exists(obj_dialogue)) |
124 |
{ |
125 |
spritelock = true; |
126 |
if (x != 160 || y != 170) |
127 |
scr_walk_aiscr_walk_aifunction scr_walk_ai(arg0, arg1, arg2, arg3, arg4)
{
dalv_walk_speed = arg3;
condition_1 = false;
if (no_loop_destination_dalv == false)
{
var destination_x = abs(x - arg0);
var destination_y = abs(y - arg1);
var axis_override = arg4;
if (axis_override == "x" || axis_override == "y")
{
dalv_walk_axis = axis_override;
}
else
{
var result = sign(destination_x - destination_y);
switch (result)
{
case 1:
dalv_walk_axis = "x";
break;
case -1:
dalv_walk_axis = "y";
break;
default:
dalv_walk_axis = "y";
}
}
dalv_walk_speed_x = sign(arg0 - x) * dalv_walk_speed;
dalv_walk_speed_y = sign(arg1 - y) * dalv_walk_speed;
no_loop_destination_dalv = true;
}
if (x == arg0 && y == arg1)
{
npc_walking = false;
path_speed = 0;
image_speed = 0;
image_index = 0;
exit;
}
switch (dalv_walk_axis)
{
case "x":
x_previous = x;
x += dalv_walk_speed_x;
if (abs(arg0 - x) < dalv_walk_speed && place_free(arg0, y) && !place_meeting(arg0, y, arg2))
x = arg0;
if (place_free(x, y) && !place_meeting(x, y, arg2) && x_previous != arg0)
{
npc_walking = true;
image_speed = 0.2;
if (dalv_walk_speed_x == -dalv_walk_speed)
direction = 180;
else if (dalv_walk_speed_x == dalv_walk_speed)
direction = 0;
}
if (!place_free(x, y) || place_meeting(x, y, arg2) || x_previous == arg0)
{
x = x_previous;
dalv_walk_axis = "y";
exit;
}
dalv_walk_speed_y = sign(arg1 - y) * dalv_walk_speed;
i = x + dalv_walk_speed_x;
j = y;
if (abs(arg0 - i) < dalv_walk_speed)
i = arg0;
while (j != arg1)
{
j += dalv_walk_speed_y;
if (abs(arg1 - j) < dalv_walk_speed)
j = arg1;
if (!place_free(i, j) || place_meeting(i, j, arg2))
{
condition_1 = true;
break;
}
}
if (condition_1 == true)
{
while (i != arg0)
{
i += dalv_walk_speed_x;
j = y;
if (abs(arg0 - i) < dalv_walk_speed)
i = arg0;
while (j != arg1)
{
j += dalv_walk_speed_y;
if (abs(arg1 - j) < dalv_walk_speed)
j = arg1;
if (i == arg0 && j == arg1)
exit;
else if (!place_free(i, j) || place_meeting(i, j, arg2))
break;
else if (j == arg1)
exit;
}
}
dalv_walk_axis = "y";
exit;
... (160, 170, 1031, 2, 0); |
128 |
with (obj_pl) |
129 |
{ |
130 |
if (distance_to_object(obj_dalv3) <= 20 && obj_dalv3.no_loop_autowalk == false) |
131 |
{ |
132 |
clover_walk_backwards = true; |
133 |
autowalk_direction = "left"; |
134 |
state = scr_autowalk_state; |
135 |
alarm[1] |
136 |
obj_dalv3.no_loop_autowalk = true; |
137 |
} |
138 |
} |
139 |
if (x == 160 && y == 170) |
140 |
{ |
141 |
npc_walking = false; |
142 |
image_speed = 0; |
143 |
image_index = 0; |
144 |
fadeout = true; |
145 |
if (image_alpha <= 0.2) |
146 |
{ |
147 |
instance_create(144, 188, obj_dalvExit_blocker); |
148 |
waiter++; |
149 |
} |
150 |
} |
151 |
} |
152 |
if (waiter == 6) |
153 |
{ |
154 |
global.flag[29 Dalv board destruction cutscene] = 1; |
155 |
global.cutscene = false; |
156 |
waiter = 0; |
157 |
with (obj_pl) |
158 |
{ |
159 |
autowalk_direction = "right"; |
160 |
state = scr_autowalk_state; |
161 |
alarm[1] |
162 |
} |
163 |
} |
164 |
} |
165 |
else if (global.route == 2 && global.flag[21 Hurt Dalv during battle?] == true) |
166 |
{ |
167 |
if (waiter == 1) |
168 |
{ |
169 |
scr_textscr_textfunction scr_text()
{
if (!instance_exists(obj_dialogue))
msg = instance_create(x, y, obj_dialogue);
} (); |
170 |
with (msg) |
171 |
{ |
172 |
portrait = true; |
173 |
sndfnt = 100; |
174 |
message[0] = "* Well, here we are."; |
175 |
message[1] = "* I should thank you..."; |
176 |
message[2] = "* For helping me out# so much."; |
177 |
message[3] = "* Because of this..."; |
178 |
message[4] = "* I'm leaving this place."; |
179 |
message[5] = "* I'm tired of being# alone."; |
180 |
message[6] = "* It'll take a few days to# pack up..."; |
181 |
message[7] = "* But I think I'm ready to# give the Underground# another shot."; |
182 |
message[8] = "* I suppose I should get# you out of here but..."; |
183 |
message[9] = "* Honestly, you confuse me."; |
184 |
message[10] = "* You hurt me but yet, you# gave me freedom."; |
185 |
message[11] = "* Is that what real# friends do?"; |
186 |
message[12] = "* If so I don't know if I# really want to leave."; |
187 |
message[13] = "* If everyone will hurt me# then help me..."; |
188 |
message[14] = "* Is that a place I want# to be?"; |
189 |
message[15] = "* Well... I can't let this# opportunity pass."; |
190 |
message[16] = "* It's ok, I forgive you."; |
191 |
message[17] = "* You probably were scared# by me..."; |
192 |
message[18] = "* Most monsters are..."; |
193 |
message[19] = "* ..."; |
194 |
message[20] = "* It seems the exit is# blocked off..."; |
195 |
message[21] = "* I'll deal with it."; |
196 |
prt[0] = 1755; |
197 |
prt[1] = 1769; |
198 |
prt[2] = 1769; |
199 |
prt[3] = 1780; |
200 |
prt[4] = 1759; |
201 |
prt[5] = 1763; |
202 |
prt[6] = 1780; |
203 |
prt[7] = 1776; |
204 |
prt[8] = 1755; |
205 |
prt[9] = 1763; |
206 |
prt[10] = 1768; |
207 |
prt[11] = 1768; |
208 |
prt[12] = 1763; |
209 |
prt[13] = 1763; |
210 |
prt[14] = 1780; |
211 |
prt[15] = 1759; |
212 |
prt[16] = 1776; |
213 |
prt[17] = 1755; |
214 |
prt[18] = 1780; |
215 |
prt[19] = 1755; |
216 |
prt[20] = 1763; |
217 |
prt[21] = 1755; |
218 |
} |
219 |
waiter++; |
220 |
} |
221 |
if (waiter == 2 && instance_exists(obj_dialogue)) |
222 |
{ |
223 |
if (msg.message_current == 19) |
224 |
direction = 90; |
225 |
else |
226 |
direction = 270; |
227 |
} |
228 |
if (waiter == 2 && !instance_exists(obj_dialogue)) |
229 |
waiter++; |
230 |
if (waiter == 3 && sprite_index != spr_dalv_npc_boards_neutral) |
231 |
{ |
232 |
if (no_loop_sound == false) |
233 |
{ |
234 |
audio_play_sound(snd_wood_zap, 1, 0); |
235 |
no_loop_sound = true; |
236 |
} |
237 |
sprite_index = spr_dalv_npc_boards_neutral; |
238 |
image_speed = 1/3; |
239 |
image_index = 0; |
240 |
} |
241 |
if (waiter == 4) |
242 |
{ |
243 |
direction = 270; |
244 |
sprite_index = cdalv_down; |
245 |
scr_textscr_textfunction scr_text()
{
if (!instance_exists(obj_dialogue))
msg = instance_create(x, y, obj_dialogue);
} (); |
246 |
with (msg) |
247 |
{ |
248 |
portrait = true; |
249 |
sndfnt = 100; |
250 |
ch_msg = 2; |
251 |
ch[1] = "Clover"; |
252 |
message[0] = "* There we go. You're all# set."; |
253 |
message[1] = "* Oh, before I forget,# I never asked for# your name."; |
254 |
message[2] = "* Mind informing me?"; |
255 |
message[3] = "* Clover? What a nice name."; |
256 |
message[4] = "* Well, Clover, you should# get going."; |
257 |
message[5] = "* See you later..."; |
258 |
message[6] = "* Friend."; |
259 |
prt[0] = 1776; |
260 |
prt[1] = 1769; |
261 |
prt[2] = 1776; |
262 |
prt[3] = 1769; |
263 |
prt[4] = 1776; |
264 |
prt[5] = 1769; |
265 |
prt[6] = 1773; |
266 |
} |
267 |
waiter++; |
268 |
} |
269 |
if (waiter == 5 && !instance_exists(obj_dialogue)) |
270 |
{ |
271 |
spritelock = true; |
272 |
if (x != 160 || y != 170) |
273 |
scr_walk_aiscr_walk_aifunction scr_walk_ai(arg0, arg1, arg2, arg3, arg4)
{
dalv_walk_speed = arg3;
condition_1 = false;
if (no_loop_destination_dalv == false)
{
var destination_x = abs(x - arg0);
var destination_y = abs(y - arg1);
var axis_override = arg4;
if (axis_override == "x" || axis_override == "y")
{
dalv_walk_axis = axis_override;
}
else
{
var result = sign(destination_x - destination_y);
switch (result)
{
case 1:
dalv_walk_axis = "x";
break;
case -1:
dalv_walk_axis = "y";
break;
default:
dalv_walk_axis = "y";
}
}
dalv_walk_speed_x = sign(arg0 - x) * dalv_walk_speed;
dalv_walk_speed_y = sign(arg1 - y) * dalv_walk_speed;
no_loop_destination_dalv = true;
}
if (x == arg0 && y == arg1)
{
npc_walking = false;
path_speed = 0;
image_speed = 0;
image_index = 0;
exit;
}
switch (dalv_walk_axis)
{
case "x":
x_previous = x;
x += dalv_walk_speed_x;
if (abs(arg0 - x) < dalv_walk_speed && place_free(arg0, y) && !place_meeting(arg0, y, arg2))
x = arg0;
if (place_free(x, y) && !place_meeting(x, y, arg2) && x_previous != arg0)
{
npc_walking = true;
image_speed = 0.2;
if (dalv_walk_speed_x == -dalv_walk_speed)
direction = 180;
else if (dalv_walk_speed_x == dalv_walk_speed)
direction = 0;
}
if (!place_free(x, y) || place_meeting(x, y, arg2) || x_previous == arg0)
{
x = x_previous;
dalv_walk_axis = "y";
exit;
}
dalv_walk_speed_y = sign(arg1 - y) * dalv_walk_speed;
i = x + dalv_walk_speed_x;
j = y;
if (abs(arg0 - i) < dalv_walk_speed)
i = arg0;
while (j != arg1)
{
j += dalv_walk_speed_y;
if (abs(arg1 - j) < dalv_walk_speed)
j = arg1;
if (!place_free(i, j) || place_meeting(i, j, arg2))
{
condition_1 = true;
break;
}
}
if (condition_1 == true)
{
while (i != arg0)
{
i += dalv_walk_speed_x;
j = y;
if (abs(arg0 - i) < dalv_walk_speed)
i = arg0;
while (j != arg1)
{
j += dalv_walk_speed_y;
if (abs(arg1 - j) < dalv_walk_speed)
j = arg1;
if (i == arg0 && j == arg1)
exit;
else if (!place_free(i, j) || place_meeting(i, j, arg2))
break;
else if (j == arg1)
exit;
}
}
dalv_walk_axis = "y";
exit;
... (160, 170, 1031, 2, 0); |
274 |
with (obj_pl) |
275 |
{ |
276 |
if (distance_to_object(obj_dalv3) <= 20 && obj_dalv3.no_loop_autowalk == false) |
277 |
{ |
278 |
clover_walk_backwards = true; |
279 |
autowalk_direction = "left"; |
280 |
state = scr_autowalk_state; |
281 |
alarm[1] |
282 |
obj_dalv3.no_loop_autowalk = true; |
283 |
} |
284 |
} |
285 |
if (x == 160 && y == 170) |
286 |
{ |
287 |
npc_walking = false; |
288 |
image_speed = 0; |
289 |
image_index = 0; |
290 |
fadeout = true; |
291 |
if (image_alpha <= 0.2) |
292 |
{ |
293 |
instance_create(144, 188, obj_dalvExit_blocker); |
294 |
waiter++; |
295 |
} |
296 |
} |
297 |
} |
298 |
if (waiter == 6) |
299 |
{ |
300 |
global.flag[29 Dalv board destruction cutscene] = 1; |
301 |
global.cutscene = false; |
302 |
waiter = 0; |
303 |
with (obj_pl) |
304 |
{ |
305 |
autowalk_direction = "right"; |
306 |
state = scr_autowalk_state; |
307 |
alarm[1] |
308 |
} |
309 |
} |
310 |
} |
311 |
else if (global.route == 1 && global.flag[21 Hurt Dalv during battle?] == false) |
312 |
{ |
313 |
if (waiter == 1) |
314 |
{ |
315 |
scr_textscr_textfunction scr_text()
{
if (!instance_exists(obj_dialogue))
msg = instance_create(x, y, obj_dialogue);
} (); |
316 |
with (msg) |
317 |
{ |
318 |
portrait = true; |
319 |
sndfnt = 100; |
320 |
message[0] = "* Well, here we are."; |
321 |
message[1] = "* Thank you..."; |
322 |
message[2] = "* For everything."; |
323 |
message[3] = "* You have really helped# me out."; |
324 |
message[4] = "* Because of this..."; |
325 |
message[5] = "* I'm going to be more# friendly."; |
326 |
message[6] = "* I'm gonna be the mentor# I always should have# been."; |
327 |
message[7] = "* Penilla and I will draw# together,"; |
328 |
message[8] = "* Rorrim could spice up my# wardrobe,"; |
329 |
message[9] = "* And Crispy Scroll can# show me that \"anime\"# thing."; |
330 |
message[10] = "* I thought of leaving..."; |
331 |
message[11] = "* But why leave when I# have a great family# right here?"; |
332 |
message[12] = "* Plus I've really let the# place go."; |
333 |
message[13] = "* A week of non-stop# cleaning is in order!"; |
334 |
message[14] = "* ..."; |
335 |
message[15] = "* Well... I should get you# out of here."; |
336 |
message[16] = "* Oh..."; |
337 |
message[17] = "* It seems the exit is# blocked off..."; |
338 |
message[18] = "* Let's see."; |
339 |
prt[0] = 1755; |
340 |
prt[1] = 1776; |
341 |
prt[2] = 1769; |
342 |
prt[3] = 1769; |
343 |
prt[4] = 1769; |
344 |
prt[5] = 1769; |
345 |
prt[6] = 1769; |
346 |
prt[7] = 1761; |
347 |
prt[8] = 1761; |
348 |
prt[9] = 1761; |
349 |
prt[10] = 1780; |
350 |
prt[11] = 1776; |
351 |
prt[12] = 1763; |
352 |
prt[13] = 1759; |
353 |
prt[14] = 1780; |
354 |
prt[15] = 1755; |
355 |
prt[16] = 1768; |
356 |
prt[17] = 1763; |
357 |
prt[18] = 1755; |
358 |
} |
359 |
waiter++; |
360 |
} |
361 |
if (waiter == 2 && instance_exists(obj_dialogue)) |
362 |
{ |
363 |
if (msg.message_current == 16) |
364 |
direction = 90; |
365 |
else |
366 |
direction = 270; |
367 |
} |
368 |
if (waiter == 2 && !instance_exists(obj_dialogue)) |
369 |
{ |
370 |
direction = 90; |
371 |
if (y > 80) |
372 |
{ |
373 |
npc_walking = true; |
374 |
y -= 3; |
375 |
if (y < 80) |
376 |
y = 80; |
377 |
} |
378 |
if (y == 80) |
379 |
{ |
380 |
npc_walking = false; |
381 |
waiter++; |
382 |
} |
383 |
} |
384 |
if (waiter == 3 && sprite_index != spr_dalv_npc_boards_pacifist) |
385 |
{ |
386 |
if (no_loop_sound == false) |
387 |
{ |
388 |
audio_play_sound(snd_wood_pull, 1, 0); |
389 |
no_loop_sound = true; |
390 |
} |
391 |
sprite_index = spr_dalv_npc_boards_pacifist; |
392 |
image_speed = 1/3; |
393 |
image_index = 0; |
394 |
} |
395 |
if (waiter == 4) |
396 |
{ |
397 |
direction = 270; |
398 |
sprite_index = cdalv_down; |
399 |
y += 21; |
400 |
scr_textscr_textfunction scr_text()
{
if (!instance_exists(obj_dialogue))
msg = instance_create(x, y, obj_dialogue);
} (); |
401 |
with (msg) |
402 |
{ |
403 |
ch_msg = 2; |
404 |
ch[1] = "Clover"; |
405 |
portrait = true; |
406 |
sndfnt = 100; |
407 |
message[0] = "* There we go. You're all# set."; |
408 |
message[1] = "* Oh, before I forget,# I never asked for# your name."; |
409 |
message[2] = "* Mind informing me?"; |
410 |
message[3] = "* Clover? What a nice name."; |
411 |
message[4] = "* Well, Clover, you should# get going."; |
412 |
message[5] = "* Goodbye..."; |
413 |
message[6] = "* Friend."; |
414 |
prt[0] = 1776; |
415 |
prt[1] = 1769; |
416 |
prt[2] = 1776; |
417 |
prt[3] = 1769; |
418 |
prt[4] = 1776; |
419 |
prt[5] = 1769; |
420 |
prt[6] = 1773; |
421 |
} |
422 |
waiter++; |
423 |
} |
424 |
if (waiter == 5 && !instance_exists(obj_dialogue)) |
425 |
{ |
426 |
spritelock = true; |
427 |
if (x != 160 || y != 170) |
428 |
scr_walk_aiscr_walk_aifunction scr_walk_ai(arg0, arg1, arg2, arg3, arg4)
{
dalv_walk_speed = arg3;
condition_1 = false;
if (no_loop_destination_dalv == false)
{
var destination_x = abs(x - arg0);
var destination_y = abs(y - arg1);
var axis_override = arg4;
if (axis_override == "x" || axis_override == "y")
{
dalv_walk_axis = axis_override;
}
else
{
var result = sign(destination_x - destination_y);
switch (result)
{
case 1:
dalv_walk_axis = "x";
break;
case -1:
dalv_walk_axis = "y";
break;
default:
dalv_walk_axis = "y";
}
}
dalv_walk_speed_x = sign(arg0 - x) * dalv_walk_speed;
dalv_walk_speed_y = sign(arg1 - y) * dalv_walk_speed;
no_loop_destination_dalv = true;
}
if (x == arg0 && y == arg1)
{
npc_walking = false;
path_speed = 0;
image_speed = 0;
image_index = 0;
exit;
}
switch (dalv_walk_axis)
{
case "x":
x_previous = x;
x += dalv_walk_speed_x;
if (abs(arg0 - x) < dalv_walk_speed && place_free(arg0, y) && !place_meeting(arg0, y, arg2))
x = arg0;
if (place_free(x, y) && !place_meeting(x, y, arg2) && x_previous != arg0)
{
npc_walking = true;
image_speed = 0.2;
if (dalv_walk_speed_x == -dalv_walk_speed)
direction = 180;
else if (dalv_walk_speed_x == dalv_walk_speed)
direction = 0;
}
if (!place_free(x, y) || place_meeting(x, y, arg2) || x_previous == arg0)
{
x = x_previous;
dalv_walk_axis = "y";
exit;
}
dalv_walk_speed_y = sign(arg1 - y) * dalv_walk_speed;
i = x + dalv_walk_speed_x;
j = y;
if (abs(arg0 - i) < dalv_walk_speed)
i = arg0;
while (j != arg1)
{
j += dalv_walk_speed_y;
if (abs(arg1 - j) < dalv_walk_speed)
j = arg1;
if (!place_free(i, j) || place_meeting(i, j, arg2))
{
condition_1 = true;
break;
}
}
if (condition_1 == true)
{
while (i != arg0)
{
i += dalv_walk_speed_x;
j = y;
if (abs(arg0 - i) < dalv_walk_speed)
i = arg0;
while (j != arg1)
{
j += dalv_walk_speed_y;
if (abs(arg1 - j) < dalv_walk_speed)
j = arg1;
if (i == arg0 && j == arg1)
exit;
else if (!place_free(i, j) || place_meeting(i, j, arg2))
break;
else if (j == arg1)
exit;
}
}
dalv_walk_axis = "y";
exit;
... (160, 170, 1031, 3, 0); |
429 |
with (obj_pl) |
430 |
{ |
431 |
if (distance_to_object(obj_dalv3) <= 20 && obj_dalv3.no_loop_autowalk == false) |
432 |
{ |
433 |
clover_walk_backwards = true; |
434 |
autowalk_direction = "left"; |
435 |
state = scr_autowalk_state; |
436 |
alarm[1] |
437 |
obj_dalv3.no_loop_autowalk = true; |
438 |
} |
439 |
} |
440 |
if (x == 160 && y == 170) |
441 |
{ |
442 |
npc_walking = false; |
443 |
image_speed = 0; |
444 |
image_index = 0; |
445 |
fadeout = true; |
446 |
if (image_alpha <= 0.2) |
447 |
{ |
448 |
instance_create(144, 188, obj_dalvExit_blocker); |
449 |
waiter++; |
450 |
} |
451 |
} |
452 |
} |
453 |
if (waiter == 6) |
454 |
{ |
455 |
global.flag[29 Dalv board destruction cutscene] = 2; |
456 |
global.cutscene = false; |
457 |
waiter = 0; |
458 |
with (obj_pl) |
459 |
{ |
460 |
autowalk_direction = "right"; |
461 |
state = scr_autowalk_state; |
462 |
alarm[1] |
463 |
} |
464 |
} |
465 |
} |
466 |
else if (global.route == 1 && global.flag[21 Hurt Dalv during battle?] == true) |
467 |
{ |
468 |
if (waiter == 1) |
469 |
{ |
470 |
scr_textscr_textfunction scr_text()
{
if (!instance_exists(obj_dialogue))
msg = instance_create(x, y, obj_dialogue);
} (); |
471 |
with (msg) |
472 |
{ |
473 |
portrait = true; |
474 |
sndfnt = 100; |
475 |
message[0] = "* Well, here we are."; |
476 |
message[1] = "* I should thank you..."; |
477 |
message[2] = "* You have really helped# me out."; |
478 |
message[3] = "* Because of this..."; |
479 |
message[4] = "* I'm going to be friendly# to everyone."; |
480 |
message[5] = "* ..."; |
481 |
message[6] = "* I suppose I should get# you out of here but..."; |
482 |
message[7] = "* Honestly, you confuse me."; |
483 |
message[8] = "* You hurt me but yet, you# opened my eyes."; |
484 |
message[9] = "* Is that what real# friends do?"; |
485 |
message[10] = "* I would leave but..."; |
486 |
message[11] = "* If everyone outside will# hurt me then help me..."; |
487 |
message[12] = "* Is that a place I want# to be?"; |
488 |
message[13] = "* No."; |
489 |
message[14] = "* I've lived here for a# long time."; |
490 |
message[15] = "* It's comfortable and I# know the residents."; |
491 |
message[16] = "* The unknown is a scary# place..."; |
492 |
message[17] = "* I'm not ready for it..."; |
493 |
message[18] = "* Not yet at least."; |
494 |
message[19] = "* The monsters here need# someone to look up to."; |
495 |
message[20] = "* I could make them happy."; |
496 |
message[21] = "* ..."; |
497 |
message[22] = "* Well, anyway. It seems# the exit is blocked# off..."; |
498 |
message[23] = "* I'll deal with it."; |
499 |
prt[0] = 1755; |
500 |
prt[1] = 1769; |
501 |
prt[2] = 1769; |
502 |
prt[3] = 1769; |
503 |
prt[4] = 1769; |
504 |
prt[5] = 1755; |
505 |
prt[6] = 1780; |
506 |
prt[7] = 1763; |
507 |
prt[8] = 1763; |
508 |
prt[9] = 1763; |
509 |
prt[10] = 1780; |
510 |
prt[11] = 1763; |
511 |
prt[12] = 1763; |
512 |
prt[13] = 1759; |
513 |
prt[14] = 1755; |
514 |
prt[15] = 1769; |
515 |
prt[16] = 1763; |
516 |
prt[17] = 1764; |
517 |
prt[18] = 1768; |
518 |
prt[19] = 1776; |
519 |
prt[20] = 1769; |
520 |
prt[21] = 1780; |
521 |
prt[22] = 1755; |
522 |
prt[23] = 1755; |
523 |
} |
524 |
waiter++; |
525 |
} |
526 |
if (waiter == 2 && instance_exists(obj_dialogue)) |
527 |
{ |
528 |
if (msg.message_current == 21) |
529 |
direction = 90; |
530 |
else |
531 |
direction = 270; |
532 |
} |
533 |
if (waiter == 2 && !instance_exists(obj_dialogue)) |
534 |
waiter++; |
535 |
if (waiter == 3 && sprite_index != spr_dalv_npc_boards_neutral) |
536 |
{ |
537 |
if (no_loop_sound == false) |
538 |
{ |
539 |
audio_play_sound(snd_wood_zap, 1, 0); |
540 |
no_loop_sound = true; |
541 |
} |
542 |
sprite_index = spr_dalv_npc_boards_neutral; |
543 |
image_speed = 1/3; |
544 |
image_index = 0; |
545 |
} |
546 |
if (waiter == 4) |
547 |
{ |
548 |
direction = 270; |
549 |
sprite_index = cdalv_down; |
550 |
scr_textscr_textfunction scr_text()
{
if (!instance_exists(obj_dialogue))
msg = instance_create(x, y, obj_dialogue);
} (); |
551 |
with (msg) |
552 |
{ |
553 |
portrait = true; |
554 |
sndfnt = 100; |
555 |
ch_msg = 2; |
556 |
ch[1] = "Clover"; |
557 |
message[0] = "* There we go. You're all# set."; |
558 |
message[1] = "* Oh, before I forget,# I never asked for# your name."; |
559 |
message[2] = "* Mind informing me?"; |
560 |
message[3] = "* Clover? What a nice name."; |
561 |
message[4] = "* Well, Clover, you should# get going."; |
562 |
message[5] = "* Goodbye..."; |
563 |
message[6] = "* Friend."; |
564 |
prt[0] = 1776; |
565 |
prt[1] = 1769; |
566 |
prt[2] = 1776; |
567 |
prt[3] = 1769; |
568 |
prt[4] = 1776; |
569 |
prt[5] = 1776; |
570 |
prt[6] = 1769; |
571 |
} |
572 |
waiter++; |
573 |
} |
574 |
if (waiter == 5 && !instance_exists(obj_dialogue)) |
575 |
{ |
576 |
spritelock = true; |
577 |
if (x != 160 || y != 170) |
578 |
scr_walk_aiscr_walk_aifunction scr_walk_ai(arg0, arg1, arg2, arg3, arg4)
{
dalv_walk_speed = arg3;
condition_1 = false;
if (no_loop_destination_dalv == false)
{
var destination_x = abs(x - arg0);
var destination_y = abs(y - arg1);
var axis_override = arg4;
if (axis_override == "x" || axis_override == "y")
{
dalv_walk_axis = axis_override;
}
else
{
var result = sign(destination_x - destination_y);
switch (result)
{
case 1:
dalv_walk_axis = "x";
break;
case -1:
dalv_walk_axis = "y";
break;
default:
dalv_walk_axis = "y";
}
}
dalv_walk_speed_x = sign(arg0 - x) * dalv_walk_speed;
dalv_walk_speed_y = sign(arg1 - y) * dalv_walk_speed;
no_loop_destination_dalv = true;
}
if (x == arg0 && y == arg1)
{
npc_walking = false;
path_speed = 0;
image_speed = 0;
image_index = 0;
exit;
}
switch (dalv_walk_axis)
{
case "x":
x_previous = x;
x += dalv_walk_speed_x;
if (abs(arg0 - x) < dalv_walk_speed && place_free(arg0, y) && !place_meeting(arg0, y, arg2))
x = arg0;
if (place_free(x, y) && !place_meeting(x, y, arg2) && x_previous != arg0)
{
npc_walking = true;
image_speed = 0.2;
if (dalv_walk_speed_x == -dalv_walk_speed)
direction = 180;
else if (dalv_walk_speed_x == dalv_walk_speed)
direction = 0;
}
if (!place_free(x, y) || place_meeting(x, y, arg2) || x_previous == arg0)
{
x = x_previous;
dalv_walk_axis = "y";
exit;
}
dalv_walk_speed_y = sign(arg1 - y) * dalv_walk_speed;
i = x + dalv_walk_speed_x;
j = y;
if (abs(arg0 - i) < dalv_walk_speed)
i = arg0;
while (j != arg1)
{
j += dalv_walk_speed_y;
if (abs(arg1 - j) < dalv_walk_speed)
j = arg1;
if (!place_free(i, j) || place_meeting(i, j, arg2))
{
condition_1 = true;
break;
}
}
if (condition_1 == true)
{
while (i != arg0)
{
i += dalv_walk_speed_x;
j = y;
if (abs(arg0 - i) < dalv_walk_speed)
i = arg0;
while (j != arg1)
{
j += dalv_walk_speed_y;
if (abs(arg1 - j) < dalv_walk_speed)
j = arg1;
if (i == arg0 && j == arg1)
exit;
else if (!place_free(i, j) || place_meeting(i, j, arg2))
break;
else if (j == arg1)
exit;
}
}
dalv_walk_axis = "y";
exit;
... (160, 170, 1031, 3, 0); |
579 |
with (obj_pl) |
580 |
{ |
581 |
if (distance_to_object(obj_dalv3) <= 20 && obj_dalv3.no_loop_autowalk == false) |
582 |
{ |
583 |
clover_walk_backwards = true; |
584 |
autowalk_direction = "left"; |
585 |
state = scr_autowalk_state; |
586 |
alarm[1] |
587 |
obj_dalv3.no_loop_autowalk = true; |
588 |
} |
589 |
} |
590 |
if (x == 160 && y == 170) |
591 |
{ |
592 |
npc_walking = false; |
593 |
image_speed = 0; |
594 |
image_index = 0; |
595 |
fadeout = true; |
596 |
if (image_alpha <= 0.2) |
597 |
{ |
598 |
instance_create(144, 188, obj_dalvExit_blocker); |
599 |
waiter++; |
600 |
} |
601 |
} |
602 |
} |
603 |
if (waiter == 6) |
604 |
{ |
605 |
global.flag[29 Dalv board destruction cutscene] = 2; |
606 |
global.cutscene = false; |
607 |
waiter = 0; |
608 |
with (obj_pl) |
609 |
{ |
610 |
autowalk_direction = "right"; |
611 |
state = scr_autowalk_state; |
612 |
alarm[1] |
613 |
} |
614 |
} |
615 |
} |
616 |
with (other) |
617 |
{ |
618 |
if (fadeout == true) |
619 |
scr_npc_fadescr_npc_fadefunction scr_npc_fade()
{
solid = false;
if (image_alpha > 0)
image_alpha -= 0.2;
if (image_alpha == 0 && fade_kill == true)
instance_destroy();
} (); |
620 |
if (sprite_index != spr_dalv_npc_boards_pacifist && sprite_index != spr_dalv_npc_boards_neutral) |
621 |
{ |
622 |
if (spritelock == true) |
623 |
{ |
624 |
if (vspeed != 0 || hspeed != 0 || path_speed != 0 || npc_walking == true) |
625 |
{ |
626 |
switch (direction div 90) |
627 |
{ |
628 |
case 0: |
629 |
sprite_index = cdalv_right; |
630 |
break; |
631 |
case 1: |
632 |
sprite_index = cdalv_up; |
633 |
break; |
634 |
case 2: |
635 |
sprite_index = cdalv_left; |
636 |
break; |
637 |
case 3: |
638 |
sprite_index = cdalv_down; |
639 |
break; |
640 |
} |
641 |
} |
642 |
else |
643 |
{ |
644 |
switch (direction div 90) |
645 |
{ |
646 |
case 0: |
647 |
sprite_index = cdalv_rightt; |
648 |
break; |
649 |
case 1: |
650 |
sprite_index = cdalv_up; |
651 |
break; |
652 |
case 2: |
653 |
sprite_index = cdalv_leftt; |
654 |
break; |
655 |
case 3: |
656 |
sprite_index = cdalv_downt; |
657 |
break; |
658 |
} |
659 |
if (instance_exists(obj_dialogue) && obj_dialogue.sndfnt == 100) |
660 |
{ |
661 |
if (obj_dialogue.cutoff == string_length(obj_dialogue.message[obj_dialogue.message_current])) |
662 |
{ |
663 |
image_speed = 0; |
664 |
image_index = 0; |
665 |
} |
666 |
else |
667 |
{ |
668 |
image_speed = 0.2; |
669 |
} |
670 |
} |
671 |
} |
672 |
} |
673 |
if (speed > 0) |
674 |
image_speed = 0.2; |
675 |
} |
676 |
} |
677 |
var __b__ = action_if_variable(fadein, true, 0); |
678 |
if (__b__) |
679 |
script_execute(anim_fade, 0.05, 0, 0, 0, 0); |