source: nikanabo/current/bsl/onilight/IGMD/compound/compound.bsl@ 1049

Last change on this file since 1049 was 185, checked in by geyser, 18 years ago
File size: 19.8 KB
RevLine 
[185]1#################
2### VARIABLES ###
3#################
4
5var int var_counter = 0;
6var int var_counter2 = 0;
7var int var_counter3 = 0;
8
9############
10### MAIN ###
11############
12
13func void main(void)
14{
15gl_fog_red = 0
16gl_fog_blue = 0
17gl_fog_green = 0
18gl_fog_start = .995
19gs_farclipplane_set 5000
20ui_suppress_prompt = 1
21chr_auto_aim_dist = 0
22start
23}
24
25#############
26### START ###
27#############
28
29func void start(string ai_name)
30{
31fork deactivate_stuff
32if(save_point eq 0) save_point = 1
33if(save_point eq 1) fork intro
34if(save_point eq 2) restore_game
35if(save_point eq 3) fork load_s3
36if(save_point eq 4) fork grif
37sleep 5
38fork sp_all
39}
40
41func void deactivate_stuff(void)
42{
43#not used
44trigvolume_enable trigger_volume_01 0
45trigvolume_enable trigger_volume_01_copy 0
46trigvolume_enable trigger_volume_01_copy2 0
47trigvolume_enable trigger_volume_04 0
48trigvolume_enable trigger_volume_04_copy 0
49trigvolume_enable trigger_volume_04_copy_copy 0
50trigvolume_enable trigger_volume_04_copy2 0
51trigvolume_enable trigger_volume_09 0
52trigvolume_enable trigger_volume_11 0
53trigvolume_enable trigger_volume_15 0
54trigvolume_enable trigger_volume_25 0
55trigvolume_enable trigger_volume_26 0
56trigvolume_enable trigger_volume_27 0
57trigvolume_enable trigger_volume_44 0
58trigvolume_enable trigger_volume_45 0
59trigvolume_enable attack_1tv 0
60door_lock 35
61door_lock 36
62door_lock 37
63door_lock 39
64door_lock 40
65door_lock 41
66#used
67trigvolume_enable trigger_volume_10 0
68trigvolume_enable trigger_volume_12 0
69trigvolume_enable trigger_volume_21 0
70trigvolume_enable trigger_volume_21_copy 0
71trigvolume_enable trigger_volume_31 0
72trigvolume_enable trigger_volume_33 0
73trigvolume_enable attack_2tv 0
74trigvolume_enable attack_3tv 0
75trigvolume_enable attack_3tv_copy 0
76trigvolume_enable attack_4tv 0
77env_shade 912 913 .4 .4 .4
78env_show 911 0
79env_show 914 0
80env_show 915 0
81env_show 916 0
82env_show 151 0
83env_show 152 0
84env_show 153 0
85env_show 154 0
86env_show 155 0
87env_show 156 0
88env_show 157 0
89env_show 158 0
90env_show 159 0
91env_show 251 0
92env_show 252 0
93env_show 253 0
94env_show 254 0
95env_show 255 0
96env_show 256 0
97env_show 257 0
98env_show 258 0
99env_show 259 0
100}
101
102func void you_lose(string ai_name)
103{
104fade_out 0 0 0 30
105sleep 30
106lose
107}
108
109####################################
110### SEVERAL TIMES USED FUNCTIONS ###
111####################################
112
113func void sp_all(void)
114{
115co_message_display = 0
116if(save_point eq 1) save_game 1 autosave
117if(save_point eq 2) save_game 2 autosave
118if(save_point eq 3) save_game 3 autosave
119if(save_point eq 4) save_game 4 autosave
120sleep 180
121co_message_display = 1
122}
123
124func void remove_ai(void)
125{
126ai2_kill
127sleep 60
128weapon_reset
129powerup_reset
130sleep 240
131corpse_reset
132}
133
134func void music_stop(void)
135{
136sound_music_stop mus_om01
137sound_music_stop mus_main03_hd
138sound_music_stop mus_asianb
139}
140
141#tv38 and tv40
142func void deathfall(void)
143{
144cm_detach
145sleep 30
146chr_set_health 0 0
147}
148
149##########
150### SP1 ###
151##########
152
153func void intro(void)
154{
155particle snow1 do start
156particle snow2 do start
157particle snow3 do start
158playback 0 IntroKonokoSet
159chr_set_health 0 400
160ai2_spawn A_S1
161ai2_spawn A_S2
162ai2_spawn A_E3
163ai2_spawn A_E5
164ai2_spawn A_E5b
165ai2_dopath A_S1 patrol_01b
166ai2_setjobstate A_S1
167objective_set 1 silent
168sleep 1
169sound_music_start mus_om01 .9
170}
171
172#tv1 - from an imaginary line (from the end of the rigt fence to the left fence) to the fence behind you
173# (enter func: snow1_start, leave func: snow1_stop); I've disabled it
174#tv3 - after tv1, ends in front of door 2 (enter func: snow2_start, leave func: snow2_stop); I've disabled it
175#tv2 - huge box right on tv3 (enter func: snow3_start, leave func: snow3_stop); I've disabled it
176
177#tv39 - in front of the imaginary line of tv1
178func void t38(string ai_name)
179{
180ai2_spawn A_E4
181ai2_spawn A_Sb63
182ai2_spawn A_E6
183ai2_spawn A_Sb7
184ai2_spawn new_2
185}
186
187#tv6 - in front of the truck entrance door with the blue lights (func: peak_start); I've disabled it
188#tv4 - after the truck entrance door with the blue lights (func: peak_stop); I've disabled it
189#tv5 - in front of the truck entrance door with the red lights (func: peak_start); I've disabled it
190#tv7 - after the truck entrance door with the red lights (func: peak_stop); I've disabled it
191
192#tv31 - after door 2
193func void set_objective_2(string ai_name)
194{
195ai2_spawn B_Sr9
196ai2_spawn B_Eb11
197ai2_spawn B_Eb16
198ai2_spawn B_Esb15
199particle door12_locklight01 do start
200objective_set 2 silent
201target_set 558 30
202music_stop
203}
204
205#hit func of A_Sb7
206func void run1(string ai_name)
207{
208ai2_doalarm A_Sb7 1
209ai2_dopath A_Sb7 patrol_00
210}
211
212func void patrolscript0054(string ai_name)
213{
214ai2_doalarm A_Sb7 1
215}
216
217#console1
218func void run1_alarm(string ai_name)
219{
220fork do_alarm_sound
221ai2_dopath A_E3 patrol_49
222ai2_dopath A_E4 patrol_49
223ai2_dopath A_E5 patrol_49
224ai2_dopath A_E6 patrol_49
225ai2_spawn B_Sr9
226sleep 7
227ai2_dopath B_Sr9 patrol_10
228ai2_spawn B_Eb11
229sleep 60
230ai2_dopath B_Eb11 patrol_10
231}
232
233func void do_alarm_sound(void)
234{
235sound_ambient_start alarm_loop
236sleep 900
237sound_ambient_stop alarm_loop
238}
239
240func void patrolscript0080(string ai_name)
241{
242ai2_tripalarm 1 char_0
243}
244
245#tv9 - in front of console6, from the left wall trough the room to the right wall (func: t9); I've disabled it)
246
247##########
248### SP2 ###
249##########
250
251#tv37 - after door 12
252func void s2(string ai_name)
253{
254if(save_point eq 2)
255 {
256 objective_set 2 silent
257 target_set 558 30
258 }
259else
260 {
261 fork remove_ai
262 save_game 2 autosave
263 particle snow1 do stop
264 particle snow2 do stop
265 particle snow3 do stop
266 }
267ai2_spawn C_Sr17
268ai2_spawn C_Sr18
269ai2_spawn C_Sr19
270ai2_spawn C_Sb75
271ai2_spawn C_Sb76
272ai2_spawn C_Sb78
273ai2_dopath C_Sr17 patrol_17
274ai2_setjobstate C_Sr17
275ai2_dopath C_Sr18 patrol_18
276ai2_setjobstate C_Sr18
277}
278
279#tv9 - after the left passageway
280#tv27 - after door 13
281func void t8(string ai_name)
282{
283particle door12_locklight01 do stop
284door_lock 12
285ai2_spawn C_Tb20
286ai2_spawn C_Eb29
287ai2_spawn C_Eb30
288ai2_spawn C_Eb21
289ai2_spawn C_Eb22
290ai2_spawn C_N23
291ai2_spawn C_N24
292}
293
294### POSSIBILITY 1 - YOU FALL DOWN ###
295
296#console4
297func void unlock_stairs2(string ai_name)
298{
299unlock_stairs_both
300ai2_spawn C_b74
301ai2_spawn C_Eb73
302chr_teleport C_b74 224
303chr_teleport C_Eb73 237
304ai2_dopath C_b74 patrol_80
305ai2_dopath C_Eb73 patrol_80
306}
307
308func void unlock_stairs_both(string ai_name)
309{
310music_stop
311particle stair_locklight01 do start
312door_unlock 10
313door_unlock 15
314door_unlock 16
315door_unlock 17
316ai2_spawn S_Tr41
317trigvolume_enable trigger_volume_10 1
318trigvolume_enable trigger_volume_12 1
319console_deactivate 3
320console_deactivate 4
321}
322
323#tv26 - between door 16 and door 17, in the middle of the staircase (func: t27); I've disabled it
324
325#tv11 - on the left side after door 17
326func void t12(string ai_name)
327{
328t10
329}
330
331#tv24 - the complete way from after door 18 to the room with door 14 (no func); I've disabled it
332
333### POSSIBILITY 2 - YOU DON'T FALL DOWN ###
334
335#tv23 - the complete way from after door 19 to the room with door 13 (no func); I've disabled it
336
337#console5
338func void unlock44(string ai_name)
339{
340ai2_spawn C_Er79
341door_unlock 44
342particle d1_locklight01 do start
343sound_music_start mus_main03_hd
344target_set 559 30
345}
346
347#console3
348func void unlock_stairs(string ai_name)
349{
350unlock_stairs_both
351target_set 1 0
352}
353
354#tv25 - after door 15
355func void t11(string ai_name)
356{
357ai2_dopath C_Sb25 patrol_48
358sleep 60
359ai2_dopath C_Sb26 patrol_48
360sleep 60
361ai2_dopath C_Eb27 patrol_48
362}
363
364#t10 - on the right side after door 44
365func void t10(string ai_name)
366{
367trigvolume_enable trigger_volume_10 0
368trigvolume_enable trigger_volume_12 0
369obj_create 51 59
370env_anim 51 59
371sleep 10
372sound_ambient_start c05_26_17_trucka
373sleep 270
374env_setanim 51 truckbackstop
375env_setanim 52 truckcabstop
376env_setanim 53 truckdoorstop
377env_setanim 54 truckdoor2stop
378env_setanim 55 truckwheel03stop
379env_setanim 56 truckwheel04stop
380env_setanim 57 truckwheel05stop
381env_setanim 58 truckwheel06stop
382env_setanim 59 truckwheel07stop
383ai2_spawn ParkStriker
384chr_lock_active ParkStriker
385chr_envanim ParkStriker ParkStrikeBox01 norotation
386sleep 40
387sound_ambient_start c05_31_21_brake_doorsa
388sleep 60
389chr_animate ParkStriker STRIKElev7_Park
390ai2_spawn C_Sb25
391ai2_spawn C_Sb26
392ai2_spawn C_Eb27
393playback C_Sb25 truckers
394sleep 40
395playback C_Sb26 truckers
396sleep 30
397playback C_Eb27 truckers
398sleep 60
399obj_kill 51 59
400env_show 151 1
401env_show 152 1
402env_show 153 1
403env_show 154 1
404env_show 155 1
405env_show 156 1
406env_show 157 1
407env_show 158 1
408env_show 159 1
409sound_music_start mus_asianb
410particle obj1 create
411target_set 511 30
412objective_set 3 silent
413sleep 480
414ai2_dopath C_Sb25 patrol_48
415sleep 60
416ai2_dopath C_Sb26 patrol_48
417sleep 60
418ai2_dopath C_Eb27 patrol_48
419}
420
421#tv28 - the complete ground floor; used to count the enemies inside; see next func
422
423#tv22 - in front of the driver's door of the truck
424func void runTruck(string ai_name)
425{
426trigvolume_enable trigger_volume_23 0
427if(chr_has_lsi(0) and trigvolume_count(29) eq 0)
428 {
429 music_stop
430 fade_out 0 0 0 30
431 sleep 30
432 fork remove_ai
433 particle obj1 kill
434 load_s3
435 playback 0 TruckExitKonoko
436 fade_in 30
437 if(save_point ne 3) save_game 3 autosave
438 }
439else
440 {
441 sleep 60
442 trigvolume_enable trigger_volume_23 1
443 }
444}
445
446##########
447### SP3 ###
448##########
449
450func void load_s3(void)
451{
452if(save_point eq 3) restore_game
453env_show 251 1
454env_show 252 1
455env_show 253 1
456env_show 254 1
457env_show 255 1
458env_show 256 1
459env_show 257 1
460env_show 258 1
461env_show 259 1
462env_show 911 1
463env_show 912 0
464env_show 913 0
465env_show 914 1
466env_show 915 1
467env_show 916 1
468ai2_spawn D_R33
469objective_set 4 silent
470target_set 501 30
471}
472
473#tv12 - at the beginning of the stairs, which are in front of door 24
474func void t13(string ai_name)
475{
476ai2_spawn E_Er34
477sleep 60
478door_unlock 24
479particle purple_locklight01 do start
480ai2_dopath E_Er34 patrol_34
481ai2_setjobstate E_Er34
482ai2_spawn E_Eb35
483}
484
485#tv15 - after door 24
486func void t16(string ai_name)
487{
488ai2_spawn E_Nr36
489ai2_spawn E_Nb37
490ai2_spawn E_Nb38
491ai2_spawn E_Nr39
492door_unlock 22
493particle purple3_locklight01 do start
494target_set 1 0
495}
496
497### 2ND FLOOR ###
498
499#tv13 - in front of door 33
500func void t14(string ai_name)
501{
502ai2_spawn E_N35
503ai2_spawn E_Tr40
504}
505
506#tv14 - in front of door 30 (func: t15); I've disabled it
507#tv44 - in front of door 25 (func: t45); I've disabled it
508#tv45 - in front of door 27 (func: t45); I've disabled it
509
510#console200 - room with door 30 (right side)
511func void purple2_unlock(string ai_name)
512{
513particle purple2_locklight01 do start
514door_unlock 20
515door_unlock 21
516door_unlock 22
517door_unlock 23
518door_unlock 24
519door_unlock 25
520door_unlock 26
521door_unlock 27
522door_unlock 28
523trigvolume_enable trigger_volume_21 1
524trigvolume_enable trigger_volume_21_copy 1
525console_deactivate 100
526console_deactivate 200
527if(var_counter ne 10) target_set 556 30
528}
529
530#tv20 - after door 25
531func void t21(string ai_name)
532{
533t22
534}
535
536#tv21 - after door 27
537func void t22(string ai_name)
538{
539trigvolume_enable trigger_volume_21 0
540trigvolume_enable trigger_volume_21_copy 0
541sound_music_start mus_main03_hd
542particle mainchamber_locklight01 do start
543door_unlock 18
544door_unlock 19
545ai2_spawn D_R31
546ai2_spawn D_R32
547ai2_spawn D_E83
548door_open 18
549door_open 19
550sleep 180
551door_close 18
552door_close 19
553door_lock 18
554door_lock 19
555particle mainchamber_locklight01 do stop
556sleep 420
557music_stop
558}
559
560### 3RD FLOOR ###
561
562#tv18 - in front of door 34
563func void t19(string ai_name)
564{
565ai2_spawn E_Er45
566ai2_spawn E_N43
567}
568
569#tv16 - in front of door 31
570func void t17(string ai_name)
571{
572ai2_spawn E_Nr46
573}
574
575### 1ST FLOOR ###
576
577#tv19 - in front of door 32
578func void t20(string ai_name)
579{
580ai2_spawn E_N44
581}
582
583#tv17 - in front of door 29
584func void t18(string ai_name)
585{
586ai2_spawn E_R46
587}
588
589#console100 - room with door 29 (right side)
590func void purple2_unlock_b(string ai_name)
591{
592purple2_unlock
593if(var_counter ne 1 or var_counter ne 11 or var_counter ne 101) target_set 555 30
594trigvolume_enable trigger_volume_21 0
595trigvolume_enable trigger_volume_21_copy 0
596}
597
598### TEXT CONSOLES ###
599
600#console301 - 3rd floor - room with door 34 (left side)
601func void console301(string ai_name)
602{
603console300
604}
605
606#console300 - 3rd floor - room with door 31 (right side)
607func void console300(string ai_name)
608{
609var_counter = var_counter + 1
610if(var_counter eq 1 or var_counter eq 101) target_set 556 30
611if(var_counter eq 11) target_set 555 30
612if(var_counter eq 111) target_set 547 30
613console_deactivate 300
614console_deactivate 301
615ConsoleText
616}
617
618#console201 - 2nd floor - room with door 33 (left side)
619func void console200(string ai_name)
620{
621var_counter = var_counter + 10
622if(var_counter eq 10 or var_counter eq 110) target_set 557 30
623if(var_counter eq 11) target_set 555 30
624if(var_counter eq 111) target_set 547 30
625ConsoleText
626}
627
628#console101 - 1st floor - room with door 32 (left side)
629func void console101(string ai_name)
630{
631var_counter = var_counter + 100
632if(var_counter eq 100 or var_counter eq 101) target_set 556 30
633if(var_counter eq 110) target_set 557 30
634if(var_counter eq 111)
635target_set 547 30
636ConsoleText
637}
638
639func void ConsoleText(void)
640{
641if(var_counter eq 1 or var_counter eq 10 or var_counter eq 100)
642 {
643 text_console level_19a
644 sound_dialog_play c15_57_01konoko
645 }
646if(var_counter eq 11 or var_counter eq 101 or var_counter eq 110)
647 {
648 text_console level_19b
649 sound_dialog_play c15_57_02konoko
650 }
651if(var_counter eq 111)
652 {
653 text_console level_19c
654 sound_dialog_play c15_57_03konoko
655 trigvolume_enable attack_1tv 1
656 trigvolume_enable attack_2tv 1
657 trigvolume_enable attack_3tv 1
658 trigvolume_enable attack_3tv_copy 1
659 trigvolume_enable attack_4tv 1
660 objective_set 5 silent
661 sleep 60
662 sound_music_start mus_main03_hd
663 var_counter = 0
664 }
665}
666
667### ALL CONSOLES ACTIVATED ###
668
669#tv37 - 3rd floor - after door 34 (left side)
670func void attack_4(string ai_name)
671{
672attack_3
673}
674
675#tv34 - floor 3 - after door 31 (right side)
676func void attack_2(string ai_name)
677{
678attack_3
679}
680
681#tv33 - 1st floor - after door 29 (right side) (func: attack_1); I've disabled it
682
683#tv46 - 2nd floor - after door 34 (left side)
684#tv35 - 1st floor - after door 32 (left side)
685func void attack_3(string ai_name)
686{
687trigvolume_enable attack_2tv 0
688trigvolume_enable attack_3tv 0
689trigvolume_enable attack_3tv_copy 0
690trigvolume_enable attack_4tv 0
691particle F_locklight01 do start
692door_unlock 43
693ai2_spawn F_Eb43
694ai2_spawn F_Eb44
695ai2_spawn F_Eb47
696ai2_dopath F_Eb43 patrol_43
697ai2_setjobstate F_Eb43
698sleep 30
699ai2_dopath F_Eb44 patrol_44
700ai2_setjobstate F_Eb44
701sleep 30
702ai2_dopath F_Eb47 patrol_47
703ai2_setjobstate F_Eb47
704music_stop
705ai2_dopath F_Eb43 patrol_43b
706ai2_setjobstate F_Eb43
707ai2_dopath F_Eb44 patrol_44b
708ai2_setjobstate F_Eb44
709ai2_dopath F_Eb47 patrol_47b
710ai2_setjobstate F_Eb47
711trigvolume_enable trigger_volume_33 1
712}
713
714#tv32 - in front of door 43
715func void t33(string ai_name)
716{
717sound_dialog_play c15_57_04konoko
718ai2_spawn F_Er86
719ai2_spawn F_Nr87
720target_set 258 30
721}
722
723#tv41 - in front of the 1st staircase
724func void t41(string ai_name)
725{
726ai2_spawn F_Er59
727}
728
729#tv42 - after the 1st staircase
730func void t42(string ai_name)
731{
732ai2_spawn F_Nr60
733}
734
735#tv43 - in front of the 2nd staircase
736func void t43(string ai_name)
737{
738ai2_spawn F_R61
739ai2_spawn F_Er88
740ai2_spawn F_C62
741ai2_makeignoreplayer F_C62 1
742}
743
744#tv29 - at the mezzanine of the 3rd staircase
745func void t30(string ai_name)
746{
747ai2_makeignoreplayer F_C62 0
748ai2_spawn F_Er89
749}
750
751#hit func of F_C62
752func void comalarm(string ai_name)
753{
754ai2_tripalarm 2 char_0
755}
756
757#console2
758func void fconsole_ok(string ai_name)
759{
760text_console level_19d
761particle green create
762particle green2 create
763particle green3 create
764trigvolume_enable trigger_volume_31 1
765objective_set 6 silent
766target_set 502 30
767}
768
769#tv30 - complete dish platform
770func void t31(string ai_name)
771{
772target_set 1 0
773fade_out 0 0 0 30
774sleep 30
775fork remove_ai
776particle green kill
777particle green2 kill
778particle green3 kill
779playback 0 GrifKonokoSet
780grif
781fade_in 30
782if(save_point ne 4) save_game 4 autosave
783}
784
785##########
786### SP4 ###
787##########
788
789func void grif(void)
790{
791if(save_point eq 4) restore_game
792env_show 301 0
793env_show 302 0
794env_show 303 0
795env_show 304 0
796env_show 305 0
797env_show 306 0
798env_show 307 0
799env_show 308 0
800env_show 309 0
801env_show 401 1
802env_show 402 1
803env_show 403 1
804env_show 404 1
805env_show 405 1
806env_show 406 1
807env_show 407 1
808env_show 408 1
809env_show 409 1
810ai2_spawn Muro
811chr_boss_shield Muro
812chr_set_health Muro 500
813ai2_spawn GrifElite01
814ai2_spawn GrifElite02
815ai2_spawn GrifElite03
816ai2_dopath GrifElite01 patrol_513
817ai2_dopath GrifElite02 patrol_514
818ai2_dopath GrifElite03 patrol_518
819if(did_kill_griffen() eq 0)
820 {
821 ai2_boss_battle = 1
822 ai2_spawn Griffin
823 ai2_spawn GrifOps01
824 ai2_spawn GrifOps02
825 ai2_spawn GrifOps03
826 ai2_dopath GrifOps01 patrol_521
827 ai2_dopath GrifOps02 patrol_515
828 ai2_dopath GrifOps03 patrol_517
829 sleep 1
830 fork wait_to_help
831 }
832if(did_kill_griffen() eq 1)
833 {
834 ai2_boss_battle = 0
835 sleep 1
836 fork heli
837 }
838particle dishpulse do start
839particle sturm_ambient do start
840sound_ambient_start mc_dish_loop 0.6
841sound_music_start mus_ot
842objective_set 6 silent
843}
844
845func void heli(void)
846{
847sound_ambient_start c07_17_19heli
848sleep 480
849obj_create 901 906
850env_anim 901 906
851ai2_spawn GrifOps01
852ai2_spawn GrifOps02
853ai2_spawn GrifOps03
854chr_envanim GrifOps01 GrifOps01Box01
855chr_envanim GrifOps02 GrifOps02Box01
856chr_envanim GrifOps03 GrifOps03Box01
857chr_animate GrifOps01 STRIKEcrouch_idle 400
858chr_animate GrifOps02 STRIKEcrouch_idle 400
859chr_animate GrifOps03 STRIKEcrouch_idle 400
860sleep 290
861env_setanim 901 heli_doors_rt08
862env_setanim 902 heli_doors_lt08
863env_setanim 903 heli_rotorblades08
864env_setanim 904 heli_body08
865env_setanim 905 heli_canopy08
866env_setanim 906 heli_interior08
867chr_envanim GrifOps01 GrifOps01Box02 norotation
868chr_envanim GrifOps02 GrifOps02Box02 norotation
869chr_envanim GrifOps03 GrifOps03Box02 norotation
870chr_animate GrifOps01 STRIKElev7_Ops01
871chr_animate GrifOps02 STRIKElev7_Ops02
872chr_animate GrifOps03 STRIKElev7_Ops03
873chr_changeteam GrifOps01 Syndicate
874chr_changeteam GrifOps02 Syndicate
875chr_changeteam GrifOps03 Syndicate
876ai2_attack GrifOps01 char_0
877ai2_attack GrifOps02 char_0
878ai2_attack GrifOps03 char_0
879sleep 600
880obj_kill 901 906
881}
882
883func void wait_to_help(void)
884{
885chr_wait_health Muro 200
886ai2_boss_battle = 0
887var_counter3 = 1
888attack_konoko
889}
890
891#lose func of GrifOps01, GrifOps02, GrifOps03 and Griffin
892func void swat_dies(void)
893{
894var_counter = var_counter + 1
895if(var_counter eq 4) attack_konoko
896}
897
898func void attack_konoko(void)
899{
900ai2_attack GrifElite01 char_0
901ai2_attack GrifElite02 char_0
902ai2_attack GrifElite03 char_0
903ai2_attack GrifElite04 char_0
904ai2_attack GrifElite05 char_0
905ai2_attack GrifElite06 char_0
906}
907
908#lose func of GrifElite03
909func void check_death1a(string ai_name)
910{
911ai2_spawn GrifElite04
912ai2_passive GrifElite04 1
913playback_block GrifElite04 GrifWave2_Run1
914ai2_passive GrifElite04 0
915if(var_counter3 eq 1) ai2_attack GrifElite04 char_0
916if(var_counter3 eq 0) ai2_makeaware GrifElite04 char_0
917}
918
919#lose func of GrifElite02
920func void check_death1b(string ai_name)
921{
922ai2_spawn GrifElite05
923ai2_passive GrifElite05 1
924playback_block GrifElite05 GrifWave2_Run1
925ai2_passive GrifElite05 0
926if (var_counter3 eq 1) ai2_attack GrifElite05 char_0
927if (var_counter3 eq 0) ai2_makeaware GrifElite05 char_0
928}
929
930#lose func of GrifElite04 and GrifElite05
931func void final_round(string ai_name)
932{
933var_counter2 = var_counter2 + 1
934if(var_counter2 eq 1)
935 {
936 ai2_spawn GrifElite06
937 ai2_passive GrifElite06 1
938 playback_block GrifElite06 GrifWave2_Run3
939 ai2_passive GrifElite06 0
940 if(var_counter3 eq 1) ai2_attack GrifElite06 char_0
941 if(var_counter3 eq 0) ai2_makeaware GrifElite06 char_0
942 }
943}
944
945#lose func of Muro
946func void check_death2(string ai_name)
947{
948fade_out 0 0 0 30
949sleep 30
950win
951}
952
953#####################
954### TEXT CONSOLES ###
955#####################
956
957func void console_truckinfo(void)
958{
959text_console level_19e
960console_reset 6
961}
Note: See TracBrowser for help on using the repository browser.