ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/AE/packages/VanillaBSL/IGMD/tctf/tctf_spawn_syndicate.bsl
Revision: 313
Committed: Sun May 3 07:36:58 2009 UTC (16 years, 5 months ago) by gumby
File size: 18215 byte(s)
Log Message:

File Contents

# Content
1 #
2 # tctf_spawn_syndicate.bsl
3 #
4 # SCRIPTS TO SPAWN SYNDICATE UNITS
5 #
6
7 var int my_save_point=0;
8 var int striker_count=0;
9 var int music_counter = 0;
10 var int counter = 0;
11 var int elev_count=0;
12 var int shut_down_t103;
13 var int count_follow;
14
15 # music #
16
17 func void music_intro(void)
18 {
19 sound_music_start mus_asianb
20 }
21
22 func void music_intro_stop(void)
23 {
24 sound_music_stop mus_asianb
25 }
26
27 func void music_attack(void)
28 {
29 sound_music_start mus_pursuit 0
30 sound_music_volume mus_pursuit 0.75 3.0
31 # this music stopped in floor4_lock script
32 }
33
34 func void music_kidnap(void)
35 {
36 dprint kidnapmusic
37 sound_music_start mus_om01 0.0
38 sound_music_volume mus_om01 0.75 3.0
39 # this music stopped in ta2_54 script
40 }
41
42 func void music_battle(void)
43 {
44 sound_music_start mus_asianb 0
45 sound_music_volume mus_asianb 2
46 # this music stopped in final script
47 }
48
49 func void music_stop(void)
50 {
51 dprint STOP_THE_MUSIC
52 sound_music_stop mus_asianb
53 sound_music_stop mus_pursuit
54 sound_music_stop mus_om01
55 # sound_music_stop mus_asianb
56 }
57
58
59 ###############################
60 # start and objectives #
61 ###############################
62 func void start(string ai_name)
63 {
64 dprint start
65
66 trig_deactivate 1
67 trig_deactivate 2
68 trig_deactivate 3
69 trig_deactivate 4
70 trig_deactivate 5
71 trig_deactivate 6
72 trig_deactivate 7
73 trig_deactivate 8
74 trig_deactivate 9
75 trig_deactivate 10
76 trig_deactivate 60
77 trig_deactivate 61
78 trig_deactivate 62
79 trig_deactivate 63
80 trig_deactivate 64
81 trig_deactivate 65
82 trig_deactivate 70
83 trig_deactivate 71
84 trig_deactivate 72
85 trig_deactivate 73
86 trig_deactivate 74
87 trig_deactivate 75
88 trig_deactivate 302
89 trig_deactivate 303
90 trig_deactivate 100
91 trig_deactivate 101
92 trig_deactivate 500
93 trig_deactivate 501
94 trig_deactivate 502
95 trig_deactivate 503
96 trig_deactivate 400
97 trig_deactivate 510
98 trig_deactivate 511
99 trig_deactivate 512
100 trig_deactivate 520
101 trig_deactivate 521
102 trig_deactivate 522
103 trig_deactivate 310
104 trig_deactivate 320
105 trig_deactivate 98
106 trig_deactivate 99
107 trigvolume_enable trigger_volume_81 0
108 trigvolume_enable z_40t 0
109 trigvolume_enable zz_40t 0
110 trigvolume_enable zzz_40t 0
111 trigvolume_enable zzzz_40t 0
112 trigvolume_enable tv_61t 0
113
114 if (save_point eq 0)
115 {
116 my_save_point=0;
117 set_objective_1
118 particle security_locklight01 do start
119 particle smoke start
120 }
121
122 if (save_point eq 1)
123 {
124 my_save_point=1;
125 dprint restore1
126 set_objective_1
127 particle smoke start
128 particle security_locklight01 do start
129 env_show 398 0
130 #turn off unbroken curtain wall
131 env_show 98 0
132 #turn on broken curtain wall
133 env_show 99 1
134 #show gunk van
135 env_show 101 1
136 env_show 103 1
137 env_show 104 1
138 env_show 105 1
139 env_show 106 1
140 env_show 107 1
141 env_show 108 1
142 env_show 444 1
143 env_show 97 0
144 #show gunk motorcycle
145 env_show 110 1
146 env_show 111 1
147 env_show 112 1
148 #show door gunk
149 env_show 321 1
150 env_show 322 1
151 env_show 323 1
152 env_show 324 1
153 env_show 325 1
154 env_shade 321 325 .3 .3 .3
155 ai2_spawn lobby_striker_01
156 ai2_spawn lobby_striker_02
157 ai2_spawn lobby_striker_03
158 music_intro
159 restore_game
160 sleep 7
161 sound_dialog_play c07_22_01konoko
162 particle LobbyWall do explode
163 }
164
165 if (save_point eq 2)
166 {
167 my_save_point=2;
168 dprint restore2
169 set_objective_3
170 trigvolume_enable tv_58t 0
171 door_lock 41
172 chr_delete lobby_victim
173 trigvolume_enable trigger_volume_80 0
174 music_kidnap
175 restore_game
176 }
177
178 if (save_point eq 3)
179 {
180 my_save_point=3;
181 dprint restore3
182 trigvolume_enable t86 0
183 set_objective_5
184 trigvolume_enable tsh_55t 0
185 #Hide elevator gunk
186 env_show 501 0
187 env_show 502 0
188 env_show 503 0
189 env_show 504 0
190 #Show new elevator gunk
191 env_show 601 1
192 env_show 602 1
193 fork tsh_55
194 restore_game
195 trigvolume_enable tv_58t 0
196 }
197
198 if (save_point eq 4)
199 {
200 my_save_point=4;
201 dprint restore4
202 set_objective_5
203 trigvolume_enable tsh_60t 0
204 trigvolume_enable tr_66t 0
205 trigvolume_enable tr_67t 0
206 trigvolume_enable tr_65t 0
207 trigvolume_enable tr_64t 0
208 ai2_spawn barabus
209 chr_boss_shield barabus
210 target_set(1,0.0)
211 restore_game
212 }
213
214 }
215
216 func void striker_spawn(string ai_name)
217 {
218 dprint striker_spawn
219 striker_count = striker_count + 1
220 }
221
222 func void striker_die(string ai_name)
223 {
224 dprint striker_die
225 striker_count = striker_count - 1
226 }
227
228 #########################
229 # trigger volumes #
230 #########################
231
232 func void t102(string ai_name)
233 {
234 ai2_spawn mbo_sniper
235 ai2_spawn mbo_target
236 }
237
238 func void t103(string ai_name)
239 {
240 dprint t103
241 trigvolume_enable trigger_volume_103 0
242 sleep 7
243 if(elev_count ne 1)
244 {
245 if (chr_has_lsi(0))
246 {
247 trigvolume_enable trigger_volume_81 1
248 objective_set(4)
249 particle obj1 create
250 target_set(9999, 30.0)
251 shut_down_t103 = 1;
252 }
253 }
254 if(shut_down_t103 eq 0)
255 {
256 sleep 60
257 trigvolume_enable trigger_volume_103 1
258 }
259 }
260
261 func void spawnL2_4(string ai_name)
262 {
263 dprint spawnL2_4
264 ai2_spawn lobby_striker_04
265 playback lobby_striker_04 lobbystriker_roll
266 trigvolume_enable u_36t 0
267
268 }
269
270 func void spawnL1_6(string ai_name)
271 {
272 dprint spawnL1_6
273 ai2_spawn lobby_striker_06
274 trigvolume_enable tv_50t 0
275
276 }
277
278 func void spawnG2_7(string ai_name)
279 {
280 dprint spawnG2_7
281 ai2_spawn garage_striker_01
282 ai2_spawn garage_striker_02
283
284 }
285
286 func void spawnG3_8(string ai_name)
287 {
288 dprint spawnG3_8
289 if (striker_count eq 0)
290 {
291 ai2_spawn garage_striker_03
292 ai2_makeignoreplayer garage_striker_03 1
293 ai2_spawn garage_striker_04
294 ai2_spawn garage_striker_05
295 playback_block garage_striker_03 garage_jump
296 ai2_makeignoreplayer garage_striker_03 0
297 }
298 if (striker_count ne 0)
299 {
300 ai2_spawn garage_striker_03
301 ai2_makeignoreplayer garage_striker_03 1
302 playback_block garage_striker_03 garage_jump
303 ai2_makeignoreplayer garage_striker_03 0
304 }
305 }
306
307 func void spawnG3_11(string ai_name)
308 {
309 dprint spawnG3_11
310 ai2_spawn garage_striker_07
311 ai2_passive garage_striker_07 1
312 ai2_spawn garage_striker_08
313 playback garage_striker_07 garage_taunt
314 ai2_passive garage_striker_07 0
315
316 }
317
318 func void spawnG3_12(string ai_name)
319 {
320 dprint spawnG3_12
321
322 if (striker_count eq 0)
323 {
324 ai2_spawn garage_striker_09
325 ai2_spawn garage_striker_10
326 }
327 if (striker_count ne 0)
328 {
329 ai2_spawn garage_striker_09
330 }
331 }
332
333 func void killG2_08(string ai_name)
334 {
335 dprint killG2_08
336 trigvolume_enable trigger_volume_G2_08 0
337
338 }
339
340 func void killG2_10(string ai_name)
341 {
342 dprint killG2_10
343 trigvolume_enable trigger_volume_G2_10 0
344
345 }
346
347 func void killG3_11(string ai_name)
348 {
349 dprint killG3_11
350 trigvolume_enable trigger_volume_G3_11 0
351
352 }
353
354 func void killG3_12(string ai_name)
355 {
356 dprint killG3_12
357 trigvolume_enable trigger_volume_G3_12 0
358
359 }
360
361 func void a_18(string ai_name)
362 {
363 dprint a_18
364 trigvolume_enable b_19t 0
365 trigvolume_enable c_13t 0
366
367 }
368
369 func void b_19(string ai_name)
370 {
371 dprint b_19
372 ai2_spawn lobby_striker_30
373 ai2_spawn lobby_striker_31
374 playback lobby_striker_31 lobby_roll2
375 # ai2_spawn lobby_striker_33
376 # ai2_spawn lobby_tctf_02
377 trigvolume_enable d_20t 0
378 }
379
380 func void c_13(string ai_name)
381 {
382 dprint c_13
383 ai2_spawn lobby_striker_20
384 ai2_spawn lobby_striker_21
385 ai2_spawn lobby_fodder01
386 ai2_spawn lobby_striker_05
387 trigvolume_enable vv_38t 0
388 trigvolume_enable a_18t 0
389 music_stop
390 }
391
392 func void d_20(string ai_name)
393 {
394 dprint d_20
395 ai2_spawn l2_s46
396 ai2_spawn l2_s44
397 playback_block l2_s44 lobby_roll3
398
399 }
400
401 func void e_21(string ai_name)
402 {
403 dprint e_21
404 ai2_spawn lobby_striker_34
405 ai2_spawn lobby_victim05
406 ai2_spawn lobby_victim06
407 trigvolume_enable l_27t 0
408 }
409
410 func void f_22(string ai_name)
411 {
412 dprint f_22
413 ai2_spawn lobby_striker_05
414 trigvolume_enable vv_38t 0
415 ai2_spawn lobby_striker_20
416 ai2_spawn lobby_fodder01
417 ai2_spawn lobby_striker_21
418
419 }
420
421 func void g_23(string ai_name)
422 {
423 dprint g_23
424 ai2_spawn L2s_01
425 ai2_spawn L2s_02
426 ai2_spawn L2s_03
427 ai2_spawn L2tctf_01
428 ai2_spawn L2tctf_02
429 music_stop
430 trigvolume_enable trigger_volume_w_39 0
431
432 }
433
434 func void h_06(string ai_name)
435 {
436 dprint h_06
437 ai2_spawn L2s_10
438 ai2_spawn Ls_15
439 ai2_spawn Ltctf_55
440 ai2_dopath L2tctf_01 patrol_L2_13
441 ai2_dopath L2tctf_02 patrol_L2_13
442
443 }
444
445 func void i_24(string ai_name)
446 {
447 dprint i_24
448 trigvolume_enable j_25t 0
449 trigvolume_enable h_06t 0
450
451 }
452
453 func void j_25(string ai_name)
454 {
455 dprint j_25
456 ai2_spawn L2s_11
457
458 }
459
460 func void k_26(string ai_name)
461 {
462 dprint k_26
463 trigvolume_enable l_27t 1
464
465 }
466
467 func void l_27(string ai_name)
468 {
469 dprint l_27
470 ai2_spawn L3s_40
471 ai2_spawn L3s_41
472 # ai2_spawn L3s_42
473
474 }
475
476 func void m_28(string ai_name)
477 {
478 dprint m_28
479 ai2_spawn Lv_40
480 ai2_spawn Lv_41
481 ai2_spawn Lc_43
482 ai2_spawn Ls_44
483 trigvolume_enable s_34t 1
484
485 }
486
487 func void n_29(string ai_name)
488 {
489 dprint n_29
490 ai2_spawn Lc_50
491 ai2_spawn Ls_51
492 ai2_spawn Ls_12
493
494 }
495
496 func void o_30(string ai_name)
497 {
498 dprint o_30
499 ai2_spawn Ls_60
500 ai2_spawn a_v2
501
502 }
503
504 func void p_31(string ai_name)
505 {
506 dprint p_31
507 trigvolume_enable trigger_volume_L2_4 1
508
509 }
510
511 func void s_34(string ai_name)
512 {
513 dprint s_34
514 ai2_spawn Lcom_01
515
516 }
517
518 func void t_35(string ai_name)
519 {
520 dprint t_35
521 trigvolume_enable s_34t 0
522
523 }
524
525 func void u_36(string ai_name)
526 {
527 dprint u_36
528 ai2_spawn cat1_02
529 trigvolume_enable trigger_volume_L2_4 0
530 }
531
532 func void v_37(string ai_name)
533 {
534 dprint v_37
535 ai2_spawn cat1_01
536 trigvolume_enable vv_38t 0
537
538 }
539
540 func void t98(string ai_name)
541 {
542 dprint t98
543 ai2_spawn a_v4
544 }
545
546 func void vv_38(string ai_name)
547 {
548 dprint vv_38
549 ai2_spawn lobby_striker_05
550 ai2_spawn lobby_striker_20
551 ai2_spawn lobby_striker_21
552 ai2_spawn lobby_fodder01
553 trigvolume_enable v_37t 0
554
555 }
556
557 func void w_39(string ai_name)
558 {
559 dprint w_39
560 ai2_spawn s2_t01
561 ai2_spawn s2_t02
562 ai2_spawn s2_s01
563 ai2_spawn s2_s02
564 ai2_spawn s2_s03
565 # ai2_spawn s2_c01
566 ai2_spawn s2_s05
567 ai2_spawn s2_t05
568 trigvolume_enable g_23t 0
569
570 }
571
572 func void x_05(string ai_name)
573 {
574 dprint x_05
575 ai2_spawn l_c01
576 ai2_lookatme l_c01
577 ai2_passive l_c01 1
578 playback l_c01 lobby_runout
579 ai2_passive l_c01 0
580 trigvolume_enable trigger_volume_L1_6_9 0
581
582 }
583
584 func void y_32(string ai_name)
585 {
586 dprint y_32
587 ai2_spawn l_t01
588 playback l_t01 lobby_backroll
589 sleep 15
590 ai2_spawn l_s02
591 ai2_spawn l_s03
592 trigvolume_enable tv_47t 0
593
594 }
595
596 func void unlock_follow(void)
597 {
598 dprint unlockfollow
599 count_follow = count_follow + 1;
600 if(count_follow eq 2)
601 {
602 trigvolume_enable z_40t 1
603 trigvolume_enable zz_40t 1
604 trigvolume_enable zzz_40t 1
605 trigvolume_enable zzzz_40t 1
606 trigvolume_enable tv_61t 1
607 }
608 }
609
610 func void patrolscript2222(void)
611 {
612 dprint lookatplayer
613 ai2_lookatchar l_t01 char_0
614 ai2_lookatchar l_t23 char_0
615 }
616
617 func void z01(string ai_name)
618 {
619 dprint z01
620
621 ai2_dopath l_t01 l_t01_01
622 ai2_setjobstate l_t01
623
624 ai2_dopath l_t23 l_t23_04
625 ai2_setjobstate l_t23
626
627 }
628
629 func void z02(string ai_name)
630 {
631 dprint z02
632 ai2_dopath l_t01 l_t01_04
633 ai2_setjobstate l_t01
634
635 ai2_dopath l_t23 l_t23_02
636 ai2_setjobstate l_t23
637 }
638
639 func void z03(string ai_name)
640 {
641 dprint z03
642 ai2_dopath l_t01 l_t01_05
643 ai2_setjobstate l_t01
644
645 ai2_dopath l_t23 l_t23_01
646 ai2_setjobstate l_t23
647 }
648
649 func void z04(string ai_name)
650 {
651 dprint z04
652 ai2_dopath l_t01 l_t01_06
653 ai2_setjobstate l_t01
654
655 ai2_dopath l_t23 l_t23_06
656 ai2_setjobstate l_t23
657 }
658
659 func void z05(string ai_name)
660 {
661 dprint z05
662 ai2_dopath l_t01 l_t01_07
663 ai2_setjobstate l_t01
664
665 ai2_dopath l_t23 l_t23_07
666 ai2_setjobstate l_t23
667 }
668
669 func void z06(string ai_name)
670 {
671 dprint z06
672 ai2_dopath l_t01 l_t01_08
673 ai2_setjobstate l_t01
674
675 ai2_dopath l_t23 l_t23_08
676 ai2_setjobstate l_t23
677 }
678
679 func void z_40(string ai_name)
680 {
681 dprint z_40
682 ai2_followme l_t01
683 ai2_lookatme l_t01
684 ai2_followme l_t23
685 ai2_lookatme l_t23
686 ai2_followme s2_t05
687 ai2_lookatme s2_t05
688 ai2_followme s2_t02
689 ai2_lookatme s2_t02
690 ai2_followme s2_t01
691 ai2_lookatme s2_t01
692 ai2_followme L2tctf_02
693 ai2_lookatme L2tctf_02
694 ai2_followme L2tctf_01
695 ai2_lookatme L2tctf_01
696 ai2_followme Lc_43
697 ai2_lookatme Lc_43
698
699 }
700
701 func void tv_44(string ai_name)
702 {
703 dprint tv_44
704 ai2_spawn l_c10
705 ai2_dopath l_t01 l_t01_02
706 ai2_setjobstate l_t01
707
708 ai2_dopath l_t23 l_t23_03
709 ai2_setjobstate l_t23
710 }
711
712 func void tv_45(string ai_name)
713 {
714 dprint tv_45
715 ai2_spawn a_v1
716 ai2_spawn l_s22
717 ai2_spawn l_s23
718 ai2_dopath l_t01 l_t01_03
719 ai2_setjobstate l_t01
720
721 ai2_dopath l_t23 l_t23_05
722 ai2_setjobstate l_t23
723
724 }
725
726 func void tv_46(string ai_name)
727 {
728 dprint tv_46
729 ai2_spawn l_s24
730 ai2_spawn l_t23
731 trigvolume_enable tv_47t 1
732 ai2_dopath l_t01 l_t01_06
733 ai2_setjobstate l_t01
734 }
735
736 func void tv_47(string ai_name)
737 {
738 dprint tv_47
739 ai2_spawn l_s27
740
741 }
742
743 func void tv_48(string ai_name)
744 {
745 dprint tv_48
746 ai2_spawn l2_s46
747
748 }
749
750 func void tv_49(string ai_name)
751 {
752 dprint tv_49
753 ai2_spawn l2_s47
754
755 }
756
757 func void tv_50(string ai_name)
758 {
759 dprint tv_50
760 ai2_spawn l_s99
761 ai2_spawn l_s98
762 music_stop
763
764 }
765
766 func void tv_51(string ai_name)
767 {
768 dprint tv_51
769 ai2_spawn l4_red1
770 ai2_spawn l4_t1
771 ai2_spawn l4_s1
772 ai2_spawn l4_s67
773 ai2_spawn l4_t2
774 ai2_spawn l4_s2
775 ai2_spawn l4_s3
776 ai2_spawn l4_f1
777 ai2_spawn l4_f2
778 ai2_spawn l4_f3
779 ai2_kill l4_f1
780 ai2_kill l4_f2
781 ai2_kill l4_f3
782 ai2_spawn l4_c66
783 ai2_kill l4_c66
784
785 }
786
787 func void tv_52(string ai_name)
788 {
789 dprint tv_52
790 particle smoke stop
791 ai2_spawn a_t03
792 ai2_passive a_t03 1
793 playback a_t03 atrium_run
794 sleep 7
795 ai2_spawn a_t06
796 sleep 7
797 ai2_spawn a_s02
798 sleep 7
799 ai2_spawn a_s03
800 sleep 7
801 ai2_spawn a_red1
802 ai2_passive a_t03 0
803 chr_set_health a_t05 900
804 chr_set_health a_t06 900
805 chr_set_health a_s02 900
806 chr_set_health a_s03 900
807 }
808 func void new_atrium(string ai_name)
809 {
810 ai2_spawn a_s07
811 ai2_spawn a_s05
812 ai2_spawn a_v3
813 }
814
815 func void ta_53(string ai_name)
816 {
817 dprint ta_53
818 ai2_spawn a_t05
819 ai2_dopath a_s03 patrol_7043
820 ai2_setjobstate a_s03
821 ai2_dopath a_s02 patrol_7030
822 ai2_setjobstate a_s02
823 ai2_dopath a_t06 patrol_7034
824 ai2_setjobstate a_t06
825 ai2_dopath a_t05 patrol_7042
826 ai2_setjobstate a_t05
827 chr_set_health a_t05 40
828 chr_set_health a_t06 30
829 chr_set_health a_s02 80
830 chr_set_health a_s03 80
831 sleep 2000
832 dprint no_more_tctf
833 counter = 100
834
835 }
836
837 func void ta_53b(string ai_name)
838 {
839 dprint ta_53b
840 chr_set_health a_t05 80
841 chr_set_health a_t06 60
842 chr_set_health a_s02 70
843 chr_set_health a_s03 80
844 }
845
846 func void ta2_54(string ai_name)
847 {
848 dprint ta2_54
849 ai2_spawn a2_t1
850 ai2_spawn a2_red1
851 ai2_spawn LSI
852 chr_invincible LSI 1
853 sleep 240
854 music_stop
855 }
856
857 func void tsh_55(string ai_name)
858 {
859 dprint tsh_55
860 ai2_spawn sh_tank1
861 ai2_spawn sh_red1
862 ai2_spawn sh_s3
863 ai2_spawn sh_s4
864 ai2_spawn sh_s4b
865 set_objective_5
866 sleep 120
867 ai2_attack sh_s3 char_0
868 }
869
870 func void t62(string ai_name)
871 {
872 dprint t62
873 ai2_spawn sh_s1
874 ai2_spawn sh_s2
875 ai2_spawn sh_s6
876 }
877
878 func void femcop_holster(string ai_name)
879 {
880 dprint holstergun
881 chr_forceholster Lc_43 1
882 }
883
884 func void t72(string ai_name)
885 {
886 dprint t72
887 ai2_spawn sh_com1
888 ai2_spawn sh_tank2
889 ai2_spawn sh_s9
890 }
891
892 func void tv57(string ai_name)
893 {
894 dprint tv57
895 Attack
896 target_set(59,30.0)
897 }
898
899 func void goAttack(string ai_name)
900 {
901 music_intro_stop
902
903 dprint goAttack
904 trigvolume_enable tv_57t 1
905 input 0
906 fade_out 0 0 0 30
907 chr_delete l_c01
908 chr_delete lobby_striker_01
909 chr_delete lobby_striker_02
910 chr_delete garage_striker_01
911 chr_delete garage_striker_02
912 chr_delete garage_striker_03
913 chr_delete garage_striker_04
914 chr_delete garage_striker_05
915 chr_delete garage_striker_06
916 chr_delete garage_striker_07
917 chr_delete garage_striker_08
918 chr_delete garage_striker_09
919 chr_delete garage_striker_10
920 chr_delete l_s98
921 chr_delete l_s99
922 cm_interpolate stair_lock 0
923 fade_in 30
924 sleep 60
925 particle stair_lock_locklight01 do start
926 sleep 90
927 fade_out 0 0 0 30
928 cm_reset
929 fade_in 30
930 input 1
931 set_objective_2
932 ai2_spawn tanker_stairdoor
933 sound_dialog_play c00_01_27shinatama
934 }
935
936 func void tsh_60(string ai_name)
937 {
938 dprint tsh_60
939 ai2_spawn sh_s12
940 ai2_spawn sh_s12b
941 helicopter
942 }
943
944 func void ta_62(string ai_name)
945 {
946 dprint ta_62
947 if (chr_has_lsi(0))
948 {
949 trigvolume_enable trigger_volume_81 0
950 particle obj1 kill
951 ai2_kill
952 elev_count = 1;
953 sleep 10
954 Elevator
955 }
956 }
957
958 func void tv_58(string ai_name)
959 {
960 dprint tv_58
961 door_lock 41
962 particle security_locklight01 do stop
963 ai2_kill
964 Kidnap
965 set_objective_3
966 s2
967 }
968
969 func void tv_68(string ai_name)
970 {
971 dprint tv_68
972 ai2_spawn b_victim
973 }
974
975 func void tr_64(string ai_name)
976 {
977 dprint tr_64
978 target_set(58,0.0)
979 HeliOutroRight
980 trigvolume_enable tr_65t 0
981 trigvolume_enable tr_66t 0
982 trigvolume_enable tr_67t 0
983
984 }
985
986 func void tr_65(string ai_name)
987 {
988 dprint tr_65
989 target_set(58,0.0)
990 HeliOutroLeft
991 trigvolume_enable tr_64t 0
992 trigvolume_enable tr_66t 0
993 trigvolume_enable tr_67t 0
994
995 }
996
997 func void tr_66(string ai_name)
998 {
999 dprint tr_66
1000 target_set(58,0.0)
1001 HeliOutroMid
1002 trigvolume_enable tr_65t 0
1003 trigvolume_enable tr_64t 0
1004 trigvolume_enable tr_67t 0
1005
1006 }
1007
1008 func void tr_67(string ai_name)
1009 {
1010 dprint tr_67
1011 target_set(58,0.0)
1012 HeliOutroMidLt
1013 trigvolume_enable tr_65t 0
1014 trigvolume_enable tr_66t 0
1015 trigvolume_enable tr_64t 0
1016
1017 }
1018
1019 func void t100(string ai_name)
1020 {
1021 dprint t100
1022 ai2_spawn roof_tctf1
1023 ai2_spawn sh_s12c
1024 }
1025 #####################
1026 # save scripts #
1027 #####################
1028
1029 func void s1(string ai_name)
1030 {
1031 dprint SAVEDGAME
1032 save_game 1 autosave
1033 }
1034
1035 func void s2(string ai_name)
1036 {
1037 dprint SAVEDGAME
1038 save_game 2 autosave
1039 }
1040
1041 func void s3(string ai_name)
1042 {
1043 dprint SAVEDGAME
1044 save_game 3 autosave
1045 }
1046
1047 func void s4(string ai_name)
1048 {
1049 dprint SAVEDGAME
1050 save_game 4 autosave
1051 }
1052
1053 func void check_death(string ai_name)
1054 {
1055 dprint check_death
1056 counter = counter - 1
1057 if (trigvolume_count(99) eq 0)
1058 {
1059 if(counter eq 0)
1060 {
1061 sleep 210
1062 ai2_spawn a_t99
1063 }
1064 }
1065 }
1066
1067 func void spawn(string ai_name)
1068 {
1069 dprint spawn
1070 counter = counter + 1
1071 }