source: nikanabo/current/bsl/original/IGMD/Airport_III/airport2_level_logic.bsl @ 185

Last change on this file since 185 was 185, checked in by geyser, 14 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.