source: nikanabo/current/bsl/orig_mac/IGMD/tctf_ii/tctf2.bsl@ 1182

Last change on this file since 1182 was 185, checked in by geyser, 18 years ago
File size: 33.3 KB
Line 
1# tctf2_spawn
2# scripts for level 18 by wu
3
4var int counter=3;
5var int my_save_point=0;
6var int counterA=0;
7var int counterB=0;
8var int counterC=0;
9var int counterD=0;
10var int counterDestroy=0;
11var int lastdoor_count=0;
12var int sub1 = 0;
13var int sub2 = 0;
14var int sub3 = 0;
15var int ld1;
16var int ld2;
17var int ld3;
18var int audio_counter = 3;
19
20#########
21# music #
22#########
23func void music_intro(void)
24{
25 sound_music_start mus_main03 1.0
26# this music stopped in t2 script
27}
28
29func void music_chair(void)
30{
31 dprint music_chair
32 sound_music_start mus_wls 1.0
33# this music stopped in 11 and 11b script
34}
35
36func void music_atrium(void)
37{
38 dprint music_atrium
39 sound_music_start mus_trt .8
40# this music stopped in check_power script
41}
42
43func void music_zom(void)
44{
45 dprint music_zom
46 sound_music_start mus_sv 0.75
47# this music stopped in Zom script
48}
49
50func void music_stop(void)
51{
52 dprint STOP_THE_MUSIC
53 sound_music_stop mus_main03
54 sound_music_stop mus_wls
55 sound_music_stop mus_trt
56 sound_music_stop mus_sv
57}
58
59func void spawnA(void)
60{
61 dprint spawn_zone_A
62
63 ai2_spawn A_L19
64 ai2_spawn l1
65 ai2_spawn l3
66 ai2_spawn A_L12
67 ai2_spawn A_Lbo13
68 ai2_spawn A_L8
69 ai2_spawn l7
70}
71###############################
72# start and objectives #
73###############################
74func void start(string ai_name)
75{
76 dprint start
77 trig_deactivate 1
78 trig_deactivate 2
79 trig_deactivate 3
80 trig_deactivate 4
81 trig_deactivate 5
82 trig_deactivate 6
83 trig_deactivate 7
84 trig_deactivate 8
85 trig_deactivate 9
86 trig_deactivate 91
87 trig_deactivate 92
88 trig_deactivate 93
89 trig_deactivate 98
90 trig_deactivate 99
91 trig_deactivate 10
92 trig_deactivate 302
93 trig_deactivate 303
94 trig_deactivate 315
95 trig_deactivate 320
96 trig_deactivate 100
97 trig_deactivate 101
98 trig_deactivate 500
99 trig_deactivate 501
100 trig_deactivate 502
101 trig_deactivate 503
102 trig_deactivate 400
103 trig_deactivate 510
104 trig_deactivate 511
105 trig_deactivate 512
106 trig_deactivate 520
107 trig_deactivate 521
108 trig_deactivate 522
109 door_unlock 65
110 door_unlock 71
111# door_unlock 59
112 door_unlock 61
113 door_unlock 67
114 door_lock 7
115 door_lock 4
116 door_lock 5
117 door_lock 8
118 door_lock 6
119 door_lock 9
120 console_deactivate 3
121
122 # incidental zombie shinatama dialog
123 trigvolume_enable shinzom_voice1 0
124 trigvolume_enable shinzom_voice2 0
125 trigvolume_enable shinzom_voice3 0
126 trigvolume_enable shinzom_voice4 0
127
128 particle griffin_locklight01 do start
129 particle door42_locklight01 do start
130 particle stair_lock_locklight01 do start
131 particle roof_doors_locklight01 do start
132 trigvolume_enable trigger_volume_29 0
133 trigvolume_enable trigger_volume_35 0
134 trigvolume_enable trigger_volume_39 0
135 trigvolume_enable trigger_volume_36 0
136 trigvolume_enable trigger_volume_41 0
137
138 my_save_point = save_point;
139
140 if (my_save_point eq 0)
141 {
142 objective_set(1)
143 target_set(590,30.0)
144
145 Intro
146 spawnA
147 }
148
149 if (my_save_point eq 1)
150 {
151 dprint restore1
152 objective_set(1)
153 env_show 403 0
154 target_set(590,30.0)
155 spawnA
156 music_intro
157 restore_game
158 }
159
160 if (my_save_point eq 2)
161 {
162 dprint restore2
163 objective_set(2)
164 target_set(593,30.0)
165 trigvolume_enable trigger_volume_06 0
166 ai2_spawn B_S22
167
168 particle shin_lock_locklight01 do start
169 door_unlock 48
170 door_unlock 14
171 trig_activate 6
172 trig_activate 7
173 trig_activate 99
174 trig_activate 98
175 restore_game
176 }
177
178 if (my_save_point eq 3)
179 {
180 dprint restore3
181 particle shin_lock_locklight01 do stop
182 door_lock 14
183 objective_set(2)
184 trigvolume_enable trigger_volume_46 0
185 trigvolume_enable trigger_volume_47 0
186 trig_deactivate 60
187 trig_deactivate 61
188 trig_deactivate 62
189 trig_deactivate 63
190 trig_deactivate 64
191 trig_deactivate 65
192 trig_deactivate 70
193 trig_deactivate 71
194 trig_deactivate 72
195 trig_deactivate 73
196 trig_deactivate 74
197 trig_deactivate 75
198 trig_deactivate 91
199 trig_deactivate 92
200 trig_deactivate 93
201 trig_deactivate 98
202 trig_deactivate 99
203 trig_deactivate 6
204 trig_deactivate 7
205 target_set(587,30.0)
206 restore_game
207 spine1
208 sleep 7
209 spine2
210 sleep 7
211 spine3
212 }
213
214 if (my_save_point eq 4)
215 {
216 dprint restore4
217 objective_set(3)
218 target_set(596,30.0)
219 trig_deactivate 60
220 trig_deactivate 61
221 trig_deactivate 62
222 trig_deactivate 63
223 trig_deactivate 64
224 trig_deactivate 65
225 trig_deactivate 70
226 trig_deactivate 71
227 trig_deactivate 72
228 trig_deactivate 73
229 trig_deactivate 74
230 trig_deactivate 75
231 trig_deactivate 91
232 trig_deactivate 92
233 trig_deactivate 93
234 trig_deactivate 98
235 trig_deactivate 99
236 trig_deactivate 6
237 trig_deactivate 7
238 door_lock 42
239 particle door42_locklight01 do stop
240 ai2_spawn D_N74
241 restore_game
242 }
243
244 if (my_save_point eq 5)
245 {
246 dprint restore5
247 objective_set(4)
248 trigvolume_enable trigger_volume_42 0
249 trigvolume_enable trigger_volume_35 0
250 particle ZomShin_door_locklight01 do stop
251 door_lock 16
252
253 #TCTF II cutscene "Base"
254 env_show 171 1
255 env_show 172 1
256 env_show 173 1
257 env_show 174 1
258 particle Forcefield do start
259 particle zombiesteam start
260 sound_ambient_start zomshin_amb_loop 1.0
261 music_zom
262
263 GrifSpawn
264
265 # don't call the GrifSpawn function again
266 trigvolume_enable t9 0
267
268 create_zomshin
269 playback ZomShin BaseShin
270
271 restore_game
272
273 zombie_round_2
274 # chr_teleport 0 589
275 }
276}
277
278func void you_lose(string ai_name)
279{
280 sleep 240
281 fade_out 0 0 0 180
282 sleep 240
283 lose
284}
285
286func void you_win(int char_index)
287{
288 outro
289 win
290}
291
292func void set_objective_1(string ai_name)
293{
294 dprint set_objective_1
295 objective_set(1)
296 target_set (1,0)
297}
298
299func void set_objective_2(string ai_name)
300{
301 dprint set_objective_2
302 objective_set(2)
303 target_set (1,0)
304}
305
306func void set_objective_3(string ai_name)
307{
308 dprint set_objective_3
309 objective_set(3)
310 target_set (1,0)
311}
312
313func void set_objective_4(string ai_name)
314{
315 dprint set_objective_4
316 objective_set(4)
317 target_set (401,30)
318 particle ZomShin_door_locklight01 do start
319}
320
321
322#################################
323# cut scene scripts #
324#################################
325
326func void grifdies(string ai_name)
327{
328 killed_griffen 1
329 OutroKill
330}
331
332func void t35(string ai_name)
333{
334 killed_griffen 0
335 OutroNoKill
336}
337
338func void outta_sight(string ai_name)
339{
340 ai2_dopath n5 patrol_99
341 ai2_setjobstate n5
342}
343
344#########################
345# trigger volume stuff #
346#########################
347
348func void t68(string ai_name)
349{
350 ai2_spawn mbo_femcop
351}
352
353func void t2(string ai_name)
354{
355 dprint t2_active
356 trigvolume_enable trigger_volume_61 0
357 ai2_spawn n5
358 ai2_spawn A_Sbo14
359 ai2_dopath A_Sbo14 patrol_14
360 ai2_setjobstate A_Sbo14
361 ai2_spawn A_Sbo15
362 sleep 30
363 ai2_dopath A_Sbo15 patrol_14
364 ai2_setjobstate A_Sbo15
365# ai2_spawn A_Sbo16
366 music_stop
367
368}
369
370func void t61(string ai_name)
371{
372 dprint t61_active
373 trigvolume_enable trigger_volume_02 0
374 ai2_spawn n5
375 ai2_spawn A_Sbo14
376 ai2_spawn A_Sbo15
377 music_stop
378}
379
380func void t3(string ai_name)
381{
382 dprint t3_active
383 ai2_dopath A_n17 patrol_16
384 ai2_setjobstate A_n17
385
386}
387
388func void t4(string ai_name)
389{
390 dprint t4_active
391 ai2_spawn A_L18
392}
393
394func void t6(string ai_name)
395{
396 dprint t6_active
397 ai2_spawn A_L20
398 ai2_spawn A_L21
399 ai2_spawn B_S22
400 ai2_makeignoreplayer B_S22 1
401 trig_activate 6
402 trig_activate 7
403 trig_activate 99
404 trig_activate 98
405 target_set(593,30.0)
406}
407
408func void t7(string ai_name)
409{
410 dprint t7_active
411 ai2_dopath B_S22 patrol_23
412 ai2_setjobstate B_S22
413 ai2_makeignoreplayer B_S22 0
414 ai2_spawn B_N28
415}
416
417func void t7b(string ai_name)
418{
419 dprint t7b_active
420 ai2_spawn B_Lbo26
421 playback_block B_Lbo26 run1 interp 20
422 sleep 20
423 ai2_dopath B_Lbo26 patrol_27
424 ai2_setjobstate B_Lbo26
425
426}
427
428func void t8(string ai_name)
429{
430 dprint t8_active
431 chr_delete A_L19
432 chr_delete l1
433 chr_delete l3
434 chr_delete A_L12
435 chr_delete A_Lbo13
436 chr_delete A_L8
437 chr_delete l7
438 chr_delete n5
439 chr_delete A_T25
440 chr_delete A_n17
441 chr_delete A_N31
442 ai2_spawn B_Sbo38
443 ai2_spawn B_S36
444 ai2_makeignoreplayer B_S36 1
445 ai2_spawn B_L40
446 ai2_spawn B_L41
447 music_chair
448 sleep 90
449 substation_monologue
450}
451
452func void t9(string ai_name)
453{
454 dprint t9_spawning_griffin
455# ai2_spawn ZomGrif
456 GrifSpawn
457 target_set (1,0.0)
458}
459
460func void t10(string ai_name)
461{
462 dprint t10_active
463 ai2_spawn B_S29
464}
465
466func void t11(string ai_name)
467{
468 dprint t11_active
469 ai2_dopath B_S36 patrol_38
470 ai2_setjobstate B_S36
471 ai2_makeignoreplayer B_Sbo38 0
472# ai2_makeignoreplayer B_Sbo35 0
473 ai2_makeignoreplayer B_S36 0
474 ai2_makeignoreplayer B_S37 0
475 ai2_spawn B_Lbo76
476# ai2_spawn B_Lbo77
477 ai2_spawn B_C34
478 ai2_spawn B_C33
479 ai2_spawn B_C32
480 trigvolume_enable trigger_volume_11_copy 0
481 music_stop
482}
483
484func void t59(string ai_name)
485{
486 ai2_spawn B_L30
487 ai2_spawn B_L95
488 ai2_spawn B_Lbo27
489}
490
491func void t60(string ai_name)
492{
493 ai2_spawn B_C32
494 ai2_spawn B_C34
495 ai2_spawn B_C33
496 ai2_makeignoreplayer B_S36 0
497}
498
499func void t67(string ai_name)
500{
501 ai2_spawn B_S43
502}
503
504func void t11b(string ai_name)
505{
506 dprint t11b_active
507 ai2_dopath B_S36 patrol_38
508 ai2_setjobstate B_S36
509 ai2_makeignoreplayer B_Sbo38 0
510# ai2_makeignoreplayer B_Sbo35 0
511 ai2_makeignoreplayer B_S36 0
512 ai2_makeignoreplayer B_S37 0
513 ai2_spawn B_Lbo76
514# ai2_spawn B_Lbo77
515 trigvolume_enable trigger_volume_11 0
516 music_stop
517}
518
519func void t12(string ai_name)
520{
521 dprint t12_active
522 ai2_dopath B_N28 patrol_42
523 ai2_setjobstate B_N28
524}
525
526func void t14(string ai_name)
527{
528 dprint t14_active
529 ai2_spawn C_Sbo44
530# ai2_spawn C_C46
531 ai2_spawn C_C47
532 ai2_spawn C_N48
533# ai2_spawn C_L50
534# ai2_makeignoreplayer C_L50 1
535# ai2_spawn C_L51
536# ai2_makeignoreplayer C_L51 1
537
538}
539
540func void t15(string ai_name)
541{
542 dprint t15_active
543 ai2_lookatme C_L51
544 ai2_dopath C_L51 patrol_51
545 ai2_setjobstate C_L51
546 ai2_makeignoreplayer C_L51 0
547 sleep 90
548 ai2_lookatme C_L50
549 ai2_dopath C_L50 patrol_50
550 ai2_setjobstate C_L50
551 ai2_makeignoreplayer C_L50 0
552
553}
554
555func void t16(string ai_name)
556{
557 dprint t16_active
558 ai2_makeignoreplayer C_L50 0
559 ai2_makeignoreplayer C_L51 0
560
561}
562
563func void t17(string ai_name)
564{
565 dprint t17_active
566 ai2_makeignoreplayer C_N55 0
567 ai2_spawn C_Sbo56
568
569}
570
571func void t18(string ai_name)
572{
573 dprint t18_active
574 ai2_spawn C_S57
575
576}
577
578func void t19(string ai_name)
579{
580 dprint t19_active
581 ai2_spawn C_S58
582 ai2_spawn C_S59
583
584}
585
586func void t20(string ai_name)
587{
588 dprint t20_active
589# sleep 200
590 ai2_spawn C_Lbo62
591 ai2_spawn C_Sbo61
592
593}
594
595func void t21(string ai_name)
596{
597 dprint t21_active
598 ai2_spawn C_Sbo63
599 ai2_spawn C_Sbo64
600
601}
602
603func void t22(string ai_name)
604{
605 dprint t22_active
606 ai2_makeignoreplayer C_C65 0
607
608}
609
610func void t23(string ai_name)
611{
612 dprint t23_active
613 ai2_spawn C_L71
614 ai2_spawn C_S72
615 ai2_spawn C_N74
616
617}
618
619func void t25(string ai_name)
620{
621 dprint t25_active
622 ai2_spawn D_C70
623 ai2_makeignoreplayer D_C70 1
624 ai2_spawn D_Sbo71
625 ai2_spawn D_Sbo72
626 ai2_spawn D_Sbo73
627 ai2_spawn D_Sbo75
628 ai2_spawn D_N76
629
630}
631
632func void t26(string ai_name)
633{
634 dprint t26_active
635 ai2_spawn D_L74
636 ai2_spawn new_1
637}
638
639func void t28(string ai_name)
640{
641 dprint t28_active
642 ai2_spawn D_S78
643 ai2_spawn D_S79
644 trigvolume_enable trigger_volume_29 1
645
646}
647
648func void t29(string ai_name)
649{
650 dprint t29_active
651 ai2_spawn D_Lbo81
652 ai2_spawn D_S82
653
654}
655
656func void t30(string ai_name)
657{
658 dprint t30_active
659 ai2_spawn D_L80
660
661}
662
663func void t31(string ai_name)
664{
665 dprint t31_active
666 ai2_spawn D_S83
667 ai2_spawn D_L84
668 ai2_spawn D_Lbo85
669 ai2_spawn D_Sbo86
670 trigvolume_enable trigger_volume_32 0
671}
672
673func void t32(string ai_name)
674{
675 dprint t32_active
676 ai2_spawn D_L88
677 ai2_spawn D_S87
678 ai2_spawn D_Sbo86
679 trigvolume_enable trigger_volume_31 0
680 target_set(599,30.0)
681}
682
683
684func void t33(string ai_name)
685{
686 dprint t33_active
687 door_lock 97
688 particle lastdoor1_locklight01 do stop
689 particle lastdoor2_locklight01 do stop
690 particle lastdoor3_locklight01 do stop
691 #play doorsound
692}
693
694func void t34(string ai_name)
695{
696 dprint t34_active
697 ai2_spawn D_Sbo75
698 ai2_spawn D_Sbo92
699 ai2_spawn D_L91
700 ai2_spawn D_S90
701 ai2_spawn D_S89
702}
703
704func void t37(string ai_name)
705{
706 dprint t37_active
707 ai2_makeignoreplayer D_C70 0
708
709}
710
711func void t38(string ai_name)
712{
713 dprint t38
714# ai2_spawn B_N31
715
716}
717
718func void t41(string ai_name)
719{
720 dprint t41_active
721 target_set(596,30.0)
722}
723
724func void t42(string ai_name)
725{
726 dprint t42_active
727 door_lock 16
728 particle ZomShin_door_locklight01 do stop
729 trigvolume_enable trigger_volume_35 0
730 Base
731 s5
732}
733
734func void t43(string ai_name)
735{
736 dprint t43_active
737 ai2_spawn B_S96
738}
739
740func void t44(string ai_name)
741{
742 dprint t44
743 target_set(598,30.0)
744}
745
746func void t45(string ai_name)
747{
748 dprint t45_active
749 target_set(587,30.0)
750 door_lock 14
751 particle shin_lock_locklight01 do stop
752 console_activate 3
753# play door lock sound
754 trig_deactivate 60
755 trig_deactivate 61
756 trig_deactivate 62
757 trig_deactivate 63
758 trig_deactivate 64
759 trig_deactivate 65
760 trig_deactivate 70
761 trig_deactivate 71
762 trig_deactivate 72
763 trig_deactivate 73
764 trig_deactivate 74
765 trig_deactivate 75
766 trig_deactivate 91
767 trig_deactivate 92
768 trig_deactivate 93
769 trig_deactivate 98
770 trig_deactivate 99
771 trig_deactivate 6
772 trig_deactivate 7
773 if (trigvolume_count(20) eq 0)
774 {
775 dprint delete_B_AI
776 chr_delete B_L95
777 chr_delete B_Lbo27
778 chr_delete B_S29
779 chr_delete B_L30
780 chr_delete B_Sbo38
781 chr_delete B_S36
782 chr_delete B_S37
783 chr_delete B_L40
784 chr_delete B_L41
785 chr_delete B_Lbo39
786 chr_delete B_S43
787 chr_delete B_C32
788 chr_delete B_C33
789 chr_delete B_C34
790 chr_delete B_Lbo26
791 chr_delete B_S96
792 chr_delete B_Lbo76
793 chr_delete B_S22
794 chr_delete B_N31
795 chr_delete B_Lbo77
796 }
797 dprint delete_A_AI
798 chr_delete A_L20
799 chr_delete A_L21
800 chr_delete A_Sbo15
801 chr_delete A_Sbo14
802 chr_delete A_L19
803 chr_delete l1
804 chr_delete l3
805 chr_delete A_L12
806 chr_delete A_Lbo13
807 chr_delete A_L8
808 chr_delete l7
809 chr_delete n5
810 chr_delete A_T25
811 chr_delete B_N28
812 chr_delete A_n17
813 chr_delete A_N31
814}
815
816func void attack_konoko(string ai_name)
817{
818 ai2_attack new_1 A_player
819}
820
821func void substation_monologue(void)
822{
823 dprint playkonokoline
824 sound_dialog_play c14_54_24konoko
825 cinematic_start (KONtalkangryfront, 180, 180, 19, 7, 20)
826 sound_dialog_play_block
827 sleep f60
828 cinematic_stop (KONtalkangryfront, 19, 20)
829
830 objective_set(2, silent)
831}
832
833func void save3_and_spine(string ai_name)
834{
835 s3
836 spine1
837 sleep 7
838 spine2
839 sleep 7
840 spine3
841}
842func void t45b(string ai_name)
843{
844 dprint t45b_modified_by_okita
845 ai2_spawn C_L51
846 ai2_spawn C_L50
847 ai2_spawn C_C65
848 ai2_spawn C_N66
849 ai2_spawn C_Sbo93
850 ai2_spawn C_N60
851 ai2_spawn C_N55
852 ai2_makeignoreplayer C_L50 1
853 ai2_makeignoreplayer C_L51 1
854 ai2_makeignoreplayer C_N55 1
855 ai2_makeignoreplayer C_C65 1
856 trig_activate 1
857 trig_activate 2
858 trig_activate 3
859 trig_activate 4
860 trig_activate 5
861 trig_activate 8
862 trig_activate 303
863 trig_activate 100
864 trig_activate 101
865 trig_activate 500
866 trig_activate 400
867 trig_activate 503
868 trig_activate 502
869 trig_activate 501
870 trig_activate 510
871 trig_activate 511
872 trig_activate 512
873 trig_activate 520
874 trig_activate 521
875 trig_activate 522
876 trig_activate 320
877 trig_activate 315
878 trig_activate 302
879 music_atrium
880}
881################ begin #################
882########## okita's modification ########
883########################################
884func void spine1(void)
885{
886 dprint spine1_start
887
888 if (sub1 eq 0)
889 {
890 particle spine1 start
891 particle spinesound1 start
892 }
893}
894
895func void spine2(void)
896{
897 dprint spine2_start
898
899 if (sub2 eq 0)
900 {
901 particle spine2 start
902 particle spinesound2 start
903 }
904}
905
906func void spine3(void)
907{
908 dprint spine3_start
909
910 if (sub3 eq 0)
911 {
912 particle spine3 start
913 particle spinesound3 start
914 }
915}
916################ end #################
917########## okita's modification ########
918########################################
919func void patrolscript0001(void)
920{
921 playback_block B_S22 taunt1 interp 20
922}
923
924func void B_S22_run (string ai_name)
925{
926 ai2_dopath B_S22 patrol_24
927 ai2_setjobstate B_S22
928}
929
930func void A_T25_run (string ai_name)
931{
932 ai2_dopath A_T25 patrol_25
933 ai2_setjobstate A_T25
934}
935
936func void t39(string ai_name)
937{
938 target_set(598,30.0)
939}
940
941func void t48(string ai_name)
942{
943 ai2_spawn D_S101
944 ai2_spawn D_C100
945}
946#########################################
947# console/special #
948#########################################
949func void unlock14(string ai_name)
950{
951 dprint unlock14_active
952 door_unlock 14
953 particle shin_lock_locklight01 do start
954}
955
956func void console_android(void)
957{
958 text_console level_18b
959 console_reset 16
960}
961
962func void console_zombie(void)
963{
964 text_console level_18a
965 console_reset 17
966}
967
968func void console1(string ai_name)
969{
970 dprint console1_active
971 text_console level_18c
972 console_reset 14
973 console_activate 14
974}
975
976func void console2(string ai_name)
977{
978 dprint console2_active
979 text_console level_18d
980 console_reset 15
981}
982
983func void level_18e(string ai_name)
984{
985 dprint text_18e
986 text_console level_18e
987 console_reset 1
988 console_activate 1
989}
990
991func void lastdoor_console(string ai_name)
992{
993 dprint lastdoor_console
994 lastdoor_count = lastdoor_count + 1
995 if (lastdoor_count eq 1)
996 {
997 input 0
998 fade_out 0 0 0 30
999 cm_interpolate lastdoor_cam 0
1000 fade_in 30
1001 sleep 60
1002 particle lastdoor3_locklight01 do start
1003 sleep 30
1004 fade_out 0 0 0 30
1005 cm_reset
1006 input 1
1007 fade_in 30
1008 }
1009 if (lastdoor_count eq 2)
1010 {
1011 input 0
1012 fade_out 0 0 0 30
1013 cm_interpolate lastdoor_cam 0
1014 fade_in 30
1015 sleep 60
1016 particle lastdoor2_locklight01 do start
1017 sleep 30
1018 fade_out 0 0 0 30
1019 cm_reset
1020 input 1
1021 fade_in 30
1022 }
1023 if (lastdoor_count eq 3)
1024 {
1025 input 0
1026 fade_out 0 0 0 30
1027 cm_interpolate lastdoor_cam 0
1028 fade_in 30
1029 sleep 60
1030 particle lastdoor1_locklight01 do start
1031 set_objective_4
1032 target_set(401,30.0)
1033 sleep 30
1034 fade_out 0 0 0 30
1035 cm_reset
1036 input 1
1037 fade_in 30
1038 trigvolume_enable trigger_volume_40 0
1039 door_unlock 97
1040 }
1041
1042}
1043
1044func void refuse_script(string ai_name)
1045{
1046 dprint refuse
1047 ai2_dopath C_N48 patrol_98
1048}
1049
1050func void patrolscript0098(string ai_name)
1051{
1052 dprint patrolscript0098
1053 ai2_doalarm C_N48 10
1054}
1055
1056func void shin_lock(string ai_name)
1057{
1058 particle shin_lock_locklight01 do start
1059}
1060
1061func void stair_lock(string ai_name)
1062{
1063 particle stair_lock_locklight01 do start
1064}
1065
1066func void roof(string ai_name)
1067{
1068 particle roof_locklight01 do start
1069 particle shin_lock_locklight01 do start
1070 ai2_spawn A_T25
1071
1072}
1073
1074func void floor4_lock(string ai_name)
1075{
1076 particle floor4_lock_locklight01 do start
1077 trigvolume_enable trigger_volume_39 1
1078
1079}
1080
1081func void roof_doors(string ai_name)
1082{
1083 particle roof_doors_locklight01 do start
1084
1085}
1086
1087func void roof_door2(string ai_name)
1088{
1089 particle roof_door2_locklight01 do start
1090 ai2_spawn A_n17
1091}
1092
1093func void enable_t29(string ai_name)
1094{
1095 trigvolume_enable trigger_volume_29 1
1096
1097}
1098
1099func void t40(string ai_name)
1100{
1101 dprint t40_active
1102 if(sub1 ne 1)
1103 {
1104 if (audio_counter eq 2)
1105 {
1106 if(trigvolume_count(49) eq 0)
1107 {
1108 trigvolume_enable trigger_volume_40 0
1109 sound_dialog_play c14_54_26konoko
1110 sound_dialog_play_block pause
1111 audio_counter = audio_counter - 1;
1112 }
1113 }
1114 if (audio_counter eq 3)
1115 {
1116 if(trigvolume_count(49) eq 0)
1117 {
1118 trigvolume_enable trigger_volume_40 0
1119 sound_dialog_play c14_54_25konoko
1120 sound_dialog_play_block pause
1121 audio_counter = audio_counter - 1;
1122 }
1123 }
1124 }
1125}
1126
1127func void t50(string ai_name)
1128{
1129 dprint t50_active
1130 if(sub2 ne 1)
1131 {
1132 if (audio_counter eq 2)
1133 {
1134 if(trigvolume_count(51) eq 0)
1135 {
1136
1137 trigvolume_enable trigger_volume_50 0
1138 sound_dialog_play c14_54_26konoko
1139 sound_dialog_play_block pause
1140 audio_counter = audio_counter - 1;
1141 }
1142 }
1143 if (audio_counter eq 3)
1144 {
1145 if(trigvolume_count(51) eq 0)
1146 {
1147 trigvolume_enable trigger_volume_50 0
1148 sound_dialog_play c14_54_25konoko
1149 sound_dialog_play_block pause
1150 audio_counter = audio_counter - 1;
1151 }
1152 }
1153 }
1154}
1155
1156func void t53(string ai_name)
1157{
1158 dprint t53_active
1159 if(sub3 ne 1)
1160 {
1161 if (audio_counter eq 2)
1162 {
1163 if(trigvolume_count (54) eq 0)
1164 {
1165 trigvolume_enable trigger_volume_53 0
1166 sound_dialog_play c14_54_26konoko
1167 sound_dialog_play_block pause
1168 audio_counter = audio_counter - 1;
1169 }
1170 }
1171 if (audio_counter eq 3)
1172 {
1173 if(trigvolume_count(54) eq 0)
1174 {
1175 trigvolume_enable trigger_volume_53 0
1176 sound_dialog_play c14_54_25konoko
1177 sound_dialog_play_block pause
1178 audio_counter = audio_counter - 1;
1179 }
1180 }
1181 }
1182}
1183
1184func powersub1(string ai_name)
1185{
1186 dprint powersub1_active
1187 sub1 = 1;
1188 particle spine1 stop
1189 particle spinesound1 stop
1190
1191 if(sub3 eq 0)
1192 {
1193 target_set(594,30.0)
1194 }
1195 if(sub3 ne 0)
1196 {
1197 if(sub2 eq 0)
1198 {
1199 target_set(595,30.0)
1200 }
1201 }
1202 check_power
1203}
1204
1205func powersub2(string ai_name)
1206{
1207 dprint powersub2_active
1208 particle spine2 do stop
1209 particle spinesound2 stop
1210 sub2 = 1;
1211 if(sub3 eq 0)
1212 {
1213 target_set(594,30.0)
1214 }
1215 if(sub3 ne 0)
1216 {
1217 if(sub1 eq 0)
1218 {
1219 target_set(587,30.0)
1220 }
1221 }
1222 check_power
1223}
1224
1225func powersub3(string ai_name)
1226{
1227 dprint powersub3_active
1228 sub3 = 1;
1229 particle spine3 do stop
1230 particle spinesound3 stop
1231 if(sub2 eq 0)
1232 {
1233 target_set(595,30.0)
1234 }
1235
1236 if(sub2 ne 0)
1237 {
1238 if(sub1 eq 0)
1239 {
1240 target_set(587,30.0)
1241 }
1242 }
1243 check_power
1244}
1245
1246func check_power(string ai_name)
1247{
1248 dprint check_power_active
1249 counter = counter - 1
1250 if (counter eq 1)
1251 {
1252 sound_dialog_play c14_54_27konoko
1253 sound_dialog_play_block pause
1254 }
1255
1256 if (counter eq 0)
1257 {
1258 dprint power_down
1259 trigvolume_enable trigger_volume_36 1
1260 trigvolume_enable trigger_volume_41 1
1261 input 0
1262 fade_out 0 0 0 30
1263 cm_interpolate substation 0
1264 fade_in 30
1265 # sleep 180
1266 trig_deactivate 1
1267 trig_deactivate 2
1268 trig_deactivate 3
1269 trig_deactivate 4
1270 trig_deactivate 5
1271 trig_deactivate 8
1272 trig_deactivate 303
1273 trig_deactivate 100
1274 trig_deactivate 101
1275 trig_deactivate 500
1276 trig_deactivate 400
1277 sleep 15
1278 trig_deactivate 503
1279 sleep 5
1280 trig_deactivate 502
1281 sleep 5
1282 trig_deactivate 501
1283 sleep 15
1284 trig_deactivate 510
1285 sleep 5
1286 trig_deactivate 511
1287 sleep 5
1288 trig_deactivate 512
1289 sleep 15
1290 trig_deactivate 520
1291 sleep 5
1292 trig_deactivate 521
1293 sleep 5
1294 trig_deactivate 522
1295 sleep 15
1296 trig_deactivate 320
1297 sleep 15
1298 trig_deactivate 315
1299 sleep 15
1300 trig_deactivate 302
1301 door_unlock 16
1302 particle ZomShin_door_locklight do start
1303 sleep 120
1304 fade_out 0 0 0 240
1305 cm_reset
1306 input 1
1307 target_set(403, 30.0)
1308 fade_in 30
1309 music_stop
1310 objective_set(3)
1311 }
1312}
1313
1314func void lastdoor1(string ai_name)
1315{
1316 ld1=1
1317 if(ld2 eq 0)
1318 {
1319 target_set(599,30.0)
1320 }
1321 if (ld2 ne 0)
1322 {
1323 if(ld3 eq 0)
1324 {
1325 target_set(598,30.0)
1326 }
1327 }
1328}
1329
1330func void lastdoor2(string ai_name)
1331{
1332 ld2=1
1333 if(ld3 eq 0)
1334 {
1335 target_set(598,30.0)
1336 }
1337 if(ld3 ne 0)
1338 {
1339 if(ld1 eq 0)
1340 {
1341 target_set(597,30.0)
1342 }
1343 }
1344}
1345
1346func void lastdoor3(string ai_name)
1347{
1348 ld3=1
1349 if(ld2 eq 0)
1350 {
1351 target_set(599,30.0)
1352 }
1353 if(ld2 ne 0)
1354 {
1355 if(ld1 eq 0)
1356 {
1357 target_set(597,30.0)
1358 }
1359 }
1360}
1361
1362#########################
1363# save game #
1364#########################
1365func void s1(string ai_name)
1366{
1367 dprint SAVEDGAME1
1368
1369 if (my_save_point ne 1)
1370 {
1371 save_game 1 autosave
1372 }
1373}
1374
1375func void s2(string ai_name)
1376{
1377 dprint SAVEDGAME2
1378
1379 if (my_save_point ne 2)
1380 {
1381 save_game 2 autosave
1382 }
1383}
1384
1385func void s3(string ai_name)
1386{
1387 dprint SAVEDGAME3
1388
1389 if (my_save_point ne 3)
1390 {
1391 save_game 3 autosave
1392 }
1393}
1394
1395func void s4(string ai_name)
1396{
1397 dprint SAVEDGAME4
1398
1399 if (my_save_point ne 4)
1400 {
1401 save_game 4 autosave
1402 }
1403}
1404
1405func void s5(string ai_name)
1406{
1407 dprint SAVEDGAME5
1408
1409 if (my_save_point ne 5)
1410 {
1411 save_game 5 autosave
1412 }
1413}
1414
1415###############################################
1416##### FURIOUS ZOMBIE SHINATAMA FIGHT ######
1417###############################################
1418
1419var int console_count = 4;
1420var int zombie_counter_var = 0;
1421
1422func void zombie_counter(string player_name)
1423{
1424 console_count = console_count - 1;
1425
1426 door_lock 16
1427
1428 if (console_count eq 0)
1429 {
1430 console_count = 4;
1431
1432 dprint zombie_counter
1433 zombie_counter_var = zombie_counter_var + 1;
1434
1435 if (zombie_counter_var eq 0)
1436 {
1437 zombie_round_2
1438 }
1439
1440 if (zombie_counter_var eq 1)
1441 {
1442 zombie_round_3
1443 }
1444
1445 if (zombie_counter_var eq 2)
1446 {
1447 zombie_round_4
1448 }
1449
1450 if (zombie_counter_var eq 3)
1451 {
1452 zombie_round_5
1453 }
1454 }
1455}
1456
1457func void t52(string ai_name)
1458{
1459 ai2_dopath ZomGrif patrol_102
1460}
1461
1462func void t55(string ai_name)
1463{
1464 ai2_dopath ZomGrif patrol_103
1465}
1466
1467func void t56(string ai_name)
1468{
1469 ai2_dopath ZomGrif patrol_104
1470}
1471
1472func void t57(string ai_name)
1473{
1474 ai2_dopath ZomGrif patrol_105
1475}
1476
1477func void t58(string ai_name)
1478{
1479 ai2_spawn C_Lbo53
1480 ai2_spawn C_Sbo52
1481}
1482
1483func void zombie_dialog_round3(void)
1484{
1485 sound_dialog_play c14_51_07shinatama
1486 cinematic_start(SHINZOMlistening, 180,180,19,8,20, false)
1487 sound_dialog_play_block
1488 cinematic_stop (SHINZOMlistening, 19, 20)
1489}
1490
1491func void zombie_dialog_round4(void)
1492{
1493 sound_dialog_play c14_51_08shinatama
1494 cinematic_start(SHINZOMlistening, 180,180,19,8,20, false)
1495 sound_dialog_play_block
1496 cinematic_stop (SHINZOMlistening, 19, 20)
1497}
1498
1499func void zombie_dialog_round5(void)
1500{
1501 sound_dialog_play c14_51_09shinatama
1502 cinematic_start(SHINZOMlistening, 180,180,19,8,20, false)
1503 sound_dialog_play_block
1504 cinematic_stop (SHINZOMlistening, 19, 20)
1505}
1506
1507# CB: this round is not called any longer! only zombie rounds 2-5 are used now
1508# ZOMBIE ROUND 1
1509func void zombie_round_1(string ai_name)
1510{
1511 dprint zombie_round_1
1512
1513 particle zombie1 create
1514 particle zombie1 start
1515
1516 ai2_allpassive 1
1517 input 0
1518
1519 # CB: kill all weapon particles
1520 p3_removedangerous
1521
1522 sleep 120
1523
1524 trig_show 91
1525 trig_show 92
1526 trig_show 93
1527
1528 trig_activate 91
1529 trig_activate 92
1530 trig_activate 93
1531
1532 sleep 30
1533
1534# trig_speed 202 .2
1535# trig_speed 204 .2
1536# trig_hide 2023
1537# trig_hide 2013
1538
1539# particle ????? start
1540# particle ????? start
1541
1542 cm_reset
1543 input 1
1544 sleep 90
1545 ai2_allpassive 0
1546 ai2_makeignoreplayer ZomGrif 1
1547}
1548
1549# CB: this round has all the old zombie round 2 setup including camera angles
1550# OLD ZOMBIE ROUND 2
1551func void old_zombie_round_2(string ai_name)
1552{
1553 dprint zombie_round_2
1554
1555 ai2_allpassive 1
1556 turret_deactivate 330
1557 turret_deactivate 333
1558 turret_deactivate 336
1559 input 0
1560
1561 # CB: kill all weapon particles
1562 p3_removedangerous
1563
1564 particle zombie1 kill
1565
1566 sleep 90
1567
1568 cm_interpolate zombie_hint 0
1569
1570 particle zombie1 create
1571 particle zombie1 start
1572
1573 sleep 120
1574
1575 trig_deactivate 91
1576 trig_deactivate 92
1577 trig_deactivate 93
1578
1579 dprint trig_off_1
1580
1581 sleep 15
1582 trig_hide 91
1583 sleep 15
1584 trig_hide 92
1585 sleep 15
1586 trig_hide 93
1587
1588 sleep 120
1589
1590 trig_show 210
1591 trig_show 310
1592 trig_show 410
1593 trig_show 510
1594
1595 trig_activate 210
1596 trig_activate 310
1597 trig_activate 410
1598 trig_activate 510
1599
1600 trig_reset 91
1601 trig_reset 92
1602 trig_reset 93
1603
1604 sleep 15
1605 trig_show 91
1606 sleep 15
1607 trig_show 92
1608 sleep 15
1609 trig_show 93
1610
1611 trig_activate 91
1612 trig_activate 92
1613 trig_activate 93
1614
1615 sleep 90
1616
1617 cm_reset
1618 input 1
1619 sleep 90
1620 ai2_allpassive 0
1621 ai2_passive ZomShin 1
1622 ai2_makeignoreplayer ZomGrif 1
1623
1624 console_reset 399
1625 console_reset 400
1626 console_reset 401
1627 console_reset 402
1628}
1629
1630# CB: this round is the new zombie round 2 setup which is tabulae rasa
1631# and fit to be called from a save point, or from the cutscene
1632# ZOMBIE ROUND 2
1633func void zombie_round_2(string ai_name)
1634{
1635 dprint zombie_round_2_active
1636
1637 particle zombie1 create
1638 particle zombie1 start
1639
1640 ai2_allpassive 1
1641 input 0
1642
1643 # CB: kill all weapon particles
1644 p3_removedangerous
1645
1646 sleep 120
1647
1648 trig_show 210
1649 trig_show 310
1650 trig_show 410
1651 trig_show 510
1652
1653 trig_activate 210
1654 trig_activate 310
1655 trig_activate 410
1656 trig_activate 510
1657
1658 trig_reset 91
1659 trig_reset 92
1660 trig_reset 93
1661
1662 sleep 15
1663 trig_show 91
1664 sleep 15
1665 trig_show 92
1666 sleep 15
1667 trig_show 93
1668
1669 trig_activate 91
1670 trig_activate 92
1671 trig_activate 93
1672
1673 # incidental zombie shinatama dialog
1674 trigvolume_enable shinzom_voice1 1
1675 trigvolume_enable shinzom_voice2 1
1676
1677 cm_reset
1678 input 1
1679 sleep 90
1680 ai2_allpassive 0
1681 ai2_makeignoreplayer ZomGrif 1
1682 ai2_passive ZomShin 1
1683}
1684
1685# ZOMBIE ROUND 3
1686func void zombie_round_3(string ai_name)
1687{
1688 dprint zombie_round_3_active
1689
1690 ai2_allpassive 1
1691 turret_deactivate 330
1692 turret_deactivate 333
1693 turret_deactivate 336
1694 input 0
1695
1696 # CB: kill all weapon particles
1697 p3_removedangerous
1698
1699 particle zombie1 kill
1700
1701 # incidental zombie shinatama dialog
1702 trigvolume_enable shinzom_voice3 1
1703
1704 sleep 90
1705
1706 cm_interpolate zombie_hint 0
1707
1708 particle zombie1 create
1709 particle zombie1 start
1710 sleep 20
1711 particle zombie1 kill
1712 sleep 10
1713 particle zombie1 create
1714 particle zombie1 start
1715
1716 sleep 120
1717
1718 trig_deactivate 91
1719 trig_deactivate 92
1720 trig_deactivate 93
1721
1722 dprint trig_off_2
1723
1724 sleep 15
1725 trig_hide 91
1726 sleep 15
1727 trig_hide 92
1728 sleep 15
1729 trig_hide 93
1730
1731 trig_deactivate 210
1732 trig_deactivate 310
1733 trig_deactivate 410
1734 trig_deactivate 510
1735
1736 fork zombie_dialog_round3
1737 sleep 120
1738
1739 trig_reset 91
1740 trig_reset 92
1741 trig_reset 93
1742
1743 sleep 15
1744 trig_show 91
1745 sleep 15
1746 trig_show 92
1747 sleep 15
1748 trig_show 93
1749
1750 trig_activate 91
1751 trig_activate 92
1752 trig_activate 93
1753
1754 trig_reset 210
1755 trig_reset 310
1756 trig_reset 410
1757 trig_reset 510
1758
1759 trig_activate 210
1760 trig_activate 310
1761 trig_activate 410
1762 trig_activate 510
1763
1764 trig_show 2101
1765 trig_show 3101
1766 trig_show 4101
1767 trig_show 5101
1768
1769 trig_activate 2101
1770 trig_activate 3101
1771 trig_activate 4101
1772 trig_activate 5101
1773
1774 trig_speed 210 .3
1775 trig_speed 310 .3
1776 trig_speed 410 .3
1777 trig_speed 510 .3
1778
1779 trig_speed 2101 .3
1780 trig_speed 3101 .3
1781 trig_speed 4101 .3
1782 trig_speed 5101 .3
1783
1784 sleep 90
1785
1786 cm_reset
1787 input 1
1788 sleep 90
1789 ai2_allpassive 0
1790 ai2_passive ZomShin 1
1791 # ai2_passive ZomGrif 1
1792
1793 console_reset 399
1794 console_reset 400
1795 console_reset 401
1796 console_reset 402
1797}
1798
1799## ZOMBIE ROUND 4
1800func void zombie_round_4(string ai_name)
1801{
1802 dprint zombie_round_4_active
1803
1804 ai2_allpassive 1
1805 turret_deactivate 330
1806 turret_deactivate 333
1807 turret_deactivate 336
1808 input 0
1809
1810 # CB: kill all weapon particles
1811 p3_removedangerous
1812
1813 particle zombie1 kill
1814
1815 # incidental zombie shinatama dialog
1816 trigvolume_enable shinzom_voice4 1
1817
1818 sleep 90
1819
1820 cm_interpolate zombie_hint 0
1821
1822 sleep 30
1823 particle zombie1 create
1824 particle zombie1 start
1825 sleep 20
1826 particle zombie1 kill
1827 sleep 30
1828 particle zombie1 create
1829 particle zombie1 start
1830
1831 fork zombie_dialog_round4
1832 sleep 120
1833
1834 trig_deactivate 91
1835 trig_deactivate 92
1836 trig_deactivate 93
1837
1838 dprint trig_off_3
1839
1840 trig_hide 91
1841 trig_hide 92
1842 trig_hide 93
1843
1844 trig_deactivate 210
1845 trig_deactivate 310
1846 trig_deactivate 410
1847 trig_deactivate 510
1848
1849 trig_hide 210
1850 trig_hide 310
1851 trig_hide 410
1852 trig_hide 510
1853
1854 trig_deactivate 2101
1855 trig_deactivate 3101
1856 trig_deactivate 4101
1857 trig_deactivate 5101
1858
1859 trig_hide 2101
1860 trig_hide 3101
1861 trig_hide 4101
1862 trig_hide 5101
1863
1864 sleep 120
1865
1866 trig_show 214
1867 trig_show 314
1868 trig_show 414
1869 trig_show 514
1870
1871 sleep 15
1872
1873 trig_show 94
1874
1875 sleep 15
1876
1877 trig_show 910
1878
1879 trig_activate 214
1880 trig_activate 314
1881 trig_activate 414
1882 trig_activate 514
1883
1884 trig_activate 910
1885 trig_activate 94
1886
1887 trig_speed 214 .15
1888 trig_speed 314 .15
1889 trig_speed 414 .15
1890 trig_speed 514 .15
1891
1892 trig_speed 910 .35
1893 trig_speed 94 .35
1894
1895 sleep 90
1896
1897 cm_reset
1898 input 1
1899 sleep 90
1900 ai2_allpassive 0
1901 ai2_passive ZomShin 1
1902 # # ai2_passive ZomGrif 1
1903
1904 console_reset 399
1905 console_reset 400
1906 console_reset 401
1907 console_reset 402
1908}
1909
1910########## ZOMBIE ROUND 5 - YOU WIN ############
1911
1912func void zombie_round_5(string ai_name)
1913{
1914 dprint zombie_round_5_active
1915
1916 ai2_allpassive 1
1917 turret_deactivate 330
1918 turret_deactivate 333
1919 turret_deactivate 336
1920
1921 trig_hide 214
1922 trig_hide 414
1923
1924 trig_activate 210
1925 trig_activate 410
1926
1927 # CB: kill all weapon particles
1928 p3_removedangerous
1929
1930 input 0
1931
1932 begin_cutscene
1933
1934 music_stop
1935
1936 sleep 60
1937
1938 cm_interpolate zombie_death 0
1939
1940 fork zombie_dialog_round5
1941 sleep 90
1942
1943 trig_speed 9 1
1944 trig_speed 10 2
1945 trig_speed 910 2.5
1946 trig_speed 94 .5
1947 trig_speed 210 2
1948 sleep 90
1949 trig_speed 410 2
1950 sleep 90
1951 trig_speed 514 1
1952 trig_speed 410 1
1953 sleep 90
1954 trig_speed 314 2
1955 sleep 90
1956 trig_speed 210 1
1957
1958 sleep 60
1959 trig_hide 210
1960 trig_hide 9
1961 trig_speed 10 .2
1962 sleep 60
1963 trig_hide 314
1964 trig_hide 910
1965 sleep 60
1966 trig_speed 514 .2
1967 trig_hide 410
1968 trig_hide 10
1969 trig_hide 94
1970 sleep 60
1971 trig_hide 514
1972 sleep 60
1973 trig_hide 93
1974 particle zombie1 kill
1975 sound_ambient_start shin_zom_shutdown 1.0
1976 sleep 10
1977 particle zombie1 create
1978 particle zombie1 start
1979 sleep 20
1980 particle zombie1 kill
1981 particle zombie1 create
1982 particle zombie1 start
1983 sleep 30
1984 particle zombie1 kill
1985 particle zombiesteam stop
1986 particle zombient stop
1987
1988 sleep 90
1989
1990# Hardy, if griffin has to see konoko after or during the zom cutscene,
1991# make sure this next line makes it into the shorter zombie shin scripts --mike
1992
1993 ai2_makeignoreplayer ZomGrif 0
1994 Zom
1995}
1996
1997
1998
1999############################################################
2000########### INCIDENTAL SHINATAMA ZOMBIE DIALOG #############
2001############################################################
2002
2003func void shinzom_voice1(string ai_name)
2004{
2005 sound_dialog_play c00_01_102shinatama
2006}
2007
2008func void shinzom_voice2(string ai_name)
2009{
2010 sound_dialog_play c00_01_101shinatama
2011}
2012
2013func void shinzom_voice3(string ai_name)
2014{
2015 sound_dialog_play c00_01_100shinatama
2016}
2017
2018func void shinzom_voice4(string ai_name)
2019{
2020 sound_dialog_play c00_01_103shinatama
2021}
Note: See TracBrowser for help on using the repository browser.