shiny-cuty-excel-chiffon/data/stage03.ssd

582 lines
27 KiB
Text


*stage03-01|
[call target=*init]
*stage03-01b|
[retkag3]
[pause]
*point0
[if exp="sf.adjButterflyWeakened"]
[eval exp="tf.butterfly.HP = 12"]
[eval exp="tf.butterfly.modeChangeTime = 2*30"]
[elsif exp="sf.adjButterflyStrengthen"]
; [eval exp="tf.butterfly.modeChangeTime = 10*30"]
; [eval exp="tf.butterfly.movableRect.right = 456*4"]
[eval exp="tf.butterfly.maxHP = 72"]
[eval exp="tf.butterfly.HP = 72"]
[eval exp="tf.butterfly.movableRect.right = 456*4"]
[eval exp="bao.informLayer.enemyGaugeLayers[bao.getEnemyIndex(tf.butterfly)].setGauge(tf.butterfly.maxHP, tf.butterfly.name)"]
[endif]
[eval exp="f.stageProgress=0"]
[scrolllimit line=1200]
[waittrig name=line l=460]
[enemy kind=一般人 x=right]
[enemy kind=一般人 x=right]
[waittrig name=line l=550]
[if exp="sf.adjEnemyPattern2"]
[enemy kind=戦闘員剣 x=right]
[enemy kind=戦闘員盾 x=right]
[else]
[enemy2 kind=戦闘員 x=right]
[enemy2 kind=戦闘員 x=right]
[endif]
[waittrig name=line l=900]
[enemy2 kind=一般人 force=true]
[enemy2 kind=一般人 force=true]
[if exp="sf.adjEnemyPattern2"]
[enemy kind=有翼戦闘員 x=right]
[waittrig name=line l=1000]
[enemy kind=女戦闘員爪]
[enemy kind=女戦闘員爪]
[else]
[enemy2 kind=戦闘員]
[enemy kind=女戦闘員]
[endif]
[waittrig name=line l=1200]
[if exp="sf.adjEnemyPattern2"]
[enemy kind=有翼戦闘員 x=left]
[enemy kind=スライム x=right]
[else]
[enemy2 kind=スライム x=right]
[enemy2 kind=スライム x=left]
[enemy kind=スライム x=right]
[enemy kind=スライム x=left]
[endif]
[waittrig name=killall]
[scrolllimit line=2500]
[waittrig name=line l=1250]
[enemy2 kind=一般人 force=true]
[if exp="sf.adjEnemyPattern2"]
[enemy kind=オルトロス]
[enemy kind=オルトロス]
[else]
[enemy2 kind=戦闘員]
[enemy3 kind=戦闘員]
[endif]
[waittrig name=line l=1500]
[enemy2 kind=戦闘員]
[enemy2 kind=一般人 force=true]
[waittrig name=line l=1700]
[enemy kind=スライム x=right]
[enemy kind=スライム x=right]
[waittrig name=line l=2000]
[enemy kind=戦闘員ナイフ]
[enemy kind=女戦闘員]
[waittrig name=line l=2400]
[enemy kind=女戦闘員]
[enemy2 kind=一般人 force=true]
[enemy2 kind=一般人 force=true]
[waittrig name=line l=2500]
[enemy kind=有翼戦闘員]
[if exp="sf.adjEnemyPattern2"]
[enemy kind=上級戦闘員 x=right]
[enemy kind=上級戦闘員 x=left]
[else]
[enemy kind=有翼戦闘員]
[endif]
[waittrig name=killall]
*point1
[eval exp="f.stageProgress=1"]
[bgstate lline=80 rline=240]
[scrolllimit line=3900]
[eval exp="tf.butterfly.reset()" cond="!f.defeatStage3Familiar"]
[waittrig name=line l=2800]
[if exp="sf.adjEnemyPattern2"]
[enemy kind=戦闘員 x=left rgamma=1.5 atdelexp="bao.setObject(%['storage'=>'item01','rootx'=>sprite.rootX,'rooty'=>sprite.rootY])" cond="!sf.adjNoItem"]
[endif]
[enemy2 kind=戦闘員]
[enemy2 kind=一般人 force=true]
[waittrig name=line l=3100]
[enemy2 kind=戦闘員剣 x=right]
[enemy kind=スライム x=right]
[enemy kind=スライム x=right]
[if exp="sf.adjEnemyPattern2"]
[enemy kind=オルトロス]
[else]
[enemy kind=女戦闘員]
[endif]
[waittrig name=line l=3400]
[enemy2 kind=戦闘員]
[if exp="sf.adjEnemyPattern2"]
[enemy kind=ゴブリン兵]
[enemy kind=ゴブリン兵]
[else]
[enemy2 kind=戦闘員]
[enemy kind=女戦闘員]
[enemy kind=一般人]
[endif]
[waittrig name=killall]
[waittrig name=line l=3700]
[bgstate lline=-80 rline=80]
[enemy kind=女戦闘員爪]
[enemy kind=有翼戦闘員]
[enemy kind=有翼戦闘員]
[enemy2 kind=一般人 force=true]
[enemy2 kind=一般人 force=true]
[waittrig name=killall]
*point2
[eval exp="f.stageProgress=2"]
[bgstate lline=80 rline=240]
[scrolllimit line=5200]
[eval exp="tf.butterfly.reset()" cond="!f.defeatStage3Familiar"]
[enemy kind=女戦闘員 rgamma=1.5 atdelexp="bao.setObject(%['storage'=>'item01','rootx'=>sprite.rootX,'rooty'=>sprite.rootY])" cond="!sf.adjNoItem"]
[enemy kind=スライム x=right]
[enemy2 kind=戦闘員]
[waittrig name=line l=4100]
[enemy kind=スライム x=right]
[enemy2 kind=戦闘員 x=left bgamma=1.5 atdelexp="bao.setObject(%['storage'=>'item02','rootx'=>sprite.rootX,'rooty'=>sprite.rootY])" cond="!sf.adjNoItem"]
[enemy2 kind=戦闘員]
[enemy kind=女戦闘員]
[waittrig name=line l=4400]
[enemy kind=女戦闘員]
[enemy kind=戦闘員ナイフ]
[enemy kind=一般人]
[enemy kind=一般人]
[if exp="sf.adjEnemyPattern2"]
[enemy kind=戦闘員剣 x=right]
[enemy kind=戦闘員盾 x=right]
[else]
[enemy2 kind=戦闘員]
[enemy2 kind=戦闘員]
[endif]
[waittrig name=line l=4700]
[if exp="sf.adjEnemyPattern2"]
[enemy kind=ゴブリン兵 x=right]
[enemy kind=ゴブリン兵 x=left]
[else]
[enemy kind=スライム x=right]
[enemy kind=スライム x=right]
[enemy kind=スライム x=right]
[enemy kind=スライム x=right]
[endif]
[waittrig name=line l=5000]
[enemy kind=一般人]
[enemy kind=一般人]
[waittrig name=line l=5200]
[enemy kind=有翼戦闘員]
[enemy kind=有翼戦闘員]
[if exp="sf.adjEnemyPattern2"]
[enemy kind=上級戦闘員 x=right]
[enemy kind=上級戦闘員 x=left]
[else]
[enemy3 kind=戦闘員]
[enemy2 kind=戦闘員]
[enemy kind=女戦闘員爪]
[enemy kind=女戦闘員爪]
[endif]
[waittrig name=killall]
*point3
[eval exp="f.stageProgress=3"]
[scrolllimit line=6356]
[bgstate lline=80 rline=240]
[eval exp="tf.butterfly.reset()" cond="!f.defeatStage3Familiar"]
[waittrig name=line l=5400]
;[enemy2 kind=戦闘員 x=left bgamma=1.5 atdelexp="bao.setObject(%['storage'=>'item02','rootx'=>sprite.rootX,'rooty'=>sprite.rootY])"]
[enemy kind=一般人]
[enemy kind=一般人]
[waittrig name=line l=5700]
[enemy kind=スライム x=right]
[enemy kind=スライム x=right]
[enemy2 kind=戦闘員]
[if exp="sf.adjEnemyPattern2"]
[enemy kind=スライム x=right]
[enemy kind=スライム x=right]
[endif]
[waittrig name=killall]
[waittrig name=line l=5900]
[bgstate lline=-80 rline=80]
;[eval exp="dm('■ bao.stageLayer.dispLeft : ' + bao.stageLayer.dispLeft + ' / p0.rootX : ' + p0.rootX + ' / ' + (bao.stageLayer.dispLeft + bao.internalWidth))"]
[enemy kind=女戦闘員]
[enemy kind=女戦闘員 rgamma=1.5 atdelexp="bao.setObject(%['storage'=>'item01','rootx'=>sprite.rootX,'rooty'=>sprite.rootY])" cond="!sf.adjNoItem"]
[enemy2 kind=戦闘員]
[if exp="sf.adjEnemyPattern2"]
[enemy kind=オーガ兵]
[else]
[enemy kind=スライム x=right]
[enemy kind=スライム x=left]
[endif]
[waittrig name=killall]
*point4
[eval exp="f.stageProgress=4"]
[bgstate lline=80 rline=240]
[scrolllimit line=6900]
[if exp="tf.butterfly !== void && isvalid tf.butterfly"]
[eval exp="tf.butterfly.layer.trigger('delete')"]
[endif]
[if exp="f.defeatStage3Familiar"]
[jump target=*stage03-02a]
[else]
[jump target=*stage03-02b]
[endif]
*stage03-02a|
[iscript]
bao.enemyCountOffset = 0;
// スクロール限界値
tf.scr = 7100;
// ヒロイン位置
tf.px = 180;
// ベイゼル位置
tf.bx = 406;
// トリガーライン
tf.tl = tf.scr - bao.internalWidth + tf.px - 240;
[endscript]
;6544
[waittrig name=pline l=&tf.tl]
;[eval exp="dm('bao.stageLayer.dispLeft : ' + bao.stageLayer.dispLeft + ' / p0.rootX : ' + p0.rootX)"]
[scrolllimit line=&(tf.scr)]
[iscript]
bao.players[0].enableFreeMove = false;
bao.players[1].enableFreeMove = false;
[endscript]
[bgstate lline=-80 rline=&(tf.px-100)]
[eval exp="informLayer.hide()"]
;[wait time=250]
[iscript]
{
// ジャイアントスクイッド生成
bao.setEnemy(%['kind'=>'e13', 'x'=>(int(bao.stageLayer.wallLayer.imageWidth / (bao.cZoomRate/bao.sZoomRate)) - bao.stageLayer.dispLeft - 134), 'y'=>216, 'return'=>'tf.squid']);
bao.setObject(%['storage'=>'e130_etc1', 'x'=>tf.squid.rootX+13, 'y'=>256, 'return'=>'tf.squid_arm1']);
bao.setObject(%['storage'=>'e130_etc2', 'x'=>tf.squid.rootX-103, 'y'=>159, 'return'=>'tf.squid_arm2']);
bao.setObject(%['storage'=>'e130_dummy', 'x'=>tf.squid.rootX-70, 'y'=>tf.squid.rootY+23, 'return'=>'tf.dummy1']);
bao.setObject(%['storage'=>'e130_dummy', 'x'=>tf.squid.rootX-90, 'y'=>tf.squid.rootY-23, 'return'=>'tf.dummy2']);
tf.dummy1.parentSprite = tf.squid;
tf.dummy2.parentSprite = tf.squid;
// スクロール制限
// 左側のヒロインキャラを前進させる
tf.p1 = (bao.players[0].rootX < bao.players[1].rootX)? bao.players[0]: bao.players[1];
tf.p2 = bao.getOtherPlayer(tf.p1);
var x = tf.tl-bao.stageLayer.dispLeft + 100;
if(Math.abs(tf.p1.rootY - tf.p2.rootY) < 30){
if(tf.p2.rootY < 200){
tf.tmp = "[waitaction][move path=(" + x + "," + (tf.p2.rootY+30) + ",0) mode=absolute][load id=stStanding]";
}else{
tf.tmp = "[waitaction][move path=(" + x + "," + (tf.p2.rootY-30) + ",0) mode=absolute][load id=stStanding]";
}
}else{
tf.tmp = "[waitaction][move path=(" + x + "," + tf.p1.rootY + ",0) mode=absolute][load id=stStanding]";
}
tf.p1.addQueue(tf.tmp);
tf.p2.addQueue("[waitaction][move path=(200,0,0)][load id=stStanding]");
}
[endscript]
*stage03-02a2
[retkag3]
[pause]
*stage03-02a3
[eval exp="tf.squid.HP *= (sf.adjReduceBossHP3 * sf.adjIncreaseBossHPRate), tf.squid.maxHP *= sf.adjIncreaseBossHPRate, resetEnemyGauge()"]
; ボス戦開始a
[iscript]
for(var i=0; i<bao.players.count; i++){
bao.players[i].movableRect.left = 48;
bao.players[i].movableRect.right = 270;
bao.players[i].scriptQueue = [];
bao.players[i].loadSprite(stStanding);
}
[endscript]
[bgstate lline=-80 rline=160]
;[scrolllimitleft line=6700]
[scrolllimit line=7140]
[waittrig name=killall]
; クリア
[iscript]
for(var i=0; i<bao.players.count; i++){
bao.players[i].movableRect.left = 48;
bao.players[i].movableRect.right = 408;
bao.players[i].scriptQueue = [];
}
[endscript]
[bgstate lline=160 rline=300]
*stage03-02b6
[stageend]
[retkag3]
*cleared
[s]
*stage03-02b|
[iscript]
bao.enemyCountOffset = 0;
// スクロール限界値
tf.scr = 6900;
// ヒロイン位置
tf.px = 180;
// ベイゼル位置
tf.bx = 406;
// トリガーライン
tf.tl = tf.scr - bao.internalWidth + tf.px - 200;
[endscript]
[scrolllimit line=&(tf.scr)]
;6524
[waittrig name=pline l=&tf.tl]
;[eval exp="dm('■ bao.stageLayer.dispLeft : ' + bao.stageLayer.dispLeft + ' / p0.rootX : ' + p0.rootX + ' / ' + (bao.stageLayer.dispLeft + p0.rootX))"]
[iscript]
bao.players[0].enableFreeMove = false;
bao.players[1].enableFreeMove = false;
[endscript]
[bgstate lline=-80 rline=&tf.px]
[eval exp="informLayer.hide()"]
;[wait time=250]
[iscript]
{
// 左側のヒロインキャラを前進させる
tf.p1 = (bao.players[0].rootX < bao.players[1].rootX)? bao.players[0]: bao.players[1];
tf.p2 = bao.getOtherPlayer(tf.p1);
var x = tf.tl-bao.stageLayer.dispLeft + 110;
if(Math.abs(tf.p1.rootY - tf.p2.rootY) < 30){
if(tf.p2.rootY < 200){
tf.tmp = "[waitaction][move path=(" + x + "," + (tf.p2.rootY+30) + ",0) mode=absolute][load id=stStanding]";
}else{
tf.tmp = "[waitaction][move path=(" + x + "," + (tf.p2.rootY-30) + ",0) mode=absolute][load id=stStanding]";
}
}else{
tf.tmp = "[waitaction][move path=(" + x + "," + tf.p1.rootY + ",0) mode=absolute][load id=stStanding]";
}
tf.p1.addQueue(tf.tmp);
tf.p2.addQueue("[waitaction][move path=(200,0,0)][load id=stStanding]");
}
[endscript]
[waittrig name=line l=&"(tf.scr - bao.internalWidth + tf.bx - 40)"]
[iscript]
{
// 右に行き過ぎないための処理
// スクロールさせたい量
var d = bao.internalWidth - tf.bx + 40;
if(tf.p2.rootX - tf.px > d){
tf.p2.scriptQuewe = [];
tf.p2.loadSprite(stStanding);
}
}
[endscript]
;[eval exp="dm('■ ' + bao.stageLayer.dispLeft)"]
[object storage=e140_etc1 x=&(bao.internalWidth+40) y=210 shadow=true return="tf.beizel"]
*stage03-02b2
[retkag3]
[pause]
; ボス戦開始b
[iscript]
for(var i=0; i<bao.players.count; i++){
bao.players[i].movableRect.left = 48;
bao.players[i].movableRect.right = 270;
bao.players[i].scriptQueue = [];
bao.players[i].loadSprite(stStanding);
}
[endscript]
[bgstate lline=-80 rline=160]
;[scrolllimitleft line=6700]
[scrolllimit line=7140]
[waittrig name=killall]
; クリア
[iscript]
for(var i=0; i<bao.players.count; i++){
bao.players[i].movableRect.left = 48;
bao.players[i].movableRect.right = 408;
bao.players[i].scriptQueue = [];
}
[endscript]
[bgstate lline=160 rline=300]
*stage03-02b6
[stageend]
[retkag3]
*cleared2
[s]
*prepareContinue
[loadbg storage="stage03-01" topline=165 bottomline=250 limitright=false]
[bgstate lline=80 rline=240 goindicator="go01"]
[player rootx=120 rooty=220 inverse=true enablemove=false kind=chiffon cosstate=&"((sf.adjEvilCosMode)?4:0)"]
[player rootx=80 rooty=180 inverse=true enablemove=false kind=chocolat cosstate=&"((sf.adjEvilCosMode)?4:0)"]
[eval exp="bao.enemyCountOffset = 1"]
[if exp="f.stageProgress<4"]
[enemy kind=魔影蝶 rootx=420 rooty=200 inverse=true enablemove=false return='tf.butterfly']
[if exp="sf.adjButterflyWeakened"]
[eval exp="tf.butterfly.HP = 8"]
[eval exp="tf.butterfly.modeChangeTime = 2*30"]
[else]
[eval exp="tf.butterfly.HP = 48 - f.stageProgress * 12"]
[endif]
[endif]
[retkag3]
[s]
*skipped
[call target=*init]
;[eval exp="dm('■skipped ssd■')"]
[retkag3]
[jump target=*stage03-01b]
*init
[loadbg storage="stage03-01" topline=165 bottomline=250 limitright=false]
[bgstate lline=80 rline=240 goindicator="go01"]
[player rootx=120 rooty=220 inverse=true enablemove=false kind=chiffon cosstate=&"((sf.adjEvilCosMode)?4:0)"]
[player rootx=80 rooty=180 inverse=true enablemove=false kind=chocolat cosstate=&"((sf.adjEvilCosMode)?4:0)"]
;[eval exp="bao.setObject(%['storage'=>'aireffect01','rootx'=>228,'rooty'=>250,'altitude'=>160,'absolute'=>2000,'type'=>ltPsColorDodge5,'return'=>'tf.aireffect'])"]
[eval exp="bao.enemyCountOffset = 1"]
[enemy kind=魔影蝶 rootx=420 rooty=200 inverse=true enablemove=false return='tf.butterfly']
[enemy kind=戦闘員 x=340 y=180 enablemove=false return='tf.e0']
[enemy kind=戦闘員 x=330 y=225 enablemove=false return='tf.e1']
[enemy kind=戦闘員 x=390 y=250 enablemove=false return='tf.e2']
[return]