1 | # |
---|
2 | # tctf_cutscene.bsl |
---|
3 | # |
---|
4 | |
---|
5 | func void |
---|
6 | Intro( |
---|
7 | void) |
---|
8 | { |
---|
9 | fade_out 0 0 0 0 |
---|
10 | cm_interpolate IntroCam01 0 |
---|
11 | sleep f14 |
---|
12 | begin_cutscene weapon |
---|
13 | marketing_line_off=1 |
---|
14 | letterbox 1 |
---|
15 | sleep f60 |
---|
16 | invincible=1 |
---|
17 | obj_create 401 402 |
---|
18 | obj_create 404 407 |
---|
19 | fade_in 90 |
---|
20 | #Outside shot of TCTF |
---|
21 | cm_interpolate IntroCam01 0 |
---|
22 | playback 0 IntroKonokoSet |
---|
23 | sleep f300 |
---|
24 | #Griffin and Guy talking |
---|
25 | chr_create 1201 start |
---|
26 | chr_create 1202 start |
---|
27 | playback 1202 IntroTCTF01 |
---|
28 | #make this box animation last as long as conversation |
---|
29 | chr_envanim 1201 IntroGriffinBox01 |
---|
30 | chr_animate 1201 COMGUYsit_idle1 1800 |
---|
31 | #Conversation between the two |
---|
32 | cm_interpolate IntroCam02 0 |
---|
33 | sound_dialog_play c14_50_01scigoon1 |
---|
34 | cinematic_start (COPtalking, 180, 180, 15, 1, 20, false) |
---|
35 | sound_dialog_play_block pause |
---|
36 | cm_interpolate IntroCamGriffin 0 |
---|
37 | sound_dialog_play c14_50_02griffin |
---|
38 | cinematic_start (GRIFtalking, 180, 180, 16, 3, 20, true) |
---|
39 | sound_dialog_play_block pause |
---|
40 | #TCTF walks out |
---|
41 | sound_music_start atm_low_perc2 0.8 |
---|
42 | cm_interpolate IntroCam02 0 |
---|
43 | playback 1202 IntroTCTF02 |
---|
44 | sound_dialog_play c14_50_03scigoon1 |
---|
45 | sleep f240 |
---|
46 | cinematic_stop (COPtalking, 15, 20) |
---|
47 | cinematic_stop (GRIFtalking, 15, 20) |
---|
48 | sleep f60 |
---|
49 | door_open 70 |
---|
50 | door_jam 70 |
---|
51 | sleep f100 |
---|
52 | #KONOKO on roof |
---|
53 | playback 0 IntroKonoko01 |
---|
54 | cm_interpolate IntroCamInside01 0 |
---|
55 | cm_interpolate_block IntroCamInside02 400 |
---|
56 | sleep f400 |
---|
57 | cm_anim both IntroCamRoof |
---|
58 | sleep f210 |
---|
59 | #Konoko falls into view |
---|
60 | cm_anim both IntroCamFall01 |
---|
61 | chr_envanim 0 IntroKonBox01 norotation |
---|
62 | chr_animate 0 KONOKOlev18_IntroFall01 140 |
---|
63 | #Griffin gets surprised |
---|
64 | chr_delete 1202 |
---|
65 | cm_anim_block both IntroCamStand01 |
---|
66 | chr_envanim 1201 IntroGriffinBox02 norotation |
---|
67 | chr_animate 1201 GRIFINlev18_IntroStand 110 |
---|
68 | env_anim 401 401 |
---|
69 | sleep f88 |
---|
70 | #Konoko enters office |
---|
71 | playback 0 IntroKonoko02 |
---|
72 | cm_interpolate_block IntroCamKonAim01 0 |
---|
73 | cm_interpolate_block IntroCamKonAim02 350 |
---|
74 | sleep f140 |
---|
75 | cinematic_start(KONangryfront, 180, 180, 18, 6, 30, true) |
---|
76 | sound_dialog_play c14_50_04konoko |
---|
77 | sound_dialog_play_block pause |
---|
78 | cinematic_stop (KONangryfront, 18, 30) |
---|
79 | #Conversation with Griffin |
---|
80 | playback 1201 IntroGriffin |
---|
81 | cm_interpolate IntroCamGriffin02 0 |
---|
82 | cinematic_start(GRIFtalkangry, 180,180,18,6,30, true) |
---|
83 | sound_dialog_play c14_50_05griffin |
---|
84 | sound_dialog_play_block pause |
---|
85 | cinematic_stop (GRIFtalkangry, 18, 30) |
---|
86 | #Griffin's office goes down |
---|
87 | sound_music_volume atm_low_perc2 0.0 0.5 |
---|
88 | sound_music_stop atm_low_perc2 |
---|
89 | music_intro |
---|
90 | env_show 403 0 |
---|
91 | obj_create 403 403 |
---|
92 | cm_anim both IntroCamEscape01 |
---|
93 | chr_envanim 1201 IntroGriffinBox03 norotation |
---|
94 | env_setanim 401 IntroChair02 |
---|
95 | env_anim 402 407 |
---|
96 | cutscene_sync mark |
---|
97 | sound_ambient_start c14_46_11grifdesk |
---|
98 | sleep f16 |
---|
99 | playback 0 IntroKonokoAim fromhere |
---|
100 | cm_anim_block both IntroCamEscape02 |
---|
101 | cm_wait |
---|
102 | cm_reset |
---|
103 | obj_kill 401 407 |
---|
104 | # look out Stefan is editing scripts; yo foolios need to turn back on the laser sight :O) |
---|
105 | marketing_line_off=0 |
---|
106 | end_cutscene |
---|
107 | invincible=0 |
---|
108 | chr_delete 1201 |
---|
109 | door_unjam 70 |
---|
110 | door_close 70 |
---|
111 | # who is a foolio? the foo or the foo who follows him? |
---|
112 | s1 |
---|
113 | } |
---|
114 | |
---|
115 | |
---|
116 | func void |
---|
117 | GrifSpawn( |
---|
118 | void) |
---|
119 | { |
---|
120 | ai2_spawn ZomGrif |
---|
121 | chr_invincible ZomGrif 1 |
---|
122 | sleep f2 |
---|
123 | ai2_passive ZomGrif 1 |
---|
124 | ai2_setmovementmode ZomGrif walk |
---|
125 | playback ZomGrif ZomGrifDraw |
---|
126 | } |
---|
127 | |
---|
128 | func void create_zomshin(void) |
---|
129 | { |
---|
130 | ai2_spawn ZomShin |
---|
131 | ai2_passive ZomShin 1 |
---|
132 | chr_shadow ZomShin 0 |
---|
133 | chr_invincible ZomShin 1 |
---|
134 | chr_unstoppable ZomShin 1 |
---|
135 | chr_nocollision ZomShin 1 |
---|
136 | chr_neutral ZomShin 1 |
---|
137 | chr_lock_active ZomShin |
---|
138 | } |
---|
139 | |
---|
140 | func void |
---|
141 | Base( |
---|
142 | void) |
---|
143 | { |
---|
144 | begin_cutscene |
---|
145 | #place Griffin here earlier |
---|
146 | #chr_neutral ZomGrif 1 |
---|
147 | sleep f20 |
---|
148 | #playback ZomGrif BaseGriffin01 |
---|
149 | cm_interpolate BaseCam01 180 |
---|
150 | sleep f210 |
---|
151 | #place Konoko |
---|
152 | playback 0 BaseKonoko01 |
---|
153 | cm_interpolate BaseCam02 0 |
---|
154 | cm_interpolate_block BaseCam04 500 |
---|
155 | sound_dialog_play c14_51_01konoko |
---|
156 | cinematic_start(KONangryfront, 180,180,19,7,20, true) |
---|
157 | sound_dialog_play_block pause |
---|
158 | cinematic_stop (KONangryfront, 19, 20) |
---|
159 | cm_interpolate BaseCam01 0 |
---|
160 | cm_interpolate_block BaseCam03 600 |
---|
161 | sound_dialog_play c14_51_02griffin |
---|
162 | cinematic_start(GRIFtalkangry, 180,180,20,9,20, true) |
---|
163 | sound_dialog_play_block pause |
---|
164 | cutscene_sync mark |
---|
165 | sound_ambient_start c15_04_23_effects |
---|
166 | sound_dialog_play c14_51_03griffin |
---|
167 | #Shinzom comes out of ground |
---|
168 | create_zomshin |
---|
169 | chr_envanim ZomShin ChairShinBox01 |
---|
170 | obj_create 171 174 |
---|
171 | env_anim 171 174 |
---|
172 | obj_shade 171 174 .5 .5 .5 |
---|
173 | cm_anim both ChairCamZomUp |
---|
174 | #chr_create ZomShin start |
---|
175 | #chr_neutral ZomShin 1 |
---|
176 | sleep f270 |
---|
177 | particle zombiespark pulse |
---|
178 | |
---|
179 | cm_wait |
---|
180 | |
---|
181 | particle zombient start |
---|
182 | #hide Chair object, show chair gunk |
---|
183 | env_show 171 1 |
---|
184 | env_show 172 1 |
---|
185 | env_show 173 1 |
---|
186 | env_show 174 1 |
---|
187 | obj_kill 171 174 |
---|
188 | cm_interpolate BaseCamShin01 0 |
---|
189 | playback ZomShin BaseShin |
---|
190 | cm_interpolate_block BaseCamShin02 300 |
---|
191 | sound_dialog_play_block |
---|
192 | cinematic_stop (GRIFtalkangry, 20, 20) |
---|
193 | sound_dialog_play c14_51_04shinatama |
---|
194 | cinematic_start(SHINZOMlistening, 180,180,19,7,20, false) |
---|
195 | sound_dialog_play_block |
---|
196 | cinematic_stop (SHINZOMlistening, 19, 20) |
---|
197 | sleep f30 |
---|
198 | particle Forcefield do start |
---|
199 | sound_ambient_start zomshin_amb_loop 0.1 |
---|
200 | sound_ambient_volume zomshin_amb_loop 1.0 1.0 |
---|
201 | cm_interpolate BaseCam02 0 |
---|
202 | sound_dialog_play c14_51_05konoko |
---|
203 | cinematic_start(KONscared, 180,180,20,9,20, true) |
---|
204 | sound_dialog_play_block |
---|
205 | cinematic_stop (KONscared, 20, 20) |
---|
206 | playback ZomShin BaseShin |
---|
207 | cm_interpolate_block BaseCamShin02 0 |
---|
208 | sound_dialog_play c14_51_06shinatama |
---|
209 | cinematic_start(SHINZOMlistening, 180,180,19,7,20, false) |
---|
210 | particle zombiesteam start |
---|
211 | sound_dialog_play_block pause |
---|
212 | cinematic_stop (SHINZOMlistening, 19, 20) |
---|
213 | # cm_reset |
---|
214 | # trig_show 9 |
---|
215 | # trig_activate 9 |
---|
216 | end_cutscene |
---|
217 | music_zom |
---|
218 | ai2_passive ZomShin 1 |
---|
219 | ai2_makeignoreplayer ZomGrif 1 |
---|
220 | zombie_round_2 |
---|
221 | # ai2_allpassive 1 |
---|
222 | # remove line below after zomshin puzzle is fixed |
---|
223 | # Zom |
---|
224 | } |
---|
225 | |
---|
226 | func void fade_out_zom_amb(void) |
---|
227 | { |
---|
228 | sound_ambient_volume zomshin_amb_loop 0.0 1.0 |
---|
229 | sleep 60 |
---|
230 | sound_ambient_stop zomshin_amb_loop |
---|
231 | } |
---|
232 | |
---|
233 | func void |
---|
234 | Zom( |
---|
235 | void) |
---|
236 | { |
---|
237 | env_show 1010 0 |
---|
238 | particle Forcefield do stop |
---|
239 | fork fade_out_zom_amb |
---|
240 | begin_cutscene |
---|
241 | marketing_line_off=1 |
---|
242 | #Shinatama will already be created |
---|
243 | #show the destruction of the turrets and the forcefield around Griffin |
---|
244 | #cm_interpolate ZomCamGrif01 0 |
---|
245 | ai2_setmovementmode ZomGrif walk |
---|
246 | playback ZomGrif ZomGrifDrawSet |
---|
247 | #sleep f120 |
---|
248 | #Shinatama gets up out of chair |
---|
249 | chr_shadow ZomShin 1 |
---|
250 | chr_invincible ZomShin 0 |
---|
251 | chr_unstoppable ZomShin 0 |
---|
252 | chr_envanim ZomShin ZomShinBox01 norotation |
---|
253 | chr_animate ZomShin SHINZOMlev18_Free |
---|
254 | cm_anim both ZomCamFree01 |
---|
255 | sleep f90 |
---|
256 | cutscene_sync mark |
---|
257 | sound_ambient_start c_shin_escape |
---|
258 | cm_wait |
---|
259 | #Griffin says "what are you doing?" |
---|
260 | cm_interpolate ZomCamGrif01 0 |
---|
261 | sound_dialog_play c14_52_01griffin |
---|
262 | cinematic_start(GRIFtalkangry, 180,180,19,7,20, false) |
---|
263 | sound_dialog_play_block |
---|
264 | cinematic_stop(GRIFtalkangry, 19,20) |
---|
265 | #Shinatama approaches Griffin |
---|
266 | cm_interpolate ZomCamShinStart 0 |
---|
267 | playback ZomShin ZomShinSet |
---|
268 | chr_animate ZomShin SHINZOMwalk1 180 |
---|
269 | chr_nocollision ZomShin 0 |
---|
270 | sleep f175 |
---|
271 | #Griffin says GET BACK OR I'll SHOOT |
---|
272 | #cm_interpolate ZomCamGrif01 0 |
---|
273 | #playback ZomGrif ZomGrifDrawSet |
---|
274 | #sleep f120 |
---|
275 | #Shin keeps coming |
---|
276 | #cm_interpolate ZomCamShinApproach 0 |
---|
277 | playback ZomShin ZomShinWalk |
---|
278 | chr_animate ZomShin SHINZOMwalk1 600 |
---|
279 | #sleep f120 |
---|
280 | #Griffin draws weapon |
---|
281 | cm_interpolate ZomCamGrif01 0 |
---|
282 | playback ZomGrif ZomGrifDrawSet |
---|
283 | sleep f30 |
---|
284 | #sound_dialog_play c14_52_01bgriffin |
---|
285 | playback ZomGrif ZomGrifDraw |
---|
286 | sleep f60 |
---|
287 | #konoko drops weapon |
---|
288 | playback 0 ZomKonokoDrop |
---|
289 | #Shinatama Approaches Griffin |
---|
290 | cm_interpolate ZomCamBoth 0 |
---|
291 | sleep f180 |
---|
292 | #Griffin shoots |
---|
293 | cm_interpolate ZomCamGrifShoot 0 |
---|
294 | playback ZomGrif ZomGrifShoot |
---|
295 | sleep f50 |
---|
296 | #Shinatama gets hit |
---|
297 | cm_interpolate ZomCamShinDie 0 |
---|
298 | chr_animate ZomShin SHINZOMshot 126 |
---|
299 | sound_ambient_start c_shin_die 1.0 |
---|
300 | sleep f120 |
---|
301 | #Show Griffin over Shinatama |
---|
302 | cm_interpolate ZomCamDead 0 |
---|
303 | playback ZomGrif ZomGriffinKilled |
---|
304 | chr_animate ZomShin SHINZOMfallen_front 1000 |
---|
305 | sleep f10 |
---|
306 | cm_interpolate ZomCamKonokoBehind 270 |
---|
307 | playback 0 ZomKonokoBehind |
---|
308 | sleep f280 |
---|
309 | #Griffin turns and gets thrown |
---|
310 | # CB: we force omnipotent off because it breaks this cutscene (you kill |
---|
311 | # griffin prematurely) |
---|
312 | omnipotent = 0 |
---|
313 | chr_invincible ZomGrif 0 |
---|
314 | ai2_kill ZomShin |
---|
315 | chr_neutral ZomGrif 0 |
---|
316 | cm_interpolate ZomCamThrow 0 |
---|
317 | playback ZomGrif ZomGriffinTurn |
---|
318 | playback 0 ZomKonokoThrow |
---|
319 | sleep f140 |
---|
320 | #Knoko holds him down |
---|
321 | cm_interpolate ZomCamKonokoAim02 0 |
---|
322 | chr_neutral ZomGrif 1 |
---|
323 | chr_envanim ZomGrif ZomGriffinBox01 norotation |
---|
324 | chr_envanim 0 ZomKonokoBox01 norotation |
---|
325 | chr_animate 0 KONOKOlev18_ZomAim 300 |
---|
326 | chr_animate ZomGrif GRIFINlev18_ZomAim 500 |
---|
327 | sound_dialog_play c14_52_02konoko |
---|
328 | cinematic_start(KONangryfront, 180,180,19,7,20, false) |
---|
329 | sound_dialog_play_block pause |
---|
330 | #Looking down at griffin |
---|
331 | #chr_envanim 0 ZomKonokoBox01 norotation |
---|
332 | #chr_envanim ZomGrif ZomGriffinBox01 norotation |
---|
333 | #chr_animate 0 KONOKOlev18_ZomAim 300 |
---|
334 | #chr_animate ZomGrif GRIFINlev18_ZomAim 500 |
---|
335 | #cm_interpolate ZomCamKonokoAim01 0 |
---|
336 | #KONoko gets off Griffin |
---|
337 | #cm_interpolate ZomCamKonokoAim02 0 |
---|
338 | chr_envanim 0 ZomKonokoBox02 norotation |
---|
339 | chr_envanim ZomGrif ZomGriffinBox01 norotation |
---|
340 | chr_animate ZomGrif GRIFINlev18_ZomAim 500 |
---|
341 | chr_animate 0 KONOKOlev18_ZomUp 120 |
---|
342 | #sound_dialog_play c14_52_04konoko |
---|
343 | #Griffin gets up put the gun down |
---|
344 | sleep f100 |
---|
345 | cm_interpolate ZomCamGriffinUp 0 |
---|
346 | chr_envanim ZomGrif ZomGriffinBox02 norotation |
---|
347 | chr_animate ZomGrif GRIFINlev18_ZomUp |
---|
348 | sound_dialog_play c14_52_03griffin |
---|
349 | cinematic_start(GRIFbeatup, 180, 180, 20, 9, 20, true) |
---|
350 | sound_dialog_play_block pause |
---|
351 | #Konoko I'm a rogue agent, very dangerous |
---|
352 | playback 0 ZomKonokoFace |
---|
353 | cm_interpolate ZomCamKonokoFace 0 |
---|
354 | sound_dialog_play c14_52_04konoko |
---|
355 | sound_dialog_play_block pause |
---|
356 | #Griffin says youre a monster |
---|
357 | cm_interpolate ZomCamGriffinFace 0 |
---|
358 | playback ZomGrif ZomGriffinFace |
---|
359 | sound_dialog_play c14_52_05griffin |
---|
360 | sound_dialog_play_block pause |
---|
361 | #for you, badly |
---|
362 | cm_interpolate ZomCamKonokoFace 0 |
---|
363 | sound_dialog_play c14_52_06konoko |
---|
364 | sound_dialog_play_block pause |
---|
365 | #Griffin says youre a monster |
---|
366 | cm_interpolate ZomCamGriffinFace 0 |
---|
367 | sound_dialog_play c14_52_07griffin |
---|
368 | sound_dialog_play_block pause |
---|
369 | cinematic_stop(GRIFbeatup, 20, 20) |
---|
370 | cinematic_stop(KONangryfront, 19, 20) |
---|
371 | #Give player back control |
---|
372 | cm_reset |
---|
373 | end_cutscene |
---|
374 | ai2_allpassive 1 |
---|
375 | chr_set_health ZomGrif 1 |
---|
376 | marketing_line_off=0 |
---|
377 | trigvolume_enable trigger_volume_35 1 |
---|
378 | objective_set(5) |
---|
379 | } |
---|
380 | |
---|
381 | func void |
---|
382 | OutroKill( |
---|
383 | void) |
---|
384 | { |
---|
385 | sound_music_start mus_wls 1.0 |
---|
386 | begin_cutscene jello |
---|
387 | sleep f40 |
---|
388 | sound_dialog_play c14_53_01konoko |
---|
389 | cinematic_start(KONintense, 180,180,19,8,20, false) |
---|
390 | sound_dialog_play_block |
---|
391 | cinematic_stop (KONintense, 19, 20) |
---|
392 | fade_out 0 0 0 120 |
---|
393 | sleep f120 |
---|
394 | end_cutscene |
---|
395 | win |
---|
396 | } |
---|
397 | |
---|
398 | |
---|
399 | func void |
---|
400 | OutroNoKill( |
---|
401 | void) |
---|
402 | { |
---|
403 | begin_cutscene jello |
---|
404 | cm_detach |
---|
405 | ai2_takecontrol 1 |
---|
406 | ai2_lookatchar 0 ZomGrif |
---|
407 | ai2_lookatchar ZomGrif 0 |
---|
408 | sound_music_start mus_sad1 |
---|
409 | sound_dialog_play c14_54_01konoko |
---|
410 | cinematic_start(KONlistening, 180,180,19,8,20, false) |
---|
411 | sleep f120 |
---|
412 | cm_interpolate BaseCam01 180 |
---|
413 | sound_dialog_play_block |
---|
414 | cinematic_stop (KONlistening, 19, 20) |
---|
415 | fade_out 0 0 0 120 |
---|
416 | sleep f120 |
---|
417 | end_cutscene |
---|
418 | win |
---|
419 | } |
---|