ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/nikanabo/current/bsl/onilight/IGMD/Airport/airport.bsl
Revision: 185
Committed: Mon May 21 18:48:22 2007 UTC (18 years, 4 months ago) by geyser
File size: 11288 byte(s)
Log Message:

File Contents

# Content
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 }