582 lines
27 KiB
Text
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]
|
|
|