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