277 lines
11 KiB
Text
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]
|
|
|
|
|