ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/nikanabo/current/bsl/onilight/IGMD/manplant/manplant.bsl
Revision: 185
Committed: Mon May 21 18:48:22 2007 UTC (18 years, 4 months ago) by geyser
File size: 10665 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 start
21 }
22
23 #############
24 ### START ###
25 #############
26
27 func void start(void)
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 if(save_point eq 4) restore_game
35 sleep 5
36 fork sp_all
37 }
38
39 func void deactivate_stuff(void)
40 {
41 trigvolume_setscript save_point4 sp4 entry
42 #not used
43 trigvolume_enable alarm_1 0
44 trigvolume_enable brain_commguy_1 0
45 trigvolume_enable febtober2 0
46 trigvolume_enable flyway_1 0
47 trigvolume_enable Griffin 0
48 trigvolume_enable hidden_1a 0
49 trigvolume_enable hidden_1b 0
50 trigvolume_enable lowthug_1 0
51 trigvolume_enable new_target_3 0
52 trigvolume_enable nook_1 0
53 trigvolume_enable nookright 0
54 trigvolume_enable outro1 0
55 trigvolume_enable plasma_striker_1 0
56 trigvolume_enable sound_off 0
57 trigvolume_enable trigger_active_1 0
58 trig_deactivate 201
59 trig_deactivate 202
60 trig_deactivate 203
61 trig_deactivate 204
62 trig_deactivate 2012
63 trig_deactivate 2022
64 particle lock_1_locklight01 do start
65 particle lock_1b_locklight01 do start
66 env_show 555 0
67 door_lock 1
68 #used
69 trigvolume_enable febtober 0
70 trigvolume_enable tech_1 0
71 trig_hide 205
72 trig_hide 2013
73 trig_hide 2023
74 trig_hide 2032
75 trig_hide 2042
76 obj_create 1201 1208
77 env_anim 1201 1208
78 door_unlock 3
79 door_lock 4
80 door_lock 9
81 door_lock 21
82 console_deactivate 6
83 }
84
85 func void you_lose(void)
86 {
87 fade_out 0 0 0 30
88 sleep 30
89 lose
90 }
91
92 ####################################
93 ### SEVERAL TIMES USED FUNCTIONS ###
94 ####################################
95
96 func void sp_all(void)
97 {
98 co_message_display = 0
99 if(save_point eq 1) save_game 1 autosave
100 if(save_point eq 2) save_game 2 autosave
101 if(save_point eq 3) save_game 3 autosave
102 if(save_point eq 4) save_game 4 autosave
103 sleep 180
104 co_message_display = 1
105 }
106
107 func void remove_ai(void)
108 {
109 ai2_kill
110 sleep 60
111 powerup_reset
112 weapon_reset
113 sleep 240
114 corpse_reset
115 }
116
117 func void music_stop(void)
118 {
119 sound_music_stop mus_fiteb_hd
120 sound_music_stop atm_low_perc1
121 sound_music_stop atm_cl12
122 }
123
124 ##########
125 ### SP1 ###
126 ##########
127
128 func void intro(void)
129 {
130 chr_inv_reset 0
131 ai2_spawn nookleft_thug_1
132 ai2_spawn nookright_thug_1
133 ai2_spawn ambush_striker_1
134 ai2_spawn ambush_striker_2
135 ai2_spawn ambush_striker_3
136 ai2_spawn partner_cop_1
137 ai2_spawn partner_cop_2
138 ai2_attack partner_cop_1 ambush_striker_1
139 ai2_attack partner_cop_2 ambush_striker_3
140 ai2_makeaware nookleft_thug_1 konoko
141 ai2_makeaware nookright_thug_1 konoko
142 objective_set 1 silent
143 target_set 38 30
144 sleep 1
145 sound_music_start mus_fiteb_hd 0.75
146 sound_dialog_play c00_01_22shinatama
147 }
148
149 #tv3 - after door 3 (entry func: nookright); I've disabled it
150 #tv1 - between door 2 and door 4 (entry func: nook_1); I've disabled it
151
152 #lose func of ambush_striker_1
153 func void striker_lullaby_1(void)
154 {
155 striker_lullaby_3
156 }
157
158 #lose func of ambush_striker_2
159 func void striker_lullaby_2(void)
160 {
161 striker_lullaby_3
162 }
163
164 #lose func of ambush_striker_3
165 func void striker_lullaby_3(void)
166 {
167 var_counter = var_counter + 1
168 if(var_counter eq 3)
169 {
170 particle foyer_right_locklight01 do start
171 door_unlock 21
172 trigvolume_enable tech_1 1
173 var_counter = 0
174 music_stop
175 }
176 }
177
178 #tv2 - in front of door 21
179 func void tech_1(void)
180 {
181 ai2_spawn tech_thug_1
182 ai2_spawn tech_thug_1a
183 ai2_dopath partner_cop_1 cop_backup_1a 1
184 ai2_dopath partner_cop_2 cop_backup_1b 1
185 }
186
187 #tv28 - after door 21 (func: all_music_counters); I've disabled it
188 #tv25 - complete room (func: feb_tober2); I've disabled it
189
190 #console1
191 func void door_1(void)
192 {
193 door_lock 8
194 door_lock 15
195 ai2_spawn plasma_striker_1
196 particle febtober1_locklight01 do start
197 particle lock_1a_locklight01 do start
198 particle save1a_locklight01 do start
199 door_unlock 19
200 target_set 123 30
201 }
202
203 #tv5 - after door 19
204 func void bait_1(void)
205 {
206 ai2_spawn bait_commguy_1
207 ai2_spawn tech_thug_2
208 sleep 120
209 ai2_doalarm bait_commguy_1 15
210 sound_music_start atm_low_perc1 1.00
211 particle save1b_locklight01 do start
212 door_unlock 11
213 ai2_dopath partner_cop_1 cop_backup_2a 1
214 ai2_dopath partner_cop_2 cop_backup_2b 1
215 }
216
217 #tv13 - after door 13 (enter func: plasma_striker_1, loop func: calling_all_cars); I've disabled it
218 #tv6 - after door 12 (func: calling_all_cars2); I've disabled it
219
220 #console15
221 func void alarm_1(void)
222 {
223 ai2_spawn hall_striker_2
224 sound_ambient_start alarm_loop
225 sleep 900
226 sound_ambient_stop alarm_loop
227 }
228
229 ##########
230 ### SP2 ###
231 ##########
232
233 #tv18 - after door 11
234 func void tech_ambush_1(void)
235 {
236 if(save_point eq 2)
237 {
238 door_lock 8
239 door_lock 15
240 ai2_spawn plasma_striker_1
241 particle save1b_locklight01 do start
242 door_unlock 11
243 objective_set 1 silent
244 target_set 38 30
245 sleep 1
246 sound_music_start atm_low_perc1 1.00
247 sound_dialog_play c00_01_22shinatama
248 }
249 else save_game 2 autosave
250 ai2_spawn hall_striker_1
251 door_lock 10
252 door_lock 12
253 }
254
255 #console3
256 func void door_2(void)
257 {
258 particle febtober1_locklight01 do start
259 particle lock88_locklight02 do start
260 door_unlock 10
261 door_unlock 23
262 ai2_spawn patrol_striker_2
263 console_activate 4 1
264 target_set 124 30
265 sound_dialog_play c00_01_27shinatama
266 }
267
268 #tv7 - in front of door 7
269 func void cruel_1(void)
270 {
271 ai2_spawn cruel_commguy_1
272 ai2_spawn victim_femsci_1
273 }
274
275 #console4
276 func void door_3(void)
277 {
278 music_stop
279 particle lock_3_locklight01 do start
280 door_unlock 4
281 ai2_spawn tech_thug_3
282 objective_set 2 silent
283 target_set 128 30
284 sound_dialog_play c00_01_26shinatama
285 }
286
287 #tv4 - in some distance in front of door 23 (func: flyway_1); I've disabled it
288
289 #tv19 - after door 23
290 func void new_target_1(void)
291 {
292 sound_music_start atm_cl12 0.75
293 target_set 54 30
294 }
295
296 #tv15 - at the beginning of the stairs after door 24
297 func void beaters_1(void)
298 {
299 chr_delete plasma_striker_1
300 door_unlock 8
301 door_unlock 15
302 ai2_spawn scram_striker_1
303 ai2_spawn beater_thug_1
304 particle vent01 start
305 }
306
307 #lose func of beater_thug_1
308 func void beater_thug_2(void)
309 {
310 ai2_spawn beater_thug_2
311 }
312
313 #lose func of scram_striker_1
314 func void backup_2(void)
315 {
316 ai2_spawn backup_thug_2
317 ai2_tripalarm 2 0
318 }
319
320 #tv16 - in front of door 16 (enter func: scramble_sound_off, loop func: Griffin_1); I've disabled it
321 #tv10 - after door 16 (enter func: set_objective_3, inside func: lowthug_1, leave func: disable_obj_trig_1); I've disabled it
322
323 ##########
324 ### SP3 ###
325 ##########
326
327 #tv26 - in some distance in front of door 15
328 func void save_point_3(void)
329 {
330 if(save_point ne 3)
331 {
332 fork remove_ai
333 save_game 3 autosave
334 particle vent01 do stop
335 music_stop
336 }
337 particle hlock_1_locklight01 do start
338 door_unlock 22
339 particle vent02 do start
340 trig_activate 2
341 door_close 16
342 door_lock 16
343 trigvolume_enable febtober 1
344 ai2_spawn hidden_sci_1
345 ai2_spawn low_thug_1
346 ai2_spawn low_thug_2
347 objective_set 3 silent
348 target_set 127 30
349 sleep 1
350 sound_dialog_play c00_01_18shinatama
351 }
352
353 #tv8 - in front of door 22 (func: hidden_1b); I've disabled it
354 #tv9 - after door 22
355
356 #console7
357 func void guardroom_1(void)
358 {
359 particle guardroom_1_locklight01 do start
360 door_unlock 14
361 ai2_spawn patrol_striker_3
362 ai2_spawn brain_commguy_1
363 ai2_spawn brain_commguy_2
364 console_deactivate 6
365 target_set 65 30
366 }
367
368 #tv13 - at the beginning of the upper way, next to where the stairs ends (func: trigger_active_1); I've disabled it
369
370 #tv24 - after the railing
371 func void feb_tober(string ai_name)
372 {
373 fade_out 0 0 0 30
374 sleep 30
375 chr_teleport 0 41
376 chr_facetoflag 0 126
377 fade_in 30
378 trigvolume_reset febtober
379 }
380
381 #tv11 - after door 14 (func: brain_commguy_1); I've disabled it
382
383 #console8
384 func void brainlock_1(void)
385 {
386 ai2_spawn low_striker_1
387 ai2_spawn low_striker_2
388 console_activate 6
389 target_set 126 30
390 }
391
392 #tv12 - after door 8
393 func void low_striker_1(string ai_name)
394 {
395 ai2_spawn low_striker_1
396 ai2_spawn low_striker_2
397 }
398
399 #tv20 - in front of the furniture with console6 (func: new_target_3); I've disabled it
400
401 #console6
402 func void trigger_deactivate_4(void)
403 {
404 particle guardroom_2_locklight01 do start
405 door_unlock 9
406 trig_deactivate 4
407 console_activate 5
408 target_set 125 30
409 }
410
411 #console5
412 func void hidden_1(void)
413 {
414 particle brainlock_1_locklight02 do start
415 door_unlock 6
416 target_set 129 30
417 trigvolume_enable cruel_striker_1 1
418 }
419
420 #tv21 - in front of door 6
421 func void cruel_striker_1(void)
422 {
423 ai2_spawn cruel_striker_1
424 ai2_spawn victim_mansci_1
425 brain_start
426 }
427
428 func void brain_start(void)
429 {
430 particle brainlock_2_locklight01 do start
431 particle brain do start
432 particle brain1 do start
433 trig_show 205
434 trig_show 2013
435 trig_show 2023
436 trig_show 2032
437 trig_show 2042
438 trig_speed 205 .4
439 trig_speed 2013 .4
440 trig_speed 2023 .4
441 trig_speed 2032 .4
442 trig_speed 2042 .4
443 }
444
445 #called up, after you have talked to the scientist
446 func void flee(void)
447 {
448 chr_talk victim_mansci_1 c02_62_11sci 0 0
449 ai2_dopath victim_mansci_1 victim_2
450 sleep 300
451 objective_set 4 silent
452 sound_dialog_play c00_01_20shinatama
453 }
454
455 #tv17 - in front of the beginning of the stairs (func: outro); not used
456
457 ##########
458 ### SP4 ###
459 ##########
460
461 #tv27 - after door 26
462 func void sp4(void)
463 {
464 if(save_point eq 4)
465 {
466 brain_start
467 objective_set 4 silent
468 sleep 1
469 sound_dialog_play c00_01_20shinatama
470 }
471 else
472 {
473 save_game 4 autosave
474 fork remove_ai
475 particle brainlock_1_locklight02 do stop
476 door_lock 6
477 particle vent02 stop
478 }
479 turret_deactivate 20
480 particle brainlock_3_locklight01 do start
481 door_unlock 27
482 sound_ambient_start deadlybrain_sound 1.0
483 sound_music_start mus_cool4_hd 1
484 }
485
486 #tv22 - in some distance after door 27
487 #tv23 - in some distance after door 27 on the right side
488 func void lockit(void)
489 {
490 particle brainlock_3_locklight01 do stop
491 door_close 27
492 door_jam 27
493 }
494
495 #console21, console22, console23 and console24
496 func void brain_counter(void)
497 {
498 var_counter = var_counter + 1
499 if(var_counter eq 4)
500 {
501 fade_out 0 0 0 30
502 sleep 30
503 win
504 }
505 }
506
507 #####################
508 ### TEXT CONSOLES ###
509 #####################
510
511 func void level2a(string chr_index)
512 {
513 text_console level_2a
514 console_reset 2
515 }
516
517 func void level2b(string chr_index)
518 {
519 text_console level_2b
520 console_reset 12
521 }
522
523 func void level2c(string chr_index)
524 {
525 text_console level_2c
526 console_reset 13
527 }
528
529 func void level2d(string chr_index)
530 {
531 text_console level_2d
532 console_reset 14
533 }
534
535 func void level2e(string chr_index)
536 {
537 text_console level_2e
538 console_reset 11
539 }