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 ### |
---|