[407] | 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 |
|
---|