source: nikanabo/current/bsl/original/IGMD/EnvWarehouse/warehouse_training_scripts.bsl@ 828

Last change on this file since 828 was 185, checked in by geyser, 18 years ago
File size: 21.2 KB
Line 
1######################
2# training variables #
3######################
4
5#checks to see if player is in correct room for executing current script
6var int how_far_along=0;
7
8#number of dash track lights
9var int tcount=17;
10
11#sees if player sprinted
12var int didsprint;
13
14#sees if player jumped up to big crate with power cell
15var int powerupon;
16
17#checks to see if OK to run training (for restored game funkiness)
18var int can_train_movement = 1;
19
20#continues crouch training
21var int onto_crouch2;
22
23#used to determine if dashing on track for the first time
24var int A;
25
26#used to determine if finished run was slow
27var int B;
28
29#set if running was failed
30var int bad;
31
32#used to measure performance of player
33var int rating = 1;
34
35#karen dies!
36var int demo3dead;
37
38#determines which jump script continues after getting on biggest crate
39var int got_ammo;
40
41#prevents forcefield and particle/gunk from starting multiple times and not after jumping to the next room
42var int forcefieldstopped;
43var int particlestarted;
44
45##################
46# basic movement #
47##################
48func void train_movement(string ai_name)
49{
50 if (can_train_movement eq 1)
51 {
52 train_movement_internal
53 }
54}
55
56func void train_movement_internal(void)
57{
58 fade_out 0 0 0 0
59 cm_interpolate KonCamFoot01 0
60 particle forcefield1 do start
61 particle forcefield2 do start
62 particle steam start
63 ui_suppress_prompt=1
64 ui_show_element left 0
65 ui_show_element right 0
66 target_set (1,0.0)
67 env_show 2010 0
68 how_far_along = 1;
69 trigvolume_enable trigger_volume_54 0
70 lock_keys
71 lock_keys keys_pause
72 trigvolume_enable tv_train_door 0
73 trigvolume_enable tv1 0
74 trigvolume_enable tv2 0
75 trigvolume_enable tv3 0
76 trigvolume_enable tv4 0
77 trigvolume_enable tv5 0
78 trigvolume_enable tv6 0
79 trigvolume_enable tv7 0
80 trigvolume_enable tv8 0
81 trigvolume_enable tv9 0
82 trigvolume_enable tv10 0
83 trigvolume_enable tv11 0
84 trigvolume_enable tv12 0
85 trigvolume_enable tv13 0
86 trigvolume_enable tv14 0
87 trigvolume_enable tv15 0
88 trigvolume_enable tv16 0
89 trigvolume_enable tv17 0
90 trigvolume_enable tv_move4 0
91 trigvolume_enable tv_end 0
92 trigvolume_enable tv_review 0
93 console_deactivate 11
94
95 dprint train_movement
96
97 if(how_far_along eq 1)
98 {
99 input 0
100 fade_in 120
101 sleep 90
102 fork Kon
103 ####Shinatama telling Konoko that their neurolink is working perfectly, and telling her they're about to start training.
104 cinematic_start (SHINnametag, 180, 180, 15, 1, 20, false)
105 sleep f10
106 music_train1
107 sound_dialog_play c00_01_29shinatama
108 sound_dialog_play_block pause
109 sleep 30
110 sound_dialog_play c00_01_30shinatama
111 sound_dialog_play_block pause
112 sleep 30
113 sound_dialog_play c00_01_31shinatama
114 sound_dialog_play_block pause
115 sleep 30
116 sound_dialog_play c00_01_32shinatama
117 sound_dialog_play_block pause
118 sleep 30
119 message xwelcome 240
120 sound_dialog_play c00_01_35shinatama
121 sound_dialog_play_block pause
122 cinematic_stop (SHINnametag, 15, 20)
123 input 1
124 }
125
126 if(how_far_along eq 1)
127 {
128 #use mouse
129 message xmouse
130 chr_wait_animtype 0 standing_turn_left standing_turn_right
131 message_remove xmouse
132 sleep 60
133 #move with wads
134 lock_keys keys_movement
135 message xmove
136 chr_wait_animtype 0 run
137 sleep 60
138 message_remove xmove
139 sleep 60
140 }
141 if(how_far_along eq 1)
142 {
143 #combine to move diag
144 message xcombo 300
145 sleep 300
146 }
147 if(how_far_along eq 1)
148 {
149 #control console
150 message xconsole1
151 sleep 30
152 particle obj_control create
153 trigvolume_enable trigger_volume_54 1
154 console_activate 10
155 lock_keys keys_action
156
157 }
158}
159
160func void move2(string ai_name)
161{
162 #trigger volume near control console
163 message_remove xmouse
164 message_remove xmove
165 message_remove xcombo
166 message_remove xconsole1
167 particle obj_control kill
168}
169
170func void lights(string ai_name)
171{
172 particle t17 create
173 sleep 60
174 particle t16 create
175 sleep 60
176 particle t15 create
177 sleep 60
178 particle t14 create
179 sleep 60
180 particle t13 create
181 sleep 60
182 particle t12 create
183 sleep 60
184 particle t11 create
185 sleep 60
186 particle t10 create
187 sleep 60
188 particle t9 create
189 sleep 60
190 particle t8 create
191 sleep 60
192 particle t7 create
193 sleep 60
194 particle t6 create
195 sleep 60
196 particle t5 create
197 sleep 60
198 particle t4 create
199 sleep 60
200 particle t3 create
201 sleep 60
202 particle t2 create
203 sleep 60
204 particle t1 create
205}
206
207func void move3(string ai_name)
208{
209 #used control console
210 message_remove xactivate1
211 particle obj_control kill
212 sleep 60
213
214 if(A eq 0)
215 #first run, so warm up
216 {
217 if(how_far_along eq 1)
218 {
219 #we'll use lights for dash
220 sound_dialog_play c00_01_36shinatama
221 message xactivate2 300
222 fork lights
223 sleep 30
224 #better warmup
225 sound_dialog_play_block c00_01_33shinatama
226 sound_dialog_play_block pause
227 }
228
229 if(how_far_along eq 1)
230 {
231 #turn and dash
232 message xdash1
233 fork encourage_dash
234 chr_wait_animation 0 KONSPRrun_lt KONSPRrun_rt
235 didsprint = 1
236 message_remove xdash1
237 message_remove xencouragedash
238 sleep 60
239 sound_dialog_play c00_01_37shinatama
240 # sound_dialog_play_block pause
241 }
242
243 if(how_far_along eq 1)
244 {
245 #beautiful sprint
246 message xdash2 240
247 sleep 240
248 }
249
250 if(how_far_along eq 1)
251 {
252 #dash is fast but loud
253 message xdash3
254 sound_dialog_play c00_01_38shinatama
255 sound_dialog_play_block pause
256 }
257 }
258
259 if(A eq 1)
260 {
261 tcount= 17;
262 B = 0;
263 bad = 0;
264 if(how_far_along eq 1)
265 {
266 # sound_dialog_play_block c00_01_41shinatama
267 dprint kill_parts
268 particle t17 kill
269 particle t16 kill
270 particle t15 kill
271 particle t14 kill
272 particle t13 kill
273 particle t12 kill
274 particle t11 kill
275 particle t10 kill
276 particle t9 kill
277 particle t8 kill
278 particle t7 kill
279 particle t6 kill
280 particle t5 kill
281 particle t4 kill
282 particle t3 kill
283 particle t2 kill
284 particle t1 kill
285 dprint recreate_parts
286 particle t17 create
287 particle t16 create
288 particle t15 create
289 particle t14 create
290 particle t13 create
291 particle t12 create
292 particle t11 create
293 particle t10 create
294 particle t9 create
295 particle t8 create
296 particle t7 create
297 particle t6 create
298 particle t5 create
299 particle t4 create
300 particle t3 create
301 particle t2 create
302 particle t1 create
303 trigvolume_reset tv_move4
304 }
305 }
306
307 if(how_far_along eq 1)
308 {
309 message_remove xdash3
310 sleep 60
311 #goto track and trigger script in volume
312 particle obj_start create
313 message xgotrack
314 trigvolume_enable tv_move4 1
315 }
316}
317
318func void encourage_dash(string ai_name)
319{
320 sleep 600
321 if(didsprint eq 0)
322 {
323 message_remove xdash1
324 sleep 60
325 #that'sleep 300 not a dash
326 sound_dialog_play c00_01_39shinatama
327 message xencouragedash
328 dprint rating
329 rating = rating + 1;
330 }
331}
332
333func void move4(string ai_name)
334{
335 if(A eq 0)
336 {
337 if(how_far_along eq 1)
338 {
339 message_remove xgotrack
340 trigvolume_enable tv1 1
341 trigvolume_enable tv2 1
342 trigvolume_enable tv3 1
343 trigvolume_enable tv4 1
344 trigvolume_enable tv5 1
345 trigvolume_enable tv6 1
346 trigvolume_enable tv7 1
347 trigvolume_enable tv8 1
348 trigvolume_enable tv9 1
349 trigvolume_enable tv10 1
350 trigvolume_enable tv11 1
351 trigvolume_enable tv12 1
352 trigvolume_enable tv13 1
353 trigvolume_enable tv14 1
354 trigvolume_enable tv15 1
355 trigvolume_enable tv16 1
356 trigvolume_enable tv17 1
357 particle obj_start kill
358 sound_dialog_play c00_01_41shinatama
359 sleep 60
360 message xrun
361 }
362 }
363 if(A eq 1)
364 {
365 if(how_far_along eq 1)
366 {
367 message_remove xgotrack
368 trigvolume_reset tv1
369 trigvolume_reset tv2
370 trigvolume_reset tv3
371 trigvolume_reset tv4
372 trigvolume_reset tv5
373 trigvolume_reset tv6
374 trigvolume_reset tv7
375 trigvolume_reset tv8
376 trigvolume_reset tv9
377 trigvolume_reset tv10
378 trigvolume_reset tv11
379 trigvolume_reset tv12
380 trigvolume_reset tv13
381 trigvolume_reset tv14
382 trigvolume_reset tv15
383 trigvolume_reset tv16
384 trigvolume_reset tv17
385 particle obj_start kill
386 sound_dialog_play c00_01_41shinatama
387 sleep 60
388 message xrun
389 }
390 }
391
392 particle obj_end create
393 trigvolume_reset tv_end
394 trigvolume_enable tv_end 1
395 sleep 660
396 dprint timeup
397 B = 1;
398}
399
400func void track_end(string ai_name)
401{
402 if(B eq 1)
403 {
404 bad = 1;
405 }
406 if(how_far_along eq 1)
407 {
408 particle obj_end kill
409 particle obj_start kill
410 message_remove
411 message_remove xrun
412 sleep 60
413 ###all targets hit
414 if(tcount eq 0)
415 {
416 #### all hit, RUN WAS fast
417 if(bad eq 0)
418 {
419 sound_dialog_play_block c00_01_42shinatama
420 message xgreat 240
421 A = 0;
422 sleep 240
423 }
424 ####all hit, RUN WAS slow
425 if(bad eq 1)
426 {
427 dprint rating
428 rating = rating + 1;
429 sound_dialog_play_block c00_01_11shinatama
430 message xgoodbutslow 240
431 A = 0;
432 sleep 240
433 }
434 }
435
436 ####targets were MISSED
437 if(tcount ne 0)
438 {
439 dprint rating
440 rating = rating + 1;
441 ###missed, fast
442 if(bad eq 0)
443 {
444 sound_dialog_play_block c00_01_43shinatama
445 message xpractice 360
446 A = 1;
447 sleep 360
448 }
449 ####missed, slow
450 if(bad eq 1)
451 {
452 sound_dialog_play_block c00_01_43shinatama
453 message xslowtoo 360
454 A = 1;
455 sleep 360
456 }
457 }
458 }
459 #####THIS ENDS BASIC MOVEMENTS FOR SUCCESSFUL RUNNERS
460 if(A eq 0)
461 {
462 if(how_far_along eq 1)
463 {
464 sound_dialog_play_block c00_01_44shinatama
465 message xendbasic 300
466 sleep 300
467 }
468
469 if(how_far_along eq 1)
470 {
471 sound_dialog_play c00_01_45shinatama
472 message xreview
473 console_activate 11
474 trigvolume_enable tv_review 1
475 particle obj_data create
476 }
477 }
478 ####IF THE RUN WASN'T GOOD, THEN RESET CONSOLE
479 if(A eq 1)
480 {
481 message xconsole1
482 sleep 30
483 particle obj_control create
484 console_reset 10
485 console_activate 10
486 trigvolume_reset trigger_volume_54
487 trigvolume_enable trigger_volume_54 1
488 }
489}
490
491func void review(string ai_name)
492{
493 if(how_far_along eq 1)
494 {
495 message_remove xreview
496 particle obj_data kill
497 # sleep 60
498 # message xactivate3
499 }
500}
501
502func void review2(string ai_name)
503{
504 if(how_far_along eq 1)
505 {
506 # message_remove xactivate3
507 text_console level_1c
508 console_reset 11
509 sleep 120
510 message xgodoor
511 trigvolume_enable tv_train_door 1
512 sound_dialog_play c00_01_48shinatama
513 # sound_dialog_play_block pause
514 particle obj1 create
515 }
516}
517
518func void track17(string ai_name)
519{
520 if(how_far_along eq 1)
521 {
522 particle t17 kill
523 tcount = tcount - 1
524 }
525}
526
527func void track16(string ai_name)
528{
529 if(how_far_along eq 1)
530 {
531 particle t16 kill
532 tcount = tcount - 1
533 }
534}
535
536func void track15(string ai_name)
537{
538 if(how_far_along eq 1)
539 {
540 particle t15 kill
541 tcount = tcount - 1
542}
543}
544
545func void track14(string ai_name)
546{
547 if(how_far_along eq 1)
548 {
549 particle t14 kill
550 tcount = tcount - 1
551 }
552}
553
554func void track13(string ai_name)
555{
556 if(how_far_along eq 1)
557 {
558 particle t13 kill
559 tcount = tcount - 1
560 }
561}
562
563func void track12(string ai_name)
564{
565 if(how_far_along eq 1)
566 {
567 particle t12 kill
568 tcount = tcount - 1
569 }
570}
571
572func void track11(string ai_name)
573{
574 if(how_far_along eq 1)
575 {
576 tcount = tcount - 1
577 particle t11 kill
578 }
579}
580
581func void track10(string ai_name)
582{
583 if(how_far_along eq 1)
584 {
585 particle t10 kill
586 tcount = tcount - 1
587 }
588}
589
590func void track9(string ai_name)
591{
592 if(how_far_along eq 1)
593 {
594 particle t9 kill
595 tcount = tcount - 1
596 }
597}
598
599func void track8(string ai_name)
600{
601 if(how_far_along eq 1)
602 {
603 particle t8 kill
604 tcount = tcount - 1
605 }
606}
607
608func void track7(string ai_name)
609{
610 if(how_far_along eq 1)
611 {
612 particle t7 kill
613 tcount = tcount - 1
614 }
615}
616
617func void track6(string ai_name)
618{
619 if(how_far_along eq 1)
620 {
621 particle t6 kill
622 tcount = tcount - 1
623 }
624}
625
626func void track5(string ai_name)
627{
628 if(how_far_along eq 1)
629 {
630 particle t5 kill
631 tcount = tcount - 1
632 }
633}
634
635func void track4(string ai_name)
636{
637 if(how_far_along eq 1)
638 {
639 particle t4 kill
640 tcount = tcount - 1
641 }
642}
643
644func void track3(string ai_name)
645{
646 if(how_far_along eq 1)
647 {
648 particle t3 kill
649 tcount = tcount - 1
650 }
651}
652
653func void track2(string ai_name)
654{
655 if(how_far_along eq 1)
656 {
657 particle t2 kill
658 tcount = tcount - 1
659 }
660}
661
662func void track1(string ai_name)
663{
664 if(how_far_along eq 1)
665 {
666 particle t1 kill
667 tcount = tcount - 1
668 }
669}
670
671###################
672# use manual door #
673###################
674func void train_door(string ai_name)
675{
676 dprint train_door
677 message_remove xgodoor
678 sleep 60
679# Good. Now the door will unlock as the indicator light turns green.
680 particle obj1 kill
681 #light goes green
682 message unlock_door1 240
683 sleep 40
684 door_unlock 98
685 particle door1_locklight02 do start
686 sleep 200
687
688 if (how_far_along eq 1)
689 {
690 message open_door1b 300
691 sleep 300
692 }
693
694 if (how_far_along eq 1)
695 {
696# Please proceed to the next room
697 message proceed_door1 300
698 sleep 300
699 }
700 if (how_far_along eq 1)
701 {
702# message open_door1
703 }
704}
705
706########
707# jump #
708########
709func void train_jump(string ai_name)
710{
711 how_far_along = 2;
712 lock_keys keys_inventory
713 message_remove open_door1
714 message_remove open_door1b
715 message_remove proceed_door1
716 sleep 120
717 if (how_far_along eq 2)
718 {
719 if(powerupon eq 0)
720 {
721 sound_dialog_play c00_01_49shinatama
722 message jump_basic 240
723 sleep 240
724 }
725 }
726 if (how_far_along eq 2)
727 {
728 if(powerupon eq 0)
729 {
730 lock_keys keys_jump
731# SPACE to jump
732 message c01_50_06
733 chr_wait_animtype 0 jump
734 sleep 60
735 message_remove c01_50_06
736 sleep 60
737 }
738 }
739 if (how_far_along eq 2)
740 {
741 if(powerupon eq 0)
742 {
743 sound_dialog_play c00_01_08shinatama
744 }
745 }
746 if (how_far_along eq 2)
747 {
748 if(powerupon eq 0)
749 {
750# directional jumping
751# (press W and then SPACE when you want to jump)
752 message c01_50_07
753 chr_wait_animation 0 KONOKOjump_fw_start KONOKOjump_lt_start KONOKOjump_rt_start KONOKOjump_bk_start
754 sleep 60
755 message_remove c01_50_07
756 sleep 60
757 }
758
759 }
760 if (how_far_along eq 2)
761 {
762 if(powerupon eq 0)
763 {
764# longer hit space, longer jump
765 message jump_basic2 300
766 sleep 120
767 }
768 }
769########################encourage players to jump to next room unless they are on the large crate
770 if (how_far_along eq 2)
771 {
772 if(powerupon eq 0)
773 {
774 if(forcefieldstopped eq 0)
775 {
776 forcefieldstopped = 1;
777 particle forcefield1 do stop
778 sleep 180
779 }
780 }
781 if(powerupon eq 0)
782 {
783 if(particlestarted eq 0)
784 {
785 particlestarted = 1;
786 sound_dialog_play c00_01_50shinatama
787 message jump1
788 particle obj2 create
789 env_show 2011 0
790 }
791
792 }
793 }
794}
795
796func void powerup(string ai_name)
797{
798 powerupon = 1
799 fork pickup_powerup
800 dprint rating
801 rating = rating - 1;
802 message_remove jump_basic
803 message_remove jump_basic2
804 message_remove good
805 message_remove jump1
806# particle obj2 kill
807 sleep 80
808 if(how_far_along eq 2)
809 {
810 sound_dialog_play c00_01_46shinatama
811 sound_dialog_play_block pause
812 sleep 30
813 sound_dialog_play c00_01_47shinatama
814 sound_dialog_play_block pause
815 }
816#############################encourage players to jump to next room unless they are getting the ammo
817 if(got_ammo eq 0)
818 {
819 if(how_far_along eq 2)
820 {
821 # particle obj2 kill
822 message_remove jump1
823 if(forcefieldstopped eq 0)
824 {
825 forcefieldstopped =1;
826 particle forcefield1 do stop
827 sleep 180
828 }
829 }
830 }
831 if(got_ammo eq 0)
832 {
833 if(how_far_along eq 2)
834 {
835 sound_dialog_play c00_01_50shinatama
836 if(particlestarted eq 0)
837 {
838 particlestarted = 1;
839 particle obj2 create
840 env_show 2011 0
841 }
842 }
843 }
844}
845
846func void pickup_powerup(void)
847{
848# particle obj2 kill
849 message_remove jump1
850 chr_wait_animtype 0 Pickup_Object
851 got_ammo = 1;
852 sleep 80
853 message xpower1 300
854 sleep 120
855#########################encourage players to jump to next room unless the messages have already gone by
856
857 forcefieldstopped = 1;
858 particle forcefield1 do stop
859 sleep 180
860 if(how_far_along eq 2)
861 {
862 sound_dialog_play c00_01_50shinatama
863 if(particlestarted eq 0)
864 {
865 particlestarted = 1;
866 particle obj2 create
867 env_show 2011 0
868 }
869 }
870 if(how_far_along eq 2)
871 {
872 message jump1
873 }
874}
875
876################
877# escape moves #
878################
879func void train_crouch(string ai_name)
880{
881 how_far_along = 3;
882 trigvolume_enable trigger_volume_62 0
883 message_remove
884 door_lock 98
885 particle door1_locklight02 do stop
886 particle obj2 kill
887 particle obj1 kill
888 particle obj_start kill
889 particle obj_end kill
890 particle obj_control kill
891 dprint train_crouch
892 trigvolume_enable trigger_volume_71 0
893 sleep 60
894 message_remove
895 particle obj2 kill
896 sound_dialog_play_interrupt c00_01_01shinatama
897 ai2_spawn demo1
898 ai2_spawn demo2
899 ai2_spawn demo3
900 chr_nocollision demo1 1
901 chr_nocollision demo2 1
902 chr_nocollision demo3 1
903 ai2_dopath demo1 pdemo1
904 ai2_dopath demo2 pdemo2
905 ai2_dopath demo3 pdemo3
906 ai2_setjobstate demo1
907 ai2_setjobstate demo2
908 ai2_setjobstate demo3
909 #shift important
910 if(how_far_along eq 3)
911 {
912 lock_keys keys_crouch
913 message shift 240
914 sleep 240
915 }
916
917 if(how_far_along eq 3)
918 {
919# SHIFT to crouch
920 message c01_50_08
921 chr_wait_animtype 0 crouch
922 sleep 60
923 message_remove c01_50_08
924 sleep 120
925 }
926
927 if(how_far_along eq 3)
928 {
929 sleep 30
930# sorry to interrupt you
931 sound_dialog_play c00_01_51shinatama
932 sleep 60
933 message xinterrupt 180
934 sleep 180
935 message xfite
936 sleep 30
937 particle fight create
938 trigvolume_enable trigger_volume_71 1
939 }
940}
941
942func void crouch2(string ai_name)
943{
944 if (how_far_along eq 3)
945 {
946 message xresume 180
947 sleep 180
948# MOVEWHile crouching
949 message c01_50_09
950 chr_wait_animtype 0 crouch_run crouch_run_backwards crouch_run_sidestep_left crouch_run_sidestep_right
951 sleep 60
952 message_remove c01_50_09
953 sleep 60
954 message c01_50_10 240
955 sound_dialog_play_block c00_01_54shinatama
956 sleep 240
957
958 }
959
960 if (how_far_along eq 3)
961 {
962# ESCAPE MOVES somersault
963 message c01_50_11
964 chr_wait_animation 0 KONCOMcrouch_fw KONCOMcrouch_rt KONCOMcrouch_lt KONOKOcrouch_fw KONOKOss_lt_slide KONOKOss_rt_slide KONOKOrun_bk_slide
965 sleep 60
966 message_remove c01_50_11
967 sleep 60
968 }
969
970 if (how_far_along eq 3)
971 {
972# cartwheel
973 message back
974 chr_wait_animtype 0 crouch_back
975 sleep 60
976 sound_dialog_play_block c00_01_07shinatama
977 message_remove back
978 sleep 60
979 }
980
981 if (how_far_along eq 3)
982 {
983# SLIDE
984 sleep 30
985 sound_dialog_play_block c00_01_55shinatama
986 sound_dialog_play_block pause
987 message c01_50_16
988 chr_wait_animstate 0 run_slide
989 sleep 60
990 message_remove c01_50_16
991 sleep 60
992 }
993
994 if (how_far_along eq 3)
995 {
996# slide under traps
997# try sliding beneath these moving laser sensors
998 sleep 60
999 sound_dialog_play_block c00_01_57shinatama
1000 }
1001 if (how_far_along eq 3)
1002 {
1003 message slide 360
1004 sleep 30
1005 trig_activate 3
1006 sleep 40
1007 trig_activate 2
1008 sleep 40
1009 trig_activate 1
1010 sleep 300
1011 sound_dialog_play_block c00_01_56shinatama
1012 sleep 300
1013 }
1014
1015 if (how_far_along eq 3)
1016 {
1017# especially important when fighting multiple opponents
1018# message c01_50_13 240
1019 sound_dialog_play_block c00_01_59shinatama
1020 sound_dialog_play_block pause
1021 sleep 60
1022 }
1023
1024 if (how_far_along eq 3)
1025 {
1026# JUMP-FLIP
1027 message jump_flip 300
1028 sleep 300
1029 }
1030 if (how_far_along eq 3)
1031 {
1032 message c01_50_19
1033 chr_wait_animtype 0 flip
1034 message_remove c01_50_19
1035 sleep 60
1036 sound_dialog_play_block c00_01_03shinatama
1037 sound_dialog_play_block pause
1038 }
1039
1040 if (how_far_along eq 3)
1041 {
1042# hit opponent on ground
1043 sound_dialog_play_block c00_01_60shinatama
1044 sound_dialog_play_block pause
1045 }
1046
1047 if (how_far_along eq 3)
1048 {
1049# more jump-flip
1050# starting at the target cursor on the floor, dash and jump-flip up to the next level.
1051 particle forcefield2 do stop
1052 sleep 180
1053 sound_dialog_play_block c00_01_61shinatama
1054 message c01_50_23
1055 particle obj3 create
1056 env_show 2012 0
1057 sleep 600
1058 }
1059
1060 if (how_far_along eq 3)
1061 {
1062 sound_dialog_play_block c00_01_62shinatama
1063 sound_dialog_play_block pause
1064 message_remove c01_50_23
1065 sleep 60
1066 message jump_encourage 300
1067 sleep 300
1068 }
1069 if (how_far_along eq 1)
1070 {
1071 message c01_50_23
1072 sleep 900
1073 }
1074
1075 if (how_far_along eq 3)
1076 {
1077 message_remove c01_50_23
1078 sleep 60
1079 }
1080 if (how_far_along eq 3)
1081 {
1082 sound_dialog_play_block c00_01_63shinatama
1083 particle obj3 kill
1084 sleep 30
1085 }
1086 if (how_far_along eq 3)
1087 {
1088 particle obj4 create
1089 message jump_encourage2
1090 dprint rating
1091 rating = rating + 1;
1092 }
1093}
1094
1095################
1096# karen fights #
1097################
1098
1099func void t71(string ai_name)
1100{
1101 message_remove xfite
1102 chr_nocollision demo1 0
1103 chr_nocollision demo2 0
1104 chr_nocollision demo3 0
1105 env_show 2010 1
1106 chr_changeteam demo1 Syndicate
1107 chr_changeteam demo2 Syndicate
1108 particle fight kill
1109}
1110
1111func void demo3dies(string ai_name)
1112{
1113 dprint oh_no
1114 demo3dead = 1;
1115 chr_changeteam demo1 Konoko
1116 chr_changeteam demo2 Konoko
1117 if(trigvolume_count (71) eq 1)
1118 {
1119 sleep 60
1120 sound_dialog_play c00_01_52shinatama
1121 sound_dialog_play_block pause
1122 }
1123 sleep 60
1124 crouch2
1125
1126}
1127
1128func void demo_over(string ai_name)
1129{
1130 onto_crouch2 = onto_crouch2 + 1
1131 if(onto_crouch2 eq 2)
1132 {
1133 ai2_dopath demo3 pdemo4
1134 ai2_setjobstate demo3
1135 sleep 90
1136 sound_dialog_play c00_01_53shinatama
1137 sound_dialog_play_block pause
1138 if(demo3dead eq 0)
1139 {
1140 crouch2
1141 }
1142 }
1143}
Note: See TracBrowser for help on using the repository browser.