shiny-cuty-excel-chiffon/data/0-92.ks
2024-10-22 11:38:49 -05:00

277 lines
11 KiB
Text


;ステージスクリプトのロード
[loadstage storage='stage99.ssd']
[image page=back layer=0 storage="_black" visible=true]
[UpDate time=1]
*battleStage|バトルステージ
[eval exp="f.chaptertitle=''"]
[record]
[runstage]
[waitstage]
[playbgm storage="boss1"]
[freeimage page=back layer=0]
[UpDate canskip=false]
*battleStageStart
[iscript]
// 敗北回数のリセットは回想オープンに関わる……かも知れない
f.敗北回数01 = 0; // 戦闘員に敗北した回数
f.敗北回数02 = 0; // 女戦闘員に敗北した回数
f.敗北回数03 = 0; // オルトロスに敗北した回数
f.敗北回数04 = 0; // 一般人に敗北した回数
f.敗北回数05 = 0; // 上級戦闘員に敗北した回数
f.敗北回数06 = 0; // 発情時に敗北した回数
f.敗北回数07 = 0; //
f.敗北回数08 = 0; //
f.敗北回数09 = 0; //
f.敗北回数10 = 0; //
f.敗北回数21 = 0; // シフォンがショコラに敗北
f.敗北回数22 = 0; // ショコラがシフォンに敗北
f.敗北回数b1 = 0; // デビルオークに敗北した回数
f.敗北回数b2 = 0; // サイコウィザードに敗北した回数
f.敗北回数b3 = 0; // ジャイアントスクイッドに敗北した回数
f.敗北回数b4 = 0; // ベイゼルに敗北した回数
f.敗北回数b5 = 0; // レヴィエラに敗北した回数
f.敗北回数b6 = 0; // エルゴネアに敗北した回数
f.敗北回数b7 = 0; // オーク兄弟に敗北した回数
sf.gamePoint += 10;
f.downCount =[0, 0];
f.sexCount =[0, 0];
f.score= 0 ;
f.defeatedCountInThisStage = 0;
[endscript]
[ClearHistory]
[if exp="sf.bmExtasyGauge"]
[eval exp="bao.players[0].extasyGaugeEnabled = true"]
[endif]
[wait time=500]
[eval exp="bao.informLayer.show()"]
[playerstate enablemove=true]
[enemystate enablemove=true]
[runstage]
*stage99-01
;※この辺の記述はssd側の[retkag3][pause]とちゃんと対応させる必要があるので注意。
[waitstage]
[jump target=*clear]
*missed
[playerstate enablemove=false]
[enemystate enablemove=false]
[ClearHistory]
[eval exp="sf.gamePoint+=8"]
[call storage="defeatedHScene.ks"]
;残機0ならゲームオーバー
[jump target=*end cond="f.playerNum[chrChiffon] == 0 || f.playerNum[chrChocolat]==0"]
[enemystate enablemove=true]
[if exp="!bao.noWaitMode"]
[wait time=1300 canskip=false cond="sf.adjButtonStateTurboMode.selected"]
[wait time=2000 canskip=false cond="!sf.adjButtonStateTurboMode.selected"]
[else]
[wait time=500]
[endif]
[KeyWait]
[ClearHistory]
[iscript]
//復活処理
bao.resetTimerInterval();
tf.skipNextFlag = false;
for(var i=0; i<bao.players.count; i++){
bao.players[i].layer.conductor.mp.cosBroken = false;
bao.players[i].lastCutinTick = -1800;
// bao.players[i].cosState = (sf.adjEvilCosMode)? 4: 0;
bao.players[i].HP = 0;
bao.players[i].loadSprite(stDown);
bao.players[i].invincibleCount = 120;
}
f.downCount = [0, 0];
bao.informLayer.resetFace();
bao.returnState = '';
bao.noRestoreFlag = false;
bao.enabled = true;
bao.show();
// 抱きついている敵を剥がす
for(var i=0; i<bao.enemies.count; i++){
var e = bao.enemies[i];
if(e.nowSpriteId>=stClinching && e.nowSpriteId<=stHAttack){
e.loadSprite(stStanding);
if(e.inverse){
e.rootX -= 50;
}else{
e.rootX += 50;
}
}
}
tf.nowRevive = true;
if(sf.adjRandomCos) randomCostume();
// 復活時の無敵技
for(var i=0; i<bao.players.count; i++){
bao.players[i].altitude = bao.players[i].fAltitude;
bao.players[i].HP = bao.players[i].maxHP;
bao.players[i].MP = bao.players[i].maxMP;
bao.players[i].extasyGauge.value = 0;
bao.players[i].comboCountFlag = false;
var bf = (i==0)? 2 : 5;
if(kag.se[bf].status=='play'){
if(kag.se[bf].position/kag.se[bf].totalTime < 0.5){
bao.players[i].layer.conductor.mp.noVoice = true;
}
}
if(bao.players.count==2){
bao.players[i].loadSprite(stSpecial9,,'*fromDown');
}else{
bao.players[i].loadSprite(stSpecial1);
}
bao.players[i].initSpriteTable();
}
tf.killedPlayerId = void;
tf.killedPlayer = void;
tf.livingPlayerId = void;
tf.livingPlayer = void;
[endscript]
[wait time=1000 canskip=false cond="bao.players.count==2"]
[iscript]
for(var i=0; i<bao.players.count; i++){
bao.players[i].comboCountFlag = true;
bao.players[i].invincibleCount = 60;
}
tf.reviveTick = bao.tickCount;
tf.nowRevive = false;
[endscript]
[playerstate enablemove=true]
[scenarioend]
[jump target=*stage99-01]
*clear
[iscript]
{
sf.gamePoint += 8;
bao.iconLayers[0].visible = false;
bao.iconLayers[1].visible = false;
bao.fukidashi.clear();
}
[endscript]
[playerstate enablemove=false]
[enemystate enablemove=false]
[eval exp="bao.informLayer.hide()"]
[wait time=300]
[iscript]
// キメポーズ
for(var i=0; i<bao.players.count; i++){
var p = bao.players[i];
if(f.defeatedCountInThisStage == 0){
p.addQueue('[wait frame=15][load id=stWinning]');
}
}
[endscript]
;[wait time=3000]
;[iscript]
; // キメポーズから直る
; for(var i=0; i<bao.players.count; i++){
; bao.players[i].layer.trigger('end');
; }
;[endscript]
*end
[playerstate enablemove=false]
[enemystate enablemove=false]
[if exp="!bao.noWaitMode"]
[wait time=1600 cond="sf.adjButtonStateTurboMode.selected"]
[wait time=2300 cond="!sf.adjButtonStateTurboMode.selected"]
[else]
[wait time=500]
[endif]
[fadeoutbgm time=1000]
[SoundAllOut time=1000]
[image page=back layer=0 storage="_black" visible=true]
[UpDate canskip=false]
[wait time=500 canskip=false]
[jump target=*end2]
*return
[playerstate enablemove=false]
[enemystate enablemove=false]
[fadeoutbgm time=1000]
[SoundAllOut time=1000]
[image page=back layer=0 storage="_black" visible=true]
[UpDate canskip=false]
*end2
[iscript]
bao.resetStage();
bao.hide();
f.inBattleMode = true;
tf.tentacleBases = void;
tf.halo = void;
System.doCompact(clAll);
[endscript]
[playbgm storage="bgm001"]
[return]