1 |
################# |
2 |
### VARIABLES ### |
3 |
################# |
4 |
|
5 |
var int rating = 0; |
6 |
var int var_training_counter; |
7 |
var int var_training_counter2; |
8 |
var int var_training_counter3; |
9 |
|
10 |
############# |
11 |
### START ### |
12 |
############# |
13 |
|
14 |
func void deactivate_training_stuff(void) |
15 |
{ |
16 |
#used |
17 |
co_message_display = 1 |
18 |
env_show 2010 0 |
19 |
particle forcefield1 do start |
20 |
particle forcefield2 do start |
21 |
particle steam start |
22 |
trigvolume_enable tv1 0 |
23 |
trigvolume_enable tv2 0 |
24 |
trigvolume_enable tv3 0 |
25 |
trigvolume_enable tv4 0 |
26 |
trigvolume_enable tv5 0 |
27 |
trigvolume_enable tv6 0 |
28 |
trigvolume_enable tv7 0 |
29 |
trigvolume_enable tv8 0 |
30 |
trigvolume_enable tv9 0 |
31 |
trigvolume_enable tv10 0 |
32 |
trigvolume_enable tv11 0 |
33 |
trigvolume_enable tv12 0 |
34 |
trigvolume_enable tv13 0 |
35 |
trigvolume_enable tv14 0 |
36 |
trigvolume_enable tv15 0 |
37 |
trigvolume_enable tv16 0 |
38 |
trigvolume_enable tv17 0 |
39 |
trigvolume_enable tv74 0 |
40 |
trigvolume_enable tv75 0 |
41 |
trigvolume_enable tv_end 0 |
42 |
trigvolume_enable tv_move4 0 |
43 |
trigvolume_enable tv_review 0 |
44 |
trigvolume_enable tv_train_door 0 |
45 |
trigvolume_enable trigger_volume_71 0 |
46 |
ui_show_element left 0 |
47 |
ui_show_element right 0 |
48 |
} |
49 |
|
50 |
############### |
51 |
### TRAINING ### |
52 |
############### |
53 |
|
54 |
### MOVEMENT ### |
55 |
|
56 |
#tv20 - at the start point |
57 |
func void train_movement(string ai_name) |
58 |
{ |
59 |
trigvolume_enable tv_train_movement 0 |
60 |
fork deactivate_training_stuff |
61 |
splash_screen training_splash_screen |
62 |
fade_out 0 0 0 0 |
63 |
lock_keys |
64 |
lock_keys keys_pause |
65 |
lock_keys keys_action |
66 |
lock_keys keys_movement |
67 |
fade_in 60 |
68 |
sleep 10 |
69 |
sound_music_start atm_gr06 0 |
70 |
sound_music_volume atm_gr06 0.7 3.0 |
71 |
fork lights |
72 |
message xwelcome 240 |
73 |
sound_dialog_play c00_01_29shinatama |
74 |
sound_dialog_play_block pause |
75 |
sleep 30 |
76 |
sound_dialog_play c00_01_30shinatama |
77 |
sound_dialog_play_block pause |
78 |
sleep 30 |
79 |
sound_dialog_play c00_01_32shinatama |
80 |
sound_dialog_play_block pause |
81 |
sleep 30 |
82 |
sound_dialog_play_block c00_01_33shinatama |
83 |
sound_dialog_play_block pause |
84 |
message xdash1 |
85 |
fork encourage_dash |
86 |
chr_wait_animation 0 KONSPRrun_lt KONSPRrun_rt |
87 |
var_training_counter2 = 1 |
88 |
message_remove |
89 |
sleep 60 |
90 |
message xdash2 180 |
91 |
sound_dialog_play c00_01_37shinatama |
92 |
sleep 180 |
93 |
message xgotrack |
94 |
sound_dialog_play_block c00_01_40shinatama |
95 |
particle obj_start create |
96 |
trigvolume_enable tv_move4 1 |
97 |
} |
98 |
|
99 |
#tv50 - in front of console 10 (func: move2); I've disabled it |
100 |
|
101 |
func void lights(void) |
102 |
{ |
103 |
particle t17 create |
104 |
sleep 60 |
105 |
particle t16 create |
106 |
sleep 60 |
107 |
particle t15 create |
108 |
sleep 60 |
109 |
particle t14 create |
110 |
sleep 60 |
111 |
particle t13 create |
112 |
sleep 60 |
113 |
particle t12 create |
114 |
sleep 60 |
115 |
particle t11 create |
116 |
sleep 60 |
117 |
particle t10 create |
118 |
sleep 60 |
119 |
particle t9 create |
120 |
sleep 60 |
121 |
particle t8 create |
122 |
sleep 60 |
123 |
particle t7 create |
124 |
sleep 60 |
125 |
particle t6 create |
126 |
sleep 60 |
127 |
particle t5 create |
128 |
sleep 60 |
129 |
particle t4 create |
130 |
sleep 60 |
131 |
particle t3 create |
132 |
sleep 60 |
133 |
particle t2 create |
134 |
sleep 60 |
135 |
particle t1 create |
136 |
} |
137 |
|
138 |
func void encourage_dash(string ai_name) |
139 |
{ |
140 |
sleep 600 |
141 |
if(var_training_counter2 ne 1) |
142 |
{ |
143 |
sound_dialog_play c00_01_39shinatama |
144 |
message xencouragedash |
145 |
rating = rating + 1 |
146 |
} |
147 |
} |
148 |
|
149 |
#tv51 - where you start your dash |
150 |
func void move4(string ai_name) |
151 |
{ |
152 |
message_remove xgotrack |
153 |
var_training_counter = 0 |
154 |
trigvolume_enable tv1 1 |
155 |
trigvolume_enable tv2 1 |
156 |
trigvolume_enable tv3 1 |
157 |
trigvolume_enable tv4 1 |
158 |
trigvolume_enable tv5 1 |
159 |
trigvolume_enable tv6 1 |
160 |
trigvolume_enable tv7 1 |
161 |
trigvolume_enable tv8 1 |
162 |
trigvolume_enable tv9 1 |
163 |
trigvolume_enable tv10 1 |
164 |
trigvolume_enable tv11 1 |
165 |
trigvolume_enable tv12 1 |
166 |
trigvolume_enable tv13 1 |
167 |
trigvolume_enable tv14 1 |
168 |
trigvolume_enable tv15 1 |
169 |
trigvolume_enable tv16 1 |
170 |
trigvolume_enable tv17 1 |
171 |
particle obj_start kill |
172 |
sound_dialog_play_interrupt c00_01_41shinatama |
173 |
sleep 60 |
174 |
message xrun |
175 |
particle obj_end create |
176 |
trigvolume_enable tv_end 1 |
177 |
} |
178 |
|
179 |
#tv34 - next to the 1st red light |
180 |
func void track17(string ai_name) |
181 |
{ |
182 |
particle t17 kill |
183 |
var_training_counter = var_training_counter + 1 |
184 |
} |
185 |
|
186 |
#tv33 - next to the 2nd red light |
187 |
func void track16(string ai_name) |
188 |
{ |
189 |
fork speed_timer |
190 |
particle t16 kill |
191 |
var_training_counter = var_training_counter + 1 |
192 |
} |
193 |
|
194 |
#tv35 - next to the 3rd red light |
195 |
func void track15(string ai_name) |
196 |
{ |
197 |
particle t15 kill |
198 |
var_training_counter = var_training_counter + 1 |
199 |
} |
200 |
|
201 |
#tv37 - next to the 4th red light |
202 |
func void track14(string ai_name) |
203 |
{ |
204 |
particle t14 kill |
205 |
var_training_counter = var_training_counter + 1 |
206 |
} |
207 |
|
208 |
#tv38 - next to the 5th red light |
209 |
func void track13(string ai_name) |
210 |
{ |
211 |
particle t13 kill |
212 |
var_training_counter = var_training_counter + 1 |
213 |
} |
214 |
|
215 |
#tv39 - next to the 6th red light |
216 |
func void track12(string ai_name) |
217 |
{ |
218 |
particle t12 kill |
219 |
var_training_counter = var_training_counter + 1 |
220 |
} |
221 |
|
222 |
#tv40 - next to the 7th red light |
223 |
func void track11(string ai_name) |
224 |
{ |
225 |
particle t11 kill |
226 |
var_training_counter = var_training_counter + 1 |
227 |
} |
228 |
|
229 |
#tv41 - next to the 8th red light |
230 |
func void track10(string ai_name) |
231 |
{ |
232 |
particle t10 kill |
233 |
var_training_counter = var_training_counter + 1 |
234 |
} |
235 |
|
236 |
#tv36 - next to the 9th red light |
237 |
func void track9(string ai_name) |
238 |
{ |
239 |
particle t9 kill |
240 |
var_training_counter = var_training_counter + 1 |
241 |
} |
242 |
|
243 |
#tv42 - next to the 10th red light |
244 |
func void track8(string ai_name) |
245 |
{ |
246 |
particle t8 kill |
247 |
var_training_counter = var_training_counter + 1 |
248 |
} |
249 |
|
250 |
#tv43 - next to the 11th red light |
251 |
func void track7(string ai_name) |
252 |
{ |
253 |
particle t7 kill |
254 |
var_training_counter = var_training_counter + 1 |
255 |
} |
256 |
|
257 |
#tv44 - next to the 12th red light |
258 |
func void track6(string ai_name) |
259 |
{ |
260 |
particle t6 kill |
261 |
var_training_counter = var_training_counter + 1 |
262 |
} |
263 |
|
264 |
#tv45 - next to the 13th red light |
265 |
func void track5(string ai_name) |
266 |
{ |
267 |
particle t5 kill |
268 |
var_training_counter = var_training_counter + 1 |
269 |
} |
270 |
|
271 |
#tv46 - next to the 14th red light |
272 |
func void track4(string ai_name) |
273 |
{ |
274 |
particle t4 kill |
275 |
var_training_counter = var_training_counter + 1 |
276 |
} |
277 |
|
278 |
#tv47 - next to the 15th red light |
279 |
func void track3(string ai_name) |
280 |
{ |
281 |
particle t3 kill |
282 |
var_training_counter = var_training_counter + 1 |
283 |
} |
284 |
|
285 |
#tv48 - next to the 16th red light |
286 |
func void track2(string ai_name) |
287 |
{ |
288 |
particle t2 kill |
289 |
var_training_counter = var_training_counter + 1 |
290 |
} |
291 |
|
292 |
#tv49 - next to the 17th red light |
293 |
func void track1(string ai_name) |
294 |
{ |
295 |
particle t1 kill |
296 |
var_training_counter = var_training_counter + 1 |
297 |
} |
298 |
|
299 |
func void speed_timer(void) |
300 |
{ |
301 |
sleep 540 |
302 |
var_training_counter3 = 1 |
303 |
} |
304 |
|
305 |
#tv52 - at the end of the dash course; in some distance after tv49 |
306 |
func void track_end(string ai_name) |
307 |
{ |
308 |
particle obj_end kill |
309 |
message_remove |
310 |
sleep 60 |
311 |
if(var_training_counter eq 17) |
312 |
{ |
313 |
if(var_training_counter3 eq 1) |
314 |
{ |
315 |
rating = rating + 1 |
316 |
sound_dialog_play_block c00_01_11shinatama |
317 |
message xgoodbutslow 120 |
318 |
sleep 120 |
319 |
} |
320 |
else |
321 |
{ |
322 |
sound_dialog_play_block c00_01_42shinatama |
323 |
message xgreat 120 |
324 |
sleep 120 |
325 |
} |
326 |
message xendbasic 240 |
327 |
sound_dialog_play_block c00_01_44shinatama |
328 |
sleep 240 |
329 |
message xgodoor |
330 |
sound_dialog_play c00_01_48shinatama |
331 |
trigvolume_enable tv_train_door 1 |
332 |
particle obj1 create |
333 |
} |
334 |
if(var_training_counter < 17) |
335 |
{ |
336 |
if(var_training_counter3 eq 1) |
337 |
{ |
338 |
rating = rating + 2 |
339 |
sound_dialog_play_block c00_01_43shinatama |
340 |
message xslowtoo 360 |
341 |
sleep 360 |
342 |
} |
343 |
else |
344 |
{ |
345 |
rating = rating + 1 |
346 |
sound_dialog_play_block c00_01_43shinatama |
347 |
message xpractice 360 |
348 |
sleep 360 |
349 |
} |
350 |
fork try_it_again |
351 |
} |
352 |
} |
353 |
|
354 |
func void try_it_again(void) |
355 |
{ |
356 |
var_training_counter2 = 0 |
357 |
var_training_counter3 = 0 |
358 |
sleep 60 |
359 |
particle obj_start create |
360 |
message xgotrack |
361 |
particle t17 kill |
362 |
particle t16 kill |
363 |
particle t15 kill |
364 |
particle t14 kill |
365 |
particle t13 kill |
366 |
particle t12 kill |
367 |
particle t11 kill |
368 |
particle t10 kill |
369 |
particle t9 kill |
370 |
particle t8 kill |
371 |
particle t7 kill |
372 |
particle t6 kill |
373 |
particle t5 kill |
374 |
particle t4 kill |
375 |
particle t3 kill |
376 |
particle t2 kill |
377 |
particle t1 kill |
378 |
particle t17 create |
379 |
particle t16 create |
380 |
particle t15 create |
381 |
particle t14 create |
382 |
particle t13 create |
383 |
particle t12 create |
384 |
particle t11 create |
385 |
particle t10 create |
386 |
particle t9 create |
387 |
particle t8 create |
388 |
particle t7 create |
389 |
particle t6 create |
390 |
particle t5 create |
391 |
particle t4 create |
392 |
particle t3 create |
393 |
particle t2 create |
394 |
particle t1 create |
395 |
trigvolume_reset tv1 |
396 |
trigvolume_reset tv2 |
397 |
trigvolume_reset tv3 |
398 |
trigvolume_reset tv4 |
399 |
trigvolume_reset tv5 |
400 |
trigvolume_reset tv6 |
401 |
trigvolume_reset tv7 |
402 |
trigvolume_reset tv8 |
403 |
trigvolume_reset tv9 |
404 |
trigvolume_reset tv10 |
405 |
trigvolume_reset tv11 |
406 |
trigvolume_reset tv12 |
407 |
trigvolume_reset tv13 |
408 |
trigvolume_reset tv14 |
409 |
trigvolume_reset tv15 |
410 |
trigvolume_reset tv16 |
411 |
trigvolume_reset tv17 |
412 |
trigvolume_reset tv_end |
413 |
trigvolume_reset tv_move4 |
414 |
} |
415 |
|
416 |
#tv53 - in front of console 11 (func: review); I've disabled it |
417 |
|
418 |
#tv22 - in front of door 98 |
419 |
func void train_door(string ai_name) |
420 |
{ |
421 |
message_remove |
422 |
sleep 60 |
423 |
particle obj1 kill |
424 |
message unlock_door1 240 |
425 |
particle door1_locklight02 do start |
426 |
door_unlock 98 |
427 |
} |
428 |
|
429 |
### JUMP ### |
430 |
|
431 |
#tv25 - after door 98 |
432 |
func void train_jump(string ai_name) |
433 |
{ |
434 |
var_training_counter = 0 |
435 |
var_training_counter2 = 0 |
436 |
var_training_counter3 = 0 |
437 |
lock_keys keys_inventory |
438 |
message_remove |
439 |
sound_dialog_play_interrupt c00_01_49shinatama |
440 |
sleep 60 |
441 |
message jump_basic 180 |
442 |
sleep 180 |
443 |
lock_keys keys_jump |
444 |
message c01_50_06 |
445 |
chr_wait_animtype 0 jump |
446 |
message_remove c01_50_06 |
447 |
sleep 60 |
448 |
sound_dialog_play c00_01_08shinatama |
449 |
message c01_50_07 |
450 |
chr_wait_animation 0 KONOKOjump_fw_start KONOKOjump_lt_start KONOKOjump_rt_start KONOKOjump_bk_start |
451 |
message_remove c01_50_07 |
452 |
sleep 60 |
453 |
sound_dialog_play c00_01_02shinatama |
454 |
message jump_basic2 180 |
455 |
sleep 180 |
456 |
message jump1 |
457 |
sound_dialog_play c00_01_50shinatama |
458 |
particle forcefield1 do stop |
459 |
particle obj2 create |
460 |
env_show 2011 0 |
461 |
} |
462 |
|
463 |
#tv54 - on the box with the energy cell |
464 |
func void powerup(string ai_name) |
465 |
{ |
466 |
fork pickup_powerup |
467 |
sleep 80 |
468 |
sound_dialog_play_interrupt c00_01_46shinatama |
469 |
sound_dialog_play_block pause |
470 |
sleep 30 |
471 |
sound_dialog_play c00_01_47shinatama |
472 |
sound_dialog_play_block pause |
473 |
sleep 30 |
474 |
if(var_training_counter ne 1) sound_dialog_play c00_01_50shinatama |
475 |
} |
476 |
|
477 |
func void pickup_powerup(void) |
478 |
{ |
479 |
chr_wait_animtype 0 Pickup_Object |
480 |
rating = rating - 1 |
481 |
sleep 80 |
482 |
message xpower1 300 |
483 |
} |
484 |
|
485 |
### CROUCH ### |
486 |
|
487 |
#tv21 - after the forcefield |
488 |
func void train_crouch(string ai_name) |
489 |
{ |
490 |
trigvolume_enable trigger_volume_62 0 |
491 |
message_remove |
492 |
var_training_counter = 1 |
493 |
particle door1_locklight02 do stop |
494 |
door_lock 98 |
495 |
particle obj2 kill |
496 |
sleep 60 |
497 |
sound_dialog_play_interrupt c00_01_01shinatama |
498 |
ai2_spawn demo1 |
499 |
ai2_spawn demo2 |
500 |
ai2_spawn demo3 |
501 |
chr_nocollision demo1 1 |
502 |
chr_nocollision demo2 1 |
503 |
chr_nocollision demo3 1 |
504 |
ai2_dopath demo1 pdemo1 |
505 |
ai2_dopath demo2 pdemo2 |
506 |
ai2_dopath demo3 pdemo3 |
507 |
ai2_setjobstate demo1 |
508 |
ai2_setjobstate demo2 |
509 |
ai2_setjobstate demo3 |
510 |
lock_keys keys_crouch |
511 |
message shift 120 |
512 |
sleep 120 |
513 |
sound_dialog_play c00_01_51shinatama |
514 |
message xinterrupt 120 |
515 |
sleep 120 |
516 |
message xfite |
517 |
particle fight create |
518 |
trigvolume_enable trigger_volume_71 1 |
519 |
} |
520 |
|
521 |
#tv66 - on the box which is in front of the window |
522 |
func void t71(string ai_name) |
523 |
{ |
524 |
var_training_counter = 0 |
525 |
particle fight kill |
526 |
message_remove xfite |
527 |
chr_nocollision demo1 0 |
528 |
chr_nocollision demo2 0 |
529 |
chr_nocollision demo3 0 |
530 |
env_show 2010 1 |
531 |
chr_changeteam demo1 Syndicate |
532 |
chr_changeteam demo2 Syndicate |
533 |
} |
534 |
|
535 |
#lose func of demo1 and demo2 |
536 |
func void demo_over(string ai_name) |
537 |
{ |
538 |
var_training_counter = var_training_counter + 1 |
539 |
if(var_training_counter eq 2) |
540 |
{ |
541 |
ai2_dopath demo3 pdemo4 |
542 |
ai2_setjobstate demo3 |
543 |
sleep 90 |
544 |
message xresume 180 |
545 |
sound_dialog_play c00_01_53shinatama |
546 |
sound_dialog_play_block pause |
547 |
if(var_training_counter < 10) crouch2 |
548 |
} |
549 |
} |
550 |
|
551 |
#lose func of demo3 |
552 |
func void demo3dies(string ai_name) |
553 |
{ |
554 |
var_training_counter = 10 |
555 |
chr_changeteam demo1 Konoko |
556 |
chr_changeteam demo2 Konoko |
557 |
sleep 60 |
558 |
message xresume 180 |
559 |
sound_dialog_play c00_01_52shinatama |
560 |
sound_dialog_play_block pause |
561 |
crouch2 |
562 |
} |
563 |
|
564 |
func void crouch2(string ai_name) |
565 |
{ |
566 |
var_training_counter = 0 |
567 |
message c01_50_09 |
568 |
chr_wait_animtype 0 crouch_run crouch_run_backwards crouch_run_sidestep_left crouch_run_sidestep_right |
569 |
sleep 60 |
570 |
message_remove c01_50_09 |
571 |
sleep 60 |
572 |
message c01_50_10 240 |
573 |
sound_dialog_play_block c00_01_54shinatama |
574 |
sleep 240 |
575 |
message c01_50_11 |
576 |
chr_wait_animation 0 KONCOMcrouch_fw KONCOMcrouch_rt KONCOMcrouch_lt KONOKOcrouch_fw KONOKOss_lt_slide KONOKOss_rt_slide KONOKOrun_bk_slide |
577 |
message_remove c01_50_11 |
578 |
sleep 60 |
579 |
sound_dialog_play_block c00_01_05shinatama |
580 |
sound_dialog_play_block pause |
581 |
sleep 30 |
582 |
message back |
583 |
chr_wait_animtype 0 crouch_back |
584 |
message_remove back |
585 |
sleep 60 |
586 |
sound_dialog_play_block c00_01_07shinatama |
587 |
sound_dialog_play_block pause |
588 |
sleep 30 |
589 |
sound_dialog_play_block c00_01_55shinatama |
590 |
sound_dialog_play_block pause |
591 |
message c01_50_16 |
592 |
chr_wait_animstate 0 run_slide |
593 |
message_remove c01_50_16 |
594 |
sleep 60 |
595 |
sound_dialog_play_block c00_01_06shinatama |
596 |
sound_dialog_play_block pause |
597 |
sleep 30 |
598 |
message jump_flip |
599 |
message c01_50_19 |
600 |
chr_wait_animtype 0 flip |
601 |
message_remove |
602 |
sleep 60 |
603 |
sound_dialog_play_block c00_01_03shinatama |
604 |
sound_dialog_play_block pause |
605 |
particle forcefield2 do stop |
606 |
env_show 2012 0 |
607 |
sleep 60 |
608 |
sound_dialog_play_block c00_01_61shinatama |
609 |
message c01_50_23 |
610 |
particle obj3 create |
611 |
sleep 600 |
612 |
if(var_training_counter ne 1) |
613 |
{ |
614 |
rating = rating + 1 |
615 |
sound_dialog_play_block c00_01_62shinatama |
616 |
sound_dialog_play_block pause |
617 |
message_remove c01_50_23 |
618 |
sleep 60 |
619 |
message jump_encourage 300 |
620 |
sleep 300 |
621 |
message c01_50_23 |
622 |
sleep 900 |
623 |
} |
624 |
if(var_training_counter ne 1) |
625 |
{ |
626 |
rating = rating + 1 |
627 |
message_remove c01_50_23 |
628 |
sleep 60 |
629 |
sound_dialog_play_block c00_01_63shinatama |
630 |
particle obj3 kill |
631 |
sleep 30 |
632 |
particle obj4 create |
633 |
message jump_encourage2 |
634 |
} |
635 |
} |
636 |
|
637 |
### FIGHT ### |
638 |
|
639 |
#tv23 - after the forcefield |
640 |
func void train_fighting(string ai_name) |
641 |
{ |
642 |
var_training_counter = 1 |
643 |
music_stop |
644 |
particle obj3 kill |
645 |
particle obj4 kill |
646 |
trig_deactivate 1 |
647 |
trig_deactivate 2 |
648 |
trig_deactivate 3 |
649 |
message_remove |
650 |
sleep 60 |
651 |
sound_dialog_play_interrupt c00_01_64shinatama |
652 |
message begin_fight 240 |
653 |
sleep 240 |
654 |
lock_keys keys_attack |
655 |
message xpunch |
656 |
chr_wait_animtype 0 punch |
657 |
message_remove xpunch |
658 |
sleep 60 |
659 |
message xkick |
660 |
chr_wait_animtype 0 kick |
661 |
message_remove xkick |
662 |
sleep 60 |
663 |
sound_dialog_play_block c00_01_65shinatama |
664 |
message punch |
665 |
chr_wait_animtype 0 punch2 |
666 |
message_remove punch |
667 |
sleep 60 |
668 |
message c01_50_27 180 |
669 |
sound_dialog_play_interrupt c00_01_66shinatama |
670 |
sound_dialog_play_block pause |
671 |
var_training_counter = 0 |
672 |
message c01_50_29 |
673 |
fork wait_for_combo |
674 |
chr_wait_animtype 0 ppk |
675 |
var_training_counter = 1 |
676 |
message_remove |
677 |
sleep 60 |
678 |
message xppk |
679 |
sound_dialog_play_interrupt c00_01_07shinatama |
680 |
sleep 30 |
681 |
message_remove xppk |
682 |
sound_dialog_play_block c00_01_70shinatama |
683 |
sound_dialog_play_block pause |
684 |
sleep 30 |
685 |
sound_dialog_play_block c00_01_71shinatama |
686 |
message xspar2 |
687 |
ai2_spawn dum_hit_flash |
688 |
chr_lock_active dum_hit_flash |
689 |
chr_death_lock dum_hit_flash 1 |
690 |
particle door2_locklight02 do start |
691 |
door_unlock 99 |
692 |
} |
693 |
|
694 |
func void wait_for_combo(string ai_name) |
695 |
{ |
696 |
sleep 600 |
697 |
if(var_training_counter eq 0) |
698 |
{ |
699 |
rating = rating + 1 |
700 |
message_remove c01_50_29 |
701 |
sound_dialog_play_block c00_01_68shinatama |
702 |
sleep 60 |
703 |
} |
704 |
if(var_training_counter eq 0) |
705 |
{ |
706 |
message c01_50_29b 240 |
707 |
sleep 240 |
708 |
} |
709 |
if(var_training_counter eq 0) message c01_50_29 |
710 |
} |
711 |
|
712 |
### FIGHT AIGAINST NEUTRAL DRONE ### |
713 |
|
714 |
#tv27 - after door 99 |
715 |
func void train_hit_flash(string ai_name) |
716 |
{ |
717 |
sound_music_start atm_ft68 0 |
718 |
sound_music_volume atm_ft68 0.75 3.0 |
719 |
message_remove xspar2 |
720 |
sleep 60 |
721 |
sound_dialog_play_block c00_01_77shinatama |
722 |
message start_hit |
723 |
ai2_makeignoreplayer dum_hit_flash 1 |
724 |
} |
725 |
|
726 |
#tv68 - the field with the drone (exit func) |
727 |
func void flash_path(string ai_name) |
728 |
{ |
729 |
sleep 90 |
730 |
ai2_dopath dum_hit_flash patrol_dum_hit_flash |
731 |
} |
732 |
|
733 |
#hit func of dum_hit_flash |
734 |
func void hurt_dummy1(string ai_name) |
735 |
{ |
736 |
particle steam stop |
737 |
particle door2_locklight02 do stop |
738 |
door_lock 99 |
739 |
message_remove start_hit |
740 |
sleep 60 |
741 |
ai2_dopath dum_hit_flash patrol_dum_hit_flash |
742 |
ai2_setjobstate dum_hit_flash |
743 |
message c01_50_35 240 |
744 |
sleep 240 |
745 |
message blueflash 240 |
746 |
sleep 240 |
747 |
message c01_50_37 240 |
748 |
sleep 240 |
749 |
message c01_50_38 240 |
750 |
sleep 240 |
751 |
sound_dialog_play_block c00_01_78shinatama |
752 |
sleep 360 |
753 |
message goto_throw |
754 |
particle door3_locklight02 do start |
755 |
door_unlock 100 |
756 |
ai2_spawn dum_train_throw |
757 |
chr_lock_active dum_train_throw |
758 |
chr_death_lock dum_train_throw 1 |
759 |
ai2_makeignoreplayer dum_train_throw 1 |
760 |
} |
761 |
|
762 |
#lose func of dum_hit_flash |
763 |
func void regen1(string ai_name) |
764 |
{ |
765 |
message_remove blueflash |
766 |
message_remove c01_50_37 |
767 |
message_remove c01_50_38 |
768 |
sleep 60 |
769 |
message xregen1 180 |
770 |
sleep 180 |
771 |
chr_set_health dum_hit_flash 50 |
772 |
ai2_dopath dum_hit_flash patrol_dum_hit_flash |
773 |
ai2_setjobstate dum_hit_flash |
774 |
} |
775 |
|
776 |
### THROW ### |
777 |
|
778 |
#tv26 - after door 100 |
779 |
func void train_throw(string ai_name) |
780 |
{ |
781 |
var_training_counter = 0 |
782 |
message_remove |
783 |
sleep 60 |
784 |
sound_dialog_play_interrupt c00_01_79shinatama |
785 |
ai2_dopath dum_train_throw patrol_train_throw2 |
786 |
ai2_setjobstate dum_train_throw |
787 |
message c01_50_41 |
788 |
chr_wait_animtype 0 throw_forward_punch throw_forward_kick run_throw_forward_punch run_throw_forward_kick |
789 |
message_remove c01_50_41 |
790 |
sleep 60 |
791 |
message xthrow1 300 |
792 |
sleep 300 |
793 |
message xthrow2 300 |
794 |
sleep 300 |
795 |
sound_dialog_play c00_01_48shinatama |
796 |
message goto_block |
797 |
sleep 60 |
798 |
door_unlock 101 |
799 |
particle door4_locklight02 do start |
800 |
particle door4b_locklight02 do start |
801 |
ai2_spawn dum_train_block |
802 |
ai2_makeignoreplayer dum_train_block 1 |
803 |
chr_invincible 0 1 |
804 |
} |
805 |
|
806 |
#tv67 - the field with the drone |
807 |
func void throw_path(string ai_name) |
808 |
{ |
809 |
sleep 90 |
810 |
ai2_dopath dum_train_throw patrol_train_throw2 |
811 |
} |
812 |
|
813 |
#hit func of dum_train_throw |
814 |
func void lockthrow(void) |
815 |
{ |
816 |
particle door3_locklight02 do stop |
817 |
door_lock 100 |
818 |
} |
819 |
|
820 |
#lose func of dum_train_throw |
821 |
func void regen2(string ai_name) |
822 |
{ |
823 |
sleep 60 |
824 |
message xregen1 180 |
825 |
sleep 180 |
826 |
chr_set_health dum_train_throw 50 |
827 |
ai2_dopath dum_train_throw patrol_train_throw2 |
828 |
ai2_setjobstate dum_train_throw |
829 |
} |
830 |
|
831 |
### BLOCK ### |
832 |
|
833 |
#tv24 - after door 101 |
834 |
func void train_block(string ai_name) |
835 |
{ |
836 |
message_remove goto_block |
837 |
sound_dialog_play_block c00_01_72shinatama |
838 |
sound_dialog_play_block pause |
839 |
sound_dialog_play_block c00_01_73shinatama |
840 |
if(var_training_counter ne 1) message c01_50_33 |
841 |
} |
842 |
|
843 |
#tv29 - the field with the drone (entry func) |
844 |
func void train_block2(string ai_name) |
845 |
{ |
846 |
var_training_counter = 1 |
847 |
ai2_makeignoreplayer dum_train_block 0 |
848 |
ai2_dopath dum_train_block patrol_56b |
849 |
ai2_setjobstate dum_train_block |
850 |
if(var_training_counter2 ne 1) go_on |
851 |
} |
852 |
|
853 |
func void go_on(void) |
854 |
{ |
855 |
var_training_counter2 = 1 |
856 |
message_remove c01_50_33 |
857 |
door_lock 101 |
858 |
door_close 101 |
859 |
particle door4_locklight02 do stop |
860 |
chr_delete dum_train_throw |
861 |
chr_delete dum_hit_flash |
862 |
chr_delete demo1 |
863 |
chr_delete demo2 |
864 |
chr_delete demo3 |
865 |
sleep 60 |
866 |
message c01_50_32 300 |
867 |
sound_dialog_play_block c00_01_74shinatama |
868 |
sound_dialog_play_pause |
869 |
sleep 30 |
870 |
sound_dialog_play_block c00_01_75shinatama |
871 |
message xblocking2 300 |
872 |
sound_dialog_play_pause |
873 |
sleep 30 |
874 |
sound_dialog_play_block c00_01_76shinatama |
875 |
sleep 120 |
876 |
ai2_makeignoreplayer dum_train_block 1 |
877 |
ai2_dopath dum_train_block patrol_56b |
878 |
ai2_setjobstate dum_train_block |
879 |
sound_dialog_play_block c00_01_83shinatama |
880 |
door_unlock 102 |
881 |
particle door5_locklight02 do start |
882 |
message goto_shoot |
883 |
chr_inv_reset 0 |
884 |
music_stop |
885 |
sleep 60 |
886 |
ai2_spawn dum_train_shoot |
887 |
ai2_spawn dum_train_shoot2 |
888 |
ai2_passive dum_train_shoot 1 |
889 |
ai2_passive dum_train_shoot2 1 |
890 |
chr_invincible dum_train_shoot 1 |
891 |
chr_invincible dum_train_shoot2 1 |
892 |
chr_invincible 0 0 |
893 |
} |
894 |
|
895 |
#tv29 - the field with the drone (exit func) |
896 |
func void block_path(string ai_name) |
897 |
{ |
898 |
var_training_counter = 0 |
899 |
message xdronedeactive 180 |
900 |
ai2_makeignoreplayer dum_train_block 1 |
901 |
ai2_dopath dum_train_block patrol_56 |
902 |
} |
903 |
|
904 |
#lose func of dum_train_block |
905 |
func void disable_tv46(void) |
906 |
{ |
907 |
message_remove c01_50_33 |
908 |
trigvolume_enable trigger_volume_46 0 |
909 |
} |
910 |
|
911 |
#tv78 - in front of door 102 |
912 |
func void block_path2(string ai_name) |
913 |
{ |
914 |
ai2_makeignoreplayer dum_train_block 1 |
915 |
ai2_dopath dum_train_block patrol_56 |
916 |
} |
917 |
|
918 |
### SHOOT ### |
919 |
|
920 |
#tv28 - after door 102 |
921 |
func void train_shoot(string ai_name) |
922 |
{ |
923 |
var_training_counter = 0 |
924 |
var_training_counter2 = 0 |
925 |
fork wait_for_reload |
926 |
message_remove xdronedeactive |
927 |
particle g_tap1 create |
928 |
sleep 7 |
929 |
weapon_spawn w1_tap 7042 |
930 |
wp_disable_fade = 1 |
931 |
message_remove goto_shoot |
932 |
sleep 60 |
933 |
lock_keys keys_reload |
934 |
sound_dialog_play_interrupt c00_01_84shinatama |
935 |
sound_dialog_play_pause |
936 |
chr_wait_animtype 0 Pickup_Pistol Pickup_Pistol_Mid |
937 |
particle door5_locklight02 do stop |
938 |
door_lock 102 |
939 |
trigvolume_enable tv74 1 |
940 |
trigvolume_enable tv75 1 |
941 |
ui_show_element left 1 |
942 |
sleep 60 |
943 |
message c01_50_54 |
944 |
sound_dialog_play_block c00_01_85shinatama |
945 |
chr_wait_animtype 0 Autopistol_Recoil |
946 |
sleep 120 |
947 |
message_remove c01_50_54 |
948 |
} |
949 |
|
950 |
func void wait_for_reload(void) |
951 |
{ |
952 |
chr_wait_animtype 0 reload_pistol reload_rifle |
953 |
var_training_counter2 = var_training_counter2 + 1 |
954 |
if(var_training_counter2 > 1) rating = rating + 1 |
955 |
sleep 180 |
956 |
if(save_point eq 0) fork wait_for_reload |
957 |
} |
958 |
|
959 |
#tv69 - the complete room |
960 |
func void need_ammo(string ai_name) |
961 |
{ |
962 |
trigvolume_enable tv74 0 |
963 |
if(chr_has_empty_weapon(0) eq 1) |
964 |
{ |
965 |
if(var_training_counter eq 0 and var_training_counter3 ne 1) need_red_clips |
966 |
if(var_training_counter eq 1 and var_training_counter3 ne 1) need_green_cells |
967 |
} |
968 |
sleep 60 |
969 |
if(var_training_counter ne 10) trigvolume_enable tv74 1 |
970 |
} |
971 |
|
972 |
func void need_red_clips(void) |
973 |
{ |
974 |
var_training_counter3 = 1 |
975 |
if(var_training_counter2 eq 0) |
976 |
{ |
977 |
message_remove xkeepshoot |
978 |
sound_dialog_play_interrupt c00_01_87shinatama |
979 |
message c01_50_61 |
980 |
} |
981 |
particle g_tap1 create |
982 |
sleep 7 |
983 |
powerup_spawn ammo 7042 |
984 |
if(var_training_counter2 eq 0) |
985 |
{ |
986 |
chr_wait_animtype 0 Pickup_Object_Mid Pickup_Object |
987 |
message_remove c01_50_61 |
988 |
sleep 60 |
989 |
message xreload |
990 |
chr_wait_animtype 0 reload_pistol |
991 |
message_remove xreload |
992 |
sleep 60 |
993 |
message xkeepshoot |
994 |
} |
995 |
if(var_training_counter2 > 0) chr_wait_animtype 0 reload_pistol |
996 |
var_training_counter3 = 0 |
997 |
} |
998 |
|
999 |
func void need_green_cells(void) |
1000 |
{ |
1001 |
var_training_counter3 = 1 |
1002 |
particle g_phr1 create |
1003 |
sleep 7 |
1004 |
powerup_spawn cell 7044 |
1005 |
chr_wait_animtype 0 reload_riffle |
1006 |
var_training_counter3 = 0 |
1007 |
} |
1008 |
|
1009 |
#tv70 - the complete room |
1010 |
func void targets_gone(string ai_name) |
1011 |
{ |
1012 |
trigvolume_enable tv75 0 |
1013 |
if(env_broken(3001, 3018) eq 18) targets_are_gone |
1014 |
else |
1015 |
{ |
1016 |
sleep 60 |
1017 |
trigvolume_enable tv75 1 |
1018 |
} |
1019 |
} |
1020 |
|
1021 |
func void targets_are_gone(void) |
1022 |
{ |
1023 |
var_training_counter = 1 |
1024 |
message_remove xkeepshoot |
1025 |
particle g_phr1 create |
1026 |
sleep 7 |
1027 |
weapon_spawn w3_phr 7045 |
1028 |
sound_dialog_play_interrupt c00_01_86shinatama |
1029 |
sound_dialog_play_block pause |
1030 |
message c01_50_51 |
1031 |
message c01_50_53 |
1032 |
sound_dialog_play_block c00_01_88shinatama |
1033 |
chr_wait_animtype 0 Pickup_Rifle Pickup_Rifle_Mid |
1034 |
message_remove |
1035 |
sleep 30 |
1036 |
ai2_passive dum_train_shoot 0 |
1037 |
sound_dialog_play_interrupt c00_01_89shinatama |
1038 |
ai2_dopath dum_train_shoot patrol_train_shoot |
1039 |
ai2_setjobstate dum_train_shoot |
1040 |
chr_invincible dum_train_shoot 0 |
1041 |
} |
1042 |
|
1043 |
#lose func of dum_train_shoot |
1044 |
func void droid1_gone(string ai_name) |
1045 |
{ |
1046 |
sound_dialog_play_block c00_01_90shinatama |
1047 |
sound_dialog_play_block pause |
1048 |
sleep 30 |
1049 |
ai2_passive dum_train_shoot2 0 |
1050 |
ai2_dopath dum_train_shoot2 patrol_train_shoot2 |
1051 |
ai2_setjobstate dum_train_shoot2 |
1052 |
chr_invincible dum_train_shoot2 0 |
1053 |
} |
1054 |
|
1055 |
#lose func of dum_train_shoot2 |
1056 |
func void droid2_gone(string ai_name) |
1057 |
{ |
1058 |
var_training_counter = 10 |
1059 |
message_remove |
1060 |
if(rating < 1) message poopy 300 |
1061 |
if(rating eq 1) message poopy2 300 |
1062 |
if(rating eq 2) message poopy3 300 |
1063 |
if(rating eq 3) message poopy4 300 |
1064 |
if(rating eq 4) message poopy5 300 |
1065 |
if(rating eq 5) message poopy6 300 |
1066 |
if(rating > 5) message poopy7 300 |
1067 |
sound_dialog_play_block c00_01_91shinatama |
1068 |
sound_dialog_play_block pause |
1069 |
wp_disable_fade = 0 |
1070 |
lock_keys keys_all |
1071 |
sleep 60 |
1072 |
fade_out 0 0 0 30 |
1073 |
sleep 30 |
1074 |
ui_show_element right 1 |
1075 |
save_point = 1 |
1076 |
fork remove_ai |
1077 |
fork start |
1078 |
fade_in 30 |
1079 |
} |
1080 |
|
1081 |
##################### |
1082 |
### TEXT CONSOLES ### |
1083 |
##################### |
1084 |
|
1085 |
#console 11 |
1086 |
func void review2(string ai_name) |
1087 |
{ |
1088 |
text_console level_1c |
1089 |
console_reset 11 |
1090 |
} |
1091 |
|
1092 |
#console 18 |
1093 |
func void console_jump(string ai_name) |
1094 |
{ |
1095 |
text_console level_1g |
1096 |
console_reset 18 |
1097 |
} |
1098 |
|
1099 |
#console 17 |
1100 |
func void console_escape(string ai_name) |
1101 |
{ |
1102 |
text_console level_1h |
1103 |
console_reset 17 |
1104 |
} |
1105 |
|
1106 |
#console 16 |
1107 |
func void console_attack(string ai_name) |
1108 |
{ |
1109 |
text_console level_1i |
1110 |
console_reset 16 |
1111 |
} |
1112 |
|
1113 |
#console 15 |
1114 |
func void console_flash(string ai_name) |
1115 |
{ |
1116 |
text_console level_1j |
1117 |
console_reset 15 |
1118 |
} |
1119 |
|
1120 |
#console 14 |
1121 |
func void console_throw(string ai_name) |
1122 |
{ |
1123 |
text_console level_1k |
1124 |
console_reset 14 |
1125 |
} |
1126 |
|
1127 |
#console 13 |
1128 |
func void console_block(string ai_name) |
1129 |
{ |
1130 |
text_console level_1l |
1131 |
console_reset 13 |
1132 |
} |
1133 |
|
1134 |
#console 12 |
1135 |
func void lastreview(string ai_name) |
1136 |
{ |
1137 |
text_console level_1f |
1138 |
console_reset 12 |
1139 |
} |