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) save_point = 1 |
---|
31 | if(save_point eq 1) fork intro |
---|
32 | if(save_point eq 2) restore_game |
---|
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 | console_deactivate 4 |
---|
42 | if(save_point > 1) chr_delete civ_victim_1 |
---|
43 | trigvolume_enable bayparticles1 0 |
---|
44 | trigvolume_enable bayparticles1_copy 0 |
---|
45 | trigvolume_enable exhaust 0 |
---|
46 | trigvolume_enable exhaust_copy 0 |
---|
47 | trigvolume_enable save_game_2 0 |
---|
48 | #used |
---|
49 | console_deactivate 2 |
---|
50 | door_lock 3 |
---|
51 | particle fx1 do start |
---|
52 | particle fx2 do start |
---|
53 | particle fx3 do start |
---|
54 | particle fx4 do start |
---|
55 | particle fx5 do start |
---|
56 | particle fx6 do start |
---|
57 | particle exhaust create |
---|
58 | particle tarmacfire do start |
---|
59 | trigvolume_enable stop_booth_music_tv 1 |
---|
60 | } |
---|
61 | |
---|
62 | func void you_lose(string ai_name) |
---|
63 | { |
---|
64 | fade_out 0 0 0 30 |
---|
65 | sleep 30 |
---|
66 | lose |
---|
67 | } |
---|
68 | |
---|
69 | #################################### |
---|
70 | ### SEVERAL TIMES USED FUNCTIONS ### |
---|
71 | #################################### |
---|
72 | |
---|
73 | func void sp_all(void) |
---|
74 | { |
---|
75 | co_message_display = 0 |
---|
76 | if(save_point eq 1) save_game 1 autosave |
---|
77 | if(save_point eq 2) save_game 2 autosave |
---|
78 | if(save_point eq 3) save_game 3 autosave |
---|
79 | sleep 180 |
---|
80 | co_message_display = 1 |
---|
81 | } |
---|
82 | |
---|
83 | func void music_stop(void) |
---|
84 | { |
---|
85 | sound_music_stop mus_asian |
---|
86 | sound_music_stop atm_gr06 |
---|
87 | sound_music_stop mus_fitec_hd |
---|
88 | } |
---|
89 | |
---|
90 | #tv25 to tv41 |
---|
91 | func void fire_damage(string ai_name) |
---|
92 | { |
---|
93 | chr_poison (ai_name, 5, 30, 30); |
---|
94 | } |
---|
95 | |
---|
96 | ########## |
---|
97 | ### SP1 ### |
---|
98 | ########## |
---|
99 | |
---|
100 | func void intro(void) |
---|
101 | { |
---|
102 | particle tctf1 do start |
---|
103 | particle auto1 do start |
---|
104 | particle auto1fire do start |
---|
105 | particle auto1spark do start |
---|
106 | particle door1spark do start |
---|
107 | trigvolume_enable hidden1 1 |
---|
108 | trigvolume_enable hidden2 1 |
---|
109 | playback 0 IntroKonoko01 |
---|
110 | chr_inv_reset 0 |
---|
111 | ai2_spawn IntroStriker01 |
---|
112 | ai2_spawn IntroStriker02 |
---|
113 | objective_set 1 silent |
---|
114 | target_set 1095 30 |
---|
115 | sleep 1 |
---|
116 | sound_music_start mus_asian 0.8 2.0 |
---|
117 | sound_dialog_play_block c00_01_22shinatama |
---|
118 | sound_dialog_play c00_01_28shinatama |
---|
119 | } |
---|
120 | |
---|
121 | #tv 17 and 18 - across the street near the burning car |
---|
122 | func void hidden_civilian1(string ai_name) |
---|
123 | { |
---|
124 | ai2_spawn hidden_civ_1 |
---|
125 | } |
---|
126 | |
---|
127 | #hit func of IntroStriker01 |
---|
128 | func void hide_1(string char_index) |
---|
129 | { |
---|
130 | ai2_spawn civ_victim_5 |
---|
131 | playback_block civ_victim_5 civ_victim5_flee interp 30 |
---|
132 | ai2_dopath civ_victim_5 civ_victim_5 |
---|
133 | } |
---|
134 | |
---|
135 | #lose func of IntroStriker01 |
---|
136 | func void striker_lullaby_1(string ai_name) |
---|
137 | { |
---|
138 | striker_lullaby_2 |
---|
139 | } |
---|
140 | |
---|
141 | #lose func of IntroStriker02 |
---|
142 | func void striker_lullaby_2(string ai_name) |
---|
143 | { |
---|
144 | var_counter = var_counter + 1 |
---|
145 | if(var_counter eq 2) |
---|
146 | { |
---|
147 | if(save_point eq 3) |
---|
148 | { |
---|
149 | particle door3_locklight01 do start |
---|
150 | door_unlock 14 |
---|
151 | } |
---|
152 | music_stop |
---|
153 | } |
---|
154 | } |
---|
155 | |
---|
156 | #tv 22 - in some distance after the 1st passage |
---|
157 | func void panic1a(string char_index) |
---|
158 | { |
---|
159 | ai2_spawn civ_victim_6 |
---|
160 | playback civ_victim_6 civ_victim6_flee interp 30 |
---|
161 | ai2_spawn civ_victim_4 |
---|
162 | playback civ_victim_4 civ_victim4_flee interp 30 |
---|
163 | sleep 30 |
---|
164 | ai2_spawn Intro_Striker_4 |
---|
165 | playback Intro_Striker_4 striker4_advance interp 30 |
---|
166 | ai2_spawn Intro_Comguy_1 |
---|
167 | } |
---|
168 | |
---|
169 | #tv10 - after the 2nd passage |
---|
170 | func void panic1b(string char_index) |
---|
171 | { |
---|
172 | ai2_passive Intro_Striker_4 1 |
---|
173 | ai2_spawn civ_victim_2 |
---|
174 | ai2_spawn civ_victim_3 |
---|
175 | playback civ_victim_3 civ_victim3_flee interp 30 |
---|
176 | sleep 120 |
---|
177 | ai2_spawn Intro_Striker_3 |
---|
178 | ai2_attack Intro_Striker_3 civ_victim_2 |
---|
179 | ai2_spawn Friend_Thug_1 |
---|
180 | ai2_spawn Neutral_Thug_1 |
---|
181 | ai2_spawn Neutral_Thug_3 |
---|
182 | chr_delete civ_victim_4 |
---|
183 | chr_delete civ_victim_6 |
---|
184 | } |
---|
185 | |
---|
186 | #tv11 - after the 3rd passage |
---|
187 | func void horror_1(string char_index) |
---|
188 | { |
---|
189 | ai2_passive Intro_Striker_4 0 |
---|
190 | ai2_spawn civ_victim_10 |
---|
191 | ai2_spawn civ_victim_11 |
---|
192 | ai2_spawn civ_victim_20 |
---|
193 | ai2_spawn civ_victim_21 |
---|
194 | } |
---|
195 | |
---|
196 | #console1 |
---|
197 | func void change_terminaldoor_light(void) |
---|
198 | { |
---|
199 | particle door1_locklight01 do start |
---|
200 | door_unlock 3 |
---|
201 | music_stop |
---|
202 | } |
---|
203 | |
---|
204 | #tv13 - after door 2 |
---|
205 | func void ambush_striker_1(string char_index) |
---|
206 | { |
---|
207 | ai2_spawn Terminal_Striker_1 |
---|
208 | ai2_spawn Terminal_Striker_2 |
---|
209 | ai2_spawn mad_bomber_1 |
---|
210 | obj_create 991 992 |
---|
211 | } |
---|
212 | |
---|
213 | #hit func of Terminal_Striker_1 |
---|
214 | func void civ_victim_20s_flee(string char_index) |
---|
215 | { |
---|
216 | ai2_dopath civ_victim_20 civ20s_flee1 |
---|
217 | ai2_dopath civ_victim_21 civ20s_flee2 |
---|
218 | } |
---|
219 | |
---|
220 | #tv14 - in some distance after door 3 |
---|
221 | func void mad_bomber_bait(string char_index) |
---|
222 | { |
---|
223 | ai2_dopath mad_bomber_1 bomber_flee 1 |
---|
224 | } |
---|
225 | |
---|
226 | func void patrolscript0200(string char_index) |
---|
227 | { |
---|
228 | chr_delete mad_bomber_1 |
---|
229 | } |
---|
230 | |
---|
231 | #tv4 - in some distance after tv14 |
---|
232 | func void LoadingBay1(string char_index) |
---|
233 | { |
---|
234 | ai2_spawn LoadingBay_Thug_1 |
---|
235 | ai2_spawn LoadingBay_Thug_2 |
---|
236 | ai2_spawn LoadingBay_Striker_2 |
---|
237 | ai2_spawn LoadingBay_Comguy_1 |
---|
238 | objective_set 2 silent |
---|
239 | sound_dialog_play c00_01_19shinatama |
---|
240 | } |
---|
241 | |
---|
242 | #tv15 - after tv14 in front of the ramp |
---|
243 | func void bomber_boom(string char_index) |
---|
244 | { |
---|
245 | particle bomb1 do explode |
---|
246 | obj_kill 991 992 |
---|
247 | sleep 300 |
---|
248 | particle bomb1 stop |
---|
249 | } |
---|
250 | |
---|
251 | #tv8 - the complete floor of the hall |
---|
252 | func void set_target_3(string chr_index) |
---|
253 | { |
---|
254 | particle door1_locklight01 do stop |
---|
255 | door_lock 3 |
---|
256 | particle tctf1 do stop |
---|
257 | particle auto1 do stop |
---|
258 | particle auto1fire do stop |
---|
259 | particle auto1spark do stop |
---|
260 | particle door1spark do stop |
---|
261 | chr_delete civ_victim_1 |
---|
262 | chr_delete civ_victim_2 |
---|
263 | chr_delete civ_victim_3 |
---|
264 | chr_delete civ_victim_5 |
---|
265 | chr_delete civ_victim_10 |
---|
266 | chr_delete civ_victim_11 |
---|
267 | chr_delete civ_victim_20 |
---|
268 | chr_delete civ_victim_21 |
---|
269 | target_set 1109 30 |
---|
270 | sound_dialog_play c00_01_26shinatama |
---|
271 | } |
---|
272 | |
---|
273 | ########## |
---|
274 | ### SP2 ### |
---|
275 | ########## |
---|
276 | |
---|
277 | #tv3 - after the passage from the hall to the runway |
---|
278 | func void save_point_2(string player_name) |
---|
279 | { |
---|
280 | if(save_point eq 2) |
---|
281 | { |
---|
282 | trigvolume_enable bomberboom 0 |
---|
283 | trigvolume_enable madbomberbait 0 |
---|
284 | trigvolume_enable trigger_volume_03 0 |
---|
285 | target_set 1109 30 |
---|
286 | objective_set 2 silent |
---|
287 | sleep 1 |
---|
288 | sound_dialog_play_block c00_01_19shinatama |
---|
289 | sound_dialog_play c00_01_26shinatama |
---|
290 | } |
---|
291 | else save_game 2 autosave |
---|
292 | ai2_spawn Tarmac_Striker_1 |
---|
293 | ai2_spawn Tarmac_Striker_2 |
---|
294 | ai2_spawn Tarmac_Striker_3 |
---|
295 | ai2_spawn Tarmac_Striker_4 |
---|
296 | ai2_spawn Tarmac_Friend_1 |
---|
297 | ai2_spawn LoadingBay_Striker_1 |
---|
298 | sound_music_start atm_gr06 1 |
---|
299 | var_counter = -4 |
---|
300 | } |
---|
301 | |
---|
302 | #lose func of Tarmac_Striker_3 |
---|
303 | func void progress_check_1(string ai_name) |
---|
304 | { |
---|
305 | progress_check_4 |
---|
306 | } |
---|
307 | |
---|
308 | #lose func of Tarmac_Striker_2 |
---|
309 | func void progress_check_2(string ai_name) |
---|
310 | { |
---|
311 | progress_check_4 |
---|
312 | } |
---|
313 | |
---|
314 | #tv19 - on the left side; over the complete runway from left to right; in front of the nose of the airplane |
---|
315 | func void back9a(string ai_name) |
---|
316 | { |
---|
317 | ai2_spawn hidden_striker1 |
---|
318 | } |
---|
319 | |
---|
320 | #tv23 - on the right side; over the complete runway from left to right; under the engines of the airplane |
---|
321 | # (entry func: bay1_particles; exit func: bay2_particles); I've disabled it |
---|
322 | #tv22 - after tv23 (entry func: bay2_particles; exit func: bay1_particles); I've disabled it |
---|
323 | |
---|
324 | #tv20 - in front of the first shack; over the complete runway from left to right |
---|
325 | func void back9b(string ai_name) |
---|
326 | { |
---|
327 | ai2_spawn hidden_striker2 |
---|
328 | } |
---|
329 | |
---|
330 | #tv9 - big block; where the to ways down to the hall starts to the windows |
---|
331 | func void set_target_4(string chr_index) |
---|
332 | { |
---|
333 | target_set 1112 30 |
---|
334 | sound_dialog_play c00_01_25shinatama |
---|
335 | } |
---|
336 | |
---|
337 | #tv6 - in front of the passage to the hall |
---|
338 | func void BayTwo1(string char_index) |
---|
339 | { |
---|
340 | ai2_dopath Tarmac_Striker_2 come_to_me 1 |
---|
341 | ai2_dopath Tarmac_Striker_3 come_to_me 1 |
---|
342 | ai2_dopath mad_bomber_2 come_to_me 1 |
---|
343 | ai2_spawn BayTwo_Striker_1 |
---|
344 | ai2_spawn hidden_friend2 |
---|
345 | ai2_spawn mad_bomber_2 |
---|
346 | music_stop |
---|
347 | } |
---|
348 | |
---|
349 | #lose func of mad_bomber_2 |
---|
350 | func void progress_check_3(string ai_name) |
---|
351 | { |
---|
352 | progress_check_4 |
---|
353 | } |
---|
354 | |
---|
355 | #lose func of BayTwo_Striker_1 |
---|
356 | func void progress_check_4(string ai_name) |
---|
357 | { |
---|
358 | var_counter = var_counter + 1 |
---|
359 | } |
---|
360 | |
---|
361 | #tv42 - after tv6 (entry func: exhaust_off; exit func: exhaust_on); I've disabled it |
---|
362 | #tv43 - after tv42 (entry func: exhaust_on; exit func: exhaust_off); I've disabled it |
---|
363 | #tv16 - at the end of the ramp; in front of door 6 (entry func: set_target_5; inside func: save_point_3); I've disabled it |
---|
364 | |
---|
365 | ########## |
---|
366 | ### SP3 ### |
---|
367 | ########## |
---|
368 | |
---|
369 | #tv44 - at the same place as tv16 |
---|
370 | func void second_coming(string ai_name) |
---|
371 | { |
---|
372 | if(var_counter eq 0) |
---|
373 | { |
---|
374 | if(save_point eq 3) |
---|
375 | { |
---|
376 | trigvolume_enable back9 0 |
---|
377 | trigvolume_enable back9_copy 0 |
---|
378 | trigvolume_enable bomberboom 0 |
---|
379 | trigvolume_enable madbomberbait 0 |
---|
380 | trigvolume_enable tarmac 0 |
---|
381 | trigvolume_enable trigger_volume_03 0 |
---|
382 | trigvolume_enable trigger_volume_08 0 |
---|
383 | trigvolume_enable trigger_volume_10 0 |
---|
384 | trigvolume_enable trigger_volume_11 0 |
---|
385 | objective_set 2 silent |
---|
386 | } |
---|
387 | else save_game 3 autosave |
---|
388 | trigvolume_enable secondcoming 0 |
---|
389 | ai2_spawn TerminalTwo_Striker_1 |
---|
390 | ai2_spawn TerminalTwo_Striker_2 |
---|
391 | door_unlock 6 |
---|
392 | particle door7_locklight01 do start |
---|
393 | particle lock2_locklight01 do start |
---|
394 | target_set 1115 30 |
---|
395 | sleep 1 |
---|
396 | sound_dialog_play c00_01_24shinatama |
---|
397 | } |
---|
398 | else |
---|
399 | { |
---|
400 | ai2_dopath Tarmac_Striker_2 come_to_me 1 |
---|
401 | ai2_dopath Tarmac_Striker_3 come_to_me 1 |
---|
402 | ai2_dopath mad_bomber_2 come_to_me 1 |
---|
403 | } |
---|
404 | } |
---|
405 | |
---|
406 | func void patrolscript000(string ai_name) |
---|
407 | { |
---|
408 | particle lock2_locklight01 do start |
---|
409 | door_unlock 6 |
---|
410 | } |
---|
411 | |
---|
412 | #tv1 - after door 7 |
---|
413 | func void Booth(string wazzzup) |
---|
414 | { |
---|
415 | ai2_spawn BoothStriker01 |
---|
416 | ai2_spawn BoothStriker02 |
---|
417 | playback BoothStriker01 BoothStriker01 |
---|
418 | playback BoothStriker02 BoothStriker02 |
---|
419 | sound_music_start mus_asian 0.8 |
---|
420 | target_set 0 0 |
---|
421 | door_lock 10 |
---|
422 | } |
---|
423 | |
---|
424 | #lose func of BoothStriker01 |
---|
425 | func void console_2_activate(string char_index) |
---|
426 | { |
---|
427 | console_activate 2 |
---|
428 | } |
---|
429 | |
---|
430 | #console 2 |
---|
431 | func void change_door2_light(void) |
---|
432 | { |
---|
433 | door_lock 7 |
---|
434 | particle door7_locklight01 do stop |
---|
435 | particle door2_locklight01 do start |
---|
436 | console_deactivate 2 |
---|
437 | objective_set 3 silent |
---|
438 | target_set 1139 30 |
---|
439 | sound_dialog_play_block c00_01_18shinatama |
---|
440 | sound_dialog_play c00_01_28shinatama |
---|
441 | } |
---|
442 | |
---|
443 | #tv5 - after door 10 |
---|
444 | func void Repair1(string char_index) |
---|
445 | { |
---|
446 | ai2_spawn Repair_Striker_1 |
---|
447 | ai2_spawn Repair_Comguy_1 |
---|
448 | ai2_spawn alamo_thug_1 |
---|
449 | } |
---|
450 | |
---|
451 | #tv24 - after door 11 |
---|
452 | func void stop_booth_music(string who) |
---|
453 | { |
---|
454 | music_stop |
---|
455 | } |
---|
456 | |
---|
457 | #tv21 - at the beginning of the stairs to door 13 |
---|
458 | func void Repair2(string char_index) |
---|
459 | { |
---|
460 | ai2_spawn Repair_Striker_2 |
---|
461 | ai2_spawn Repair_Comguy_2 |
---|
462 | } |
---|
463 | |
---|
464 | #console 3 |
---|
465 | func void final_ambush(string char_index) |
---|
466 | { |
---|
467 | sound_music_start mus_fitec_hd 0.91 |
---|
468 | particle door3_locklight01 do start |
---|
469 | door_unlock 14 |
---|
470 | ai2_spawn finalam_striker_1 |
---|
471 | ai2_spawn finalam_striker_2 |
---|
472 | ai2_setmovementmode finalam_striker_1 walk |
---|
473 | ai2_setmovementmode finalam_striker_2 walk |
---|
474 | playback finalam_striker_1 finalam_striker1 |
---|
475 | playback finalam_striker_2 finalam_striker2 |
---|
476 | sleep 240 |
---|
477 | particle door3_locklight01 do stop |
---|
478 | door_lock 14 |
---|
479 | ai2_dopath finalam_striker1 finalam_1 1 |
---|
480 | ai2_dopath finalam_striker2 finalam_2 1 |
---|
481 | } |
---|
482 | |
---|
483 | #for the open door func see func: striker_lullaby_2 |
---|
484 | #tv12 - on the stairs to door 12 (entry func: i_uh_heheheh); it's disabled and I didn't enabled it |
---|
485 | |
---|
486 | #tv7 - after door 14 |
---|
487 | func outro(string wazzup) |
---|
488 | { |
---|
489 | fade_out 0 0 0 30 |
---|
490 | sleep 30 |
---|
491 | win |
---|
492 | } |
---|
493 | |
---|
494 | ##################### |
---|
495 | ### TEXT CONSOLES ### |
---|
496 | ##################### |
---|
497 | |
---|
498 | func void level_4a(void) |
---|
499 | { |
---|
500 | text_console level_4a |
---|
501 | console_reset 7 |
---|
502 | } |
---|
503 | |
---|
504 | func void level_4b(void) |
---|
505 | { |
---|
506 | text_console level_4b |
---|
507 | console_reset 7 |
---|
508 | } |
---|
509 | |
---|
510 | func void level_4c(void) |
---|
511 | { |
---|
512 | text_console level_4c |
---|
513 | console_reset 8 |
---|
514 | } |
---|