source: AE/packages/VanillaBSL/IGMD/EnvWarehouse/warehouse_level_scripts.bsl@ 336

Last change on this file since 336 was 313, checked in by gumby, 16 years ago
File size: 17.3 KB
Line 
1# warehouse_level_scripts.bsl
2#
3# LEVEL LOGIC
4#
5########################### START & SAVE ##############################
6var int outro_has_started = 0;
7var int count_alarm;
8var int count_end_striker = 0;
9var int count_end_console = 0;
10var int td;
11var int ns;
12var int in_t64;
13var int d6;
14var int ul5;
15# music #
16
17func void music_train1(void)
18{
19 sound_music_start atm_gr06 0
20 sound_music_volume atm_gr06 0.7 3.0
21# stopped by moving into combat rooms
22}
23
24func void music_train2(void)
25{
26 sound_music_start atm_ft68 0
27 sound_music_volume atm_ft68 0.75 3.0
28# stopped by moving into firing range
29}
30
31func void music_train3(void)
32{
33 sound_music_start mus_amasian 0
34 sound_music_volume mus_amasian 0.75 3.0
35# stopped by using last review console
36}
37
38func void music_firstfight(void)
39{
40 sound_music_start mus_ambgrv1 0
41 sound_music_volume mus_ambgrv1 0.75 3.0
42# stopped by intro_enemies thug die or hurt scripts
43}
44
45func void music_timer(void)
46{
47 sound_music_start mus_chase 0
48 sound_music_volume mus_chase 0.75 3.0
49# stopped in end_console or end_striker
50}
51
52func void music_stop(void)
53{
54 dprint STOP_THE_MUSIC
55 sound_music_volume atm_gr06 0.0 2.0
56 sound_music_stop atm_gr06
57 sound_music_volume atm_ft68 0.0 2.0
58 sound_music_stop atm_ft68
59 sound_music_volume mus_amasian 0.0 2.0
60 sound_music_stop mus_amasian
61 sound_music_volume mus_ambgrv1 0.0 2.0
62 sound_music_stop mus_ambgrv1
63 sound_music_volume mus_chase 0.0 3.0
64 sound_music_stop mus_chase
65}
66
67func void level_start(string ai_name)
68{
69# These functions are used when the game is restored.
70
71 trigvolume_enable(intro_enemies_tv, 0);
72 trigvolume_enable(setup_bay3_tv, 0);
73 trigvolume_enable gotLSI_tv 0
74 trigvolume_enable trigger_volume_06 0
75 particle bigdoor_locklight02 do start
76
77 my_save_point = save_point;
78
79 if (my_save_point eq 0)
80 {
81 can_train_movement=1;
82 dprint SAVE_POINT_0
83# USE THIS FUNC TO SET UP TRAINING SEQUENCE AGAIN
84 splash_screen training_splash_screen
85 dprint hello
86 }
87
88 if (my_save_point eq 1)
89 {
90# this is a built in save point for
91 can_train_movement=0;
92# objective_set(1)
93 door_lock(15);
94 door_lock(16);
95 particle(lock1_locklight01, do, stop);
96 restore_game
97 playback 0 SwingKonokoSet
98 target_set(1,0.0)
99 dprint RESTORE_SAVE_Point_1
100 splash_screen warehouse_splash_screen
101 swing_cutscene
102 }
103
104 if (my_save_point eq 2)
105 {
106 can_train_movement=0;
107# objective_set(1)
108 door_lock(15);
109 door_lock(16);
110 particle(lock1_locklight01, do, stop);
111 restore_game
112 ai2_spawn A_t48
113 playback 0 SwingKonokoSet
114 target_set(1,0.0)
115 dprint RESTORE_SAVE_Point_2_begin
116 splash_screen warehouse_splash_screen
117 cm_reset
118 sleep 30
119 chr_forceholster 0 0
120 }
121
122 if (my_save_point eq 3)
123 {
124 dprint RESTORE_SAVE_POINT_3
125 can_train_movement=0;
126 trigvolume_enable trigger_volume_03 0
127 target_set(7053, 15.0)
128 door_lock 16
129 ai2_spawn Mid_Thug_2
130 ai2_spawn Mid_Thug_1
131 restore_game
132 objective_set 2 silent
133 splash_screen warehouse_splash_screen
134 }
135
136 if (my_save_point eq 4)
137 {
138 dprint RESTORE_SAVE_POINT_4
139 can_train_movement=0;
140 door_lock 65
141 trigvolume_enable trigger_volume_68 0
142 target_set(7054, 30.0)
143 # spawn_top
144 restore_game
145 objective_set 2 silent
146 splash_screen warehouse_splash_screen
147 }
148
149 if (my_save_point eq 5)
150 {
151 dprint RESTORE_SAVE_POINT_5
152 can_train_movement=0;
153 door_lock 48
154 particle bigdoor_locklight02 do stop
155 ai2_spawn WH_Thug_A
156 ai2_spawn WH_Striker_B
157 ai2_spawn WH_Striker_C
158 ai2_spawn WH_Striker_D
159 ai2_dopath WH_Thug_A WH_Thug_A
160 ai2_dopath WH_Striker_B WH_Striker_B
161 ai2_dopath WH_Striker_D WH_Striker_D
162 ai2_setjobstate WH_Thug_A
163 ai2_setjobstate WH_Striker_B
164 ai2_setjobstate WH_Striker_D
165 chr_teleport WH_Striker_D 95
166 trigvolume_enable tv78 0
167 trigvolume_enable mid_warehouse_target 0
168 restore_game
169 splash_screen warehouse_splash_screen
170 sleep 7
171 train_timer
172 }
173}
174
175func void unholstergun(void)
176{
177 sleep 30
178 chr_forceholster 0 0
179}
180
181# This is an example of a save game console.
182
183func void s1(string player_name)
184{
185 dprint saveit_1
186
187 if (my_save_point ne 2)
188 {
189 save_game 2 autosave
190 }
191}
192
193func void s2(string player_name)
194{
195 dprint saveit_2
196
197 if (my_save_point ne 3)
198 {
199 save_game 3 autosave
200 }
201}
202
203func void s3(string player_name)
204{
205 dprint saveit_3
206
207 if (my_save_point ne 4)
208 {
209 save_game 4 autosave
210 }
211}
212
213func void s4(string player_name)
214{
215 dprint saveit_4
216
217 if (my_save_point ne 5)
218 {
219 save_game 5 autosave
220 }
221}
222
223func void you_lose(string ai_name)
224{
225 sleep 240
226 fade_out 0 0 0 180
227 sleep 240
228 lose
229}
230
231func void unlock1(string ai_name)
232{
233 dprint unlock1
234 target_set(33, 15.0)
235
236 door_unlock 15
237 door_unlock 16
238
239 input 0
240 cm_interpolate lock1 0
241 sleep 60
242 particle lock1_locklight01 do start
243 sleep 150
244 cm_reset
245 input 1
246 sleep 120
247 ai2_spawn Bay1_Thug_1
248 trigvolume_enable intro_enemies_tv 1
249 trigvolume_enable trigger_volume_77 0
250}
251
252func void unlock2(string ai_name)
253{
254 dprint unlock2
255
256 music_stop
257
258 target_set(84, 15.0)
259
260 door_unlock 24
261 door_unlock 26
262
263 input 0
264 cm_interpolate lock2 0
265 sleep 60
266 particle lock2_locklight01 do start
267 sleep 150
268 cm_reset
269 input 1
270 trigvolume_enable(setup_bay3_tv, 1);
271}
272
273func void setup_bay3(string ai_name)
274{
275 dprint setup_bay_3
276 target_set(84, 15.0)
277# particle lock3_locklight01 do start
278}
279
280func void checkLSI(string ai_name)
281{
282 var int has_lsi = chr_has_lsi(0);
283
284 dprint checkLSI
285 trigvolume_enable gotLSI_tv 0
286
287 if (has_lsi eq 1)
288 {
289 input 0
290 sleep 25
291 chr_animate 0 KONOKOwatch_start 60 12
292 sleep 59
293 chr_animate 0 KONOKOwatch_idle 15
294 text_console level_1e
295 chr_animate 0 KONOKOwatch_stop
296 sleep 15
297 input 1
298 sleep 15
299 door_unlock 37
300 particle lock3_locklight01 do start
301 ai2_spawn Ambush_Striker_1
302 ai2_spawn Mid_Thug_1
303 ai2_spawn Mid_Thug_2
304 target_set(7053,30.0)
305 chung_music_stop
306 objective_set(2)
307 sound_dialog_play_block c00_01_21shinatama
308 sound_dialog_play_block pause
309 }
310
311 if (has_lsi eq 0)
312 {
313 # sleep and turn the trigger volume back on later
314 sleep 60
315 trigvolume_enable gotLSI_tv 1
316 }
317}
318
319func void t09(string ai_name)
320{
321 target_set(62,30.0)
322}
323
324func void spawn_top(string ai_name)
325{
326 dprint spawn_top
327 ai2_spawn Top_Striker_1
328 ai2_spawn Top_Comguy_1
329 ai2_spawn Top_Thug_3
330 ai2_spawn Top_Thug_5
331 ai2_spawn WH_Thug_A
332 ai2_spawn WH_Striker_B
333 ai2_spawn WH_Striker_C
334 ai2_spawn WH_Striker_D
335}
336
337func void spawn_mid2(string ai_name)
338{
339 dprint spawn_mid2
340 ai2_spawn Mid2_Striker_1
341 ai2_spawn Mid2_Striker_2
342 target_set(66, 15.0)
343}
344
345func void unlock4(string ai_name)
346{
347 dprint unlock4
348 target_set(7054, 15.0)
349
350 door_unlock 65
351
352 input 0
353 cm_interpolate lock4 0
354 sleep 60
355 particle lock4_locklight01 do start
356 sleep 150
357 cm_reset
358 input 1
359
360}
361
362func void unlock5(string ai_name)
363{
364 dprint unlock5
365 target_set(72, 30.0)
366 console_deactivate 4
367 door_unlock 73
368 door_unlock 74
369 door_unlock 81
370 door_unlock 82
371 ul5 = 1;
372 input 0
373 cm_interpolate lock5 0
374 sleep 60
375 particle lock5_locklight01 do start
376 sleep 150
377 cm_reset
378 input 1
379 console_deactivate 7
380}
381
382func void hurt1(string ai_name)
383{
384 dprint HURT
385 ai2_makeignoreplayer Bay4_Comguy_1 1
386 ai2_doalarm Bay4_Comguy_1 6
387 ai2_dopath Bay4_Comguy_1 Run_To_Alarm
388 ai2_setjobstate Bay4_Comguy_1
389 sleep 60
390 sound_dialog_play_block c00_01_96shinatama
391
392}
393
394func void patrolscript0001(string ai_name)
395{
396 dprint comguy_do_alarm
397 ai2_doalarm Bay4_Comguy_1 6
398}
399
400func void unlock_alarm(void)
401{
402 dprint unlock_alarm
403 door_unlock 73
404 door_unlock 74
405 door_unlock 81
406 door_unlock 82
407 ai2_dopath Alarm_Bay4_Striker_1 Alarm_Bay4_Striker_1
408 sleep 107
409 particle lock5_locklight01 do start
410 console_deactivate 7
411}
412
413func void do_alarm_sound(void)
414{
415 sound_ambient_start alarm_loop
416 sleep 900
417 sound_ambient_stop alarm_loop
418}
419
420func void alarm_trig(string ai_name)
421{
422 dprint alarm_trig
423 trigvolume_enable alarm_trigvol 0
424 target_set(72,30.0)
425 if(ul5 eq 0)
426 {
427 #watch comguy set alarm, doors initially locked
428 if(count_alarm eq 0)
429 {
430 ai2_passive Bay4_Comguy_1 1
431 ai2_spawn Alarm_Bay4_Striker_1
432 ai2_makeignoreplayer Alarm_Bay4_Striker_1 1
433 ai2_spawn Alarm_Bay4_Striker_2
434 ai2_makeignoreplayer Alarm_Bay4_Striker_2 1
435 # ai2_spawn Bay5_Thug_1
436 ai2_spawn Bay5_Thug_2
437 ai2_doalarm Alarm_Bay4_Striker_1 4
438 input 0
439 chr_animate Bay4_Comguy_1 COMGUYconsole
440 fade_out 0 0 0 30
441 letterbox 1
442 sleep 30
443 cm_interpolate alarm5 0
444 fade_in
445 sleep 90
446 fade_out 0 0 0 15
447 chr_teleport Alarm_Bay4_Striker_1 7033
448 sleep 15
449 cm_interpolate alarm1 0
450 fork do_alarm_sound
451 fade_in
452 sleep 40
453 cm_interpolate alarm2 240
454 sleep 320
455 cm_interpolate alarm3 90
456 sleep 70
457 particle lock5_locklight01 do start
458 sleep 20
459 cm_interpolate alarm4 0
460 sleep 60
461 fade_out 0 0 0 60
462 sleep 60
463 ai2_passive Bay4_Comguy_1 0
464 }
465
466 #no watch comguy set alarm, doors initially locked
467 if(count_alarm eq 1)
468 {
469 ai2_spawn Alarm_Bay4_Striker_1
470 ai2_makeignoreplayer Alarm_Bay4_Striker_1 1
471 ai2_spawn Alarm_Bay4_Striker_2
472 ai2_makeignoreplayer Alarm_Bay4_Striker_2 1
473 # ai2_spawn Bay5_Thug_1
474 ai2_spawn Bay5_Thug_2
475 input 0
476 fade_out 0 0 0 30
477 sleep 15
478 chr_teleport Alarm_Bay4_Striker_1 7033
479 ai2_doalarm Alarm_Bay4_Striker_1 4
480 sleep 15
481 letterbox 1
482 cm_interpolate alarm1 0
483 fork do_alarm_sound
484 fade_in
485 sleep 40
486 cm_interpolate alarm2 240
487 sleep 320
488 cm_interpolate alarm3 90
489 sleep 70
490 particle lock5_locklight01 do start
491 sleep 20
492 cm_interpolate alarm4 0
493 sleep 60
494 fade_out 0 0 0 60
495 sleep 60
496 }
497 }
498
499 #watch comguy set alarm, doors already unlocked
500 if(ul5 eq 1)
501 {
502 if(trigvolume_count (66) eq 0)
503 {
504 if(count_alarm eq 0)
505 {
506 ai2_passive Bay4_Comguy_1 1
507 ai2_spawn Alarm_Bay4_Striker_1
508 ai2_makeignoreplayer Alarm_Bay4_Striker_1 1
509 input 0
510 chr_animate Bay4_Comguy_1 COMGUYconsole
511 fade_out 0 0 0 30
512 letterbox 1
513 sleep 30
514 cm_interpolate alarm5 0
515 fade_in
516 sleep 90
517 fade_out 0 0 0 15
518 # chr_teleport Alarm_Bay4_Striker_1 7033
519 sleep 15
520 cm_interpolate alarm1 0
521 fork do_alarm_sound
522 fade_in
523 sleep 90
524 fade_out 0 0 0 60
525 sleep 60
526 ai2_passive Bay4_Comguy_1 0
527 }
528
529 #no watch comguy set alarm, doors already unlocked
530 if(count_alarm eq 1)
531 {
532 ai2_spawn Alarm_Bay4_Striker_1
533 ai2_makeignoreplayer Alarm_Bay4_Striker_1 1
534 input 0
535 fade_out 0 0 0 30
536 sleep 7
537 chr_teleport Alarm_Bay4_Striker_1 7033
538 sleep 23
539 letterbox 1
540 cm_interpolate alarm1 0
541 fork do_alarm_sound
542 fade_in
543 sleep 90
544 fade_out 0 0 0 60
545 sleep 60
546 }
547 }
548 }
549
550 cm_reset
551 fade_in
552 letterbox 0
553 input 1
554 #sleep 15
555 ai2_makeignoreplayer Alarm_Bay4_Striker_1 0
556 ai2_makeignoreplayer Alarm_Bay4_Striker_2 0
557 ai2_makeignoreplayer Bay4_Comguy_1 0
558 ai2_dopath Bay4_Comguy_1 patrol_42
559 ai2_setjobstate Bay4_Comguy_1
560# ai2_attack Alarm_Bay4_Striker_1 char_0
561 ai2_attack Alarm_Bay4_Striker_2 char_0
562
563}
564
565func void set_bay6_objective(string ai_name)
566{
567 dprint set_bay6_objective
568 target_set(92, 15.0)
569
570}
571
572func void spawn_bay6_top(string ai_name)
573{
574 ai2_spawn Bay6_Striker_1
575 ai2_spawn Bay6_Neutral_1
576 ai2_spawn Bay6_Neutral_2
577 ai2_spawn guard1
578 trigvolume_enable spawn_bay6_bot_tv 0
579
580 train_neutral();
581}
582
583func void spawn_bay6_bot(string ai_name)
584{
585 ai2_spawn Bay6_Striker_1b
586 ai2_spawn Bay6_Neutral_1b
587 ai2_spawn Bay6_Neutral_2
588 ai2_spawn guard1
589 trigvolume_enable spawn_bay6_top_tv 0
590
591 train_neutral();
592}
593
594func void open_warehouse(string ai_name)
595{
596 trigvolume_enable trigger_volume_06 0
597 objective_set(3)
598 sleep 10
599 target_set(93,15.0)
600 ai2_dopath Bay6_Neutral_2 Open_Warehouse
601 ai2_setjobstate Bay6_Neutral_2
602 ai2_spawn WH_Thug_A
603 ai2_spawn WH_Striker_B
604 ai2_spawn WH_Striker_C
605 ai2_spawn WH_Striker_D
606 particle lock7_locklight01 do start
607 door_unlock 84
608 door_unlock 85
609 door_unlock 86
610
611 ai2_spawn Final_Thug_1
612 ai2_spawn Final_Thug_2
613 ai2_spawn Final_Thug_3
614 ai2_spawn Final_Thug_5
615
616 ai2_dopath WH_Thug_A WH_Thug_A
617 ai2_dopath WH_Striker_B WH_Striker_B
618 ai2_dopath WH_Striker_D WH_Striker_D
619
620 ai2_setjobstate WH_Thug_A
621 ai2_setjobstate WH_Striker_B
622 ai2_setjobstate WH_Striker_D
623}
624
625func void t47(string ai_name)
626{
627 ai2_spawn Bay5_Thug_1
628 ai2_spawn Bay5_Thug_2
629}
630
631func void mid_warehouse_target(string ai_name)
632{
633# Reset Target
634 target_set(96, 15.0)
635}
636func void stair1_target(string ai_name)
637{
638# Reset Target
639 target_set(31,15.0)
640}
641
642func void stair2_target(string ai_name)
643{
644# Reset Target
645 target_set(81,15.0)
646}
647
648func void enable_end(string ai_name)
649{
650# trigvolume_enable end 1
651 timer_stop
652}
653
654func void gotoconsole(string ai_name)
655{
656# dprint Guard_A_RTAlarm
657 console_activate 9
658 sleep 7
659 ai2_doalarm Bay6_Neutral_2 9
660 sleep 180
661 trigvolume_enable trigger_volume_06 1
662}
663
664func void t06(string ai_name)
665{
666 dprint t06
667 ai2_doalarm Bay6_Neutral_2 9
668}
669
670func void t10(string ai_name)
671{
672 dprint t10
673 ai2_makeignoreplayer Bay6_Neutral_1 1
674 ai2_makeignoreplayer Bay6_Neutral_1b 1
675 ai2_dopath Bay6_Neutral_1 Bay6_Thug_1
676 ai2_dopath Bay6_Neutral_1b Bay6_Thug_1_copy
677 sleep 240
678 ai2_makeignoreplayer Bay6_Neutral_1 0
679 ai2_makeignoreplayer Bay6_Neutral_1b 0
680}
681
682func void final_striker_attack(void)
683{
684 ai2_attack WH_Striker_C char_0
685}
686
687func void end_console(string ai_name)
688{
689 dprint end_console
690 count_end_console = 1;
691 music_stop
692 timer_stop
693
694 if (count_end_striker eq 0)
695 {
696 final_striker_attack
697 }
698
699 if (count_end_striker eq 1)
700 {
701 outro_start
702 }
703
704}
705
706func void end_striker(string ai_name)
707{
708 dprint end_striker
709 count_end_striker = 1
710 music_stop
711
712 if (count_end_console eq 1)
713 {
714 outro_start
715 }
716}
717
718# we can only start the trigger volume once
719# and only if there are no bad guys in the area
720
721func void outro_start2(void)
722{
723 dprint READY_TO_BATTLE
724 outro_has_started = 1;
725 sleep 20
726 outro
727}
728
729func void outro_start(void)
730{
731 if (outro_has_started eq 0)
732 {
733 if (trigvolume_count (76) eq 0)
734 {
735 if (trigvolume_count (70) eq 1)
736 {
737 outro_start2
738 }
739 }
740 }
741}
742
743# once every 2/3 of a second, check to see if we are in the
744# trigger and have no badguys near us
745
746func void t70(string ai_name)
747{
748 var int count_end_both = 0;
749
750 dprint t70_END
751
752 count_end_both = count_end_both + count_end_console;
753 count_end_both = count_end_both + count_end_striker;
754
755 trigvolume_enable trigger_volume_70 0
756
757 if (count_end_console eq 1)
758 {
759 outro_start
760 }
761
762 if (outro_has_started eq 0)
763 {
764 if (count_end_console eq 1)
765 {
766 final_striker_attack
767 }
768 }
769
770 if(outro_has_started eq 0)
771 {
772 sleep 40
773 trigvolume_enable trigger_volume_70 1
774 }
775}
776
777func void t01(string ai_name)
778{
779 dprint t01
780 ai2_spawn A_t50
781}
782
783func void compass(void)
784{
785 target_set(44, 30.0)
786 ui_flash_element compass 1
787 sound_dialog_play_block c00_01_26shinatama
788 message xincoming 130
789 sleep 60
790 input 0
791 sleep 30
792 chr_animate 0 KONOKOwatch_start 60
793 sleep 59
794 chr_animate 0 KONOKOwatch_idle 15
795 text_console level_1d
796 ui_flash_element compass 0
797 chr_animate 0 KONOKOwatch_stop
798 input 1
799 sleep 60
800 objective_set (1)
801}
802
803func void t48_dead(string ai_name)
804{
805 dprint t48dead
806 td = 1;
807 door_unlock 108
808 if(in_t64 eq 1)
809 {
810 sleep 180
811 compass
812 }
813}
814
815func void t63(string ai_name)
816{
817 dprint t63
818# ai2_spawn A_t47
819 ai2_spawn A_t48
820}
821
822func void t64(string ai_name)
823{
824 dprint t64
825 if(in_t64 eq 0)
826 {
827 in_t64 = 1;
828 ai2_dopath A_t48 patrol_49
829 ai2_setjobstate A_t48
830 ai2_attack A_t48 char_0
831 }
832 if(td eq 1)
833 {
834 trigvolume_enable trigger_volume_64 0
835 compass
836 }
837}
838
839func void t65(string ai_name)
840{
841
842 dprint t65
843 if(d6 eq 0)
844 {
845 message xdoorislocked
846 dprint door_is_locked
847 }
848}
849
850func void t65b(string ai_name)
851{
852
853 dprint t65b
854 if(d6 eq 0)
855 {
856 message_remove xdoorislocked
857 }
858}
859func void t67(string ai_name)
860{
861
862 dprint t67
863 chr_changeteam guard1 Syndicate
864}
865
866func void t07(string ai_name)
867{
868
869 dprint t07
870 ai2_spawn Top_Thug_5
871 ai2_spawn WH_Striker_C
872 ai2_spawn WH_Striker_D
873}
874
875func void t69(string ai_name)
876{
877
878 dprint t69
879 ai2_spawn Top_Striker_1
880 ai2_spawn Top_Comguy_1
881 ai2_spawn Top_Thug_3
882}
883
884func void unlock6(string ai_name)
885{
886 dprint unlock6
887 d6 = 1
888 door_unlock 6
889 particle d1_locklight01 do start
890 trigvolume_enable trigger_volume_65 1
891}
892
893func void yhealth(string ai_name)
894{
895 dprint yhealth
896 message_remove
897 lock_keys
898 input 1
899 ui_show_element right 1
900 sound_dialog_play_block c00_01_92shinatama
901 sound_dialog_play_block pause
902 ui_flash_element health 1
903 chr_animate 0 KONOKOwatch_start 60
904 sleep 59
905 chr_animate 0 KONOKOwatch_idle 15
906 text_console level_1m
907 ui_flash_element health 0
908 chr_animate 0 KONOKOwatch_stop
909 chr_forceholster 0 0
910 lock_keys keys_all
911 end_cutscene
912 if (trigvolume_count (63) eq 1)
913 {
914 ai2_spawn A_t48
915 }
916}
917
918func void console_evidence1(string ai_name)
919{
920 text_console level_1a
921 console_reset 19
922}
923
924func void console_evidence2(string ai_name)
925{
926 text_console level_1b
927 console_reset 20
928}
929
930func void t02(string ai_name)
931{
932 dprint t02
933 sleep 60
934 if(trigvolume_count (2) eq 1)
935 {
936 dprint spawned_secret
937 ai2_spawn secret2
938 trigvolume_enable trigger_volume_01 0
939 ai2_spawn A_t50
940 ai2_dopath A_t50 patrol_secret1
941 ai2_setjobstate A_t50
942 }
943}
944
945func void t05(string ai_name)
946{
947 dprint t05
948 ai2_spawn ambush_striker
949}
Note: See TracBrowser for help on using the repository browser.