| 1 |
# |
| 2 |
# |
| 3 |
# power_cutscene.bsl |
| 4 |
# |
| 5 |
|
| 6 |
func void |
| 7 |
intro( |
| 8 |
void) |
| 9 |
{ |
| 10 |
# CB: begin_cutscene does a silent ai2_allpassive 1 as part of its cutscene setup, |
| 11 |
# so we need to remove this if we want to have AIs walking around under their own |
| 12 |
# control during a cutscene |
| 13 |
fade_out 0 0 0 0 |
| 14 |
cm_interpolate Camout01 0 |
| 15 |
obj_create 100 104 |
| 16 |
chr_create 1000 start |
| 17 |
chr_create 1001 start |
| 18 |
playback 1000 IntroGrifTCTF |
| 19 |
playback 1001 IntroKonTCTF |
| 20 |
sleep f7 |
| 21 |
begin_cutscene |
| 22 |
cutscene_sync off |
| 23 |
ai2_allpassive 0 |
| 24 |
|
| 25 |
ai2_spawn A1_intro01 |
| 26 |
ai2_spawn A1_intro02 |
| 27 |
ai2_makeignoreplayer A1_intro01 1 |
| 28 |
ai2_makeignoreplayer A1_intro02 1 |
| 29 |
#fade_out 0 0 0 0 |
| 30 |
#Setup Konoko and Griffin talking |
| 31 |
sleep f60 |
| 32 |
|
| 33 |
# Force holster by Wu |
| 34 |
chr_forceholster char_0 1 |
| 35 |
|
| 36 |
fade_in 120 |
| 37 |
chr_nocollision(0, 1); |
| 38 |
#Setup shot |
| 39 |
cm_anim both Camout01 |
| 40 |
cm_wait |
| 41 |
#KOnoko standing on top |
| 42 |
cm_anim both Camout02 |
| 43 |
chr_envanim 0 KonBipedBox01 |
| 44 |
chr_animate 0 KONOKOidle1 300 |
| 45 |
env_setanim 100 StandRightWing |
| 46 |
env_setanim 101 StandLeftWing |
| 47 |
env_setanim 102 StandBody |
| 48 |
env_setanim 103 StandRightTail |
| 49 |
env_setanim 104 StandLeftTail |
| 50 |
#Konoko and Griffin talking |
| 51 |
sleep f120 |
| 52 |
sound_dialog_play c08_27_01konoko |
| 53 |
cinematic_start (KONtalking, 180, 180, 15, 1, 15, false) |
| 54 |
sound_dialog_play_block pause |
| 55 |
sound_dialog_play c08_27_02griffin |
| 56 |
cinematic_start (GRIFtalking, 180, 180, 16, 3, 15, true) |
| 57 |
cm_interpolate_block IntroCamTBoth 0 |
| 58 |
sound_dialog_play_block pause |
| 59 |
sound_dialog_play c08_27_03konoko |
| 60 |
cinematic_stop (KONtalking, 15, 20) |
| 61 |
cinematic_start (KONintense, 180, 180, 15, 1, 20, false) |
| 62 |
sound_dialog_play_block pause |
| 63 |
sound_dialog_play c08_27_04griffin |
| 64 |
sound_dialog_play_block pause |
| 65 |
sound_dialog_play c08_27_05konoko |
| 66 |
sound_dialog_play_block pause |
| 67 |
cm_interpolate_block IntroCamTGrif 0 |
| 68 |
sound_dialog_play c08_27_06griffin |
| 69 |
cinematic_stop (GRIFtalking, 16, 20) |
| 70 |
cinematic_start (GRIFtalkangry, 180, 180, 16, 3, 20, true) |
| 71 |
sound_dialog_play_block pause |
| 72 |
cm_interpolate IntroCamTKon 0 |
| 73 |
|
| 74 |
# start the wind as the dialog ends, sync to that |
| 75 |
cutscene_sync on |
| 76 |
sound_dialog_play c08_27_07konoko |
| 77 |
cinematic_stop (GRIFtalkangry, 16, 20) |
| 78 |
cinematic_stop (KONintense, 15, 20) |
| 79 |
cinematic_start (KONangry, 180, 180, 15, 1, 20, false) |
| 80 |
sleep 200 |
| 81 |
sound_ambient_start pp_wind_loop 0.1 |
| 82 |
sound_ambient_volume pp_wind_loop 0.8 1.0 |
| 83 |
sleep 50 |
| 84 |
cutscene_sync off |
| 85 |
#Jumping off the building |
| 86 |
chr_envanim 0 KonBipedBox02 norotation |
| 87 |
cm_anim both Camout03 |
| 88 |
#sound_ambient_start pp09_wingsa |
| 89 |
chr_animate 0 KONOKOlev9_intro_jump |
| 90 |
env_setanim 100 JumpRightWing |
| 91 |
env_setanim 101 JumpLeftWing |
| 92 |
env_setanim 102 JumpBody |
| 93 |
env_setanim 103 JumpRightTail |
| 94 |
env_setanim 104 JumpLeftTail |
| 95 |
sleep f120 |
| 96 |
sound_ambient_start pp09_wingsa |
| 97 |
# october 25, 2000 this pause was breaking the scene |
| 98 |
# sound_dialog_play_block pause |
| 99 |
cinematic_stop (KONangry, 15, 20) |
| 100 |
#sleep f100 |
| 101 |
cm_anim_block both Camout04 |
| 102 |
#Transport A1_intro02 to new location |
| 103 |
chr_teleport A1_intro02 1105 |
| 104 |
#Gliding |
| 105 |
#music_intro |
| 106 |
sleep f100 |
| 107 |
sound_ambient_start pp09_wingsb |
| 108 |
chr_envanim_block 0 KonBipedBox03 |
| 109 |
cm_anim both Camout05 |
| 110 |
chr_animate 0 KONOKOlev9_intro_glide 360 |
| 111 |
env_setanim 100 GlideRightWing |
| 112 |
env_setanim 101 GlideLeftWing |
| 113 |
env_setanim 102 GlideBody |
| 114 |
env_setanim 103 GlideRightTail |
| 115 |
env_setanim 104 GlideLeftTail |
| 116 |
#Landing |
| 117 |
chr_envanim_block 0 KonBipedBox04 norotation |
| 118 |
#gl_fog_start=.98 |
| 119 |
#gs_farclipplane_set 2000 |
| 120 |
cm_anim both Camout06 |
| 121 |
chr_animate 0 KONOKOlev9_intro_land |
| 122 |
|
| 123 |
env_setanim 100 LandRightWing |
| 124 |
env_setanim 101 LandLeftWing |
| 125 |
env_setanim 102 LandBody |
| 126 |
env_setanim 103 LandRightTail |
| 127 |
env_setanim 104 LandLeftTail |
| 128 |
sleep 30 |
| 129 |
sound_ambient_volume pp_wind_loop 0.0 1.0 |
| 130 |
sleep 60 |
| 131 |
sound_ambient_stop pp_wind_loop |
| 132 |
sound_ambient_start pp09_wingsc |
| 133 |
cm_wait |
| 134 |
playback 0 IntroKonokoSet01 |
| 135 |
obj_kill 100 104 |
| 136 |
sleep f5 |
| 137 |
cm_reset |
| 138 |
chr_nocollision 0 0 |
| 139 |
end_cutscene |
| 140 |
env_show 100 1 |
| 141 |
env_show 101 1 |
| 142 |
env_show 102 1 |
| 143 |
env_show 103 1 |
| 144 |
env_show 104 1 |
| 145 |
chr_delete ai_12 |
| 146 |
chr_delete ai_13 |
| 147 |
chr_delete 1000 |
| 148 |
chr_delete 1001 |
| 149 |
ai2_makeignoreplayer A1_intro01 0 |
| 150 |
ai2_makeignoreplayer A1_intro02 0 |
| 151 |
#Transport A1_intro02 to new location again |
| 152 |
chr_teleport A1_intro02 1104 |
| 153 |
s1 |
| 154 |
music_intro |
| 155 |
music_intro_timer |
| 156 |
} |
| 157 |
|
| 158 |
func void |
| 159 |
camcontrol( |
| 160 |
void) |
| 161 |
{ |
| 162 |
cm_anim both Camout01 |
| 163 |
cm_anim both Camout02 |
| 164 |
cm_anim both Camout03 |
| 165 |
cm_anim both Camout04 |
| 166 |
cm_anim both Camout05 |
| 167 |
cm_anim both Camout06 |
| 168 |
cm_wait |
| 169 |
letterbox 0 |
| 170 |
cm_jello 1 |
| 171 |
cm_reset |
| 172 |
chr_nocollision 0 0 |
| 173 |
input 1 |
| 174 |
} |
| 175 |
|
| 176 |
func void |
| 177 |
Muro( |
| 178 |
void) |
| 179 |
{ |
| 180 |
begin_cutscene |
| 181 |
|
| 182 |
sound_music_start mus_sad1 0.1 |
| 183 |
sound_music_volume mus_sad1 0.3 2 |
| 184 |
|
| 185 |
cutscene_sync off |
| 186 |
sleep f10 |
| 187 |
cm_anim both Elev1Cam01 |
| 188 |
playback 0 Elev1KonokoSet01 |
| 189 |
cutscene_sync on |
| 190 |
sound_ambient_start c12_20_16elevator |
| 191 |
sleep f5 |
| 192 |
chr_nocollision 0 1 |
| 193 |
chr_envanim 0 Elev1KonBox01 norotation |
| 194 |
obj_create 801 801 |
| 195 |
obj_shade 801 801 .4 .4 .4 |
| 196 |
env_show 801 0 |
| 197 |
env_setanim 801 Elev101 |
| 198 |
sleep 200 |
| 199 |
|
| 200 |
#Shinatama crying here |
| 201 |
|
| 202 |
sound_dialog_play c08_28_05shinscream1 |
| 203 |
sound_music_volume mus_sad1 1.0 0.5 |
| 204 |
|
| 205 |
cinematic_start (SHINtortured, 180, 180, 20, 7, 15, false) |
| 206 |
|
| 207 |
sleep 60 |
| 208 |
sound_music_volume mus_sad1 0.8 0.5 |
| 209 |
sleep 100 |
| 210 |
|
| 211 |
fade_out 0 0 0 10 |
| 212 |
sleep f10 |
| 213 |
#Muro torturing shinatama |
| 214 |
fade_in 10 |
| 215 |
particle torture do start |
| 216 |
ai2_spawn MuroMuro |
| 217 |
ai2_spawn MuroShinatama |
| 218 |
ai2_spawn MuroComguy |
| 219 |
playback MuroMuro MuroMuroSet |
| 220 |
playback MuroComguy MuroComguySet |
| 221 |
|
| 222 |
sound_dialog_play c08_28_06shinscream2 |
| 223 |
|
| 224 |
chr_envanim MuroShinatama ShinBox02 norotation |
| 225 |
chr_animate MuroShinatama SHINATlev9_Shin02 180 |
| 226 |
cutscene_sync off |
| 227 |
cm_interpolate MuroCamShin02 0 |
| 228 |
sound_ambient_start c12_26_20shin_tort |
| 229 |
cm_interpolate_block MuroCamShin01 800 |
| 230 |
sleep f120 |
| 231 |
chr_envanim MuroShinatama ShinBox03 norotation |
| 232 |
chr_animate MuroShinatama SHINATlev9_Shin03 12 |
| 233 |
sleep f12 |
| 234 |
particle torture do stop |
| 235 |
chr_envanim MuroShinatama ShinBox04 norotation |
| 236 |
chr_animate MuroShinatama SHINATlev9_Shin04 1000 12 |
| 237 |
sound_dialog_play_block pause |
| 238 |
cinematic_stop (SHINtortured, 19,20) |
| 239 |
##Muro talks |
| 240 |
sound_dialog_play c08_28_01muro |
| 241 |
cinematic_start (MUROtalking, 180, 180, 16, 3, 15, true) |
| 242 |
cm_interpolate MuroCamMuro 0 |
| 243 |
sound_dialog_play_block pause |
| 244 |
##Shin screams |
| 245 |
particle torture do start |
| 246 |
sound_ambient_start c12_26_20shin_torta |
| 247 |
#chr_envanim MuroShinatama ShinBox01 norotation |
| 248 |
#chr_animate MuroShinatama SHINATlev9_Shin01 12 |
| 249 |
#sleep f12 |
| 250 |
chr_envanim MuroShinatama ShinBox02 norotation |
| 251 |
chr_animate MuroShinatama SHINATlev9_Shin02 180 |
| 252 |
|
| 253 |
sound_dialog_play shinscream_new |
| 254 |
|
| 255 |
cinematic_start (SHINtortured, 180, 180, 19, 20, 10, false) |
| 256 |
sleep f130 |
| 257 |
particle torture do stop |
| 258 |
chr_envanim MuroShinatama ShinBox04 norotation |
| 259 |
chr_animate MuroShinatama SHINATlev9_Shin04 1200 10 |
| 260 |
sleep f30 |
| 261 |
##Muro talks again |
| 262 |
cm_interpolate MuroCamMuro01 0 |
| 263 |
cm_interpolate_block MuroCamMuro02 1400 |
| 264 |
sound_dialog_play c08_28_02muro |
| 265 |
cinematic_stop (SHINtortured, 18,20) |
| 266 |
sound_dialog_play_block pause |
| 267 |
sleep f10 |
| 268 |
particle torture do start |
| 269 |
sound_ambient_start c12_26_20shin_torta |
| 270 |
|
| 271 |
sound_dialog_play shinscream_new2 |
| 272 |
|
| 273 |
sound_dialog_play_block pause |
| 274 |
particle torture do stop |
| 275 |
sleep f10 |
| 276 |
sound_dialog_play c08_28_03muro |
| 277 |
sound_dialog_play_block pause |
| 278 |
chr_envanim MuroShinatama ShinBox04 norotation |
| 279 |
chr_animate MuroShinatama SHINATlev9_Shin04 1200 10 |
| 280 |
sleep f5 |
| 281 |
|
| 282 |
sound_dialog_play shinscreams_6 |
| 283 |
|
| 284 |
sound_dialog_play_block pause |
| 285 |
sound_dialog_play c08_28_04muro |
| 286 |
sound_dialog_play_block pause |
| 287 |
cinematic_stop (MUROtalking, 16,15) |
| 288 |
|
| 289 |
sound_dialog_play muro_laff2 |
| 290 |
|
| 291 |
sleep f80 |
| 292 |
particle torture do start |
| 293 |
sound_ambient_start c12_26_20shin_torta |
| 294 |
sleep f15 |
| 295 |
|
| 296 |
sound_dialog_play_interrupt shinscreams_4 |
| 297 |
|
| 298 |
cinematic_start (SHINtortured, 180, 180, 20, 19, 10, false) |
| 299 |
sleep f20 |
| 300 |
fade_out 0 0 0 10 |
| 301 |
sleep f10 |
| 302 |
particle torture do stop |
| 303 |
fade_in 10 |
| 304 |
#Konoko finishes riding elevator |
| 305 |
chr_envanim 0 Elev1KonBox02 norotation |
| 306 |
env_setanim 801 Elev102 |
| 307 |
cm_anim both Elev1Cam02 |
| 308 |
sound_ambient_start c13_07_22elevatora |
| 309 |
sleep f295 |
| 310 |
env_show 802 1 |
| 311 |
obj_kill 801 801 |
| 312 |
cm_reset |
| 313 |
playback 0 Elev1KonokoSet |
| 314 |
sleep f1 |
| 315 |
chr_nocollision 0 0 |
| 316 |
end_cutscene |
| 317 |
|
| 318 |
chr_delete MuroComguy |
| 319 |
chr_delete MuroMuro |
| 320 |
chr_delete MuroShinatama |
| 321 |
} |
| 322 |
|
| 323 |
|
| 324 |
|
| 325 |
func void |
| 326 |
Elev2( |
| 327 |
void) |
| 328 |
{ |
| 329 |
begin_cutscene |
| 330 |
sleep f30 |
| 331 |
cutscene_sync off |
| 332 |
chr_nocollision 0 1 |
| 333 |
playback 0 Elev2KonokoSet |
| 334 |
cm_anim both Elev2Cam01 |
| 335 |
cutscene_sync on |
| 336 |
sound_ambient_start c13_07_22elevator |
| 337 |
chr_envanim 0 Elev2KonBox01 |
| 338 |
env_show 821 0 |
| 339 |
obj_create 821 821 |
| 340 |
obj_shade 821 821 .4 .4 .4 |
| 341 |
env_setanim 821 Elev201 |
| 342 |
cm_wait |
| 343 |
obj_kill 821 821 |
| 344 |
env_show 822 1 |
| 345 |
chr_nocollision 0 0 |
| 346 |
cm_reset |
| 347 |
end_cutscene |
| 348 |
} |
| 349 |
|
| 350 |
|
| 351 |
|
| 352 |
func void |
| 353 |
Torture( |
| 354 |
void) |
| 355 |
{ |
| 356 |
#input 0 |
| 357 |
cm_interpolate TortureCam01 80 |
| 358 |
sleep f180 |
| 359 |
cm_reset 80 |
| 360 |
#input 1 |
| 361 |
} |
| 362 |
|
| 363 |
|
| 364 |
func void |
| 365 |
outro( |
| 366 |
void) |
| 367 |
{ |
| 368 |
sleep f30 |
| 369 |
begin_cutscene jello |
| 370 |
cutscene_sync off |
| 371 |
#oni SPECcial effect |
| 372 |
chr_animate 0 KONOKOpowerup |
| 373 |
cinematic_start (KONtransform, 180, 180, 15, 2, 15, false) |
| 374 |
sleep f220 |
| 375 |
fade_out 0 0 0 10 |
| 376 |
sleep f10 |
| 377 |
fade_in 10 |
| 378 |
ai2_spawn OutroKerr |
| 379 |
ai2_spawn OutroGrif |
| 380 |
ai2_spawn OutroCop |
| 381 |
playback OutroCop ShinCopSet |
| 382 |
playback OutroGrif ShinGrifSet |
| 383 |
playback OutroKerr ShinKerrSet |
| 384 |
cinematic_stop (KONtransform, 16, 30) |
| 385 |
cm_interpolate ShinCamCop 0 |
| 386 |
cm_interpolate_block ShinCamCopFace 1600 |
| 387 |
sleep f20 |
| 388 |
sound_dialog_play c08_29_01scigoon1 |
| 389 |
cinematic_start (COPtalking, 180, 180, 16, 3, 20, false) |
| 390 |
sound_dialog_play_block pause |
| 391 |
cinematic_stop (COPtalking, 16, 20) |
| 392 |
cm_interpolate ShinCamGrif 0 |
| 393 |
cm_interpolate_block ShinCamGrifFace 1800 |
| 394 |
sound_dialog_play c08_29_02griffin |
| 395 |
cinematic_start (GRIFtalking, 180, 180, 19, 7, 20, false) |
| 396 |
sound_dialog_play_block pause |
| 397 |
sleep f20 |
| 398 |
playback 0 OutroKonoko01 |
| 399 |
cinematic_stop (GRIFtalking, 19, 20) |
| 400 |
fade_out 0 0 0 10 |
| 401 |
sleep f10 |
| 402 |
fade_in 10 |
| 403 |
#doors start to open |
| 404 |
obj_create 131 133 |
| 405 |
env_anim 131 133 |
| 406 |
env_show 134 0 |
| 407 |
env_show 135 0 |
| 408 |
env_show 136 0 |
| 409 |
cm_interpolate OutroCam01 0 |
| 410 |
cutscene_sync on |
| 411 |
sound_ambient_start c03_55_18bigdoor |
| 412 |
cm_interpolate_block OutroCam02 700 |
| 413 |
sleep f200 |
| 414 |
playback 0 OutroKonoko02 |
| 415 |
sleep f200 |
| 416 |
#Konoko sees doors opening |
| 417 |
#playback 0 OutroKonoko02 |
| 418 |
cm_interpolate OutroCam03 0 |
| 419 |
sleep f90 |
| 420 |
#playback 0 OutroKonoko02 |
| 421 |
sleep f40 |
| 422 |
cm_interpolate OutroCam04 0 |
| 423 |
sleep f180 |
| 424 |
fade_out 0 0 0 120 |
| 425 |
sleep f120 |
| 426 |
win |
| 427 |
} |
| 428 |
|