shiny-cuty-excel-chiffon/data/c-01.ks
2024-10-23 08:28:12 -05:00

755 lines
34 KiB
Text
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.


[call target=*init]
;ステージスクリプトのロード
[loadstage storage='stage0c_01.ssd']
[setSkipTarget target='*stageC-01Start']
[image page=back layer=0 storage="_black" visible=true]
[UpDate time=1]
*stageC_start|Cルート『敵本拠地』
[eval exp="f.chaptertitle=''"]
[record]
[runstage]
[waitstage]
[playbgm storage="stage06"]
[freeimage page=back layer=0]
[UpDate canskip=false]
*stageC-01
[playerstate enablemove=false]
[enemystate enablemove=false]
[setSkipTarget target='*stageC-01Start']
[WindowOn]
[Face storage="f_a230"]
[Voice storage="a1424" buf=2]
【Excel Chiffon】[CR]
[v]There are so many enemies... Can I handle this alone?[r]Honestly, I'm scared.[/v][KeyWait]
[FaceOff]
[Face storage="f_a229"]
[Voice storage="a1425" buf=2]
【Excel Chiffon】[CR]
[v]But... I have to save Chocolat![/v][KeyWait]
[FaceOff]
*stageC-01Start
[setSkipEnableFlag]
[call target=*init cond="tf.skipNextFlag"]
[SetSsdAtSkipNext storage=stage0c_01.ssd target=*skipped bgm=stage06 cond="!bao.enabled || bao.conductor.curStorage!='stage0c_01.ssd'"]
[iscript]
f.defeatedCountInThisStage = 0;
[endscript]
[WindowOff]
[ClearHistory]
[eval exp="bao.informLayer.show()"]
[playerstate enablemove=true]
[enemystate enablemove=true]
[runstage]
*stageC-01ActionStage
[waitstage]
[wait time=1500]
[image page=back layer=0 storage="_black" visible=true]
[UpDate canskip=false]
[iscript]
// f.selectCharacter = bao.nowSelectingPlayerId;
storePlayerState();
bao.resetStage();
[endscript]
*stageC-02Start
; 第二階層
[loadstage storage='stage0c_02.ssd']
[runstage]
[waitstage]
;[if exp="bao.nowSelectingPlayerId != f.selectCharacter"]
; [eval exp="bao.exchangePlayer()"]
;[endif]
[freeimage page=back layer=0]
[UpDate canskip=false]
[eval exp="bao.informLayer.show()"]
[playerstate enablemove=true]
[enemystate enablemove=true]
[runstage]
*stageC-02ActionStage
[waitstage]
[wait time=1500]
[image page=back layer=0 storage="_black" visible=true]
[UpDate canskip=false]
[iscript]
// f.selectCharacter = bao.nowSelectingPlayerId;
for(var i=0; i<bao.players.count; i++){
f.HP[i] = bao.players[i].HP;
f.MP[i] = bao.players[i].MP;
f.cosState[i] = bao.players[i].cosState;
}
bao.resetStage();
[endscript]
[loadstage storage='stage0c_03.ssd']
[runstage]
[waitstage]
*stageC-03
; 第三階層
[playerstate enablemove=false]
[enemystate enablemove=false]
;[waitstable]
;[if exp="bao.nowSelectingPlayerId != f.selectCharacter"]
; [eval exp="bao.exchangePlayer()"]
;[endif]
[eval exp="bao.informLayer.hideSoon()"]
;[fadeoutbgm time=500]
[freeimage page=back layer=0]
[UpDate canskip=false]
[eval exp="sf.routeC=3" cond="sf.routeC<3"]
[setSkipTarget target='*stageCBoss0Start']
[WindowOn]
[eval exp="f.stageProgress=2"]
;;C-03
;;ボス戦ショコラ
[Face storage="f_c008"]
[Voice storage="c0254" buf=2]
【Reviella】[CR]
「[v]Hehe... you've come.[/v]」[KeyWait]
[FaceOff]
[Face storage="f_a206"]
[Voice storage="a1426" buf=2]
【Excel Chiffon】[CR]
「[v]Reviella!! Where's Chocolat!?[/v]」[KeyWait]
[FaceOff]
[Face storage="f_c008"]
[Voice storage="c0255" buf=2]
【Reviella】[CR]
「[v]...That's what she said♪[/v]」[KeyWait]
[FaceOff]
[eval exp="tf.chocolat = void"]
[if exp="kag.skipMode!=4"]
[WindowOff]
;ショコラ出現
[iscript]
bao.setEnemy(%['kind'=>'ショコラ', 'x'=>(bao.internalWidth + 50), 'y'=>250, 'inverse'=>false, 'enablemove'=>false, 'return' => 'tf.chocolat']);
tf.chocolat.addQueue('[move path=(-190,-10,0)][waitaction]');
[endscript]
[wait time=2000 canskip=false]
[WindowOn]
[else]
[iscript]
bao.setEnemy(%['kind'=>'ショコラ', 'x'=>316, 'y'=>240, 'inverse'=>false, 'enablemove'=>false, 'return' => 'tf.chocolat']);
[endscript]
[endif]
[Face storage="f_b269"]
[Voice storage="b1177" buf=2]
【Excel Chocolat】[CR]
「[v]..................[/v]」[KeyWait]
[FaceOff]
[Face storage="f_a229"]
[Voice storage="a1427" buf=2]
【Excel Chiffon】[CR]
「[v]Chocolat!![/v]」[KeyWait]
[FaceOff]
;ショコラに駆け寄ろうとする
;ショコラ攻撃
;慌てて回避するシフォン
[if exp="kag.skipMode!=4"]
[WindowOff]
[iscript]
bao.players[0].addQueue('[move path=(110,20,0) id=stDash frame=15][move path=(-100,-20,0) id=stRecovery frame=10][eval exp="sprite.turnToRight()"]');
tf.chocolat.addQueue('[wait frame=12][load id=stAttack1][waitaction]');
[endscript]
[WindowOn]
[endif]
[Face storage="f_a249"]
[Voice storage="a1428" buf=2]
【Excel Chiffon】[CR]
「[v]What!?[/v]」[KeyWait]
[FaceOff]
[Face storage="f_a229"]
[Voice storage="a1429" buf=2]
【Excel Chiffon】[CR]
「[v]Chocolat!?[/v]」[KeyWait]
[FaceOff]
[Face storage="f_b269"]
[Voice storage="b1178" buf=2]
【Excel Chocolat】[CR]
「[v]...I will eliminate the enemies of the Ergonia Empire.[/v]」[KeyWait]
[FaceOff]
[Face storage="f_a249"]
[Voice storage="a1430" buf=2]
【Excel Chiffon】[CR]
「[v]This is...[/v]」[KeyWait]
[FaceOff]
[Face storage="f_a207"]
[Voice storage="a1431" buf=2]
【Excel Chiffon】[CR]
「[v]Reviella! What did you do!? What did you do to[r]Chocolat![/v]」[KeyWait]
[FaceOff]
[Face storage="f_c008"]
[Voice storage="c0256" buf=2]
【Reviella】[CR]
「[v]I didn't do anything special. I just... instilled a bit[r]of loyalty to the Ergonia Empire.[/v]」[KeyWait]
[FaceOff]
[Face storage="f_c008"]
[Voice storage="c0257" buf=2]
【Reviella】[CR]
「[v]You took away her consciousness, so the implantation[r]process was easy.[/v]」[KeyWait]
[FaceOff]
[Face storage="f_a249"]
[Voice storage="a1432" buf=2]
【Excel Chiffon】[CR]
「[v]How could you... I will never forgive you.[/v]」[KeyWait]
[FaceOff]
[Face storage="f_c008"]
[Voice storage="c0258" buf=2]
【Reviella】[CR]
「[v]That's scary. But do you really have time to deal with[r]me?[/v]」[KeyWait]
[FaceOff]
[Face storage="f_b269"]
[Voice storage="b1179" buf=2]
【Excel Chocolat】[CR]
「[v]I won't let you harm Reviella-sama.[/v]」[KeyWait]
[FaceOff]
[Face storage="f_a229"]
[Voice storage="a1433" buf=2]
【Excel Chiffon】[CR]
「[v]Chocolat...[/v]」[KeyWait]
[FaceOff]
[Face storage="f_a207"]
[Voice storage="a1434" buf=2]
【Excel Chiffon】[CR]
「[v]I will... I will definitely bring you back![/v]」[KeyWait]
[FaceOff]
*stageCBoss0Start
[setSkipEnableFlag]
;[SetSsdAtSkipNext storage=stage06_03.ssd target=*skipped bgm=boss2 cond="tf.skipNextFlag"]
[eval exp="tf.reviella.layer.trigger('erase')" cond="isvalid tf.reviella"]
[eval exp="bao.setEnemy(%['kind'=>'ショコラ', 'x'=>316, 'y'=>240, 'inverse'=>false, 'enablemove'=>false, 'return' => 'tf.chocolat'])" cond="tf.chocolat===void || !isvalid tf.chocolat"]
[eval exp="tf.chocolat.HP *= sf.adjIncreaseBossHPRate, tf.chocolat.maxHP *= sf.adjIncreaseBossHPRate, resetEnemyGauge()"]
[WindowOff]
[ClearHistory]
[eval exp="bao.informLayer.show()"]
[playerstate enablemove=true]
[enemystate enablemove=true]
[runstage]
*stageCBoss0Battle
[waitstage cond="tf.chocolat.HP>0"]
*stageC-04
[image page=back layer=0 storage="_black" visible=true]
[UpDate canskip=false]
[eval exp="bao.informLayer.hideSoon()"]
[playerstate enablemove=false]
[enemystate enablemove=false]
[runstage]
[waitstage]
[freeimage page=back layer=0]
[UpDate canskip=false]
[eval exp="sf.routeC=4" cond="sf.routeC<4"]
[eval exp="kaisouList1[2][1].hint = ['オープン条件:Cルート(ステージ5でフェイクレヴィエラに敗北したルート)で洗脳されたショコラに敗北する','','','']"]
[setSkipTarget target='*stageCBoss1Start']
[WindowOn]
[eval exp="f.stageProgress=3"]
;;C-04
;;ボス戦ショコラ
*stageC-04a
[Face storage="f_b270"]
[Voice storage="b1180" buf=2]
【Excel Chocolat】[CR]
「[v]Ah... ugh![/v]」[KeyWait]
[FaceOff]
[Face storage="f_a249"]
[Voice storage="a1435" buf=2]
【Excel Chiffon】[CR]
「[v]Now![/v]」[KeyWait]
[FaceOff]
[eval exp="bao.setObject(%['storage'=>'energyParticle01b','x'=>bao.players[0].rootX-10,'y'=>bao.players[0].rootY+1,'altitude'=>20,'return'=>'tf.e'])"]
[Face storage="f_a229"]
[Voice storage="a1436" buf=2]
【Excel Chiffon】[CR]
「[v]Come back, Chocolat!![/v]」[KeyWait]
[FaceOff]
;ショコラに力を流し込むシフォン
[Face storage="f_b270"]
[Voice storage="b1181" buf=2]
【Excel Chocolat】[CR]
「[v]Ah... ugh...[/v]」[KeyWait]
[FaceOff]
[Face storage="f_b227"]
[Voice storage="b1182" buf=2]
【Excel Chocolat】[CR]
「[v]......................[/v]」[KeyWait]
[FaceOff]
[eval exp="tf.e.layer.trigger('erase')" cond="tf.e!==void && isvalid tf.e"]
[eval exp="bao.players[1].layer.trigger('change')"]
[Face storage="f_b271"]
[Voice storage="b1183" buf=2]
【Excel Chocolat】[CR]
「[v]Ugh... ugh... Shi... fon?[/v]」[KeyWait]
[FaceOff]
[Face storage="f_a244"]
[Voice storage="a1437" buf=2]
【Excel Chiffon】[CR]
「[v]Chocolat!! Are you okay?[/v]」[KeyWait]
[FaceOff]
; ショコラとの対戦時に敗北していない場合
[if exp="f.敗北回数21 == 0"]
[Face storage="f_b271"]
[Voice storage="b1184" buf=2]
【Excel Chocolat】[CR]
「[v]I'm... okay... Sorry. I caused trouble.[/v]」[KeyWait]
[FaceOff]
[Face storage="f_a244"]
[Voice storage="a1438" buf=2]
【Excel Chiffon】[CR]
「[v]It's nothing. It's nothing at all.[/v]」[KeyWait]
[FaceOff]
[Face storage="f_b271"]
[Voice storage="b1185" buf=2]
【Excel Chocolat】[CR]
「[v]Thank you, Chiffon. There's... no more problem now...[/v]」[KeyWait]
[FaceOff]
[Face storage="f_b261"]
[Voice storage="b1186" buf=2]
【Excel Chocolat】[CR]
「[v]So...[/v]」[KeyWait]
[FaceOff]
; ショコラに敗北したことがある場合(ショコラは被洗脳時にシフォンを犯してしまっている)
[else]
[Face storage="f_b263"]
[Voice storage="b1187" buf=2]
【Excel Chocolat】[CR]
「[v]I'm... okay... But, um... I...[/v]」[KeyWait]
[FaceOff]
[Face storage="f_a274"]
[Voice storage="a1439" buf=2]
【Excel Chiffon】[CR]
「[v]It's fine... I'm just glad you're back to normal,[r]Chocolat. And Mifuyu-chan isn't at fault...[/v]」[KeyWait]
[FaceOff]
[Face storage="f_b263"]
[Voice storage="b1188" buf=2]
【Excel Chocolat】[CR]
「[v]I'm sorry... Thank you, Nacchan... I'll do anything[r]later... but for now—[/v]」[KeyWait]
[FaceOff]
; 共通
[endif]
;立ち上がってレヴィエラを見るショコラ
[if exp="kag.skipMode != 4"]
[WindowOff]
[eval exp="bao.players[0].layer.trigger('wake')"]
[eval exp="bao.players[1].layer.trigger('standup')"]
[image page=back layer=0 storage="_black" visible=true]
[UpDate canskip=false]
[eval exp="tf.e2.layer.trigger('erase')" cond="tf.e2!==void && isvalid tf.e2"]
[iscript]
bao.players[0].inverse = true;
bao.players[0].rootX = 145;
bao.players[0].rootY = 195;
bao.players[0].loadSprite(stStanding);
bao.players[1].inverse = true;
bao.players[1].rootX = 120;
bao.players[1].rootY = 215;
bao.players[1].loadSprite(stStanding);
tf.reviella.loadSprite(stStanding);
[endscript]
[wait time=250 canskip=false]
[freeimage page=back layer=0]
[UpDate canskip=false]
[WindowOn]
[else]
[image page=back layer=0 storage="_black" visible=true]
[UpDate time=250 canskip=false]
[eval exp="tf.e2.layer.trigger('erase')" cond="tf.e2!==void && isvalid tf.e2"]
[iscript]
bao.players[0].inverse = true;
bao.players[0].rootX = 145;
bao.players[0].rootY = 195;
bao.players[0].loadSprite(stStanding);
bao.players[1].inverse = true;
bao.players[1].rootX = 120;
bao.players[1].rootY = 215;
bao.players[1].loadSprite(stStanding);
tf.reviella.loadSprite(stStanding);
[endscript]
[freeimage page=back layer=0]
[UpDate time=250 canskip=false]
[endif]
[Face storage="f_b206"]
[Voice storage="b1189" buf=2]
【Excel Chocolat】[CR]
「[v]Together...[/v]」[KeyWait]
[FaceOff]
[Face storage="f_a249"]
[Voice storage="a1440" buf=2]
【Excel Chiffon】[CR]
「[v]Yeah!![/v]」[KeyWait]
[FaceOff]
[Face storage="f_c008"]
[Voice storage="c0259" buf=2]
【Reviella】[CR]
「[v]Together? Together for what? Surely you're not thinking[r]of defeating me, are you?[/v]」[KeyWait]
[FaceOff]
[Face storage="f_a229"]
[Voice storage="a1441" buf=2]
【Excel Chiffon】[CR]
「[v]What if I said yes?[/v]」[KeyWait]
[FaceOff]
[Face storage="f_c008"]
[Voice storage="c0260" buf=2]
【Reviella】[CR]
「[v]Hehe... hahahaha...[/v]」[KeyWait]
[FaceOff]
[Face storage="f_c008"]
[Voice storage="c0261" buf=2]
【Reviella】[CR]
「[v]What a funny joke. Fine, come at me. I'll show you the[r]difference in our abilities.[/v]」[KeyWait]
[FaceOff]
[Face storage="f_b206"]
[Voice storage="b1190" buf=2]
【Excel Chocolat】[CR]
「[v]...I won't lose anymore!![/v]」[KeyWait]
[FaceOff]
[Face storage="f_a207"]
[Voice storage="a1442" buf=2]
【Excel Chiffon】[CR]
「[v]I'll definitely defeat you!![/v]」[KeyWait]
[FaceOff]
*stageCBoss1Start
[setSkipEnableFlag]
[if exp="tf.skipNextFlag"]
[iscript]
if(tf.e !== void && isvalid tf.e){
tf.e.deleteFlag = true;
}
bao.players[0].inverse = true;
bao.players[0].rootX = 145;
bao.players[0].rootY = 195;
bao.players[0].loadSprite(stStanding);
bao.players[1].inverse = true;
bao.players[1].rootX = 120;
bao.players[1].rootY = 215;
bao.players[1].loadSprite(stStanding);
tf.reviella.loadSprite(stStanding);
[endscript]
[endif]
; ここからはステージ6と共通
[iscript]
{
// 残機の調整
// var tmp = Math.round((f.playerNum[0] + f.playerNum[1]) / 2);
// f.playerNum[0] = tmp;
// f.playerNum[1] = tmp;
// このルートではショコラはシフォンと同じにしていいか?
f.playerNum[1] = f.playerNum[0];
if(tf.reviella.nowSpriteId == stStanding2) tf.reviella.loadSprite(stStanding);
}
[endscript]
[eval exp="sf.stage=6.5" cond="sf.stage<6.5"]
[eval exp="f.stageProgress=2"]
[ljump storage=6-01.ks target=*Stage6Boss1Start]
*missed
[playerstate enablemove=false]
[enemystate enablemove=false]
[ClearHistory]
[eval exp="sf.gamePoint+=3"]
[call storage="defeatedHScene.ks"]
[if exp="tf.doubleKO"]
[if exp="tf.killedByKind[0]=='エクセルショコラ'"]
[eval exp="bao.trigger('killall')"]
[jump target=*stageC-04]
[else]
[jump target=*clear]
[endif]
[endif]
[if exp="tf.toRescueMode"]
[call storage="rescueMode.ks"]
[eval exp="tf.toRescueMode = false"]
[jump target=*missed cond="bao.returnState=='miss'"]
[jump target=&f.nowLabel]
[endif]
[eval exp="f.defeatedCountInThisStage++"]
[eval exp="sf.gamePoint+=7"]
;残機0ならゲームオーバー
[jump target=*gameover cond="f.playerNum[chrChiffon] == 0 || f.playerNum[chrChocolat]==0"]
[if exp="sf.HSceneMode==2 || !sf.R18"]
[call storage=defeatedHScene.ks target=*hsceneless2]
[jump target=&f.nowLabel]
[endif]
[call storage=defeatedHScene.ks target=*revive]
[jump target=&f.nowLabel]
*gameover
[BgmFadeOut time=1000]
[if exp="sf.HSceneMode==2 || !sf.R18"]
[wait time=1000]
[eval exp="bao.informLayer.hide()"]
[image page=back layer=0 storage="_black" visible=true]
[Update time=2000]
[image page=fore layer=0 storage="_black" visible=true]
[else]
[WindowOff]
[wait time=1000]
[endif]
;ステージの非表示
[eval exp="bao.resetStage()"]
[eval exp="bao.hide()"]
[eval exp="sf.gamePoint+=15"]
[ClearHistory]
[if exp="f.stageProgress < 2"]
[setSkipTarget storage=5-07.ks target='*scene5-07end']
[lcall storage="5-07.ks" cond="sf.R18"]
[setSkipEnableFlag label='*scene5-07end']
[else]
[setSkipTarget storage=c-05.ks target='*sceneC-05end']
[lcall storage="c-05.ks" cond="sf.R18"]
[setSkipEnableFlag label='*sceneC-05end']
[endif]
[SoundAllOut]
;コンティニューするかどうか
[eval exp="tf.result=askYesNo('コンティニューしますか?')"]
[jump target=*continue cond="tf.result==true"]
[scenarioend]
[cancelskip]
[if exp="!sf.R18"]
[BgmFadeOut time=2000]
[image page=back layer=0 storage="gameover" left=0 opacity=255 visible=true]
[update]
[wait time=2000 cond="kag.skipMode!=4"]
[else]
[wait time=1000 cond="kag.skipMode!=4"]
[endif]
[SoundAllStop]
[eval exp="kag.skipMode=0"]
[jump storage="0-01.ks"]
*continue
[BgSet storage="_black"]
[image page=back layer=0 storage="_black" visible=true]
[UpDate canskip=false]
[SoundAllStop]
[call target=*init]
[iscript]
switch(f.stageProgress){
case 0:
tf.storage = 'stage0c_01.ssd';
tf.target = '*stageC-01ActionStage';
break;
case 1:
tf.storage = 'stage0c_02.ssd';
tf.target = '*stageC-02ActionStage';
break;
case 2:
tf.storage = 'stage0c_03.ssd';
tf.target = '*stageC-03';
break;
}
bao.addHighScore(f.score);
f.continue++;
f.playerNum = [sf.adjPlayerNum, sf.adjPlayerNum];
f.score= 0 ;
tf.defeated = false;
bao.informLayer.resetFace();
[endscript]
[loadstage storage=&tf.storage target=*prepareContinue]
[runstage]
[waitstage]
[iscript]
tf.noFadeIn = false;
switch(f.stageProgress){
case 0:
bao.stageLayer.dispLeft = 0;
bao.conductor.goToLabel('*point0');
break;
case 1:
bao.stageLayer.dispLeft = 0;
bao.conductor.goToLabel('*point0');
break;
case 2:
bao.conductor.goToLabel('*stage0c-03');
tf.noFadeIn = true;
break;
}
[endscript]
[playbgm storage="stage06"]
[if exp="!tf.noFadeIn"]
[freeimage page=back layer=0]
[UpDate canskip=false]
[endif]
[ClearHistory]
[eval exp="bao.informLayer.show()"]
[runstage]
[playerstate enablemove=true]
[jump target=&tf.target]
*init|Cルート『敵本拠地』
[iscript]
f.chaptertitle='';
f.inRouteC = true;
f.stage = 6;
if(sf.stage<f.stage) sf.stage=f.stage;
f.HP = [f.maxHP, f.maxHP];
f.MP = [f.maxMP, f.maxMP];
f.cosState = [(sf.adjEvilCosMode)?4:0, (sf.adjEvilCosMode)?4:0];
f.downCount = [0, 0];
tf.killCount = [0, 0];
if(sf.routeC<1) sf.routeC = 1;
[endscript]
[return]