1 | #
|
---|
2 | #
|
---|
3 | # roof_cutscene.bsl
|
---|
4 | #
|
---|
5 |
|
---|
6 | func void intro_roll_sounds(void)
|
---|
7 | {
|
---|
8 | sleep 252
|
---|
9 | sound_impulse_play kon_roll
|
---|
10 | sleep 3
|
---|
11 | sound_impulse_play kon_roll
|
---|
12 | }
|
---|
13 |
|
---|
14 | func void
|
---|
15 | intro_taunt(
|
---|
16 | void)
|
---|
17 | {
|
---|
18 | chr_envanim_stop IntroNinja
|
---|
19 | chr_teleport IntroNinja 600
|
---|
20 | chr_facetoflag IntroNinja 600
|
---|
21 | chr_animate IntroNinja NINCOMcrouch_idle
|
---|
22 |
|
---|
23 | ai2_passive IntroNinja 1
|
---|
24 | ai2_setmovementmode IntroNinja creep
|
---|
25 | sleep f40
|
---|
26 | playback_block IntroNinja IntroNinja
|
---|
27 | ai2_passive IntroNinja 0
|
---|
28 |
|
---|
29 | ai2_attack IntroNinja 0
|
---|
30 | }
|
---|
31 |
|
---|
32 | func void
|
---|
33 | intro(
|
---|
34 | void)
|
---|
35 | {
|
---|
36 | fade_out 0 0 0 0
|
---|
37 | cm_interpolate IntroCam01 0
|
---|
38 | sleep 14
|
---|
39 | begin_cutscene
|
---|
40 | ai2_spawn IntroNinja
|
---|
41 | #sound_ambient_start c08_11_19zip
|
---|
42 | sleep 30
|
---|
43 | fade_in 120
|
---|
44 | obj_create 81 81
|
---|
45 | env_anim 81 81
|
---|
46 | cm_anim both IntroCam01
|
---|
47 | chr_envanim 0 IntroKonBip01 norotation
|
---|
48 | chr_animate 0 KONOKOlev12_Intro
|
---|
49 | chr_envanim IntroNinja IntroNinBip01 norotation
|
---|
50 | chr_animate IntroNinja NINJAlev12_Intro
|
---|
51 | fork intro_roll_sounds
|
---|
52 | sleep f30
|
---|
53 | sound_ambient_start c08_11_19zip
|
---|
54 | cm_anim_block both IntroCam02
|
---|
55 | cm_wait
|
---|
56 | cm_reset
|
---|
57 | playback 0 IntroKonoko
|
---|
58 | done_with_intro_cutscene = 1;
|
---|
59 | trigvolume_reset death_fall_trigger_67
|
---|
60 | end_cutscene
|
---|
61 | fork intro_taunt
|
---|
62 | s1
|
---|
63 | }
|
---|
64 |
|
---|
65 | func void
|
---|
66 | camcontrol(
|
---|
67 | void)
|
---|
68 | {
|
---|
69 | cm_anim both IntroCam01
|
---|
70 | cm_anim_block both IntroCam02
|
---|
71 | cm_wait
|
---|
72 | }
|
---|
73 |
|
---|
74 |
|
---|
75 |
|
---|
76 | func void
|
---|
77 | Elevator(
|
---|
78 | void)
|
---|
79 | {
|
---|
80 | begin_cutscene
|
---|
81 | sleep 10
|
---|
82 | # "It's strange, I can almost feel him out there, creeping from shadow to shadow..."
|
---|
83 | sound_dialog_play c11_39_02konoko
|
---|
84 | playback 0 ElevatorKonokoSet
|
---|
85 | cm_interpolate ElevatorCam01 0
|
---|
86 | sleep 10
|
---|
87 | chr_envanim 0 ElevatorKonBox01
|
---|
88 | obj_create 31 31
|
---|
89 | obj_shade 31 31 .4 .4 .4
|
---|
90 | env_anim 31 31
|
---|
91 | sound_ambient_start first_elevator
|
---|
92 | cm_anim both ElevatorCam01
|
---|
93 | sleep 220
|
---|
94 | obj_kill 31 31
|
---|
95 | env_show 31 1
|
---|
96 | cm_reset
|
---|
97 | sleep 10
|
---|
98 | end_cutscene
|
---|
99 | }
|
---|
100 |
|
---|
101 |
|
---|
102 |
|
---|
103 |
|
---|
104 | func void
|
---|
105 | NinjaZip(
|
---|
106 | void)
|
---|
107 | {
|
---|
108 | chr_envanim NinjaZip ZipNinjaBipBox norotation
|
---|
109 | chr_animate NinjaZip NINJAlev12_zip
|
---|
110 | obj_create 72 72
|
---|
111 | env_anim 72 72
|
---|
112 | sleep 60
|
---|
113 | playback E_N14 Ninja02Jump
|
---|
114 | sleep 80
|
---|
115 | ai2_passive E_N14 0
|
---|
116 | sleep 100
|
---|
117 | playback NinjaZip NinjaZipLeave
|
---|
118 | sleep 120
|
---|
119 | chr_delete NinjaZip
|
---|
120 | }
|
---|
121 |
|
---|
122 | func void
|
---|
123 | KonokoZip(
|
---|
124 | void)
|
---|
125 | {
|
---|
126 | particle obj_zip kill
|
---|
127 | begin_cutscene
|
---|
128 | sleep 10
|
---|
129 | cm_anim both KonZipCam01
|
---|
130 | chr_envanim 0 ZipKonBipBox norotation
|
---|
131 | chr_animate 0 KONOKOlev12_zip
|
---|
132 | obj_create 71 71
|
---|
133 | env_anim 71 71
|
---|
134 | sleep 55
|
---|
135 | sound_ambient_start c08_11_19zip
|
---|
136 | sleep 235
|
---|
137 |
|
---|
138 | # CB: kill ninja's zip so we don't get Z fighting on superposed objects
|
---|
139 | obj_kill 72 72
|
---|
140 |
|
---|
141 | cm_reset
|
---|
142 | end_cutscene
|
---|
143 | }
|
---|
144 |
|
---|
145 | func void pretty_sayline(void)
|
---|
146 | {
|
---|
147 | sleep 180
|
---|
148 | # "I'm backing him into a corner. This isn't going to be pretty."
|
---|
149 | sound_dialog_play c11_39_09konoko
|
---|
150 | sound_dialog_play_block pause
|
---|
151 | sleep 30
|
---|
152 | door_open 2
|
---|
153 | door_jam 2
|
---|
154 | }
|
---|
155 |
|
---|
156 | func void
|
---|
157 | ninja(
|
---|
158 | void)
|
---|
159 | {
|
---|
160 | begin_cutscene
|
---|
161 | sleep 10
|
---|
162 | fork pretty_sayline
|
---|
163 | fork storm
|
---|
164 | ai2_spawn OutroNinja
|
---|
165 | chr_boss_shield OutroNinja
|
---|
166 | ai2_allpassive 1
|
---|
167 | playback OutroNinja SuperNinjaSet
|
---|
168 | chr_nocollision OutroNinja 1
|
---|
169 | #konokoenters elevator
|
---|
170 | #cm_interpolate SuperCam00 0
|
---|
171 | #playback 0 SuperKonokoEnter
|
---|
172 | chr_envanim 0 SuperKonBox01
|
---|
173 | gs_farclipplane_set 500
|
---|
174 | obj_create 41 41
|
---|
175 | obj_shade 41 41 .4 .4 .4
|
---|
176 | env_anim 41 41
|
---|
177 | sound_ambient_start c08_20_27elevator
|
---|
178 | cm_anim both SuperCam00
|
---|
179 | cm_wait
|
---|
180 | obj_kill 41 41
|
---|
181 | env_show 41 1
|
---|
182 | cm_interpolate SuperNinjaCam01 180
|
---|
183 | sleep 120
|
---|
184 | #all you have done is force me to fight
|
---|
185 | sound_dialog_play c11_40_01superninja
|
---|
186 | cinematic_start (BOSS2face, 180, 180, 19, 7, 20, false)
|
---|
187 | sleep 60
|
---|
188 | playback 0 SuperKonokoSet
|
---|
189 | sound_dialog_play_block pause
|
---|
190 | #Konoko who are you
|
---|
191 | cm_interpolate SuperCamKonokoSet 0
|
---|
192 | door_close 2
|
---|
193 | door_lock 2
|
---|
194 | sound_dialog_play c11_40_02konoko
|
---|
195 | cinematic_start (KONtalking, 180, 180, 20, 9, 20, true)
|
---|
196 | sound_dialog_play_block pause
|
---|
197 | cinematic_stop (KONtalking, 20, 20)
|
---|
198 | #Super Ninja goes around
|
---|
199 | playback OutroNinja SuperNinjaWalk
|
---|
200 | sleep 40
|
---|
201 | playback 0 SuperKonokoWalk
|
---|
202 | #ninja talks
|
---|
203 | sound_dialog_play c11_40_03superninja
|
---|
204 | cinematic_stop (BOSS2face, 7, 0)
|
---|
205 | cinematic_start (BOSS2face, 180, 180, 7, 9, 2, false)
|
---|
206 | cm_interpolate SuperCamWalkOut02 0
|
---|
207 | cm_interpolate_block SuperCamWalkOut02b 800
|
---|
208 | sound_dialog_play_block pause
|
---|
209 | #konoko answers
|
---|
210 | sound_dialog_play c11_40_04konoko
|
---|
211 | cinematic_start (KONtalking, 180, 180, 16, 3, 20, true)
|
---|
212 | sound_dialog_play_block pause
|
---|
213 | cinematic_stop (KONtalking, 16, 20)
|
---|
214 | #super ninja we writhe
|
---|
215 | sound_dialog_play c11_40_05superninja
|
---|
216 | #cm_interpolate_block SuperCamWalkOut02b 800
|
---|
217 | sound_dialog_play_block pause
|
---|
218 | cm_interpolate SuperCamWalkOut02b 800
|
---|
219 | #Konoko says you're a thug
|
---|
220 | sound_dialog_play c11_40_06konoko
|
---|
221 | cinematic_start (KONangry, 180, 180, 16, 3, 20, true)
|
---|
222 | cm_interpolate SuperCamWalkOut03 0
|
---|
223 | cm_interpolate_block SuperCamWalkOut03b 600
|
---|
224 | sound_dialog_play_block pause
|
---|
225 | cinematic_stop (KONtalking, 16, 20)
|
---|
226 | #ninja says we'll see about that
|
---|
227 | sound_dialog_play c11_40_07superninja
|
---|
228 | sound_dialog_play_block pause
|
---|
229 | cinematic_stop (BOSS2face, 19, 15)
|
---|
230 | #gameplay setup
|
---|
231 | playback 0 SuperKonokoEnd
|
---|
232 | cm_reset
|
---|
233 | end_cutscene
|
---|
234 | sleep 20
|
---|
235 | chr_animate OutroNinja NINCOMteleport_in 47
|
---|
236 | music_battle
|
---|
237 | sleep 40
|
---|
238 | playback OutroNinja SuperNinjaDone
|
---|
239 | chr_animate OutroNinja NINCOMteleport_out 31
|
---|
240 | chr_nocollision OutroNinja 0
|
---|
241 |
|
---|
242 | dprint SAVEDGAME4
|
---|
243 | save_game 4 autosave
|
---|
244 | }
|
---|
245 |
|
---|
246 |
|
---|
247 | func void
|
---|
248 | test(
|
---|
249 | void)
|
---|
250 | {
|
---|
251 | chr_envanim 0 ZipKonBipBox norotation
|
---|
252 | sleep 120
|
---|
253 | playback 0 IntroKonoko
|
---|
254 | }
|
---|
255 |
|
---|
256 |
|
---|
257 | func void
|
---|
258 | deathfall(
|
---|
259 | void)
|
---|
260 | {
|
---|
261 | if (done_with_intro_cutscene eq 1)
|
---|
262 | {
|
---|
263 | sleep 30
|
---|
264 | cm_detach
|
---|
265 | sleep 30
|
---|
266 | chr_set_health 0 0
|
---|
267 | }
|
---|
268 | }
|
---|
269 |
|
---|
270 |
|
---|
271 | func void
|
---|
272 | outro(
|
---|
273 | void)
|
---|
274 | {
|
---|
275 | sound_music_volume mus_fitec 0.0 1.0
|
---|
276 | music_stop
|
---|
277 | begin_cutscene
|
---|
278 | chr_animate OutroNinja NINCOMteleport_in 31
|
---|
279 | sleep 10
|
---|
280 | #spawn teleported Ninja and add some glowy bits
|
---|
281 | chr_envanim OutroNinja OutroNinjaBox01
|
---|
282 | chr_animate OutroNinja NINCOMteleport_out 31
|
---|
283 | sleep 10
|
---|
284 | cm_interpolate OutroCam01 0
|
---|
285 | sleep 10
|
---|
286 | chr_envanim OutroNinja OutroNinjaBox01 norotation
|
---|
287 | chr_animate OutroNinja NINJAlev12_Outro1
|
---|
288 | sound_ambient_start ninja_cd_scene
|
---|
289 | cm_anim both OutroCam01
|
---|
290 | sleep 208
|
---|
291 | obj_create 481 481
|
---|
292 | env_anim 481 481
|
---|
293 | cm_interpolate OutroCamDisk 90
|
---|
294 | chr_envanim OutroNinja OutroNinjaBox02 norotation
|
---|
295 | chr_animate OutroNinja NINJAlev12_Outro2 900
|
---|
296 | #Konoko patrol to flag 2000
|
---|
297 | #chr_teleport 0 2000
|
---|
298 | playback 0 OutroKonoko01
|
---|
299 | sleep 100
|
---|
300 | sleep 70
|
---|
301 | #camera cut here to Konoko's face
|
---|
302 | cm_interpolate OutroCam02 0
|
---|
303 | #sleep 30
|
---|
304 | #playback 0 OutroKonoko02
|
---|
305 | sleep 50
|
---|
306 | cinematic_start (KONtalking, 180, 180, 18, 6, 15, true)
|
---|
307 | sound_dialog_play c11_41_01konoko
|
---|
308 | sleep 300
|
---|
309 | #camera cut here to Konoko and Ninja
|
---|
310 | cm_interpolate OutroCam03 0
|
---|
311 | cm_interpolate_block OutroCam04 800
|
---|
312 | chr_envanim OutroNinja OutroNinjaBox02 norotation
|
---|
313 | chr_animate OutroNinja NINJAlev12_Outro2 1300
|
---|
314 | sound_dialog_play_block
|
---|
315 | # Camera cut as Konoko steps on Ninja
|
---|
316 | #Add sound of Konoko saying she has nothing in common
|
---|
317 | sound_dialog_play c11_41_01bkonoko
|
---|
318 | cinematic_stop (KONtalking, 18, 20)
|
---|
319 | cinematic_start (KONintense, 180, 180, 18, 6, 15, true)
|
---|
320 | cm_anim both OutroCam05
|
---|
321 | chr_envanim 0 OutroKonBox01 norotation
|
---|
322 | chr_animate 0 KONOKOlev12_Outro1
|
---|
323 | chr_envanim OutroNinja OutroNinjaBox03 norotation
|
---|
324 | chr_animate OutroNinja NINJAlev12_Outro3
|
---|
325 | sleep 175
|
---|
326 | sound_ambient_start c09_36_26neckbreak
|
---|
327 | sleep 100
|
---|
328 | #Camera cut to Konoko's face
|
---|
329 | playback 0 OutroKonoko02
|
---|
330 | chr_animate OutroNinja STRIKEfallen_front 540
|
---|
331 | cm_interpolate OutroCam06 0
|
---|
332 | sleep 60
|
---|
333 | sound_dialog_play c11_41_02konoko
|
---|
334 | cinematic_stop (KONintense, 18, 10)
|
---|
335 | sleep 60
|
---|
336 | fade_out 0 0 0 120
|
---|
337 | sleep 120
|
---|
338 | win
|
---|
339 | }
|
---|
340 |
|
---|