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

Last change on this file since 185 was 185, checked in by geyser, 14 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.