ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/AE/packages/VanillaBSL/IGMD/state/state_level_logic.bsl
Revision: 313
Committed: Sun May 3 07:36:58 2009 UTC (16 years, 5 months ago) by gumby
File size: 11407 byte(s)
Log Message:

File Contents

# Content
1 #
2 # state_spawn_guards.bsl
3 #
4 # LEVEL LOGIC
5 #
6 ################## MUSIC TEST ################################
7 func void level_start(string ai_name)
8 {
9 # These functions are used when the game is restored.
10
11 if (my_save_point eq 0)
12 {
13 dprint SAVE_POINT_0
14 # USE THIS FUNC TO SET UP TRAINING SEQUENCE AGAIN
15
16 ai2_spawn neutral_1
17 ai2_spawn fl2_secguard_1
18 powerup_spawn ammo 131
19 powerup_spawn hypo 132
20 }
21
22 if (my_save_point eq 1)
23 {
24 dprint RESTORE_SAVE_POINT_1
25 fl1_spawn_guards
26
27 ai2_spawn neutral_1
28 ai2_spawn fl2_secguard_1
29 powerup_spawn ammo 131
30 powerup_spawn hypo 132
31
32 objective_set(1);
33 particle(lock99_locklight01, do, start);
34 console_deactivate 10
35 trigvolume_enable(trigger_volume_09, 0);
36 restore_game
37 }
38
39 if (my_save_point eq 2)
40 {
41 dprint RESTORE_SAVE_POINT_2
42
43 particle obj1 create
44 particle obj1 start
45
46 trigvolume_enable(Cut_dog, 1);
47 trigvolume_enable(trigger_volume_11, 1);
48 trigvolume_enable(trigger_volume_12, 1);
49 trigvolume_enable(trigger_volume_14, 1);
50 trigvolume_enable(trigger_volume_15, 1);
51 trigvolume_enable(trigger_volume_10, 1);
52
53 trigvolume_enable(shut_off_vault_music, 0);
54 trigvolume_enable(trigger_volume_09, 0);
55 trigvolume_enable(trigger_volume_08, 0);
56 trigvolume_enable(trigger_volume_02, 0);
57 trigvolume_enable(trigger_volume_01, 0);
58
59 trigvolume_enable(save_trig_right, 0);
60 trigvolume_enable(save_trig_left, 0);
61
62 objective_set 4 silent
63
64 target_set(267, 30.0)
65
66 #change_flGUARD_CORRIDOR_lights
67
68 door_lock(3);
69 door_lock(77);
70
71 door_unlock(15);
72 door_unlock(14);
73 door_unlock(7);
74 door_unlock(5);
75 door_unlock(75);
76 door_unlock(59);
77 door_unlock(54);
78 door_unlock(67);
79 door_unlock(68);
80 door_unlock(76);
81 door_unlock(23);
82 door_unlock(42);
83
84 trig_activate 1
85 trig_activate 2
86 #trig_activate 14
87
88 #console_activate 6
89 #console_activate 7
90 #console_activate 9
91
92 console_deactivate 11
93 console_deactivate 4
94 console_deactivate 88
95 console_deactivate 82
96 console_deactivate 5
97 console_deactivate 3
98 console_deactivate 6
99 console_deactivate 1
100 console_deactivate 2
101
102 particle lock1_locklight01 do start
103 particle lock2_locklight01 do start
104 particle lock3_locklight01 do start
105 particle lock4_locklight01 do start
106 particle lock5a_locklight01 do start
107 particle lock5b_locklight01 do start
108 particle lock5c_locklight01 do start
109 particle lock99_locklight01 do start
110
111 particle lock6_locklight01 do stop
112
113 env_shade 271 272 .4 .4 .2
114
115 restore_game
116 # objective_set(3);
117 }
118 }
119
120 # This is an example of a save game console.
121
122 func void save_game_1(string player_name)
123 {
124 dprint saveit_1
125 save_game 1 autosave
126 }
127
128 func void save_game_2_right(string player_name)
129 {
130 dprint saveit_2
131 save_game 2 autosave
132 trigvolume_enable save_trig_left 0
133 }
134
135 func void save_game_2_left(string player_name)
136 {
137 dprint saveit_2
138 save_game 2 autosave
139 trigvolume_enable save_trig_right 0
140 }
141
142 ##############################################################
143 var int music_counter;
144
145 func void music_force_stop(void)
146 {
147 sleep 4500
148
149 if (0 ne music_counter)
150 {
151 dprint music_force_stop
152 music_counter = 0
153 all_music_counters
154 }
155 }
156 func void music_script_start(void)
157 {
158 music_counter = 2
159 }
160
161 func void die_for_art_1(string ai_name)
162 {
163 dprint DFA_1
164 music_counter = music_counter - 1
165
166 if (music_counter eq 0)
167 {
168 all_music_counters();
169 }
170
171 }
172 func void die_for_art_2(string ai_name)
173 {
174 dprint DFA_2
175 music_counter = music_counter - 1
176
177 if (music_counter eq 0)
178 {
179 all_music_counters();
180 }
181
182 }
183 func void all_music_counters(void)
184 {
185 dprint STOP_THE_MUSIC
186 sound_music_stop mus_main02
187 sound_music_stop mus_heart
188 sound_music_stop mus_main02_hd
189 }
190
191 func void fl1_spawn_guards(string ai_name)
192 {
193 # dprint FL1_SPAWN_GUARDS
194 ai2_spawn fl1_secguard_1
195 ai2_spawn fl1_secguard_2
196 ai2_spawn fl1_secguard_4
197 trigvolume_enable shut_off_vault_music 0
198 }
199
200 func void fl2_spawn_secguard_2(string ai_name)
201 {
202 # dprint FL2_SPAWN_GUARDS
203 ai2_spawn fl2_secguard_2
204 ai2_spawn fl2_secguard_7
205 ai2_spawn fl2_balcony_2
206
207 ai2_spawn neutral_2
208 ai2_spawn neutral_4
209 }
210
211 func void fl2_spawn_secguard_3(string ai_name)
212 {
213 # dprint FL2_SPAWN_ASSAULT_GUARDS
214 ai2_spawn fl2_secguard_3
215 ai2_spawn fl2_secguard_6
216 ai2_spawn fl2_balcony_1
217 }
218
219 # THESE ARE THE THIRD FLOOR/ROOF GUYS
220
221 func void spawn_fl3_guards(string ai_name)
222 {
223 # dprint FLROOF_SPAWN_GUARDS
224 ai2_spawn fl3_secguard_1
225 ai2_spawn fl3_secguard_2
226 ai2_spawn fl3_secguard_6
227 ai2_spawn flROOF_sniper_1
228 ai2_spawn Roof_BOSWAT_1
229
230 ai2_spawn neutral_3
231 ai2_spawn neutral_6
232 }
233
234 # THESE ARE THE COMPUTER ROOM GUYS
235
236 func void spawn_flBASEMENT_guards(string ai_name)
237 {
238 # dprint FLROOF_SPAWN_GUARDS
239 ai2_spawn flBASEMENT_guard_1
240 ai2_spawn flBASEMENT_guard_2
241 }
242
243 # THESE ARE THE COMPUTER ROOM GUYS
244
245 func void spawn_flRAMP_guards(string ai_name)
246 {
247 # dprint FLROOF_SPAWN_GUARDS
248 ai2_spawn flRAMP_guard_1
249 ai2_spawn flRAMP_guard_2
250 trigvolume_enable ninja_ambush_top_trig 0
251 trigvolume_enable ninja_ambush_bot_trig 0
252 particle lock46_locklight01 do start
253 }
254
255 func void spawn_outside_left_snipers(string ai_name)
256 {
257 # dprint FL2_SPAWN_GUARDS
258 ai2_spawn flOUTSIDE_A_sniper_1
259 ai2_spawn flOUTSIDE_A_sniper_2
260 ai2_spawn flOUTSIDE_B_sniper_1
261 ai2_spawn flOUTSIDE_C_sniper_1
262 }
263
264 func void spawn_outside_right_snipers(string ai_name)
265 {
266 # dprint FL2_SPAWN_GUARDS
267 ai2_spawn flOUTSIDE_E_sniper_1
268 ai2_spawn flOUTSIDE_E_sniper_2
269 ai2_spawn flOUTSIDE_D_sniper_1
270 ai2_spawn flOUTSIDE_D_sniper_2
271 }
272
273 func void spawn_targets(string ai_name)
274 {
275 # dprint FL2_SPAWN_GUARDS
276 ai2_spawn fl2_target_2
277 }
278
279 func void do_neutral_1_run(string ai_name)
280 {
281 ai2_neutralbehavior neutral_1 none
282 ai2_setmovementmode neutral_1 run_noaim
283 ai2_dopath neutral_1 neutral_1_run
284 ai2_setjobstate neutral_1
285 }
286
287 func void do_neutral_2_run(string ai_name)
288 {
289 ai2_neutralbehavior neutral_2 none
290 ai2_dopath neutral_2 neutral_2_run
291 ai2_setjobstate neutral_2
292 }
293
294 func void do_neutral_3_run(string ai_name)
295 {
296 ai2_neutralbehavior neutral_3 none
297 ai2_dopath neutral_3 neutral_3_run
298 ai2_setjobstate neutral_3
299 }
300
301 func void unlock_secret_1(string ai_name)
302 {
303 input 0
304 cm_interpolate secret1 0
305 sleep 60
306 console_activate 7
307 #particle lock69a_locklight01 do start
308 sleep 150
309 cm_reset
310 input 1
311
312 ai2_spawn secret_guard_1
313 ai2_spawn secret_guard_2
314 }
315
316 func void unlock_secret_2(string ai_name)
317 {
318 door_unlock 34
319 door_unlock 36
320
321 # CB: ensure ramp guards do not see ninja and go after him!
322 ai2_passive flRAMP_guard_1 1
323 ai2_passive flRAMP_guard_2 1
324
325 ai2_spawn cutscene_ninja_1
326 input 0
327 cm_interpolate secret2 0
328 sleep 60
329 particle lock7_locklight01 do start
330 sleep 15
331 trig_deactivate 12
332 sleep 150
333 cm_reset
334 input 1
335
336 chr_delete cutscene_ninja_1
337 ai2_passive flRAMP_guard_1 0
338 ai2_passive flRAMP_guard_2 0
339
340 trigvolume_enable ninja_ambush_top_trig 1
341 trigvolume_enable ninja_ambush_bot_trig 1
342 }
343
344 func void ninja_ambush(string ai_name)
345 {
346 trigvolume_enable ninja_ambush_top_trig 0
347 trigvolume_enable ninja_ambush_bot_trig 0
348
349 ai2_spawn ambush_ninja_1
350 ai2_spawn creepy_ninja_1
351 ai2_spawn creepy_ninja_3
352 }
353
354 func void hall_1(string ai_name)
355 {
356 input 0
357 cm_interpolate hall1 0
358 sleep 60
359 door_unlock 77
360 door_unlock 38
361 door_unlock 22
362 door_unlock 3
363 particle lock6_locklight01 do start
364 particle lock7_locklight01 do stop
365 sleep 150
366 cm_reset
367 input 1
368
369 trig_deactivate 1
370 trig_deactivate 2
371 }
372
373 func void top_1(string ai_name)
374 {
375 input 0
376 #cm_interpolate hall1 0
377 sleep 60
378 door_unlock 35
379 door_unlock 38
380 door_unlock 22
381 door_unlock 3
382 particle lock6_locklight01 do start
383 sleep 150
384 cm_reset
385 input 1
386
387 trig_activate 12
388 trig_activate 13
389 trig_activate 14
390
391 trig_deactivate 1
392 trig_deactivate 2
393 }
394
395 func void downstairs(string ai_name)
396 {
397 trig_deactivate 14
398 door_unlock 8
399 door_unlock 9
400 particle lock23_locklight01 do start
401 ai2_spawn creepy_ninja_5
402 ai2_spawn creepy_ninja_6
403 }
404
405 func void upstairs(string ai_name)
406 {
407 trig_deactivate 13
408 door_unlock 35
409 particle lock65_locklight01 do start
410 }
411
412 var int door_counter=3;
413
414 func void seclock_music_start(void)
415 {
416 if (door_counter eq 3)
417 {
418 sound_music_start mus_lz 0.75
419 }
420 }
421
422 func void seclock_decrement_counter(void)
423 {
424 door_counter = door_counter - 1
425
426
427 if (door_counter eq 0)
428 {
429 sound_music_stop mus_lz
430 unlock_roof();
431 }
432 }
433
434 func void seclock1(string ai_name)
435 {
436 seclock_music_start
437
438 input 0
439 cm_interpolate security 0
440 sleep 60
441 particle lock5a_locklight01 do start
442 sleep 150
443 cm_reset
444 input 1
445
446 seclock_decrement_counter
447 }
448
449 func void seclock2(string ai_name)
450 {
451 seclock_music_start
452
453 input 0
454 cm_interpolate security 0
455 sleep 60
456 particle lock5b_locklight01 do start
457 sleep 150
458 cm_reset
459 input 1
460
461 seclock_decrement_counter
462 }
463
464 func void seclock3(string ai_name)
465 {
466 seclock_music_start
467
468 input 0
469 cm_interpolate security 0
470 sleep 60
471 particle lock5c_locklight01 do start
472 sleep 150
473 cm_reset
474 input 1
475
476 seclock_decrement_counter
477 }
478
479 func void unlock_roof(string ai_name)
480 {
481 door_unlock 23
482 door_unlock 42
483 }
484
485 #
486 # state_door_lock_lights.bsl
487 #
488 # SCRIPTS TO CHANGE THE LOCKED LIGHTS ON DOORS
489 #
490 # TURN FROM GREEN TO RED: do stop
491
492 func void change_fl2_lights(string ai_name)
493 {
494 # dprint WHATEVER YOU WANT
495 sleep 60
496 particle lock2_locklight01 do start
497 }
498
499 func void change_fl3_lights(string ai_name)
500 {
501 particle lock3_locklight01 do start
502 ai2_spawn fl3_mook_1
503 ai2_spawn fl3_mook_2
504 }
505
506 func void change_flDATA_ARCHIVE_lights(string ai_name)
507 {
508 sleep 60
509 particle lock4_locklight01 do start
510 }
511
512 func void change_flCOMMAND_CENTER_lights(string ai_name)
513 {
514 particle lock5_locklight01 do start
515 }
516
517 func void change_flGUARD_CORRIDOR_lights(string ai_name)
518 {
519 particle lock6_locklight01 do start
520 }
521
522 func void change_flDIG_OFFICES_lights(string ai_name)
523 {
524 particle lock7_locklight01 do start
525 }
526
527
528 func void grifftext(string chr_index)
529 {
530 dprint text2a
531 text_console level_11a
532 console_reset 9
533 }
534
535
536 #
537 # state_spawn_guards.bsl
538 #
539 # SCRIPTS TO SPAWN SECURITY GUARDS
540 #
541
542 func void set_objective_1(string ai_name)
543 {
544 # dprint WHATEVER I WANT
545 objective_set(1)
546 target_set(127, 30.0)
547 }
548
549 func void set_objective_2(string ai_name)
550 {
551 # dprint WHATEVER I WANT
552 objective_set(2)
553 }
554
555 func void set_objective_3(string ai_name)
556 {
557 # dprint WHATEVER I WANT
558 objective_set(3)
559 }
560
561 func void set_objective_4(string ai_name)
562 {
563 # dprint WHATEVER I WANT
564 objective_set(4)
565 target_set(267, 30.0)
566 }
567
568 func void set_objective_5(string ai_name)
569 {
570 # dprint WHATEVER I WANT
571 objective_set(5)
572 }
573
574 func void set_objective_6(string ai_name)
575 {
576 # dprint WHATEVER I WANT
577 objective_set(6)
578 }
579
580 func void set_target_1(string ai_name)
581 {
582 # dprint WHATEVER I WANT
583 target_set(267, 30.0)
584 }
585
586 func void set_target_2(string ai_name)
587 {
588 # dprint WHATEVER I WANT
589 target_set(1030, 30.0)
590 }
591 ###wuscripts
592 func void check_outro(string ai_name)
593 {
594 trigvolume_enable tv_check_outro 0
595 if(trigvolume_count (24) eq 0)
596 {
597 trigvolume_enable Cut_outro 1
598 particle obj2 create
599 target_set(126,30.0)
600 }
601 if(trigvolume_count (24) ne 0)
602 {
603 sleep 60
604 trigvolume_enable tv_check_outro 1
605 }
606 }
607