1 | #################
|
---|
2 | ### VARIABLES ###
|
---|
3 | #################
|
---|
4 |
|
---|
5 | var int var_counter = 0;
|
---|
6 |
|
---|
7 | ############
|
---|
8 | ### MAIN ###
|
---|
9 | ############
|
---|
10 |
|
---|
11 | func void main(void)
|
---|
12 | {
|
---|
13 | gl_fog_red = 0
|
---|
14 | gl_fog_blue = 0
|
---|
15 | gl_fog_green = 0
|
---|
16 | gl_fog_start = .995
|
---|
17 | gs_farclipplane_set 5000
|
---|
18 | ui_suppress_prompt = 1
|
---|
19 | chr_auto_aim_dist = 0
|
---|
20 | start
|
---|
21 | }
|
---|
22 |
|
---|
23 | #############
|
---|
24 | ### START ###
|
---|
25 | #############
|
---|
26 |
|
---|
27 | func void start(string ai_name)
|
---|
28 | {
|
---|
29 | fork deactivate_stuff
|
---|
30 | if(save_point eq 0) fork intro
|
---|
31 | if(save_point eq 1) restore_game
|
---|
32 | if(save_point eq 2) fork save_point_2
|
---|
33 | if(save_point eq 3) restore_game
|
---|
34 | sleep 5
|
---|
35 | fork sp_all
|
---|
36 | }
|
---|
37 |
|
---|
38 | func void deactivate_stuff(void)
|
---|
39 | {
|
---|
40 | #not used
|
---|
41 | trigvolume_enable crossfire 0
|
---|
42 | trigvolume_enable open_ambush_1 0
|
---|
43 | trigvolume_enable save2 0
|
---|
44 | trigvolume_enable save_point3 0
|
---|
45 | trigvolume_enable setobjective_4 0
|
---|
46 | trigvolume_enable setobjective_5 0
|
---|
47 | trigvolume_enable strikerguards 0
|
---|
48 | trigvolume_enable room1_copy_copy 0
|
---|
49 | trigvolume_enable room1_copy2 0
|
---|
50 | trigvolume_enable room2 0
|
---|
51 | trigvolume_enable room2_copy 0
|
---|
52 | trigvolume_enable room2_stop 0
|
---|
53 | trigvolume_enable room2_stop_copy2 0
|
---|
54 | trigvolume_enable room2_stop_copy_copy 0
|
---|
55 | trigvolume_enable room2_stop_copy 0
|
---|
56 | trigvolume_enable room3_stop 0
|
---|
57 | trigvolume_enable room3_stop_copy 0
|
---|
58 | trigvolume_enable room3_particle_control 0
|
---|
59 | trigvolume_enable room4_copy 0
|
---|
60 | trigvolume_enable room4_copy_copy 0
|
---|
61 | trigvolume_enable trigger_volume_07 0
|
---|
62 | trigvolume_enable trigger_volume_11_copy 0
|
---|
63 | trigvolume_enable trigger_volume_16_copy3 0
|
---|
64 | trigvolume_enable trigger_volume_16_copy_copy2 0
|
---|
65 | trigvolume_enable trigger_volume_16_copy2_copy2 0
|
---|
66 | trigvolume_enable trigger_volume_16_copy_copy_copy2 0
|
---|
67 | trigvolume_enable trigger_volume_16_copy2_copy_copy 0
|
---|
68 | trigvolume_enable trigger_volume_16_copy_copy_copy_copy 0
|
---|
69 | trigvolume_enable trigger_volume_36 0
|
---|
70 | trigvolume_enable trigger_volume_39 0
|
---|
71 | #used
|
---|
72 | obj_create 81 82
|
---|
73 | env_shade 777 777 .4 .4 .4
|
---|
74 | env_show 778 0
|
---|
75 | chr_delete ShinShin
|
---|
76 | }
|
---|
77 |
|
---|
78 | func void you_lose(string ai_name)
|
---|
79 | {
|
---|
80 | fade_out 0 0 0 30
|
---|
81 | sleep 30
|
---|
82 | lose
|
---|
83 | }
|
---|
84 |
|
---|
85 | ####################################
|
---|
86 | ### SEVERAL TIMES USED FUNCTIONS ###
|
---|
87 | ####################################
|
---|
88 |
|
---|
89 | func void sp_all(void)
|
---|
90 | {
|
---|
91 | co_message_display = 0
|
---|
92 | if(save_point eq 1) save_game 1 autosave
|
---|
93 | if(save_point eq 2) save_game 2 autosave
|
---|
94 | if(save_point eq 3) save_game 3 autosave
|
---|
95 | sleep 180
|
---|
96 | co_message_display = 1
|
---|
97 | }
|
---|
98 |
|
---|
99 | func void remove_ai(void)
|
---|
100 | {
|
---|
101 | ai2_kill
|
---|
102 | sleep 60
|
---|
103 | powerup_reset
|
---|
104 | weapon_reset
|
---|
105 | sleep 240
|
---|
106 | corpse_reset
|
---|
107 | }
|
---|
108 |
|
---|
109 | func void music_stop(void)
|
---|
110 | {
|
---|
111 | sound_music_stop mus_trt
|
---|
112 | sound_music_stop atm_cl09
|
---|
113 | sound_music_stop atm_cl10
|
---|
114 | sound_music_stop atm_cl11
|
---|
115 | sound_music_stop atm_cl12
|
---|
116 | sound_music_stop mus_amasian
|
---|
117 | }
|
---|
118 |
|
---|
119 | #tv66, tv67 and tv68 - called up, if you fall from a pipe
|
---|
120 | func void dont_even_try_it(string ai_name)
|
---|
121 | {
|
---|
122 | chr_set_health 0 0
|
---|
123 | }
|
---|
124 |
|
---|
125 | ##########
|
---|
126 | ### SP0 ###
|
---|
127 | ##########
|
---|
128 |
|
---|
129 | func void intro(void)
|
---|
130 | {
|
---|
131 | particle room1 do start
|
---|
132 | particle room2 do start
|
---|
133 | particle room3 do start
|
---|
134 | ai2_spawn ambush_striker_10
|
---|
135 | ai2_spawn ambush_striker_11
|
---|
136 | playback 0 IntroKonoko01
|
---|
137 | objective_set 1 silent
|
---|
138 | sleep 1
|
---|
139 | sound_music_start mus_trt
|
---|
140 | }
|
---|
141 |
|
---|
142 | #tv1 - big long box around the railing and the beginning of the stairway
|
---|
143 | func void p1(string ai_name)
|
---|
144 | {
|
---|
145 | music_stop
|
---|
146 | sound_music_start atm_cl09 1.0
|
---|
147 | ai2_spawn A1_sr01
|
---|
148 | ai2_spawn A1_t02
|
---|
149 | ai2_lookatme A1_sr01
|
---|
150 | ai2_lookatme A1_t02
|
---|
151 | sleep 120
|
---|
152 | door_lock 1
|
---|
153 | door_lock 2
|
---|
154 | }
|
---|
155 |
|
---|
156 | #lose func of A1_t02
|
---|
157 | func void backup_1(string ai_name)
|
---|
158 | {
|
---|
159 | ai2_spawn backup_striker1
|
---|
160 | particle blast1_locklight01 do start
|
---|
161 | door_unlock 1
|
---|
162 | door_open 1
|
---|
163 | }
|
---|
164 |
|
---|
165 | #lose func of A1_sr01
|
---|
166 | func void backup_2(string ai_name)
|
---|
167 | {
|
---|
168 | ai2_spawn backup_striker2
|
---|
169 | particle blast2_locklight01 do start
|
---|
170 | door_unlock 2
|
---|
171 | door_open 2
|
---|
172 | }
|
---|
173 |
|
---|
174 | #tv41 - long box in middle of the 1st hall (proceed from the left to the right side); not used, or better: does not work
|
---|
175 |
|
---|
176 | #tv2 - after door 1 and door 2
|
---|
177 | func void p2(string ai_name)
|
---|
178 | {
|
---|
179 | ai2_spawn A2_r03
|
---|
180 | playback A2_r03 redjump
|
---|
181 | ai2_lookatme A2_r03
|
---|
182 | ai2_spawn aerial_red_2
|
---|
183 | ai2_passive aerial_red_2 1
|
---|
184 | playback aerial_red_2 redjump2
|
---|
185 | ai2_passive aerial_red_2 0
|
---|
186 | ai2_lookatme aerial_red_2
|
---|
187 | ai2_spawn red_guard_1
|
---|
188 | ai2_dopath A1_sr01 patrol_31
|
---|
189 | ai2_dopath A1_t02 patrol_31
|
---|
190 | ai2_setjobstate A1_sr01
|
---|
191 | ai2_setjobstate A1_t02 patrol_31
|
---|
192 | ai2_spawn ShinShin force
|
---|
193 | playback ShinShin ShinShinSet
|
---|
194 | ai2_setmovementmode ShinShin creep
|
---|
195 | ai2_passive ShinShin 1
|
---|
196 | ai2_makeblind ShinShin 1
|
---|
197 | ai2_makedeaf ShinShin 1
|
---|
198 | chr_lock_active ShinShin
|
---|
199 | chr_unstoppable ShinShin 1
|
---|
200 | chr_invincible ShinShin 1
|
---|
201 | chr_nocollision ShinShin 1
|
---|
202 | }
|
---|
203 |
|
---|
204 | #tv34 - complete volume of the 2nd hall - enter func
|
---|
205 | func void t43(string ai_name)
|
---|
206 | {
|
---|
207 | var_counter = 1
|
---|
208 | }
|
---|
209 |
|
---|
210 | #tv34 - complete volume of the 2nd hall - leave func
|
---|
211 | func void t43b(string ai_name)
|
---|
212 | {
|
---|
213 | var_counter = 0
|
---|
214 | }
|
---|
215 |
|
---|
216 | #tv63 - long box in middle of the 2nd hall (proceed from the left to the right side)
|
---|
217 | func void come_to_me(string ai_name)
|
---|
218 | {
|
---|
219 | ai2_dopath ambush_striker1 come_to_me 1
|
---|
220 | ai2_dopath ambush_striker2 come_to_me 1
|
---|
221 | ai2_dopath A1_t02 come_to_me 1
|
---|
222 | ai2_dopath A1_sr01 come_to_me 1
|
---|
223 | }
|
---|
224 |
|
---|
225 | #tv65 - complete second half of the 2nd hall; only used to check, if there are still enemies in it or not; see next func
|
---|
226 |
|
---|
227 | #tv3 - big field around shinatama
|
---|
228 | func void shin_check(string ai_name)
|
---|
229 | {
|
---|
230 | trigvolume_enable trigger_volume_03 0
|
---|
231 | if(trigvolume_count(32) eq 0) Shin
|
---|
232 | else
|
---|
233 | {
|
---|
234 | sleep 60
|
---|
235 | trigvolume_enable trigger_volume_03 1
|
---|
236 | }
|
---|
237 | }
|
---|
238 |
|
---|
239 | #tv54 - complete volume of the 2nd hall too; used to delete all enemies inside; see next func
|
---|
240 |
|
---|
241 | func void Shin(void)
|
---|
242 | {
|
---|
243 | music_stop
|
---|
244 | sound_music_start atm_cl10 0.0
|
---|
245 | sound_music_volume atm_cl10 1 5
|
---|
246 | objective_set 2 silent
|
---|
247 | target_set 7020 60
|
---|
248 | particle blast1_locklight01 do stop
|
---|
249 | particle blast2_locklight01 do stop
|
---|
250 | door_lock 1
|
---|
251 | door_lock 2
|
---|
252 | particle room1 do stop
|
---|
253 | particle room2 do stop
|
---|
254 | particle Shindoor_locklight01 do start
|
---|
255 | door_unlock 3
|
---|
256 | particle room4 do start
|
---|
257 | ai2_spawn A2_sb04
|
---|
258 | sound_dialog_play c09_31_27shinatama
|
---|
259 | sound_dialog_play_block pause
|
---|
260 | sleep 600
|
---|
261 | sound_dialog_play c09_31_28shinatama
|
---|
262 | sleep 600
|
---|
263 | sound_dialog_play c09_31_29shinatama
|
---|
264 | sleep 330
|
---|
265 | sound_dialog_play_block pause
|
---|
266 | sleep 15
|
---|
267 | music_stop
|
---|
268 | sound_ambient_start c06_45_04_explo
|
---|
269 | sleep 10
|
---|
270 | particle ShinBomb do explode
|
---|
271 | trigvolume_kill 64
|
---|
272 | if(var_counter ne 0) chr_set_health 0 0
|
---|
273 | else
|
---|
274 | {
|
---|
275 | fade_out 1 1 1 30
|
---|
276 | sleep 2
|
---|
277 | fade_in 30
|
---|
278 | door_lock 3
|
---|
279 | particle Shindoor_locklight01 do stop
|
---|
280 | objective_set 3 silent
|
---|
281 | target_set 0 0
|
---|
282 | }
|
---|
283 | }
|
---|
284 |
|
---|
285 | #tv4 - in front of door 3
|
---|
286 | func void p5(string ai_name)
|
---|
287 | {
|
---|
288 | ai2_spawn A3_n05
|
---|
289 | ai2_spawn A3_sb06
|
---|
290 | }
|
---|
291 |
|
---|
292 | ##########
|
---|
293 | ### SP1 ###
|
---|
294 | ##########
|
---|
295 |
|
---|
296 | #tv69 - in some distance afer door 3
|
---|
297 | func void new_save1(string ai_name)
|
---|
298 | {
|
---|
299 | if(save_point eq 1)
|
---|
300 | {
|
---|
301 | p5
|
---|
302 | particle room4 do start
|
---|
303 | objective_set 3 silent
|
---|
304 | }
|
---|
305 | else save_game 1 autosave
|
---|
306 | particle Shindoor_locklight01 do stop
|
---|
307 | door_close 3
|
---|
308 | door_lock 3
|
---|
309 | particle room3 do stop
|
---|
310 | }
|
---|
311 |
|
---|
312 | #called up, after you've talked to the guy
|
---|
313 | func void do_console_1(string ai_name)
|
---|
314 | {
|
---|
315 | ai2_doalarm A3_n05 1
|
---|
316 | }
|
---|
317 |
|
---|
318 | #console1
|
---|
319 | func void pipe1a(string ai_name)
|
---|
320 | {
|
---|
321 | ai2_passive A3_n05 1
|
---|
322 | particle room4 do stop
|
---|
323 | timer_start 30 pipe1b
|
---|
324 | sound_music_start atm_cl11
|
---|
325 | }
|
---|
326 |
|
---|
327 | func void pipe1b(void)
|
---|
328 | {
|
---|
329 | particle room4 do start
|
---|
330 | console_reset 1
|
---|
331 | music_stop
|
---|
332 | }
|
---|
333 |
|
---|
334 | #tv29 - on the pipe, in some distance after door 4 (func: p36); I've disabled it
|
---|
335 |
|
---|
336 | #tv28 - after door 9
|
---|
337 | func void killmuro(string ai_name)
|
---|
338 | {
|
---|
339 | music_stop
|
---|
340 | ai2_spawn A4_n07
|
---|
341 | }
|
---|
342 |
|
---|
343 | #tv5 - in front of door 10
|
---|
344 | func void p6(string ai_name)
|
---|
345 | {
|
---|
346 | ai2_spawn A4_sr08
|
---|
347 | ai2_spawn B1_c07
|
---|
348 | }
|
---|
349 |
|
---|
350 | #tv6 - after door 13 and door 14, not used (func: p7)
|
---|
351 |
|
---|
352 | #tv7 - in the middle of the stairs from 1st floor to 2nd floor
|
---|
353 | func void p8(string ai_name)
|
---|
354 | {
|
---|
355 | trigvolume_enable trigger_volume_08 0
|
---|
356 | ai2_spawn B2_sb09
|
---|
357 | ai2_spawn B2_n10
|
---|
358 | }
|
---|
359 |
|
---|
360 | #tv49 - after door 11 and door 12
|
---|
361 | func void p9(string ai_name)
|
---|
362 | {
|
---|
363 | ai2_spawn C1_c16
|
---|
364 | ai2_spawn C1_t11
|
---|
365 | ai2_spawn C1_sb12
|
---|
366 | ai2_spawn C1_t13
|
---|
367 | ai2_spawn C2_sg15
|
---|
368 | ai2_spawn C2_sr17
|
---|
369 | ai2_spawn C2_sb14
|
---|
370 | ai2_spawn C2_t19
|
---|
371 | }
|
---|
372 |
|
---|
373 | #console6
|
---|
374 | func void zap_cinematic(string ai_name)
|
---|
375 | {
|
---|
376 | particle doorA_locklight01 do start
|
---|
377 | particle doorB_locklight01 do start
|
---|
378 | door_unlock 15
|
---|
379 | ai2_spawn vat_bot_1
|
---|
380 | ai2_spawn vat_bot_2
|
---|
381 | ai2_spawn vat_bot_3
|
---|
382 | ai2_spawn vat_bot_4
|
---|
383 | ai2_spawn vat_bot_5
|
---|
384 | chr_weapon_immune vat_bot_1
|
---|
385 | chr_weapon_immune vat_bot_2
|
---|
386 | chr_weapon_immune vat_bot_3
|
---|
387 | chr_weapon_immune vat_bot_4
|
---|
388 | chr_weapon_immune vat_bot_5
|
---|
389 | particle vatroom1 do start
|
---|
390 | particle zap1 create
|
---|
391 | particle zap2 create
|
---|
392 | particle zap3 create
|
---|
393 | trigvolume_enable save2 1
|
---|
394 | sleep 1
|
---|
395 | sound_music_start atm_cl12 0.75
|
---|
396 | }
|
---|
397 |
|
---|
398 | ##########
|
---|
399 | ### SP2 ###
|
---|
400 | ##########
|
---|
401 |
|
---|
402 | #tv25 - after door 15
|
---|
403 | func void save_point_2(string ai_name)
|
---|
404 | {
|
---|
405 | if(save_point eq 2)
|
---|
406 | {
|
---|
407 | restore_game
|
---|
408 | zap_cinematic
|
---|
409 | objective_set 4 silent
|
---|
410 | }
|
---|
411 | else save_game 2 autosave
|
---|
412 | particle doorA_locklight01 do stop
|
---|
413 | door_close 15
|
---|
414 | door_lock 15
|
---|
415 | particle room4 do stop
|
---|
416 | }
|
---|
417 |
|
---|
418 | #tv64 - complete volume of the vat room (from the floor, where Konoko stands nearly to the ceiling)
|
---|
419 | func void zap_start(string ai_name)
|
---|
420 | {
|
---|
421 | trigvolume_enable zap1 0
|
---|
422 | if(var_counter eq 0)
|
---|
423 | {
|
---|
424 | particle zap1 do start
|
---|
425 | sleep 120
|
---|
426 | particle zap1 do stop
|
---|
427 | }
|
---|
428 | if(var_counter eq 0)
|
---|
429 | {
|
---|
430 | particle zap2 do start
|
---|
431 | sleep 120
|
---|
432 | particle zap2 do stop
|
---|
433 | }
|
---|
434 | if(var_counter eq 0)
|
---|
435 | {
|
---|
436 | particle zap3 do start
|
---|
437 | sleep 120
|
---|
438 | particle zap3 do stop
|
---|
439 | }
|
---|
440 | sleep 60
|
---|
441 | trigvolume_enable zap1 1
|
---|
442 | }
|
---|
443 |
|
---|
444 | #1st console 4
|
---|
445 | func void zap_timer_1(string ai_name)
|
---|
446 | {
|
---|
447 | var_counter = 1
|
---|
448 | timer_start 15 zap_start_again
|
---|
449 | }
|
---|
450 |
|
---|
451 | #tv60 - passage to the 1st console 4
|
---|
452 | func void change_patrol_1(string ai_name)
|
---|
453 | {
|
---|
454 | ai2_dopath vat_bot_2 vat_bot_2b 1
|
---|
455 | }
|
---|
456 |
|
---|
457 | #2nd console 4
|
---|
458 | func void zap_timer_2(string ai_name)
|
---|
459 | {
|
---|
460 | var_counter = 1
|
---|
461 | timer_start 10 zap_start_again
|
---|
462 | }
|
---|
463 |
|
---|
464 | #tv61 - passage to the 2nd console 4
|
---|
465 | func void change_patrol_2(string ai_name)
|
---|
466 | {
|
---|
467 | ai2_dopath vat_bot_3 vat_bot_3b 1
|
---|
468 | }
|
---|
469 |
|
---|
470 | #3rd console 4
|
---|
471 | func void zap_timer_3(string ai_name)
|
---|
472 | {
|
---|
473 | var_counter = 1
|
---|
474 | timer_start 5 zap_start_again
|
---|
475 | }
|
---|
476 |
|
---|
477 | #tv62 - passage to the 3rd console 4
|
---|
478 | func void change_patrol_3(string ai_name)
|
---|
479 | {
|
---|
480 | ai2_dopath vat_bot_5 vat_bot_5b 1
|
---|
481 | }
|
---|
482 |
|
---|
483 | func void zap_start_again(string ai_name)
|
---|
484 | {
|
---|
485 | var_counter = 0
|
---|
486 | console_reset 4
|
---|
487 | }
|
---|
488 |
|
---|
489 | #tv35 to tv40 - called up, if a chara falls into the acid
|
---|
490 | func void splash(string character)
|
---|
491 | {
|
---|
492 | if(chr_is_player(character) eq 1)
|
---|
493 | {
|
---|
494 | cm_detach
|
---|
495 | chr_animate 0 KONOKOacid
|
---|
496 | sleep 10
|
---|
497 | sound_impulse_play konoko_gruesome_death
|
---|
498 | chr_set_health 0 0
|
---|
499 | }
|
---|
500 | else
|
---|
501 | {
|
---|
502 | chr_animate(character, KONOKOacid);
|
---|
503 | sleep 10
|
---|
504 | chr_set_health(character, 0);
|
---|
505 | }
|
---|
506 | }
|
---|
507 |
|
---|
508 | #after door 16
|
---|
509 | func void red_ambush(string ai_name)
|
---|
510 | {
|
---|
511 | music_stop
|
---|
512 | ai2_spawn ambush_red_1
|
---|
513 | }
|
---|
514 |
|
---|
515 | #tv10 - after door 19 and door 20
|
---|
516 | func void p10(string ai_name)
|
---|
517 | {
|
---|
518 | ai2_spawn D1_sr20
|
---|
519 | ai2_spawn D1_sb21
|
---|
520 | particle doorB_locklight01 do stop
|
---|
521 | door_lock 16
|
---|
522 | particle zap1 kill
|
---|
523 | particle zap2 kill
|
---|
524 | particle zap3 kill
|
---|
525 | particle vatroom1 do stop
|
---|
526 | trigvolume_enable strikerguards 1
|
---|
527 | }
|
---|
528 |
|
---|
529 | #tv9 - long box (from the left side to the right side) in some distance in front of door 21
|
---|
530 | func void striker_guards(string ai_name)
|
---|
531 | {
|
---|
532 | ai2_spawn striker_guard_1
|
---|
533 | ai2_spawn striker_guard_2
|
---|
534 | particle room6 do start
|
---|
535 | }
|
---|
536 |
|
---|
537 | #tv51 - in front of door 21 (func: striker_guards); I've disabled it
|
---|
538 | #tv31 - in front of door 21 too (func: p11); I've disabled it too
|
---|
539 | #tv50 - after door 21 (func: cross_fire); I've disabled it
|
---|
540 |
|
---|
541 | #tv10 - after door 22
|
---|
542 | func void p12(string ai_name)
|
---|
543 | {
|
---|
544 | ai2_spawn D2_sg24
|
---|
545 | ai2_spawn D2_f25
|
---|
546 | ai2_spawn D2_sb26
|
---|
547 | playback D2_sb26 piperun
|
---|
548 | ai2_spawn pipe_guard_1
|
---|
549 | ai2_spawn pipe_guard_2
|
---|
550 | }
|
---|
551 |
|
---|
552 | #console8
|
---|
553 | func void pipe2a(void)
|
---|
554 | {
|
---|
555 | particle room6 do stop
|
---|
556 | timer_start 30 pipe2b
|
---|
557 | sound_music_start atm_cl11
|
---|
558 | }
|
---|
559 |
|
---|
560 | func void pipe2b(void)
|
---|
561 | {
|
---|
562 | music_off
|
---|
563 | particle room6 do start
|
---|
564 | console_reset 8
|
---|
565 | }
|
---|
566 |
|
---|
567 | #tv58 - after door 27
|
---|
568 | func void pipe2_music_off(void)
|
---|
569 | {
|
---|
570 | music_stop
|
---|
571 | particle save3_locklight01 do start
|
---|
572 | }
|
---|
573 |
|
---|
574 | #tv11 - in front of door 28
|
---|
575 | func void p13(string ai_name)
|
---|
576 | {
|
---|
577 | ai2_spawn E1_sr28
|
---|
578 | ai2_spawn E1_sb29
|
---|
579 | ai2_spawn E1_sr30
|
---|
580 | ai2_spawn ambush_comguy_1
|
---|
581 | ai2_spawn E1_n31
|
---|
582 | ai2_spawn E1_n32
|
---|
583 | ai2_spawn E1_n37
|
---|
584 | particle pipe3 do create
|
---|
585 | particle pipe3 do start
|
---|
586 | }
|
---|
587 |
|
---|
588 | #tv33 - after door 33 (funcs: p11 and save_point_3); I've disabled it
|
---|
589 |
|
---|
590 | ##########
|
---|
591 | ### SP3 ###
|
---|
592 | ##########
|
---|
593 |
|
---|
594 | #tv 32 - in some distance after door 28
|
---|
595 | func void p11b(string ai_name)
|
---|
596 | {
|
---|
597 | trigvolume_enable p11b_vol 0
|
---|
598 | if(save_point eq 3) p13
|
---|
599 | else save_game 3 autosave
|
---|
600 | particle save3_locklight01 do stop
|
---|
601 | door_close 28
|
---|
602 | door_lock 28
|
---|
603 | objective_set 5 silent
|
---|
604 | particle room6 do stop
|
---|
605 | }
|
---|
606 |
|
---|
607 | #lose func of E1_sr30
|
---|
608 | func void warnbigroom(string ai_name)
|
---|
609 | {
|
---|
610 | ai2_makeaware E1_sr28 char_0
|
---|
611 | ai2_makeaware E1_sb29 char_0
|
---|
612 | }
|
---|
613 |
|
---|
614 | #tv48 - 1st floor, at the beginning of the stairs to the 2nd floor
|
---|
615 | func void spawn_EC_guards(string ai_name)
|
---|
616 | {
|
---|
617 | ai2_spawn E1_sb29
|
---|
618 | ai2_spawn E1_c33
|
---|
619 | ai2_spawn E1_c40
|
---|
620 | ai2_spawn E1_f34
|
---|
621 | ai2_spawn E1_f40
|
---|
622 | ai2_spawn E1_f35
|
---|
623 | }
|
---|
624 |
|
---|
625 | #tv53 - at the same place as tv48 (func: set_objective_5); I've disabled it
|
---|
626 |
|
---|
627 | #tv59 - 3rd floor, at the beginning of the stairs to the 4th floor
|
---|
628 | func void final_guards(string ai_name)
|
---|
629 | {
|
---|
630 | ai2_spawn final_guard_1
|
---|
631 | ai2_spawn final_guard_2
|
---|
632 | }
|
---|
633 |
|
---|
634 | #console14
|
---|
635 | func void tctf_control(string ai_name)
|
---|
636 | {
|
---|
637 | sound_music_start mus_amasian 1.0
|
---|
638 | particle elev1_locklight01 do start
|
---|
639 | particle elev2_locklight01 do start
|
---|
640 | door_unlock 37
|
---|
641 | door_unlock 38
|
---|
642 | ai2_spawn E2_sr38
|
---|
643 | ai2_spawn E2_sr39
|
---|
644 | }
|
---|
645 |
|
---|
646 | #tv30 - in front of door 37 (func: p39); I've disabled it
|
---|
647 |
|
---|
648 | #tv12 - after door 37
|
---|
649 | func void elevator(void)
|
---|
650 | {
|
---|
651 | fade_out 0 0 0 30
|
---|
652 | sleep 30
|
---|
653 | fork_rmove_ai
|
---|
654 | env_show 778 1
|
---|
655 | env_shade 778 778 .3 .3 .3
|
---|
656 | ai2_spawn F_r40
|
---|
657 | playback 0 ElevatorTop
|
---|
658 | fade_in 30
|
---|
659 | fork wait_for_help
|
---|
660 | }
|
---|
661 |
|
---|
662 | func void wait_for_help(void)
|
---|
663 | {
|
---|
664 | chr_wait_health F_r40 70
|
---|
665 | ai2_spawn TCTF1051
|
---|
666 | ai2_spawn TCTF1052
|
---|
667 | ai2_spawn TCTF1053
|
---|
668 | ai2_spawn TCTF1054
|
---|
669 | chr_lock_active 1051
|
---|
670 | chr_lock_active 1052
|
---|
671 | chr_lock_active 1053
|
---|
672 | chr_lock_active 1054
|
---|
673 | chr_changeteam TCTF1051 TCTF
|
---|
674 | chr_changeteam TCTF1052 TCTF
|
---|
675 | chr_changeteam TCTF1053 TCTF
|
---|
676 | chr_changeteam TCTF1054 TCTF
|
---|
677 | playback TCTF1051 OutroSwatEnter
|
---|
678 | ai2_attack TCTF1053 char_0
|
---|
679 | sleep 60
|
---|
680 | playback TCTF1052 OutroSwatEnter
|
---|
681 | ai2_attack TCTF1054 char_0
|
---|
682 | sleep 50
|
---|
683 | playback TCTF1053 OutroLiteEnter
|
---|
684 | ai2_attack TCTF1051 char_0
|
---|
685 | sleep 70
|
---|
686 | playback TCTF1054 OutroLiteEnter
|
---|
687 | ai2_attack TCTF1052 char_0
|
---|
688 | }
|
---|
689 |
|
---|
690 | #console15
|
---|
691 | func void pipe3(void)
|
---|
692 | {
|
---|
693 | sound_music_volume mus_amasian 0 2
|
---|
694 | music_stop
|
---|
695 | particle pipe3 kill
|
---|
696 | sound_music_start atm_cl11
|
---|
697 | timer_start 20 pipe3b
|
---|
698 | }
|
---|
699 |
|
---|
700 | func void pipe3b(void)
|
---|
701 | {
|
---|
702 | music_stop
|
---|
703 | particle pipe3 do create
|
---|
704 | particle pipe3 do start
|
---|
705 | console_reset 15
|
---|
706 | }
|
---|
707 |
|
---|
708 | #tv13 - after door 39; circa after a quarter of the lenght of the pipe
|
---|
709 | func void outro(void)
|
---|
710 | {
|
---|
711 | fade_out 0 0 0 30
|
---|
712 | sleep 30
|
---|
713 | win
|
---|
714 | }
|
---|
715 |
|
---|
716 | #####################
|
---|
717 | ### TEXT CONSOLES ###
|
---|
718 | #####################
|
---|
719 |
|
---|
720 | func void level10a(string chr_index)
|
---|
721 | {
|
---|
722 | text_console level_10a
|
---|
723 | console_reset 2
|
---|
724 | }
|
---|
725 |
|
---|
726 | func void level10b(string chr_index)
|
---|
727 | {
|
---|
728 | text_console level_10b
|
---|
729 | console_reset 7
|
---|
730 | }
|
---|