1 | ### POWER PLANT II LEVEL LOGIC ###
|
---|
2 |
|
---|
3 | ### START, SAVE & OBJECTIVES ###
|
---|
4 |
|
---|
5 | var int inside_final_cutscene = 0;
|
---|
6 |
|
---|
7 | func void start(string ai_name)
|
---|
8 | {
|
---|
9 | particle save3_locklight01 do start
|
---|
10 |
|
---|
11 | if (save_point eq 0)
|
---|
12 | {
|
---|
13 | my_save_point = 0
|
---|
14 | trigvolume_enable trigger_volume_07 0
|
---|
15 | particle_room1_start
|
---|
16 | particle doorA_locklight01 do stop
|
---|
17 | ai2_spawn ambush_striker_10
|
---|
18 | ai2_spawn ambush_striker_11
|
---|
19 | set_objective_1
|
---|
20 | chr_invincible ShinShin 1
|
---|
21 | chr_unstoppable ShinShin 1
|
---|
22 | }
|
---|
23 | if (save_point eq 1)
|
---|
24 | {
|
---|
25 | my_save_point = 1;
|
---|
26 | dprint restore1_active
|
---|
27 | trigvolume_enable room3_particle_control 0
|
---|
28 | door_lock 3
|
---|
29 | particle Shindoor_locklight01 do stop
|
---|
30 | particle room4 do start
|
---|
31 | ai2_spawn A3_n05
|
---|
32 | restore_game
|
---|
33 | set_objective_3
|
---|
34 | }
|
---|
35 | if (save_point eq 2)
|
---|
36 | {
|
---|
37 | my_save_point = 2;
|
---|
38 | dprint restore2_active
|
---|
39 | particle doorA_locklight01 do stop
|
---|
40 | particle doorB_locklight01 do start
|
---|
41 | door_lock 15
|
---|
42 | trigvolume_enable save2 0
|
---|
43 | ai2_spawn vat_bot_1
|
---|
44 | ai2_spawn vat_bot_2
|
---|
45 | ai2_spawn vat_bot_3
|
---|
46 | ai2_spawn vat_bot_4
|
---|
47 | ai2_spawn vat_bot_5
|
---|
48 | chr_weapon_immune(vat_bot_1);
|
---|
49 | chr_weapon_immune(vat_bot_2);
|
---|
50 | chr_weapon_immune(vat_bot_3);
|
---|
51 | chr_weapon_immune(vat_bot_4);
|
---|
52 | chr_weapon_immune(vat_bot_5);
|
---|
53 | restore_game
|
---|
54 | set_objective_4
|
---|
55 | sound_music_start atm_cl12 0.75
|
---|
56 | }
|
---|
57 | if (save_point eq 3)
|
---|
58 | {
|
---|
59 | my_save_point = 3;
|
---|
60 | dprint restore3_active
|
---|
61 | particle save3_locklight01 do stop
|
---|
62 | door_lock 23
|
---|
63 | door_lock 28
|
---|
64 | ai2_spawn E1_sr28
|
---|
65 | ai2_spawn E1_sr30
|
---|
66 | ai2_spawn E1_sb29
|
---|
67 | ai2_spawn ambush_comguy_1
|
---|
68 | ai2_spawn E1_n31
|
---|
69 | ai2_spawn E1_n32
|
---|
70 | ai2_spawn E1_n37
|
---|
71 | trigvolume_enable save_point3 0
|
---|
72 | trigvolume_enable p11b_vol 0
|
---|
73 | restore_game
|
---|
74 | pipe3_start
|
---|
75 | set_objective_5
|
---|
76 | }
|
---|
77 | }
|
---|
78 |
|
---|
79 | func void you_lose(string ai_name)
|
---|
80 | {
|
---|
81 | sleep 240
|
---|
82 | fade_out 0 0 0 180
|
---|
83 | sleep 240
|
---|
84 | lose
|
---|
85 | }
|
---|
86 |
|
---|
87 | func void you_win(int char_index)
|
---|
88 | {
|
---|
89 | outro
|
---|
90 | win
|
---|
91 | }
|
---|
92 |
|
---|
93 | func void new_save1(string ai_name)
|
---|
94 | {
|
---|
95 | if (my_save_point ne 1)
|
---|
96 | {
|
---|
97 | save_game 1 autosave
|
---|
98 | }
|
---|
99 | }
|
---|
100 |
|
---|
101 | func void save_point_1(string ai_name)
|
---|
102 | {
|
---|
103 | dprint savegame_1
|
---|
104 | door_lock 3
|
---|
105 | particle Shindoor_locklight01 do stop
|
---|
106 | }
|
---|
107 |
|
---|
108 | func void save_point_2(string ai_name)
|
---|
109 | {
|
---|
110 | dprint savegame_2
|
---|
111 | save_game 2 autosave
|
---|
112 | }
|
---|
113 |
|
---|
114 | func void save_point_3(string ai_name)
|
---|
115 | {
|
---|
116 | dprint savegame_3
|
---|
117 | save_game 3 autosave
|
---|
118 | }
|
---|
119 |
|
---|
120 | func void set_objective_1(string ai_name)
|
---|
121 | {
|
---|
122 | dprint set_objective1
|
---|
123 | objective_set(1)
|
---|
124 | }
|
---|
125 |
|
---|
126 | func void set_objective_2(string ai_name)
|
---|
127 | {
|
---|
128 | dprint set_objective2
|
---|
129 | objective_set(2)
|
---|
130 | target_set(7020,60.00)
|
---|
131 | }
|
---|
132 |
|
---|
133 | func void set_objective_3(string ai_name)
|
---|
134 | {
|
---|
135 | dprint set_objective3
|
---|
136 | objective_set(3)
|
---|
137 | target_set(0,0)
|
---|
138 | }
|
---|
139 |
|
---|
140 | func void set_objective_4(string ai_name)
|
---|
141 | {
|
---|
142 | dprint set_objective4
|
---|
143 | objective_set(4)
|
---|
144 | trigvolume_enable setobjective_4 0
|
---|
145 | }
|
---|
146 |
|
---|
147 | func void set_objective_5(string ai_name)
|
---|
148 | {
|
---|
149 | dprint set_objective5
|
---|
150 | objective_set(5)
|
---|
151 | trigvolume_enable setobjective_5 0
|
---|
152 | }
|
---|
153 |
|
---|
154 | ### MUSIC ###
|
---|
155 |
|
---|
156 | var int music_counter;
|
---|
157 |
|
---|
158 | func void music_force_stop(void)
|
---|
159 | {
|
---|
160 | sleep 4500
|
---|
161 | if (0 ne music_counter)
|
---|
162 | {
|
---|
163 | dprint music_force_stop
|
---|
164 | music_counter = 0
|
---|
165 | all_music_counters
|
---|
166 | }
|
---|
167 | }
|
---|
168 |
|
---|
169 | func void music_script_start(void)
|
---|
170 | {
|
---|
171 | music_counter = 2
|
---|
172 | }
|
---|
173 |
|
---|
174 | func void striker_lullaby_1(string ai_name)
|
---|
175 | {
|
---|
176 | dprint striker_lullaby1
|
---|
177 | music_counter = music_counter - 1
|
---|
178 | if (music_counter eq 0)
|
---|
179 | {
|
---|
180 | all_music_counters();
|
---|
181 | }
|
---|
182 | }
|
---|
183 |
|
---|
184 | func void striker_lullaby_2(string ai_name)
|
---|
185 | {
|
---|
186 | dprint striker_lullaby2
|
---|
187 | music_counter = music_counter - 1
|
---|
188 | if (music_counter eq 0)
|
---|
189 | {
|
---|
190 | all_music_counters();
|
---|
191 | }
|
---|
192 | }
|
---|
193 |
|
---|
194 | func void all_music_counters(void)
|
---|
195 | {
|
---|
196 | dprint ELVIS_HAS_LEFT_THE_BUILDING
|
---|
197 | sound_music_stop mus_trt
|
---|
198 | sound_music_stop mus_sad1
|
---|
199 | sound_music_stop atm_cl10
|
---|
200 | sound_music_stop atm_ft66
|
---|
201 | sound_music_stop atm_cl09
|
---|
202 | sound_music_stop atm_cl11
|
---|
203 | sound_music_stop mus_xtr2
|
---|
204 | sound_music_stop mus_lz
|
---|
205 | }
|
---|
206 |
|
---|
207 | ### TEXT CONSOLES ###
|
---|
208 |
|
---|
209 | func void level10a(string chr_index)
|
---|
210 | {
|
---|
211 | dprint text10a
|
---|
212 | text_console level_10a
|
---|
213 | console_reset 2
|
---|
214 | }
|
---|
215 |
|
---|
216 | func void level10b(string chr_index)
|
---|
217 | {
|
---|
218 | dprint text10b
|
---|
219 | text_console level_10b
|
---|
220 | console_reset 7
|
---|
221 | }
|
---|
222 |
|
---|
223 | ### GAMEPLAY PROGRESSION ###
|
---|
224 |
|
---|
225 | # STRIKER BACKUPS
|
---|
226 | func void backup_1(string ai_name)
|
---|
227 | {
|
---|
228 | dprint backup1
|
---|
229 | ai2_spawn backup_striker1
|
---|
230 | particle blast1_locklight01 do start
|
---|
231 | door_unlock 1
|
---|
232 | door_open 1
|
---|
233 | }
|
---|
234 |
|
---|
235 | func void backup_2(string ai_name)
|
---|
236 | {
|
---|
237 | dprint backup2
|
---|
238 | ai2_spawn backup_striker2
|
---|
239 | particle blast2_locklight01 do start
|
---|
240 | door_unlock 2
|
---|
241 | door_open 2
|
---|
242 | }
|
---|
243 |
|
---|
244 |
|
---|
245 | # COME TO ME
|
---|
246 | func void come_to_me(string ai_name)
|
---|
247 | {
|
---|
248 | dprint go_to_konoko
|
---|
249 | ai2_dopath ambush_striker1 come_to_me 1
|
---|
250 | ai2_dopath ambush_striker2 come_to_me 1
|
---|
251 | ai2_dopath A1_t02 come_to_me 1
|
---|
252 | ai2_dopath A1_sr01 come_to_me 1
|
---|
253 | ai2_dopath ambush_striker1 come_to_me 1
|
---|
254 | ai2_dopath ambush_striker2 come_to_me 1
|
---|
255 | }
|
---|
256 |
|
---|
257 | # SHIN CUTSCENE CHECK
|
---|
258 | func void shin_check(string ai_name)
|
---|
259 | {
|
---|
260 | var int inside_count;
|
---|
261 | dprint shin_cutscene_check
|
---|
262 | trigvolume_enable trigger_volume_03 0
|
---|
263 |
|
---|
264 | inside_count = trigvolume_count(32);
|
---|
265 |
|
---|
266 | if (inside_count ne 0)
|
---|
267 | {
|
---|
268 | sleep 60
|
---|
269 | trigvolume_enable trigger_volume_03 1
|
---|
270 | }
|
---|
271 |
|
---|
272 | if (inside_count eq 0)
|
---|
273 | {
|
---|
274 | Shin
|
---|
275 | }
|
---|
276 | }
|
---|
277 |
|
---|
278 | func void t43(string ai_name)
|
---|
279 | {
|
---|
280 | dprint konoko_dies
|
---|
281 | inroom = 1
|
---|
282 | }
|
---|
283 |
|
---|
284 | func void t43b(string ai_name)
|
---|
285 | {
|
---|
286 | dprint konoko_lives
|
---|
287 | inroom = 0
|
---|
288 | }
|
---|
289 |
|
---|
290 | func void delete_script(string ai_name)
|
---|
291 | {
|
---|
292 | dprint dead_or_not
|
---|
293 | chr_delete ai_name
|
---|
294 | }
|
---|
295 |
|
---|
296 | func void shin_dies(void)
|
---|
297 | {
|
---|
298 | dprint KABOOM
|
---|
299 | particle ShinBomb do explode
|
---|
300 | fade_out 1 1 1 30
|
---|
301 | if (inroom eq 1)
|
---|
302 | {
|
---|
303 | chr_set_health 0 0
|
---|
304 | }
|
---|
305 |
|
---|
306 | trigvolume_kill 64
|
---|
307 |
|
---|
308 | chr_delete ShinShin
|
---|
309 | fade_in 60
|
---|
310 | door_lock 3
|
---|
311 | particle Shindoor_locklight01 do stop
|
---|
312 | set_objective_3
|
---|
313 | }
|
---|
314 |
|
---|
315 | func void p1(string ai_name)
|
---|
316 | {
|
---|
317 | dprint p1_trigger_entered
|
---|
318 | sound_music_stop mus_trt
|
---|
319 | sound_music_start atm_cl09 1.0
|
---|
320 | ai2_spawn A1_sr01
|
---|
321 | ai2_lookatme A1_sr01
|
---|
322 | ai2_spawn A1_t02
|
---|
323 | ai2_lookatme A1_t02
|
---|
324 | sleep 120
|
---|
325 | door_lock 1
|
---|
326 | door_lock 2
|
---|
327 | }
|
---|
328 |
|
---|
329 | func void open_ambush1(string ai_name)
|
---|
330 | {
|
---|
331 | dprint ambush_1
|
---|
332 | particle blast1_locklight01 do start
|
---|
333 | door_unlock 1
|
---|
334 | ai2_spawn ambush_striker1
|
---|
335 | }
|
---|
336 |
|
---|
337 | func void open_ambush2(string ai_name)
|
---|
338 | {
|
---|
339 | dprint ambush_2
|
---|
340 | particle blast2_locklight01 do start
|
---|
341 | door_unlock 2
|
---|
342 | ai2_spawn ambush_striker2
|
---|
343 | }
|
---|
344 |
|
---|
345 | func void p2(string ai_name)
|
---|
346 | {
|
---|
347 | dprint p2
|
---|
348 | ai2_spawn A2_r03
|
---|
349 | playback A2_r03 redjump
|
---|
350 | ai2_lookatme A2_r03
|
---|
351 | ai2_spawn aerial_red_2
|
---|
352 | ai2_passive aerial_red_2 1
|
---|
353 | playback aerial_red_2 redjump2
|
---|
354 | ai2_passive aerial_red_2 0
|
---|
355 | ai2_lookatme aerial_red_2
|
---|
356 | ai2_spawn red_guard_1
|
---|
357 | ai2_dopath A1_sr01 patrol_31
|
---|
358 | ai2_dopath A1_t02 patrol_31
|
---|
359 | ai2_setjobstate A1_sr01
|
---|
360 | ai2_setjobstate A1_t02 patrol_31
|
---|
361 | sleep 120
|
---|
362 | }
|
---|
363 |
|
---|
364 | func void p5(string ai_name)
|
---|
365 | {
|
---|
366 | dprint p5
|
---|
367 | ai2_spawn A3_n05
|
---|
368 | ai2_spawn A3_sb06
|
---|
369 | ai2_spawn A4_n07
|
---|
370 | }
|
---|
371 |
|
---|
372 | func void p6(string ai_name)
|
---|
373 | {
|
---|
374 | dprint p6
|
---|
375 | ai2_spawn A4_sr08
|
---|
376 | ai2_spawn B1_c07
|
---|
377 | }
|
---|
378 |
|
---|
379 | func void enableP7(string ai_name)
|
---|
380 | {
|
---|
381 | dprint enableP7
|
---|
382 | trigvolume_enable trigger_volume_07 1
|
---|
383 | }
|
---|
384 |
|
---|
385 | func void do_console_1(string ai_name)
|
---|
386 | {
|
---|
387 | dprint do_console
|
---|
388 | ai2_doalarm A3_n05 1
|
---|
389 | }
|
---|
390 |
|
---|
391 | func void p8(string ai_name)
|
---|
392 | {
|
---|
393 | dprint p8
|
---|
394 | ai2_spawn B2_sb09
|
---|
395 | ai2_spawn B2_n10
|
---|
396 | trigvolume_enable trigger_volume_07 0
|
---|
397 | trigvolume_enable trigger_volume_08 0
|
---|
398 | }
|
---|
399 |
|
---|
400 | func void p9(string ai_name)
|
---|
401 | {
|
---|
402 | dprint p9
|
---|
403 | ai2_spawn C1_c16
|
---|
404 | ai2_spawn C1_t11
|
---|
405 | ai2_spawn C1_sb12
|
---|
406 | ai2_spawn C1_t13
|
---|
407 | ai2_spawn C2_sg15
|
---|
408 | ai2_spawn C2_sr17
|
---|
409 | ai2_spawn C2_sb14
|
---|
410 | ai2_spawn C2_t19
|
---|
411 | particle room1 stop
|
---|
412 | }
|
---|
413 |
|
---|
414 | func void red_ambush(string ai_name)
|
---|
415 | {
|
---|
416 | dprint ambush_red
|
---|
417 | ai2_spawn ambush_red_1
|
---|
418 | }
|
---|
419 |
|
---|
420 | func void p10(string ai_name)
|
---|
421 | {
|
---|
422 | dprint p10
|
---|
423 | ai2_spawn D1_sr20
|
---|
424 | ai2_spawn D1_sb21
|
---|
425 | }
|
---|
426 |
|
---|
427 | func void p11(string ai_name)
|
---|
428 | {
|
---|
429 | dprint p11
|
---|
430 | particle room6 do start
|
---|
431 | pipe3_start
|
---|
432 | }
|
---|
433 | func void p11b(string ai_name)
|
---|
434 | {
|
---|
435 | dprint p11b
|
---|
436 | particle room6 do stop
|
---|
437 | }
|
---|
438 |
|
---|
439 | func void striker_guards(string ai_name)
|
---|
440 | {
|
---|
441 | dprint spawn_strikers
|
---|
442 | ai2_spawn striker_guard_1
|
---|
443 | ai2_spawn striker_guard_2
|
---|
444 | }
|
---|
445 |
|
---|
446 | func void spawn_EC_guards(string ai_name)
|
---|
447 | {
|
---|
448 | dprint spawn_guards
|
---|
449 | ai2_spawn E1_sb29
|
---|
450 | ai2_spawn E1_c33
|
---|
451 | ai2_spawn E1_c40
|
---|
452 | ai2_spawn E1_f34
|
---|
453 | ai2_spawn E1_f40
|
---|
454 | ai2_spawn E1_f35
|
---|
455 | }
|
---|
456 |
|
---|
457 | func void final_guards(string ai_name)
|
---|
458 | {
|
---|
459 | dprint last_guards_activated
|
---|
460 | ai2_spawn final_guard_1
|
---|
461 | ai2_spawn final_guard_2
|
---|
462 | }
|
---|
463 |
|
---|
464 | func void p12(string ai_name)
|
---|
465 | {
|
---|
466 | dprint p12
|
---|
467 | ai2_spawn D2_sb26
|
---|
468 | playback D2_sb26 piperun
|
---|
469 | ai2_spawn pipe_guard_1
|
---|
470 | ai2_spawn pipe_guard_2
|
---|
471 | }
|
---|
472 |
|
---|
473 | func void p13(string ai_name)
|
---|
474 | {
|
---|
475 | dprint p13
|
---|
476 | ai2_spawn E1_sr28
|
---|
477 | ai2_spawn E1_sb29
|
---|
478 | ai2_spawn E1_sr30
|
---|
479 | ai2_spawn ambush_comguy_1
|
---|
480 | ai2_spawn E1_n31
|
---|
481 | ai2_spawn E1_n32
|
---|
482 | ai2_spawn E1_n37
|
---|
483 | particle elev1_locklight01 do stop
|
---|
484 | particle elev2_locklight01 do stop
|
---|
485 | }
|
---|
486 |
|
---|
487 | func void p14(string ai_name)
|
---|
488 | {
|
---|
489 | dprint p14
|
---|
490 | chr_teleport 0 105
|
---|
491 | ai2_spawn F_r40
|
---|
492 | particle pipe3 do start
|
---|
493 | }
|
---|
494 |
|
---|
495 | func void p36(string ai_name)
|
---|
496 | {
|
---|
497 | dprint spawned_muro_runner_p36
|
---|
498 | ai2_spawn muro_runner
|
---|
499 | ai2_spawn muro_runner2
|
---|
500 | }
|
---|
501 |
|
---|
502 | func void p39(string ai_name)
|
---|
503 | {
|
---|
504 | dprint p39
|
---|
505 | ai2_spawn F_r40
|
---|
506 | }
|
---|
507 |
|
---|
508 | func void cross_fire(string ai_name)
|
---|
509 | {
|
---|
510 | dprint crossfire
|
---|
511 | ai2_spawn D2_sg24
|
---|
512 | ai2_spawn D2_f25
|
---|
513 | }
|
---|
514 |
|
---|
515 | func void tctf_control(string ai_name)
|
---|
516 | {
|
---|
517 | dprint tctfcontrol_start
|
---|
518 | sound_music_start mus_amasian 1.0
|
---|
519 | input 0
|
---|
520 | letterbox 1
|
---|
521 | door_unlock 38
|
---|
522 | ai2_spawn E2_sr38
|
---|
523 | ai2_spawn E2_sr39
|
---|
524 | particle elev1_locklight01 do start
|
---|
525 | particle elev2_locklight01 do start
|
---|
526 | cm_interpolate tctf_3 0
|
---|
527 | cm_interpolate_block tctf_1 300
|
---|
528 | cm_interpolate_block tctf_2 150
|
---|
529 | sleep 180
|
---|
530 | cm_reset
|
---|
531 | letterbox 0
|
---|
532 | input 1
|
---|
533 | door_unlock 37
|
---|
534 | }
|
---|
535 |
|
---|
536 | func void warnbigroom(string ai_name)
|
---|
537 | {
|
---|
538 | dprint warnbigroom
|
---|
539 | ai2_tripalarm 1
|
---|
540 | }
|
---|
541 |
|
---|
542 | func void zap_cinematic(string ai_name)
|
---|
543 | {
|
---|
544 | dprint doorA
|
---|
545 | input 0
|
---|
546 | begin_cutscene
|
---|
547 | sound_music_start atm_cl12 0.75
|
---|
548 | particle zap1 create
|
---|
549 | particle zap1 start
|
---|
550 | cm_interpolate zap_cinematic1 0
|
---|
551 | cm_interpolate_block zap_cinematic3 700
|
---|
552 | sleep 750
|
---|
553 | cm_interpolate zap_cinematic4 0
|
---|
554 | sleep 60
|
---|
555 | particle doorA_locklight01 do start
|
---|
556 | sleep 150
|
---|
557 | door_unlock 15
|
---|
558 | cm_reset
|
---|
559 | end_cutscene
|
---|
560 | input 1
|
---|
561 | ai2_spawn vat_bot_1
|
---|
562 | ai2_spawn vat_bot_2
|
---|
563 | ai2_spawn vat_bot_3
|
---|
564 | ai2_spawn vat_bot_4
|
---|
565 | ai2_spawn vat_bot_5
|
---|
566 | chr_weapon_immune(vat_bot_1);
|
---|
567 | chr_weapon_immune(vat_bot_2);
|
---|
568 | chr_weapon_immune(vat_bot_3);
|
---|
569 | chr_weapon_immune(vat_bot_4);
|
---|
570 | chr_weapon_immune(vat_bot_5);
|
---|
571 | particle doorB_locklight01 do start
|
---|
572 | }
|
---|
573 |
|
---|
574 | func void change_patrol_1(string ai_name)
|
---|
575 | {
|
---|
576 | dprint change_patrol
|
---|
577 | ai2_dopath vat_bot_2 vat_bot_2b 1
|
---|
578 | }
|
---|
579 |
|
---|
580 | func void change_patrol_2(string ai_name)
|
---|
581 | {
|
---|
582 | dprint change_patrol
|
---|
583 | ai2_dopath vat_bot_3 vat_bot_3b 1
|
---|
584 | }
|
---|
585 |
|
---|
586 | func void change_patrol_3(string ai_name)
|
---|
587 | {
|
---|
588 | dprint change_patrol
|
---|
589 | ai2_dopath vat_bot_5 vat_bot_5b 1
|
---|
590 | }
|
---|
591 |
|
---|
592 | func void spark_sound_off(string ai_name)
|
---|
593 | {
|
---|
594 | dprint spark_music_off
|
---|
595 | sound_music_stop atm_cl12
|
---|
596 | }
|
---|
597 |
|
---|
598 | # YOUR DEATH IS ASSURED
|
---|
599 | func void dont_even_try_it(string ai_name)
|
---|
600 | {
|
---|
601 | chr_set_health 0 0
|
---|
602 | }
|
---|
603 |
|
---|
604 | ### SPECIAL PARTICLES ###
|
---|
605 |
|
---|
606 | func void killmuro(string ai_name)
|
---|
607 | {
|
---|
608 | dprint killedmuro
|
---|
609 | chr_delete muro_runner
|
---|
610 | chr_delete muro_runner2
|
---|
611 | sound_music_stop atm_cl11
|
---|
612 | ai2_spawn A4_n07
|
---|
613 | }
|
---|
614 |
|
---|
615 | func void pipe1a(string ai_name)
|
---|
616 | {
|
---|
617 | dprint pipe1_discharged
|
---|
618 | ai2_passive A3_n05 1
|
---|
619 | particle room4 do stop
|
---|
620 | timer_start 30 pipe1b
|
---|
621 | sound_music_start atm_cl11
|
---|
622 | }
|
---|
623 |
|
---|
624 | func void pipe1b(void)
|
---|
625 | {
|
---|
626 | dprint pipe1_recharged
|
---|
627 | particle room4 do start
|
---|
628 | console_reset 1
|
---|
629 |
|
---|
630 | pipe1_music_off();
|
---|
631 | }
|
---|
632 |
|
---|
633 | func void pipe1_music_off(void)
|
---|
634 | {
|
---|
635 | dprint pipe1_music_off
|
---|
636 | sound_music_stop atm_cl11
|
---|
637 | }
|
---|
638 |
|
---|
639 | func void pipe2a(void)
|
---|
640 | {
|
---|
641 | dprint pipe2_discharged
|
---|
642 | particle room6 do stop
|
---|
643 | timer_start 29 pipe2b
|
---|
644 | sound_music_start atm_cl11
|
---|
645 | }
|
---|
646 |
|
---|
647 | func void pipe2b(void)
|
---|
648 | {
|
---|
649 | dprint pipe2_recharged
|
---|
650 | particle room6 do start
|
---|
651 | console_reset 8
|
---|
652 |
|
---|
653 | pipe2_music_off();
|
---|
654 | }
|
---|
655 |
|
---|
656 | func void pipe2_music_off(void)
|
---|
657 | {
|
---|
658 | dprint pipe2_music_off
|
---|
659 | sound_music_stop atm_cl11
|
---|
660 | }
|
---|
661 |
|
---|
662 | func void pipe3(void)
|
---|
663 | {
|
---|
664 | dprint pipe_discharged
|
---|
665 | timer_start 19 pipe3b
|
---|
666 | sound_music_volume mus_amasian 0.0 2.0
|
---|
667 | particle pipe3 kill
|
---|
668 | sound_music_start atm_cl11
|
---|
669 | sound_music_stop mus_amasian
|
---|
670 | }
|
---|
671 |
|
---|
672 | func void pipe3b(void)
|
---|
673 | {
|
---|
674 | if (inside_final_cutscene eq 0)
|
---|
675 | {
|
---|
676 | dprint pipe_recharged
|
---|
677 | particle pipe3 create
|
---|
678 | particle pipe3 do start
|
---|
679 | console_reset 15
|
---|
680 | }
|
---|
681 | }
|
---|
682 |
|
---|
683 | func void final_cutscene_trumps_particles(void)
|
---|
684 | {
|
---|
685 | inside_final_cutscene = 1;
|
---|
686 | particle pipe3 kill
|
---|
687 | }
|
---|
688 |
|
---|
689 | ### Level scripted by Joseph ###
|
---|