1 | ### DREAMLAB LEVEL LOGIC ###
|
---|
2 |
|
---|
3 | ### START, SAVE & OBJECTIVES ###
|
---|
4 |
|
---|
5 | # START
|
---|
6 | func void start(string ai_name)
|
---|
7 | {
|
---|
8 | door_lock 3
|
---|
9 | door_lock 1
|
---|
10 | env_show 1976 0
|
---|
11 | trigvolume_enable splash_trigger 0
|
---|
12 |
|
---|
13 | if (save_point eq 0)
|
---|
14 | {
|
---|
15 | my_save_point=0;
|
---|
16 | trigvolume_enable shinatama1a 1
|
---|
17 | trigvolume_enable shinatama1b 1
|
---|
18 | #env_show 999 0
|
---|
19 | ai2_spawn ghost_1
|
---|
20 | ai2_spawn ghost_2
|
---|
21 | set_objective_1
|
---|
22 | }
|
---|
23 |
|
---|
24 | if (save_point eq 1)
|
---|
25 | {
|
---|
26 | my_save_point=1;
|
---|
27 | dprint restore1
|
---|
28 | ai2_spawn IntroMuro
|
---|
29 | playback IntroMuro IntroMuroSet
|
---|
30 | ai2_passive IntroMuro 1
|
---|
31 | playback 0 IntroKonokoSet
|
---|
32 | env_show 200 0
|
---|
33 | env_show 201 0
|
---|
34 | env_show 227 0
|
---|
35 | env_show 231 1
|
---|
36 | env_show 232 1
|
---|
37 | env_show 999 0
|
---|
38 | particle fog_floor1 do start
|
---|
39 | sound_music_start mus_om01 .75
|
---|
40 | trigvolume_enable shinatama1a 1
|
---|
41 | trigvolume_enable shinatama1b 1
|
---|
42 | set_objective_1
|
---|
43 | restore_game
|
---|
44 | ai2_spawn ghost_1
|
---|
45 | ai2_spawn ghost_2
|
---|
46 | }
|
---|
47 |
|
---|
48 | if (save_point eq 2)
|
---|
49 | {
|
---|
50 | my_save_point=2;
|
---|
51 | dprint restore2
|
---|
52 | particle fog_room1 do start
|
---|
53 | ai2_spawn griffin
|
---|
54 | playback griffin GrifGriffinSet
|
---|
55 | door_lock 3
|
---|
56 | trigvolume_enable room1a 0
|
---|
57 | trigvolume_enable room1b 0
|
---|
58 | set_objective_2
|
---|
59 | restore_game
|
---|
60 | sound_music_start mus_wls .75
|
---|
61 | }
|
---|
62 | }
|
---|
63 |
|
---|
64 | func void you_lose(string ai_name)
|
---|
65 | {
|
---|
66 | sleep 240
|
---|
67 | fade_out 0 0 0 180
|
---|
68 | sleep 240
|
---|
69 | all_music_counters
|
---|
70 | lose
|
---|
71 | }
|
---|
72 |
|
---|
73 | func void you_win(string char_index)
|
---|
74 | {
|
---|
75 | sound_music_volume mus_wls 0.0 2.0
|
---|
76 | sleep 180
|
---|
77 | fade_out 0 0 0 180
|
---|
78 | outro
|
---|
79 | }
|
---|
80 |
|
---|
81 | func void save_point_1(string player_name)
|
---|
82 | {
|
---|
83 | dprint save_1
|
---|
84 | save_game 1 autosave
|
---|
85 | }
|
---|
86 |
|
---|
87 | func void save_point_2(string player_name)
|
---|
88 | {
|
---|
89 | dprint save_2
|
---|
90 | save_game 2 autosave
|
---|
91 | chr_delete liliput_striker_1
|
---|
92 | chr_delete liliput_striker_2
|
---|
93 | chr_delete liliput_striker_3
|
---|
94 | set_objective_2
|
---|
95 | }
|
---|
96 |
|
---|
97 | func void set_objective_1(string chr_index)
|
---|
98 | {
|
---|
99 | dprint objective_1
|
---|
100 | objective_set(1)
|
---|
101 | }
|
---|
102 |
|
---|
103 | func void set_objective_2(string chr_index)
|
---|
104 | {
|
---|
105 | dprint objective_2
|
---|
106 | objective_set(2)
|
---|
107 | }
|
---|
108 |
|
---|
109 | ### MUSIC ###
|
---|
110 |
|
---|
111 | var int music_counter;
|
---|
112 |
|
---|
113 | func void music_force_stop(void)
|
---|
114 | {
|
---|
115 | sleep 4500
|
---|
116 | if (0 ne music_counter)
|
---|
117 | {
|
---|
118 | dprint music_force_stop
|
---|
119 | music_counter = 0
|
---|
120 | all_music_counters
|
---|
121 | }
|
---|
122 | }
|
---|
123 |
|
---|
124 | func void music_script_start(void)
|
---|
125 | {
|
---|
126 | music_counter = 2
|
---|
127 | }
|
---|
128 |
|
---|
129 | func void striker_lullaby_1(string ai_name)
|
---|
130 | {
|
---|
131 | dprint striker_lullaby1
|
---|
132 | music_counter = music_counter - 1
|
---|
133 | if (music_counter eq 0)
|
---|
134 | {
|
---|
135 | all_music_counters();
|
---|
136 | }
|
---|
137 | }
|
---|
138 |
|
---|
139 | func void striker_lullaby_2(string ai_name)
|
---|
140 | {
|
---|
141 | dprint striker_lullaby2
|
---|
142 | music_counter = music_counter - 1
|
---|
143 | if (music_counter eq 0)
|
---|
144 | {
|
---|
145 | all_music_counters();
|
---|
146 | }
|
---|
147 | }
|
---|
148 |
|
---|
149 | func void all_music_counters(void)
|
---|
150 | {
|
---|
151 | dprint STOP_THE_MUSIC
|
---|
152 | sound_music_stop atm_cl16
|
---|
153 | sound_music_stop mus_om01
|
---|
154 | sound_music_stop atm_gr09
|
---|
155 | sound_music_stop mus_wls
|
---|
156 | sound_music_stop atm_ft81
|
---|
157 | }
|
---|
158 |
|
---|
159 | ### FOLLOW THE WHITE SHINATAMA ###
|
---|
160 |
|
---|
161 | # SHINATAMA 1a
|
---|
162 | func void shinatama_1a(string ai_name)
|
---|
163 | {
|
---|
164 | sound_dialog_play c12_63_01shinatama
|
---|
165 | ai2_spawn shinatama_1a
|
---|
166 | ai2_lookatme shinatama_1a
|
---|
167 | }
|
---|
168 |
|
---|
169 | # SHINATAMA 1b
|
---|
170 | func void shinatama_1b(string ai_name)
|
---|
171 | {
|
---|
172 | ai2_dopath shinatama_1a shinatama_flee_1
|
---|
173 | door_lock 8
|
---|
174 | }
|
---|
175 |
|
---|
176 | # SHINATAMA 1a DEATH
|
---|
177 | func void patrolscript0100(string ai_name)
|
---|
178 | {
|
---|
179 | chr_delete shinatama_1a
|
---|
180 | door_lock 7
|
---|
181 | }
|
---|
182 |
|
---|
183 | # SHINATAMA 2
|
---|
184 | func void shinatama_2(string ai_name)
|
---|
185 | {
|
---|
186 | sound_dialog_play c12_63_03shinatama
|
---|
187 | dprint shinatama_2
|
---|
188 | ai2_spawn shinatama_2
|
---|
189 | ai2_spawn liliput_striker_1
|
---|
190 | ai2_spawn liliput_striker_2
|
---|
191 | ai2_spawn liliput_striker_3
|
---|
192 | chr_lock_active shinatama_2
|
---|
193 | door_lock 8
|
---|
194 | door_open 11
|
---|
195 | door_open 12
|
---|
196 | }
|
---|
197 |
|
---|
198 | # SHINATAMA 2 DEATH
|
---|
199 | func void patrolscript0101(string ai_name)
|
---|
200 | {
|
---|
201 | chr_delete shinatama_2
|
---|
202 | }
|
---|
203 |
|
---|
204 | # SHINATAMA 3
|
---|
205 | func void shinatama_3(string ai_name)
|
---|
206 | {
|
---|
207 | chr_delete ghost_1
|
---|
208 | chr_delete ghost_2
|
---|
209 | sound_dialog_play c12_63_04shinatama
|
---|
210 | ai2_spawn shinatama_3
|
---|
211 | ai2_spawn shin_striker_1
|
---|
212 | ai2_spawn shin_striker_2
|
---|
213 | ai2_spawn shin_striker_3
|
---|
214 | ai2_spawn shin_striker_4
|
---|
215 | }
|
---|
216 |
|
---|
217 | # SHINATAMA 3 DEATH
|
---|
218 | func void patrolscript0102(string ai_name)
|
---|
219 | {
|
---|
220 | chr_delete shinatama_3
|
---|
221 | sleep 400
|
---|
222 | chr_delete shin_striker_1
|
---|
223 | chr_delete shin_striker_2
|
---|
224 | chr_delete shin_striker_3
|
---|
225 | chr_delete shin_striker_4
|
---|
226 | chr_delete shin_striker_5
|
---|
227 | chr_delete shin_striker_6
|
---|
228 | chr_delete shin_striker_7
|
---|
229 | }
|
---|
230 |
|
---|
231 | func void delay_and_play_shin(void)
|
---|
232 | {
|
---|
233 | sleep 240
|
---|
234 | sound_dialog_play c12_63_05shinatama
|
---|
235 | }
|
---|
236 |
|
---|
237 | # SHINATAMA NO-GRAV
|
---|
238 | func void shinatama_nograv(string ai_name)
|
---|
239 | {
|
---|
240 | dprint shinatama_nograv
|
---|
241 | sound_music_volume atm_gr09 0.0 2.0
|
---|
242 | sound_music_stop atm_gr09
|
---|
243 | sound_music_start atm_ft81 .75
|
---|
244 | particle fog_room1 do stop
|
---|
245 | particle fog_room2 do start
|
---|
246 | door_lock 5
|
---|
247 | door_lock 6
|
---|
248 | ai2_spawn shinatama_nograv
|
---|
249 | chr_invincible shinatama_nograv 1
|
---|
250 | chr_nocollision shinatama_nograv 1
|
---|
251 | sound_music_start atm_cl22 0.1
|
---|
252 | sound_music_volume atm_cl22 1.0 4
|
---|
253 | fork delay_and_play_shin
|
---|
254 | playback_block shinatama_nograv shinatama_nograv interp 30
|
---|
255 | chr_delete shinatama_nograv
|
---|
256 | door_unlock 6
|
---|
257 | door_close 5
|
---|
258 | door_jam 5
|
---|
259 | invincible = 0
|
---|
260 | sound_music_volume atm_cl22 0.0 6
|
---|
261 | sleep 250
|
---|
262 | sound_music_stop atm_cl22
|
---|
263 | }
|
---|
264 |
|
---|
265 | ### AMBUSHES, BACKUPS ###
|
---|
266 |
|
---|
267 | func void ghost_1(string ai_name)
|
---|
268 | {
|
---|
269 | dprint vanish_ghost1
|
---|
270 | chr_delete ghost_1
|
---|
271 | }
|
---|
272 |
|
---|
273 | func void ghost_2(string ai_name)
|
---|
274 | {
|
---|
275 | dprint vanish_ghost2
|
---|
276 | chr_delete ghost_2
|
---|
277 | }
|
---|
278 |
|
---|
279 | # AMBUSH 1a
|
---|
280 | func void ambush_1a(string ai_name)
|
---|
281 | {
|
---|
282 | dprint ambush_1a
|
---|
283 | ai2_spawn ambush_tanker_1a
|
---|
284 | sound_music_stop atm_gr09
|
---|
285 | sound_music_start mus_wls .75
|
---|
286 | }
|
---|
287 |
|
---|
288 | # AMBUSH 1b
|
---|
289 | func void ambush_1b(string ai_name)
|
---|
290 | {
|
---|
291 | dprint ambush_1b
|
---|
292 | ai2_spawn ambush_tanker_1b
|
---|
293 | door_open 8
|
---|
294 | door_jam 8
|
---|
295 | }
|
---|
296 |
|
---|
297 | # AMBUSH 2
|
---|
298 | func void ambush_2(string ai_name)
|
---|
299 | {
|
---|
300 | dprint ambush_2
|
---|
301 | ai2_spawn ambush_red_1
|
---|
302 | sound_music_stop atm_ft81
|
---|
303 | sound_music_start mus_wls .75
|
---|
304 | }
|
---|
305 |
|
---|
306 | # TANKER VARIABLE
|
---|
307 | func void tanker_1_var(string ai_name)
|
---|
308 | {
|
---|
309 | dprint tanker_var1
|
---|
310 | tanker_counter = tanker_counter - 1
|
---|
311 | chr_inv_reset ambush_tanker_1a
|
---|
312 | if (tanker_counter eq 0)
|
---|
313 | {
|
---|
314 | new_music();
|
---|
315 | }
|
---|
316 | }
|
---|
317 |
|
---|
318 | func void tanker_2_var(string ai_name)
|
---|
319 | {
|
---|
320 | dprint tanker_var2
|
---|
321 | tanker_counter = tanker_counter - 1
|
---|
322 | chr_inv_reset ambush_tanker_1b
|
---|
323 | if (tanker_counter eq 0)
|
---|
324 | {
|
---|
325 | new_music();
|
---|
326 | }
|
---|
327 | }
|
---|
328 |
|
---|
329 | func void new_music(string ai_name)
|
---|
330 | {
|
---|
331 | dprint change_the_track
|
---|
332 | door_unlock 9
|
---|
333 | sound_music_stop mus_wls
|
---|
334 | sound_music_start atm_ft81 .75
|
---|
335 | }
|
---|
336 |
|
---|
337 | # RED VARIABLE
|
---|
338 | func void red_1_var(string ai_name)
|
---|
339 | {
|
---|
340 | dprint red_var
|
---|
341 | red_counter = red_counter - 1
|
---|
342 | if (red_counter eq 0)
|
---|
343 | {
|
---|
344 | redbackup();
|
---|
345 | }
|
---|
346 | }
|
---|
347 |
|
---|
348 | # RED BACKUP
|
---|
349 | func void redbackup(string ai_name)
|
---|
350 | {
|
---|
351 | dprint red_backup
|
---|
352 | ai2_spawn ambush_red_2
|
---|
353 | door_unlock 1
|
---|
354 | door_lock 2
|
---|
355 | door_unjam 8
|
---|
356 | chr_delete liliput_striker_1
|
---|
357 | chr_delete liliput_striker_2
|
---|
358 | chr_delete liliput_striker_3
|
---|
359 | }
|
---|
360 |
|
---|
361 | # RED RETREAT
|
---|
362 | func void red_retreat(string ai_name)
|
---|
363 | {
|
---|
364 | dprint retreat_reds
|
---|
365 | ai2_makeignoreplayer ambush_red_1 1
|
---|
366 | ai2_makeignoreplayer ambush_red_2 1
|
---|
367 | ai2_dopath ambush_red_1 red_retreat_1 1
|
---|
368 | ai2_dopath ambush_red_2 red_retreat_2 1
|
---|
369 | }
|
---|
370 |
|
---|
371 | func void patrolscript0007(string ai_name)
|
---|
372 | {
|
---|
373 | dprint red_react
|
---|
374 | ai2_makeignoreplayer ambush_red_1 0
|
---|
375 | ai2_makeignoreplayer ambush_red_2 0
|
---|
376 | }
|
---|
377 |
|
---|
378 | # RED (MUSIC) SHIFT
|
---|
379 | func void redmusic_1_var(string ai_name)
|
---|
380 | {
|
---|
381 | dprint redmusic_1
|
---|
382 | rmusic_counter = rmusic_counter - 1
|
---|
383 | if (rmusic_counter eq 0)
|
---|
384 | {
|
---|
385 | red_shift();
|
---|
386 | }
|
---|
387 | }
|
---|
388 |
|
---|
389 | func void redmusic_2_var(string ai_name)
|
---|
390 | {
|
---|
391 | dprint redmusic_2
|
---|
392 | rmusic_counter = rmusic_counter - 1
|
---|
393 | if (rmusic_counter eq 0)
|
---|
394 | {
|
---|
395 | red_shift();
|
---|
396 | }
|
---|
397 | }
|
---|
398 |
|
---|
399 | func void red_shift(string player_name)
|
---|
400 | {
|
---|
401 | dprint redshift
|
---|
402 | sound_music_stop mus_wls
|
---|
403 | sound_music_start atm_gr09 0.75
|
---|
404 | door_unlock 2
|
---|
405 | }
|
---|
406 |
|
---|
407 |
|
---|
408 | # SWAT VARIABLE
|
---|
409 | func void swat_1_var(string ai_name)
|
---|
410 | {
|
---|
411 | dprint swat_var
|
---|
412 | swat_counter = swat_counter - 1
|
---|
413 | if (swat_counter eq 0)
|
---|
414 | {
|
---|
415 | swatbackup();
|
---|
416 | }
|
---|
417 | }
|
---|
418 |
|
---|
419 | # SWAT BACKUP
|
---|
420 | func void swatbackup(string ai_name)
|
---|
421 | {
|
---|
422 | dprint swat_backup
|
---|
423 | door_unlock 2
|
---|
424 | ai2_spawn griffin_b1
|
---|
425 | ai2_spawn griffin_b2
|
---|
426 | }
|
---|
427 |
|
---|
428 | # ROOM 1 END VAR
|
---|
429 | func void end_1a_var(string ai_name)
|
---|
430 | {
|
---|
431 | dprint swat_var
|
---|
432 | end1_counter = end1_counter - 1
|
---|
433 | if (end1_counter eq 0)
|
---|
434 | {
|
---|
435 | room1_end();
|
---|
436 | }
|
---|
437 | }
|
---|
438 |
|
---|
439 | func void end_1b_var(string ai_name)
|
---|
440 | {
|
---|
441 | dprint swat_var
|
---|
442 | end1_counter = end1_counter - 1
|
---|
443 | if (end1_counter eq 0)
|
---|
444 | {
|
---|
445 | room1_end();
|
---|
446 | }
|
---|
447 | }
|
---|
448 |
|
---|
449 | func void end_1c_var(string ai_name)
|
---|
450 | {
|
---|
451 | dprint swat_var
|
---|
452 | end1_counter = end1_counter - 1
|
---|
453 | if (end1_counter eq 0)
|
---|
454 | {
|
---|
455 | room1_end();
|
---|
456 | }
|
---|
457 | }
|
---|
458 |
|
---|
459 | # ROOM 1 END
|
---|
460 | func void room1_end(string ai_name)
|
---|
461 | {
|
---|
462 | dprint room1_end
|
---|
463 | door_unlock 3
|
---|
464 | trigvolume_enable nodark 1
|
---|
465 | }
|
---|
466 |
|
---|
467 | ### GOTTA CATCH 'EM ALL! (WITH NO APOLOGIES TO YOU KNOW WHAT) ###
|
---|
468 |
|
---|
469 | # MINISTRIKE
|
---|
470 | func void mini_strike(string ai_name)
|
---|
471 | {
|
---|
472 | dprint mini_strike
|
---|
473 | ai2_spawn mini_strike_1
|
---|
474 | ai2_spawn mini_strike_2
|
---|
475 | ai2_spawn mini_strike_3
|
---|
476 | ai2_spawn mini_strike_4
|
---|
477 | chr_delete ghost_1
|
---|
478 | chr_delete ghost_2
|
---|
479 | }
|
---|
480 |
|
---|
481 | # MINISTRIKE 1 FLEE
|
---|
482 | func void mini_strike_flee_1(string ai_name)
|
---|
483 | {
|
---|
484 | ai2_dopath mini_strike_1 mini_strike_flee_1
|
---|
485 | }
|
---|
486 |
|
---|
487 | # MINISTRIKE 2 FLEE
|
---|
488 | func void mini_strike_flee_2(string ai_name)
|
---|
489 | {
|
---|
490 | ai2_dopath mini_strike_2 mini_strike_flee_2
|
---|
491 | }
|
---|
492 |
|
---|
493 | # MINISTRIKE 3 FLEE
|
---|
494 | func void mini_strike_flee_3(string ai_name)
|
---|
495 | {
|
---|
496 | ai2_dopath mini_strike_3 mini_strike_flee_3
|
---|
497 | }
|
---|
498 |
|
---|
499 | # MINISTRIKE 4 FLEE
|
---|
500 | func void mini_strike_flee_4(string ai_name)
|
---|
501 | {
|
---|
502 | ai2_dopath mini_strike_4 mini_strike_flee_4
|
---|
503 | }
|
---|
504 |
|
---|
505 | # SWISS CHEESE
|
---|
506 |
|
---|
507 | func void patrolscript0001(string ai_name)
|
---|
508 | {
|
---|
509 | dprint swisscheese_1
|
---|
510 | chr_nocollision mini_strike_1 1
|
---|
511 | playback_block mini_strike_1 cheese1 interp 30
|
---|
512 | chr_delete mini_strike_1
|
---|
513 | }
|
---|
514 | func void patrolscript0002(string ai_name)
|
---|
515 | {
|
---|
516 | dprint swisscheese_2
|
---|
517 | chr_nocollision mini_strike_2 1
|
---|
518 | playback_block mini_strike_2 cheese2 interp 30
|
---|
519 | chr_delete mini_strike_2
|
---|
520 | }
|
---|
521 |
|
---|
522 | func void patrolscript0003(string ai_name)
|
---|
523 | {
|
---|
524 | dprint swisscheese_3
|
---|
525 | chr_nocollision mini_strike_3 1
|
---|
526 | playback_block mini_strike_3 cheese3 interp 30
|
---|
527 | chr_delete mini_strike_3
|
---|
528 | }
|
---|
529 |
|
---|
530 | func void patrolscript0004(string ai_name)
|
---|
531 | {
|
---|
532 | dprint swisscheese_4
|
---|
533 | chr_nocollision mini_strike_4 1
|
---|
534 | playback_block mini_strike_4 cheese4 interp 30
|
---|
535 | chr_delete mini_strike_4
|
---|
536 | }
|
---|
537 |
|
---|
538 | # MINISTRIKE 1 HOLE
|
---|
539 | func void patrolscript0110(string ai_name)
|
---|
540 | {
|
---|
541 | chr_delete mini_strike_1
|
---|
542 | }
|
---|
543 |
|
---|
544 | # MINISTRIKE 2 HOLE
|
---|
545 | func void patrolscript0111(string ai_name)
|
---|
546 | {
|
---|
547 | chr_delete mini_strike_2
|
---|
548 | }
|
---|
549 |
|
---|
550 | # MINISTRIKE 3 HOLE
|
---|
551 | func void patrolscript0112(string ai_name)
|
---|
552 | {
|
---|
553 | chr_delete mini_strike_3
|
---|
554 | }
|
---|
555 |
|
---|
556 | # MINISTRIKE 4 HOLE
|
---|
557 | func void patrolscript0113(string ai_name)
|
---|
558 | {
|
---|
559 | chr_delete mini_strike_4
|
---|
560 | }
|
---|
561 |
|
---|
562 | ### EVERYBODY WAS DREAM LAB FIGHTIN' ###
|
---|
563 |
|
---|
564 | # ROOM 1
|
---|
565 | func void room_1(string ai_name)
|
---|
566 | {
|
---|
567 | dprint room_1
|
---|
568 | sound_music_stop atm_gr09
|
---|
569 | sound_music_start mus_wls .75
|
---|
570 | particle fog_room1 do start
|
---|
571 | ai2_spawn griffin
|
---|
572 | Griffin01
|
---|
573 | trigvolume_enable room1a 0
|
---|
574 | trigvolume_enable room1b 0
|
---|
575 | trigvolume_enable room1c 0
|
---|
576 | }
|
---|
577 |
|
---|
578 | # ROOM 2
|
---|
579 | func void room_2(string ai_name)
|
---|
580 | {
|
---|
581 | dprint room_2
|
---|
582 | ai2_spawn evilkonoko
|
---|
583 | Konoko02
|
---|
584 | door_lock 6
|
---|
585 | trigvolume_enable room2 0
|
---|
586 | }
|
---|
587 |
|
---|
588 | # ROOM 2 MUSIC
|
---|
589 | func void room2_music(string ai_name)
|
---|
590 | {
|
---|
591 | dprint room2music
|
---|
592 | sound_music_volume atm_ft81 0.0 2.0
|
---|
593 | sound_music_stop atm_ft81 .75
|
---|
594 | sound_music_start mus_wls .75
|
---|
595 | }
|
---|
596 |
|
---|
597 | ### GENERAL CHICANERY ###
|
---|
598 |
|
---|
599 | # MURO'S WALL
|
---|
600 | func void bring_the_wall(string char)
|
---|
601 | {
|
---|
602 | dprint oops
|
---|
603 | env_show 1010 1
|
---|
604 | }
|
---|
605 |
|
---|
606 | # FOG ON 1
|
---|
607 | func void fog_floor1on(void)
|
---|
608 | {
|
---|
609 | dprint fog_on
|
---|
610 | particle fog_floor1 do start
|
---|
611 | particle fog_floor2a do stop
|
---|
612 | }
|
---|
613 |
|
---|
614 | # FOG OFF 1
|
---|
615 | func void fog_floor1off(void)
|
---|
616 | {
|
---|
617 | dprint fog_off
|
---|
618 | particle fog_floor1 do stop
|
---|
619 | particle fog_floor2a do start
|
---|
620 | }
|
---|
621 |
|
---|
622 | # FOG ON 2
|
---|
623 | func void fog_floor2boff(void)
|
---|
624 | {
|
---|
625 | dprint fog_on
|
---|
626 | particle fog_floor2a do start
|
---|
627 | particle fog_floor2b do stop
|
---|
628 | }
|
---|
629 |
|
---|
630 | # FOG OFF 2
|
---|
631 | func void fog_floor2bon(void)
|
---|
632 | {
|
---|
633 | dprint fog_off
|
---|
634 | particle fog_floor2a do stop
|
---|
635 | particle fog_floor2b do start
|
---|
636 | }
|
---|
637 |
|
---|
638 | func void show_the_acid(string char)
|
---|
639 | {
|
---|
640 | dprint show_acid
|
---|
641 | sound_music_volume mus_wls 0.0 2.0
|
---|
642 | sound_music_stop mus_wls
|
---|
643 | sound_music_start atm_gr09 0.75
|
---|
644 | env_show 1976 1
|
---|
645 | trigvolume_enable splash_trigger 1
|
---|
646 | particle fog_floor1 do stop
|
---|
647 | }
|
---|
648 |
|
---|
649 | # ACID DOOOOOM
|
---|
650 | func void splash(string char)
|
---|
651 | {
|
---|
652 | var bool eggman;
|
---|
653 | eggman = chr_is_player(char);
|
---|
654 | if (eggman eq 0)
|
---|
655 | {
|
---|
656 | chr_animate(char, KONOKOacid);
|
---|
657 | sleep f10
|
---|
658 | chr_set_health(char, 0);
|
---|
659 | }
|
---|
660 |
|
---|
661 | if (eggman eq 1)
|
---|
662 | {
|
---|
663 | input 0
|
---|
664 | chr_animate(char, KONOKOacid);
|
---|
665 | cm_detach
|
---|
666 |
|
---|
667 | sound_impulse_play konoko_gruesome_death
|
---|
668 |
|
---|
669 | sleep f5
|
---|
670 | chr_set_health(char, 0);
|
---|
671 | }
|
---|
672 | }
|
---|
673 |
|
---|
674 | func void laser_cutscene_fog(void)
|
---|
675 | {
|
---|
676 | gs_farclipplane_set 2000
|
---|
677 | gl_fog_start_changeto .995 45
|
---|
678 | }
|
---|
679 |
|
---|
680 | # LASER CUTSCENE
|
---|
681 | func void laser_cutscene(string ai_name)
|
---|
682 | {
|
---|
683 | dprint laser_cutscene
|
---|
684 | fork laser_cutscene_fog
|
---|
685 | begin_cutscene
|
---|
686 | sleep 90
|
---|
687 | trig_activate 1
|
---|
688 | cm_interpolate laser_4 0
|
---|
689 | door_close 4
|
---|
690 | door_jam 4
|
---|
691 | cm_interpolate_block laser_3 250
|
---|
692 | sleep 250
|
---|
693 | cm_interpolate laser_2 0
|
---|
694 | cm_interpolate_block laser_8 200
|
---|
695 | ai2_spawn laser_ops_1
|
---|
696 | playback_block laser_ops_1 lstriker_1 interp 30
|
---|
697 | sleep 60
|
---|
698 | ai2_allpassive 0
|
---|
699 | cm_reset
|
---|
700 | door_lock 4
|
---|
701 | door_lock 5
|
---|
702 | trigvolume_enable lasercutscene 0
|
---|
703 | trigvolume_enable death_by_bungie 1
|
---|
704 | trigvolume_enable splash 1
|
---|
705 | sleep 15
|
---|
706 | end_cutscene
|
---|
707 | }
|
---|
708 |
|
---|
709 | func void laser_cleanup(string ai_name)
|
---|
710 | {
|
---|
711 | dprint laser_unlock
|
---|
712 | door_unlock 5
|
---|
713 | }
|
---|
714 |
|
---|
715 | # BIG HEAD VAR
|
---|
716 | func void bighead_1a_var(string ai_name)
|
---|
717 | {
|
---|
718 | dprint bighead_var
|
---|
719 | bighead_counter = bighead_counter - 1
|
---|
720 | if (bighead_counter eq 0)
|
---|
721 | {
|
---|
722 | big_head();
|
---|
723 | }
|
---|
724 | }
|
---|
725 |
|
---|
726 | func void bighead_1b_var(string ai_name)
|
---|
727 | {
|
---|
728 | dprint bighead_var
|
---|
729 | bighead_counter = bighead_counter - 1
|
---|
730 | if (bighead_counter eq 0)
|
---|
731 | {
|
---|
732 | big_head();
|
---|
733 | }
|
---|
734 | }
|
---|
735 |
|
---|
736 | func void bighead_1c_var(string ai_name)
|
---|
737 | {
|
---|
738 | dprint bighead_var
|
---|
739 | bighead_counter = bighead_counter - 1
|
---|
740 | if (bighead_counter eq 0)
|
---|
741 | {
|
---|
742 | big_head();
|
---|
743 | }
|
---|
744 | }
|
---|
745 |
|
---|
746 | func void bighead_1d_var(string ai_name)
|
---|
747 | {
|
---|
748 | dprint bighead_var
|
---|
749 | bighead_counter = bighead_counter - 1
|
---|
750 | if (bighead_counter eq 0)
|
---|
751 | {
|
---|
752 | big_head();
|
---|
753 | }
|
---|
754 | }
|
---|
755 |
|
---|
756 | # BIG HEAD
|
---|
757 | func void big_head(string ai_name)
|
---|
758 | {
|
---|
759 | dprint bighead
|
---|
760 | sleep 200
|
---|
761 | chr_big_head = 1
|
---|
762 | timer_start 120 small_head
|
---|
763 | }
|
---|
764 |
|
---|
765 | func void small_head(string ai_name)
|
---|
766 | {
|
---|
767 | dprint smallhead
|
---|
768 | chr_big_head = 0
|
---|
769 | }
|
---|
770 |
|
---|
771 | ### Level scripted by Joseph ###
|
---|