source: nikanabo/current/bsl/original/IGMD/roof/roof_cutscene.bsl @ 185

Last change on this file since 185 was 185, checked in by geyser, 14 years ago
File size: 7.4 KB
Line 
1#
2#
3# roof_cutscene.bsl
4#
5
6func 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
14func void
15intro_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
32func void
33intro(
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
65func void
66camcontrol(
67        void)
68{
69        cm_anim both IntroCam01
70        cm_anim_block both IntroCam02
71        cm_wait
72}
73
74
75
76func void
77Elevator(
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
104func void
105NinjaZip(
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
122func void
123KonokoZip(
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
145func 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
156func void
157ninja(
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
247func void
248test(
249        void)
250{
251        chr_envanim 0 ZipKonBipBox norotation
252        sleep 120
253        playback 0 IntroKonoko
254}
255
256
257func void
258deathfall(
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
271func void
272outro(
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
Note: See TracBrowser for help on using the repository browser.