ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/nikanabo/current/bsl/onilight/IGMD/EnvWarehouse/warehouse.bsl
Revision: 185
Committed: Mon May 21 18:48:22 2007 UTC (18 years, 4 months ago) by geyser
File size: 12447 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 = .15
14 gl_fog_blue = .15
15 gl_fog_green = .15
16 gl_fog_start = .995
17 gs_farclipplane_set 5000
18 ui_suppress_prompt = 1
19 chr_auto_aim_dist = 0
20 if(save_point > 0) start
21 }
22
23 #############
24 ### START ###
25 #############
26
27 func void start(string ai_name)
28 {
29 fork deactivate_stuff
30 splash_screen warehouse_splash_screen
31 if(save_point eq 1) save_point = 2
32 if(save_point eq 2) fork intro
33 if(save_point eq 3) restore_game
34 if(save_point eq 4) restore_game
35 if(save_point eq 5) restore_game
36 sleep 5
37 fork sp_all
38 }
39
40 func void deactivate_stuff(void)
41 {
42 #not used
43 trigvolume_enable tv_train_movement 0
44 console_deactivate 4
45 trigvolume_enable alarm_trigvol 0
46 trigvolume_enable mid_warehouse_target 0
47 trigvolume_enable setup_bay3_tv 0
48 trigvolume_enable trigger_volume_01 0
49 trigvolume_enable trigger_volume_06 0
50 trigvolume_enable trigger_volume_63 0
51 trigvolume_enable trigger_volume_64 0
52 trigvolume_enable trigger_volume_65 0
53 trigvolume_enable trigger_volume_68 0
54 trigvolume_enable trigger_volume_70 0
55 trigvolume_enable trigger_volume_76 0
56 trigvolume_enable trigger_volume_77 0
57 trigvolume_enable trigger_volume_80 0
58 trigvolume_enable tv_66 0
59 #used
60 door_unlock 108
61 env_show 2010 0
62 obj_create 20 20
63 trigvolume_enable gotLSI_tv 0
64 }
65
66 func void you_lose(string ai_name)
67 {
68 fade_out 0 0 0 30
69 sleep 30
70 lose
71 }
72
73 ####################################
74 ### SEVERAL TIMES USED FUNCTIONS ###
75 ####################################
76
77 func void sp_all(void)
78 {
79 co_message_display = 0
80 if(save_point eq 2) save_game 2 autosave
81 if(save_point eq 3) save_game 3 autosave
82 if(save_point eq 4) save_game 4 autosave
83 if(save_point eq 5) save_game 5 autosave
84 sleep 180
85 co_message_display = 1
86 }
87
88 func void remove_ai(void)
89 {
90 ai2_kill
91 sleep 60
92 powerup_reset
93 weapon_reset
94 sleep 240
95 corpse_reset
96 }
97
98 func void music_stop(void)
99 {
100 #training
101 sound_music_stop atm_gr06
102 sound_music_stop atm_ft68
103 #warehoue
104 sound_music_volume mus_ambgrv1 0.0 2.0
105 sound_music_stop mus_ambgrv1
106 sound_music_stop atm_low1
107 sound_music_volume mus_chase 0.0 3.0
108 sound_music_stop mus_chase
109 }
110
111 ##########
112 ### SP1 ###
113 ##########
114
115 func void intro(void)
116 {
117 playback 0 SwingKonokoSet
118 chr_inv_reset 0
119 ai2_spawn A_t48
120 objective_set 1 silent
121 }
122
123 #tv55 - the complete area of the platform where Konoko starts (no funcs); I've disabled it
124 #lose func of A_t48 (func: t48_dead); I don't use it
125
126 #console 1
127 func void unlock6(string ai_name)
128 {
129 particle d1_locklight01 do start
130 door_unlock 6
131 target_set 44 30
132 ai2_spawn A_t50
133 trigvolume_enable trigger_volume_65 1
134 }
135
136 #tv57 - in front of door 6 (entry func: t65; exit func: t65b); I've diabled it
137
138 ### FIRST HALL - GROUND FLOOR ###
139
140 #tv56 - after door 6 (entry func: t64); I've diabled it
141 #tv72 - right side; in the right corner (entry func: t77); I've diabled it
142
143 #tv12 - left side; after the box near the left wall
144 func void rat3(void)
145 {
146 particle rat3 pulse
147 }
148
149 #tv11 - in front of door 16; right side; around the small drum
150 func void bug0(void)
151 {
152 particle bug0 pulse
153 }
154
155 ### FIRST HALL - FIRST FLOOR ###
156
157 #console 2
158 func void unlock1(string ai_name)
159 {
160 particle lock1_locklight01 do start
161 door_unlock 15
162 door_unlock 16
163 target_set 33 15
164 sleep 120
165 ai2_spawn Bay1_Thug_1
166 }
167
168 ### FIRST HALL - SECOND FLOOR ###
169
170 #tv74 - on the top of the crane cabin
171 func void t02(string ai_name)
172 {
173 ai2_spawn secret2
174 ai2_dopath A_t50 patrol_secret1
175 ai2_setjobstate A_t50
176 fork health_check
177 }
178
179 func void health_check(void)
180 {
181 chr_wait_health secret2 0
182 train_fathealth
183 }
184
185 #tv58 - in front of door 4 (entry func: t01); I've disabled it
186
187 ### SECOND HALL - GROUND FLOOR ###
188
189 #tv80 - the complete volume of the hall (no funcs); I've disabled it
190
191 #tv1 - high box after door 16 and door 15
192 func void intro_enemies(string ai_name)
193 {
194 ai2_spawn Bay2_Thug_1
195 ai2_spawn Bay2_Thug_2
196 sound_music_start mus_ambgrv1 0
197 sound_music_volume mus_ambgrv1 0.75 3.0
198 }
199
200 #lose func of Bay2_Thug_1
201 func void train_fathealth(string ai_name)
202 {
203 if(var_counter eq 0)
204 {
205 var_counter = 1
206 sleep 90
207 sound_dialog_play c00_01_93shinatama
208 sound_dialog_play_block pause
209 sleep 40
210 sound_dialog_play c00_01_94shinatama
211 }
212 }
213
214 #tv19 - after one third of the hall; from left to right; ends right in some distance in front of door 18
215 func void rat1(void)
216 {
217 particle rat1 pulse
218 }
219
220 #tv13 - after door 18
221 func void bug8(void)
222 {
223 particle bug8 pulse
224 }
225
226 #console 3
227 func void unlock2(string ai_name)
228 {
229 particle lock2_locklight01 do start
230 door_unlock 24
231 door_unlock 26
232 target_set 84 15
233 music_stop
234 }
235
236 #tv4 - in front of door 26 and door 24 (entry func: setup_bay3); I've disabled it
237
238 ### SECOND HALL - FIRST FLOOR ###
239
240 #nothing here; no second floor
241
242 ### THIRD HALL - GROUND FLOOR ###
243
244 #tv15 - after door 26; right side; in front of the first box
245 func void rat6(void)
246 {
247 particle rat6 pulse
248 }
249
250 #tv14 - next to tv15; in front of the second box
251 func void bug4(void)
252 {
253 particle bug4 pulse
254 }
255
256 #tv16 - in some distance after door 31
257 func void rat4(void)
258 {
259 particle rat4 pulse
260 }
261
262 ### THIRD HALL - FIRST FLOOR ###
263
264 #tv5 - around Chung
265 func void Chung(void)
266 {
267 sound_music_start atm_low1 0.7
268 trigvolume_enable gotLSI_tv 1
269 target_set 1 0
270 }
271
272 #tv30 - around the lsi
273 func void checkLSI(string ai_name)
274 {
275 trigvolume_enable gotLSI_tv 0
276 if(chr_has_lsi(0) eq 1)
277 {
278 particle lock3_locklight01 do start
279 door_unlock 37
280 music_stop
281 ai2_spawn Ambush_Striker_1
282 ai2_spawn Mid_Thug_1
283 ai2_spawn Mid_Thug_2
284 objective_set 2 silent
285 target_set 7053 30
286 var_counter = 0
287 }
288 if(chr_has_lsi(0) eq 0)
289 {
290 sleep 60
291 trigvolume_enable gotLSI_tv 1
292 }
293 }
294
295 ### THIRD HALL - SECOND FLOOR ###
296
297 #tv75 - in front of door 32
298 func void t05(string ai_name)
299 {
300 ai2_spawn ambush_striker
301 }
302
303 ##########
304 ### SP2 ###
305 ##########
306
307 #tv59 - after door 37
308 func void s2(string player_name)
309 {
310 if(save_point eq 3)
311 {
312 ai2_spawn Mid_Thug_1
313 ai2_spawn Mid_Thug_2
314 objective_set 2 silent
315 target_set 7053 30
316 }
317 else save_game 3 autosave
318 }
319
320 #tv76 - in front of door 36
321 func void t09(string ai_name)
322 {
323 target_set 62 30
324 }
325
326 #tv63 - after door 35
327 func void t07(string ai_name)
328 {
329 ai2_spawn Top_Thug_5
330 }
331
332 #tv64 - after door 34; near the end of the way; near the corner of the left wall
333 func void t69(string ai_name)
334 {
335 ai2_spawn Top_Striker_1
336 ai2_spawn Top_Comguy_1
337 ai2_spawn Top_Thug_3
338 }
339
340 #tv6 - in front of door 61
341 func void spawn_mid2(string ai_name)
342 {
343 ai2_spawn Mid2_Striker_1
344 ai2_spawn Mid2_Striker_2
345 target_set 66 15
346 }
347
348 #console 5
349 func void unlock4(string ai_name)
350 {
351 particle lock4_locklight01 do start
352 door_unlock 65
353 target_set 7054 15
354 }
355
356 ##########
357 ### SP3 ###
358 ##########
359
360 #tv62 - after door 65 (entry func: s3); I've disabled it
361
362 #tv2 - after door 65; nearly at the same position as tv62
363 func void train_alarm(string ai_name)
364 {
365 if(save_point eq 4)
366 {
367 objective_set 2 silent
368 target_set 7054 15
369 }
370 else
371 {
372 fork remove_ai
373 save_game 4 autosave
374 door_lock 60
375 }
376 ai2_spawn Bay4_Comguy_1
377 }
378
379 ### FIRST HALL - GROUND FLOOR ###
380
381 #tv18 - in front of door 68
382 func void rat5(void)
383 {
384 particle rat5 pulse
385 }
386
387 #console 7 ==> see second floor
388
389 ### FIRST HALL - FIRST FLOOR ###
390
391 #hit func of Bay4_Comguy_1
392 func void hurt1(string ai_name)
393 {
394 ai2_makeignoreplayer Bay4_Comguy_1 1
395 ai2_doalarm Bay4_Comguy_1 6
396 ai2_dopath Bay4_Comguy_1 Run_To_Alarm
397 ai2_setjobstate Bay4_Comguy_1
398 sleep 60
399 sound_dialog_play c00_01_96shinatama
400 }
401
402 func void patrolscript0001(string ai_name)
403 {
404 ai2_doalarm Bay4_Comguy_1 6
405 }
406
407 ### FIRST HALL - SECOND FLOOR ###
408
409 #console 7
410 func void unlock5(string ai_name)
411 {
412 particle lock4_locklight01 do stop
413 door_lock 65
414 particle lock5_locklight01 do start
415 door_unlock 73
416 door_unlock 74
417 door_unlock 81
418 door_unlock 82
419 target_set 72 30
420 console_deactivate 7
421 var_counter = 1
422 }
423
424 #tv7 - in front of console 6 (entry func: alarm_warning; exit func: alarm_warningb); I've disabled it
425
426 #console 6
427 func void alarm_trig(string ai_name)
428 {
429 fork do_alarm_sound
430 if(var_counter eq 0) unlock5
431 ai2_makeignoreplayer Bay4_Comguy_1 0
432 ai2_dopath Bay4_Comguy_1 patrol_42
433 ai2_setjobstate Bay4_Comguy_1
434 ai2_spawn Alarm_Bay4_Striker_1
435 chr_teleport Alarm_Bay4_Striker_1 7033
436 ai2_attack Alarm_Bay4_Striker_1 char_0
437 ai2_spawn Alarm_Bay4_Striker_2
438 chr_teleport Alarm_Bay4_Striker_2 7033
439 ai2_attack Alarm_Bay4_Striker_2 char_0
440 }
441
442 func void do_alarm_sound(void)
443 {
444 sound_ambient_start alarm_loop
445 sleep 900
446 sound_ambient_stop alarm_loop
447 }
448
449 #console 4 (func: unlock_alarm); I've disabled it
450
451 ### SECOND HALL - GROUND FLOOR ###
452
453 #tv31 - high box after door 73 and door 74
454 func void t47(string ai_name)
455 {
456 ai2_spawn Bay5_Thug_1
457 ai2_spawn Bay5_Thug_2
458 }
459
460 ### SECOND HALL - FIRST FLOOR ###
461
462 #nothing, no second floor
463
464 ### THIRD HALL - GROUND FLOOR ###
465
466 #tv32 - after door 81
467 func void spawn_bay6_bot(string ai_name)
468 {
469 trigvolume_enable spawn_bay6_top_tv 0
470 ai2_spawn Bay6_Striker_1b
471 ai2_spawn Bay6_Neutral_1b
472 ai2_spawn Bay6_Neutral_2
473 ai2_spawn guard1
474 train_neutral
475 }
476
477 func void train_neutral(string ai_name)
478 {
479 target_set 92 15
480 sound_dialog_play c00_01_97shinatama
481 }
482
483 ### THIRD HALL - FIRST FLOOR ###
484
485 #tv60 - complete volume of the first floor (no funcs); I've disabled it
486
487 #tv3 - after door 82
488 func void spawn_bay6_top(string ai_name)
489 {
490 trigvolume_enable spawn_bay6_bot_tv 0
491 ai2_spawn Bay6_Striker_1
492 ai2_spawn Bay6_Neutral_1
493 ai2_spawn Bay6_Neutral_2
494 ai2_spawn guard1
495 train_neutral
496 }
497
498 #tv79 - after door 87
499 func void t10(string ai_name)
500 {
501 ai2_makeignoreplayer Bay6_Neutral_1 1
502 ai2_makeignoreplayer Bay6_Neutral_1b 1
503 ai2_dopath Bay6_Neutral_1 Bay6_Thug_1
504 ai2_dopath Bay6_Neutral_1b Bay6_Thug_1_copy
505 sleep 240
506 ai2_makeignoreplayer Bay6_Neutral_1 0
507 ai2_makeignoreplayer Bay6_Neutral_1b 0
508 }
509
510 ### THIRD HALL - SECOND FLOOR ###
511
512 #tv61 - after door 88
513 func void t67(string ai_name)
514 {
515 chr_changeteam guard1 Syndicate
516 }
517
518 #neutral func of Bay6_Neutral_2
519 func void gotoconsole(string ai_name)
520 {
521 console_activate 9
522 sleep 7
523 ai2_doalarm Bay6_Neutral_2 9
524 sleep 180
525 trigvolume_enable trigger_volume_06 1
526 }
527
528 #tv77 - around console 9 (exit func: t06); I've disabled it
529
530 #console 9
531 func void open_warehouse(string ai_name)
532 {
533 if(save_point eq 4)
534 {
535 particle lock7_locklight01 do start
536 door_unlock 86
537 ai2_spawn Final_Thug_1
538 ai2_spawn Final_Thug_2
539 ai2_spawn Final_Thug_3
540 ai2_spawn Final_Thug_5
541 ai2_dopath Bay6_Neutral_2 Open_Warehouse
542 ai2_setjobstate Bay6_Neutral_2
543 objective_set 3 silent
544 target_set 93 15
545 }
546 particle bigdoor_locklight02 do start
547 ai2_spawn WH_Thug_A
548 ai2_dopath WH_Thug_A WH_Thug_A
549 ai2_setjobstate WH_Thug_A
550 ai2_spawn WH_Striker_B
551 ai2_dopath WH_Striker_B WH_Striker_B
552 ai2_setjobstate WH_Striker_B
553 ai2_spawn WH_Striker_C
554 ai2_spawn WH_Striker_D
555 ai2_dopath WH_Striker_D WH_Striker_D
556 ai2_setjobstate WH_Striker_D
557 }
558
559 #tv8 - in front of door 48 (entry func: train_timer); I've diabled it
560
561 ##########
562 ### SP4 ###
563 ##########
564
565 #tv73 - after door 48
566 func void s4(string ai_name)
567 {
568 if(save_point eq 5) open_warehouse
569 else save_game 5 autosave
570 objective_set 4 silent
571 target_set 96 15
572 sleep 1
573 timer_start 180 you_lose
574 sound_music_start mus_chase 0
575 sound_music_volume mus_chase 0.50 1.0
576 sound_dialog_play c00_01_95shinatama
577 sound_dialog_play_block pause
578 sound_music_volume mus_chase 0.75 1.0
579 }
580
581 #tv17 - after door 48; right next to the box at 10 past 12
582 func void rat2(void)
583 {
584 particle rat2 pulse
585 }
586
587 #tv9 - after door 56
588 func void stair1_target(string ai_name)
589 {
590 target_set 31 15
591 }
592
593 #tv10 - in front of door 58
594 func void stair2_target(string ai_name)
595 {
596 target_set 81 15
597 }
598
599 #tv71 - big box around console 8 (no funcs); I've disabld it
600 #tv65 - not so big box around console 8 (inside func: t70); I've disabld it
601
602 #lose func of WH_Striker_C
603 func void end_striker(string ai_name)
604 {
605 music_stop
606 }
607
608 #console 8
609 func void end_console(string ai_name)
610 {
611 timer_stop
612 fade_out 0 0 0 30
613 sleep 30
614 win
615 }
616
617 #####################
618 ### TEXT CONSOLES ###
619 #####################
620
621 func void console_evidence1(string ai_name)
622 {
623 text_console level_1a
624 console_reset 19
625 }
626
627 func void console_evidence2(string ai_name)
628 {
629 text_console level_1b
630 console_reset 20
631 }