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