source: AE/packages/VanillaBSL/IGMD/Airport_III/airport2_level_logic.bsl@ 393

Last change on this file since 393 was 367, checked in by gumby, 16 years ago
File size: 21.6 KB
Line 
1### AIRPORT III LEVEL LOGIC ###
2
3### START, SAVE & OBJECTIVES ###
4
5func void func_start(string ai_name)
6{
7
8 particle gas2 do stop
9 particle gaslight1 do stop
10 particle hanger5 do stop
11 trig_hide 1
12 trig_hide 2
13 trig_hide 3
14 trig_hide 4
15
16 if (my_save_point eq 0)
17 {
18 fork target_thug
19 }
20
21 if (my_save_point eq 1)
22 {
23 dprint restore1_active
24 door_lock 11
25 tarmac
26 bomber_off
27 trigvolume_enable tarmac 0
28 restore_game
29 sound_music_start atm_gr09 0.75
30 objective_set(2)
31 target_set(7037,30.00)
32 }
33
34 if (my_save_point eq 2)
35 {
36 dprint restore1_active
37 trigvolume_enable save2 0
38 trigvolume_enable lowroad3 0
39 door_lock 21
40 door_lock 22
41 door_lock 35
42 particle lock5a_locklight01 do stop
43 particle lock5b_locklight01 do stop
44 particle lock35_locklight01 do stop
45 particle rotorwash do stop
46 particle room1 kill
47 Back2
48 restore_game
49 music_save_point2_start
50 sleep 30
51 objective_set(3)
52 target_set(7085,30.00)
53 }
54
55 if (my_save_point eq 3)
56 {
57 dprint restore3_active
58 door_lock 21
59 door_lock 22
60 door_lock 24
61 particle lock5a_locklight01 do stop
62 particle lock5b_locklight01 do stop
63 trigvolume_enable save2 0
64 trigvolume_enable save3 0
65 Back2
66 door_open 48
67 door_jam 48
68 trig_show 1
69 trig_show 2
70 trig_show 3
71 trig_show 4
72 restore_game
73 objective_set(3)
74 target_set(7085,30.00)
75 }
76
77 if (my_save_point eq 4)
78 {
79 dprint restore4_active
80 trigvolume_enable lowroad1 0
81 trigvolume_enable lowroad2 0
82 trigvolume_enable lowroad3 0
83 trigvolume_enable lowroad4 0
84 trigvolume_enable hidden1a 0
85 trigvolume_enable hidden1b 0
86 trigvolume_enable save2 0
87 trigvolume_enable backcompound 0
88 trigvolume_enable remote 0
89 trigvolume_enable trigger_volume_08 1
90 door_lock 21
91 door_lock 22
92 door_lock 35
93 door_unlock 27
94 particle lock6_locklight01 do start
95 particle lock5a_locklight01 do stop
96 particle lock5b_locklight01 do stop
97 particle lock35_locklight01 do stop
98 console_deactivate 10
99 restore_game
100 sleep 30
101 set_objective_4
102 }
103
104 if (my_save_point eq 5)
105 {
106 dprint restore5_active
107 particle muroplane_prop do start
108 trigvolume_enable hangar2_setup 0
109 door_lock 36
110 particle lock7_locklight01 do stop
111 set_objective_5
112 ai2_spawn ambush_striker_2
113 ai2_spawn ambush_commguy_2
114 Hangar2a
115 restore_game
116 sound_music_start mus_space01 0.75
117 music_script_start
118 ai2_doalarm ambush_commguy_2 4
119 sleep 30
120 dprint set_objective5
121 objective_set(5)
122 target_set(1054,30.00)
123 }
124}
125
126func void you_lose(string ai_name)
127{
128 all_music_counters
129 sleep 240
130 fade_out 0 0 0 180
131 sleep 240
132 lose
133}
134
135func void you_win(int char_index)
136{
137 all_music_counters
138 win
139}
140
141func void save_point_1(string ai_name)
142{
143 dprint savegame_1
144 sound_music_stop mus_om03
145 if (my_save_point ne 1)
146 {
147 save_game 1 autosave
148 }
149 sound_music_stop
150 sound_music_start atm_gr09 0.75
151}
152
153func void save_point_2(string ai_name)
154{
155 dprint savegame_2
156 if (my_save_point ne 2)
157 {
158 save_game 2 autosave
159 }
160 music_save_point2_start
161 target_set(7085,30.00)
162}
163
164func void save_point_3(string ai_name)
165{
166 dprint savegame_3
167 if (my_save_point ne 3)
168 {
169 save_game 3 autosave
170 }
171 sound_music_start atm_cl09 0.75
172}
173
174func void save_point_4(string ai_name)
175{
176 dprint savegame_4
177 if (my_save_point ne 4)
178 {
179 save_game 4 autosave
180 }
181 sound_music_stop atm_cl09 0.75
182}
183
184func void save_point_5(string ai_name)
185{
186 particle muroplane_prop do start
187 dprint savegame_5
188 if (my_save_point ne 5)
189 {
190 save_game 5 autosave
191 target_set(1054,30.00)
192 }
193}
194
195func void set_objective_1(string ai_name)
196{
197 dprint set_objective1
198 objective_set(1)
199 sound_music_start mus_om03
200 music_script_start
201 target_set(7124,30.00)
202 #sleep 300
203}
204
205func void set_objective_2(string ai_name)
206{
207 dprint set_objective2
208 objective_set(2)
209 target_set(7037,30.00)
210 sound_dialog_play c00_01_18shinatama
211}
212
213func void set_objective_3(string ai_name)
214{
215 dprint set_objective3
216 objective_set(3)
217 target_set(0,0)
218 sound_dialog_play c00_01_20shinatama
219}
220
221func void set_objective_4(string ai_name)
222{
223 dprint set_objective4
224 objective_set(4)
225 target_set(7060,30.00)
226 sound_dialog_play c00_01_19shinatama
227}
228
229func void target_change_1(string ai_name)
230{
231 target_set(7037,30.00)
232}
233
234func void target_change_2(string ai_name)
235{
236 target_set(7037,30.00)
237}
238
239func void low_target_set(string ai_name)
240{
241 target_set(7085,30.00)
242}
243
244func void low_target_clear(string ai_name)
245{
246 target_set(0,0)
247}
248
249func void high_target_set(string ai_name)
250{
251 target_set(7126,30.00)
252}
253
254func void high_target_clear(string ai_name)
255{
256 target_set(0,0)
257}
258
259### MUSIC ###
260
261var int music_counter;
262
263func void music_force_stop(void)
264{
265 sleep 4500
266 if (0 ne music_counter)
267 {
268 dprint music_force_stop
269 music_counter = 0
270 all_music_counters
271 }
272}
273
274func void music_script_start(void)
275{
276 music_counter = 2
277}
278
279func void striker_lullaby_1(string ai_name)
280{
281 dprint striker_lullaby1
282 music_counter = music_counter - 1
283 if (music_counter eq 0)
284 {
285 all_music_counters();
286 }
287
288}
289func void striker_lullaby_2(string ai_name)
290{
291 dprint striker_lullaby2
292 music_counter = music_counter - 1
293 if (music_counter eq 0)
294 {
295 all_music_counters();
296 }
297}
298
299func void all_music_counters(void)
300{
301 dprint MARTY_HAS_LEFT_THE_BUILDING
302 sound_music_stop mus_asian
303 sound_music_stop mus_space01
304 sound_music_stop mus_om03
305 sound_music_stop mus_ot
306 sound_music_stop atm_cl09
307 sound_music_stop atm_gr09
308}
309
310func void music_save_point2_start(void)
311{
312 sound_music_start atm_cl09 1.0
313}
314
315### TEXT CONSOLES ###
316
317func void level6a(void)
318{
319 dprint text6a
320 text_console level_6a
321 console_reset 16
322}
323
324func void level6b(void)
325{
326 dprint text6b
327 text_console level_6b
328 console_reset 9
329}
330
331func void level6c(void)
332{
333 dprint text6c
334 text_console level_6c
335 console_reset 13
336}
337
338func void level6d(void)
339{
340 dprint text6d
341 text_console level_6d
342 console_reset 17
343}
344
345func void level6e(void)
346{
347 dprint text6e
348 text_console level_6e
349 console_reset 5
350}
351
352func void level6f(void)
353{
354 dprint text6f
355 text_console level_6f
356 console_reset 2
357}
358
359### GAMEPLAY PROGRESSION ###
360
361func void Start1(string char_index)
362{
363 dprint Start1
364 ai2_spawn Start_Striker_1
365 ai2_spawn Start_Striker_2
366 ai2_spawn Start_Comguy_1
367 particle room1 do start
368}
369
370# TARGET THUG
371func void target_thug(void)
372{
373 sleep f120
374 dprint target_thug
375 sound_dialog_play c00_01_28shinatama
376 ai2_spawn Start_Friend_1
377 ai2_spawn Start_Striker_5
378 ai2_makeaware Start_Striker_5 Start_Friend_1
379 sleep 30
380 set_objective_1
381}
382
383# TARGET THUG ROLL
384func void patrolscript0200(string char_index)
385{
386 playback_block Start_Friend_1 roll fromhere
387 ai2_dopath Start_Friend_1 Start_Friend_1b 1
388 ai2_setjobstate Start_Friend_1
389}
390
391# RETURN OF MAD BOMBER
392func void mad_bomber1(string ai_name)
393{
394 dprint boom
395 ai2_spawn mad_bomber1
396 sleep 150
397 particle bomb1 do explode
398 particle squib1a do explode
399 particle squib1b do explode
400 sleep 60
401 particle bomb2 do explode
402 particle squib2 do explode
403 sleep 30
404 particle bomb_damage1 do start
405}
406
407# SAVE THE THUG
408func void victim_thug1(string ai_name)
409{
410 dprint save_the_thug
411 ai2_spawn victim_thug1
412 ai2_spawn cruel_striker1
413}
414
415# HIDDEN FRIENDS
416func void hidden_thugs(string ai_name)
417{
418 ai2_spawn Start_Friend_2
419 ai2_spawn Start_Friend_3
420}
421
422# TARMAC
423func void tarmac(string ai_name)
424{
425 dprint tarmac_setup
426 ai2_spawn tarmac_striker_1
427 ai2_spawn tarmac_striker_2
428 ai2_spawn tarmac_striker_3
429 ai2_spawn tarmac_tanker_1
430 ai2_spawn tarmac_tanker_2
431 ai2_spawn tarmac_commguy_1
432
433 particle compound create
434}
435
436# ROOM 1 CLEAN-UP
437func void room1_cleanup(string ai_name)
438{
439 dprint room_1_clean
440 door_lock 11
441 chr_delete Start_Friend_2
442 chr_delete Start_Friend_3
443}
444
445# STRIKER TEE-OFF
446func void striker_tee_off(string ai_name)
447{
448 dprint I_pity_the_fool
449 ai2_dopath tarmac_striker_4 tarmac_striker_3b 1
450}
451
452# TANKER BACKUP
453func void tanker_backup(string ai_name)
454{
455 dprint tanker_backup
456 ai2_dopath tarmac_tanker_2 tarmac_tanker_2b 1
457}
458
459# UNLOCK COMMGUY
460func void unlock_commguy(string ai_name)
461{
462 dprint you_may_feel_a_zapping_sensation
463 ai2_dopath tarmac_commguy_1 tarmac_commguy_2 1
464 ai2_dopath tarmac_tanker_2 tarmac_tanker_2c 1
465 sound_music_stop atm_gr09
466}
467
468### WIL E. MURO ###
469
470# FIRST MURO
471func void muro_bait(string ai_name)
472{
473 dprint there_goes_muro
474 door_close 12
475 door_lock 12
476 begin_cutscene
477 ai2_spawn muro1
478 ai2_spawn escort_striker1
479 ai2_spawn escort_striker2
480 playback muro1 muro1 interp 30
481 playback escort_striker1 escort_striker1 interp 30
482 playback escort_striker2 escort_striker2 interp 30
483 sleep 30
484 dprint muro2_bait
485 chr_peace 0
486 input 0
487 particle compound kill
488 sound_music_start mus_asian 0.75
489 music_script_start
490 cm_interpolate_block muro_2 0
491 sleep 90
492 cm_interpolate_block muro_3 400
493 sleep 430
494 particle garage1_locklight02 do start
495 door_open 26
496 door_jam 26
497 ai2_spawn Hangar1_A_Striker_1
498 ai2_spawn Hangar1_A_Striker_2
499 ai2_spawn Hangar1_A_Striker_3
500 playback Hangar1_A_Striker_2 hangar1_striker2 interp 30
501 playback Hangar1_A_Striker_3 hangar1_striker3 interp 30
502 playback Hangar1_A_Striker_1 hangar1_striker1 interp 30
503 cm_interpolate_block muro_4 0
504 cm_interpolate_block muro_5 300
505 sleep 300
506 chr_delete muro1
507 chr_delete escort_striker1
508 chr_delete escort_striker2
509 cm_reset
510 end_cutscene
511 trigvolume_enable murobait_a 0
512 trigvolume_enable murobait_b 0
513 input 1
514 set_objective_3
515 particle lock3_locklight01 do stop
516 save_game_2
517}
518
519# FINAL MURO
520func void final_muro(string char_index)
521{
522 dprint last_muro_cutscene
523 sound_music_stop mus_ot 0.75
524 input 0
525 letterbox 1
526 cm_interpolate muro2a 0
527 ai2_spawn muro2
528 ai2_spawn escort_striker3
529 ai2_spawn escort_striker4
530 playback escort_striker3 final_escort3
531 playback escort_striker4 final_escort4
532 playback muro2 final_muro
533 cm_interpolate muro2a 0
534 cm_interpolate_block muro2b 300
535 sleep 300
536 cm_interpolate muro2c 0
537 cm_interpolate_block muro2d 300
538 sleep 350
539 cm_interpolate muro2e 0
540 cm_interpolate_block muro2f 300
541 sleep 300
542 chr_delete muro2
543 chr_delete escort_striker3
544 chr_delete escort_striker4
545 cm_reset
546 letterbox 0
547 input 1
548}
549
550### BACK TO GAMEPLAY ###
551
552func void Hangar1_A(void)
553{
554 dprint open_sesame
555 door_unlock 12
556 particle lock3_locklight01 do start
557 trigvolume_enable murobait_a 1
558 target_set(7085,30.00)
559}
560
561func void hangar1a(string char_index)
562{
563 dprint hangar_1a
564 ai2_spawn Hangar1_B_Striker_1
565 ai2_spawn Hangar1_B_Striker_4
566}
567
568func void hangar1b(string ai_name)
569{
570 dprint hangar_1b
571 ai2_spawn superball_striker
572}
573
574func void hangar1c(string char_index)
575{
576 dprint hangar_1c
577 ai2_spawn Hangar1_B_Striker_5
578 ai2_spawn Hangar1_B_Striker_9
579 ai2_spawn Hangar1_A_Tanker_1
580 ai2_spawn Hangar1_B_Comguy_12
581}
582
583# HANGAR 1 ROOM D OPEN
584func void hangar1d_var(string ai_name)
585{
586 dprint hangar1d
587 hangar1d_counter = hangar1d_counter - 1
588 if (hangar1d_counter eq 0)
589 {
590 access_hangar1d_granted();
591 }
592}
593
594func void access_hangar1d_granted(string ai_name)
595{
596 dprint access_granted_d
597 particle garage2_locklight02 do start
598 door_unlock 19
599 door_open 19
600 door_jam 19
601 ai2_spawn hangar1d_enemy_1
602 ai2_spawn hangar1d_enemy_2
603}
604
605# HANGAR 1 ROOM F OPEN
606func void hangar1f_var(string ai_name)
607{
608 dprint hangar1f
609 hangar1f_counter = hangar1f_counter - 1
610 if (hangar1f_counter eq 0)
611 {
612 access_hangar1f_granted();
613 }
614}
615
616func void access_hangar1f_granted(string ai_name)
617{
618 dprint access_granted_f
619 particle garage3_locklight02 do start
620 door_unlock 20
621 door_open 20
622 door_jam 20
623 ai2_spawn hangar1f_enemy_1
624 ai2_spawn hangar1f_enemy_3
625 ai2_spawn rat_thug_4
626}
627
628func void skip_ratscene(string ai_name)
629{
630 dprint no_ratscene
631 door_unlock 24
632 particle lock9_locklight02 do start
633 console_deactivate
634}
635
636func void hangar1d_backup(string ai_name)
637{
638 dprint backup
639 ai2_spawn hangar1f_enemy_2
640}
641
642func void patrolscript0500(string ai_name)
643{
644 dprint jump_bomber
645 playback_block hangar1f_enemy_2 bomber_jump interp 30
646}
647
648func void secret_striker(string char_index)
649{
650 dprint striker_ambush
651 ai2_spawn secret_striker_1
652}
653
654func void secret_tanker(string char_index)
655{
656 dprint tanker_ambush
657 ai2_spawn secret_tanker_1
658}
659
660func void sos_1(string char_index)
661{
662 dprint sos1
663 ai2_spawn sos_badman_1
664}
665
666func void sos_2(string char_index)
667{
668 dprint sos2
669 ai2_spawn sos_badman_2
670}
671
672
673func void carpool_backup(string char_index)
674{
675 dprint carpool_ambush
676 ai2_spawn carpool_striker_2
677}
678
679func void Back1(string char_index)
680{
681 dprint Back1
682 ai2_spawn Roof1_Striker_1
683 ai2_spawn Roof1_Striker_2
684 ai2_spawn Hangar1_C_Striker_1
685 ai2_spawn Hangar1_C_Striker_2
686 ai2_spawn Hangar1_C_Friend_1
687}
688
689func void low_roadies_1(string ai_name)
690{
691 dprint roadies_1
692 ai2_spawn Back_Striker_1
693 ai2_spawn Back_Striker_2
694 ai2_spawn Back_Striker_3
695 ai2_spawn Back_Thug_1
696}
697
698func void low_roadies_2(string ai_name)
699{
700 dprint roadies_2
701 ai2_spawn Back_Tanker_1
702 ai2_spawn Back_Thug_2
703 ai2_spawn Back_Thug_3
704}
705
706func void Back2(string char_index)
707{
708 dprint Back2
709 ai2_spawn Roof2_Striker_1
710 ai2_spawn Roof2_Striker_2
711 ai2_spawn Roof2_Striker_3
712 ai2_spawn Back2_Comguy_1
713 ai2_spawn Back2_Tanker_1
714 ai2_spawn carpool_striker_1
715 ai2_spawn ahah_badman_1
716 ai2_spawn ahah_badman_2
717 particle roof2 do start
718}
719
720func void Rat_Guards(string char_index)
721{
722 dprint rat_guard
723 ai2_spawn Rat_Comguy_1
724 ai2_spawn Rat_Tanker_1
725 particle lock35_locklight01 do start
726}
727
728func void Back3(string char_index)
729{
730 dprint Back3
731 ai2_spawn Roof3_Striker_1
732 ai2_spawn Roof3_Striker_2
733 ai2_spawn Roof3_Tanker_1
734 particle roof3 do start
735}
736
737func void remote_lot(string ai_name)
738{
739 dprint remote_lot_guards
740 ai2_spawn remote_striker_1
741}
742
743func void roof3_backup1(string char_index)
744{
745 dprint roof_backup1
746 ai2_dopath Roof3_Striker_1 Roof3_Striker_1b 1
747}
748
749func void back_compound(string char_index)
750{
751 dprint compound
752 ai2_spawn compound_tanker_1
753 ai2_spawn compound_bomber_1
754 sound_music_stop atm_cl09
755}
756
757func void remote_parking(string ai_name)
758{
759 dprint remote_action
760 ai2_spawn hostage_thug_1
761 ai2_spawn hostage_thug_2
762 ai2_spawn hostage_thug_3
763 ai2_spawn squad_tanker_1
764 ai2_spawn squad_tanker_2
765}
766
767func void remote_backup_1(string ai_name)
768{
769 dprint remote_backup1
770 ai2_spawn hostage_striker_1
771}
772
773func void remote_backup_2(string ai_name)
774{
775 dprint remote_backup2
776 ai2_spawn hostage_striker_2
777}
778
779func void Office1(string char_index)
780{
781 dprint Office1
782 ai2_spawn Office1_Comguy_1
783 ai2_spawn Office1_Comguy_11
784 ai2_spawn Office2_Striker_1
785 ai2_spawn Office2_Striker_3
786 ai2_spawn Office3_Tanker_12
787 ai2_spawn neutral_1
788 ai2_spawn neutral_2
789 sound_music_start atm_gr09
790 particle muroplane_prop do
791}
792
793# HANGAR 2 AMBUSH
794func void ambush(string ai_name)
795{
796 dprint ambush_active
797 particle lock7_locklight01 do start
798 door_unlock 36
799 ai2_spawn ambush_striker_1
800 ai2_spawn ambush_commguy_1
801 sleep 220
802 ai2_doalarm ambush_commguy_1 4
803 sound_music_stop atm_gr09
804 sound_music_start mus_space01 0.75
805 music_script_start
806}
807
808func void Hangar2a(string char_index)
809{
810 dprint Hangar2a
811 ai2_spawn Hangar2_tanker_1
812 ai2_spawn alarm_striker_1
813}
814
815func void Hangar2b(string char_index)
816{
817 dprint Hangar2b
818 ai2_spawn Hangar2_Striker_3
819 ai2_spawn Hangar2_Striker_4
820 ai2_spawn Hangar2_Striker_5
821}
822
823func void alarm_sound_script(void)
824{
825 sound_ambient_start alarm_loop
826 sleep 900
827 sound_ambient_stop alarm_loop
828}
829
830func void raise_alarm(string char_index)
831{
832 dprint alarm_raised
833 ai2_dopath alarm_striker_1 alarm_striker_1a 1
834 fork alarm_sound_script
835}
836
837func void alarm_patrol(string char_index)
838{
839 dprint patrol_begun
840 ai2_dopath alarm_striker_1 alarm_striker_1b 1
841}
842
843#STRIKER SHOWDOWN
844var int striker_counter=3;
845
846func void striker_showdown_1(string ai_name)
847{
848 dprint striker_showdown1
849 striker_counter = striker_counter - 1
850 if (striker_counter eq 0)
851 {
852 total_striker_count();
853 }
854
855}
856
857func void striker_showdown_2(string ai_name)
858{
859 dprint striker_showdown2
860 striker_counter = striker_counter - 1
861 if (striker_counter eq 0)
862 {
863 total_striker_count();
864 }
865}
866
867func void striker_showdown_3(string ai_name)
868{
869 dprint striker_showdown3
870 striker_counter = striker_counter - 1
871 if (striker_counter eq 0)
872 {
873 total_striker_count();
874 }
875}
876
877func void total_striker_count(string ai_name)
878{
879 dprint rappel_point_active
880 trigvolume_enable rappel_point 1
881 particle rappel create
882 target_set(1054,30.00)
883 sound_music_stop mus_space01
884}
885
886# OBJECTIVE CHECK
887func void objective_check(string ai_name)
888{
889 dprint check_for_objective
890 if (chr_has_lsi(0))
891 {
892 dprint set_objective5
893 objective_set(5)
894 target_set(7127,30.00)
895 trigvolume_enable objectivecheck 0
896 }
897}
898
899# LSI CHECK 1
900func void lsi_check_1(string ai_name)
901{
902 dprint check_lsi_1
903 if (chr_has_lsi(0))
904 {
905 trigvolume_enable tripwire 1
906 }
907}
908
909# LSI CHECK 2
910func void lsi_check_2(string ai_name)
911{
912 dprint check_lsi_2
913 if (chr_has_lsi(0))
914 {
915 particle rappel kill
916 rappel
917 }
918}
919
920### RATS IN THE SEWER ###
921
922# RAT DOOR
923func void rat_door(string ai_name)
924{
925 dprint open_rat_door
926 particle lock9_locklight02 do start
927 door_unlock 24
928 door_open 24
929 door_jam 24
930 letterbox 1
931 input 0
932 ai2_spawn rat_thug_1
933 ai2_spawn rat_thug_2
934 ai2_spawn rat_thug_3
935 cm_interpolate rat_door1 0
936 cm_interpolate_block rat_door2 300
937 sleep 250
938 playback rat_thug_1 rat_thug_1 interp 30
939 playback rat_thug_2 rat_thug_2 interp 30
940 playback rat_thug_3 rat_thug_3 interp 30
941 sleep 90
942 sleep 200
943 cm_reset
944 letterbox 0
945 input 1
946 door_unjam 24
947 door_close 24
948 sleep 250
949 chr_delete rat_thug_1
950 chr_delete rat_thug_2
951 chr_delete rat_thug_3
952}
953
954# GAS START
955func void gas_trig_show(string ai_name)
956{
957 dprint gastrig_show
958 trig_show 1
959 trig_show 2
960 trig_show 3
961 trig_show 4
962}
963
964func void gas(string ai_name)
965{
966 dprint rats_take_cover
967 particle gas1 do start
968 particle gas2 do start
969 particle gaslight1 do start
970 console_activate 14
971 console_activate 15
972 door_unjam 48
973 door_close 48
974 trigvolume_enable gas 1
975 timer_stop
976}
977
978# GAS OFF
979func void gas_off(string ai_name)
980{
981 dprint rats_scurry_on
982 particle gas1 do stop
983 particle gas2 do stop
984 particle gaslight1 do stop
985 console_reset 14
986 console_reset 15
987 door_open 48
988 door_jam 48
989 trigvolume_enable gas 0
990 timer_start 10 gas_on
991}
992
993# GAS ON
994func void gas_on(string ai_name)
995{
996 dprint rats_take_cover_again
997 door_lock 24
998 particle gas1 do start
999 particle gas2 do start
1000 particle gaslight1 do start
1001 console_activate 14
1002 console_activate 15
1003 door_unjam 48
1004 trigvolume_enable gas 1
1005}
1006
1007# GAS OFF FOR GOOD
1008func void gas_kill(string ai_name)
1009{
1010 particle gas1 do stop
1011 particle gas2 do stop
1012 particle gaslight1 do stop
1013 door_unjam 48
1014}
1015
1016func void gas_trig_hide(string ai_name)
1017{
1018 dprint gastrig_hide
1019 trig_hide 1
1020 trig_hide 2
1021 trig_hide 3
1022 trig_hide 4
1023 door_lock 48
1024}
1025
1026func void poison_konoko(string ai_name)
1027{
1028 chr_poison (konoko, 10, 60, 90);
1029}
1030
1031func void fire_damage(string ai_name)
1032{
1033 chr_poison (ai_name, 5, 30, 30);
1034}
1035
1036### LOCKS & LIGHTS ###
1037
1038func void lock1(void)
1039{
1040 input 0
1041 cm_interpolate lock1 0
1042 sleep 60
1043 particle lock1_locklight01 do start
1044 sleep 150
1045 cm_reset
1046 input 1
1047 target_set(7125,30.00)
1048}
1049
1050func void lock2(string ai_name)
1051{
1052 input 0
1053 cm_interpolate lock2 0
1054 sleep 60
1055 particle lock2_locklight01 do start
1056 sleep 150
1057 cm_reset
1058 input 1
1059 trigvolume_enable hidden_friends1 1
1060}
1061
1062func void lock4(void)
1063{
1064 input 0
1065 cm_interpolate lock4 0
1066 sleep 60
1067 particle lock4_locklight01 do start
1068 sleep 150
1069 cm_reset
1070 input 1
1071}
1072
1073func void lock5_counter_decrement(void)
1074{
1075 dprint ENTERING_LOCK_5_DECREMENT
1076 lock5_counter = lock5_counter - 1
1077 if (lock5_counter eq 2)
1078 {
1079 sound_music_start mus_cool13 1.0
1080 }
1081 if (lock5_counter eq 0)
1082 {
1083 sound_music_stop mus_cool13
1084 lock5_end();
1085 }
1086}
1087
1088func void lock5a_var(string ai_name)
1089{
1090 dprint lock5a
1091 lock5_counter_decrement
1092 input 0
1093 cm_interpolate lock5d 0
1094 sleep 60
1095 particle lock5a_locklight01 do start
1096 sleep 150
1097 cm_reset
1098 input 1
1099}
1100
1101func void lock5b_var(string ai_name)
1102{
1103 dprint lock5b
1104 lock5_counter_decrement
1105 input 0
1106 cm_interpolate lock5d 0
1107 sleep 60
1108 particle lock5b_locklight01 do start
1109 sleep 150
1110 cm_reset
1111 input 1
1112}
1113
1114func void lock5c_var(string ai_name)
1115{
1116 dprint lock5c
1117 lock5_counter_decrement
1118}
1119
1120# LOCK 5 END
1121func void lock5_end(string ai_name)
1122{
1123 dprint room1_end
1124 door_unlock 21
1125 door_unlock 22
1126 trigvolume_enable nodark 1
1127}
1128
1129func void lock5(void)
1130{
1131 lock5c_var
1132 letterbox 1
1133 input 0
1134 cm_interpolate lock5a 0
1135 cm_interpolate_block lock5b 300
1136 sleep 350
1137 cm_interpolate_block lock5c 0
1138 sleep 30
1139 cm_interpolate_block lock5d 300
1140 sleep 300
1141 particle lock5c_locklight01 do start
1142 sleep 60
1143 cm_reset
1144 letterbox 0
1145 input 1
1146}
1147
1148func void lock6(void)
1149{
1150 input 0
1151 cm_interpolate lock6 0
1152 sleep 60
1153 particle lock6_locklight01 do start
1154 sleep 150
1155 cm_reset
1156 input 1
1157 set_objective_4
1158 trigvolume_enable trigger_volume_08 1
1159 door_unlock 27
1160}
1161
1162### PARTICLE CONTROL ###
1163
1164# MAD BOMBER DAMAGE OFF
1165func void bomber_off(string ai_name)
1166{
1167 dprint mad_bomber_particles_off
1168 particle bomb_damage1 do stop
1169 particle room1 do stop
1170 particle bomber1a kill
1171}
1172
1173# PLANE ROTOR WASH ON
1174func void rotor_wash(string ai_name)
1175{
1176 dprint rotorwash_on
1177 particle rotorwash do start
1178}
1179
1180# CARPOOL FIRE ON
1181func void carpool_start(string ai_name)
1182{
1183 dprint carpool_particles_on
1184 particle carpool create
1185 particle carpool do start
1186}
1187
1188# CARPOOL FIRE OFF
1189func void carpool_stop(string ai_name)
1190{
1191 dprint carpool_particles_off
1192 particle carpool kill
1193 particle carpool do stop
1194}
1195
1196### Level scripted by Joseph ###
Note: See TracBrowser for help on using the repository browser.