撤销激光钢琴全部攻击修改,恢复原始版本(轮换模式/原速扫射/乱序前摇3帧/mainT=4)
This commit is contained in:
parent
4fe4eb1d9d
commit
1c6f15dca5
@ -390,31 +390,31 @@ function bossMain(b,def,fm){
|
|||||||
b.mainT=Math.round(10/fm);break;}
|
b.mainT=Math.round(10/fm);break;}
|
||||||
case "assault": // 暗黑突击:启动冲撞(锚点记当前位置,冲撞归来后正弦从此继续)
|
case "assault": // 暗黑突击:启动冲撞(锚点记当前位置,冲撞归来后正弦从此继续)
|
||||||
b.dashSt={ph:"tele",t:52};b.ax=b.x;b.ay=b.y;b.mainT=9999;break;
|
b.dashSt={ph:"tele",t:52};b.ax=b.x;b.ay=b.y;b.mainT=9999;break;
|
||||||
case "piano": { // 激光钢琴:21键,五种模式随机——顺扫/反扫/乱序/齐射/滑奏(每次重抽,不固定轮换)
|
case "piano": { // 激光钢琴:21键,四种模式轮换——顺扫(逼走位)/反扫/乱序/齐射
|
||||||
if(!b.keys)b.keys={n:21,seq:[],i:0,t:2,hot:-1,hotT:0,hotList:null,mode:3};
|
if(!b.keys)b.keys={n:21,seq:[],i:0,t:2,hot:-1,hotT:0,hotList:null,mode:3};
|
||||||
const ks=b.keys,n=ks.n;
|
const ks=b.keys,n=ks.n;
|
||||||
if(ks.hotT>0){ks.hotT--;
|
if(ks.hotT>0){ks.hotT--;
|
||||||
if(ks.hotT===0){const list=ks.hotList||[ks.hot];
|
if(ks.hotT===0){const list=ks.hotList||[ks.hot];
|
||||||
for(const kh of list){if(kh<0)continue;const kx=-(n-1)*5+kh*10; // 与drawPiano键位一致(整数键距10)
|
for(const kh of list){if(kh<0)continue;const kx=-(n-1)*5+kh*10; // 与drawPiano键位一致(整数键距10)
|
||||||
bossBeam(b.x+kx,b.y+18,b.x+kx,H+8,4,"#43e8ff",7,22,18,{b,ox:kx,oy:18,followX2:true});} // 光束动画完整放完(22帧:全亮+渐隐),只加快扫速与前摇
|
bossBeam(b.x+kx,b.y+18,b.x+kx,H+8,4,"#43e8ff",7,22,18,{b,ox:kx,oy:18,followX2:true});}
|
||||||
ks.hotList=null;ks.hot=-1;SFX.eshoot();}}
|
ks.hotList=null;ks.hot=-1;SFX.eshoot();}}
|
||||||
ks.t--;
|
ks.t--;
|
||||||
if(ks.t<=0&&ks.hotT<=0){
|
if(ks.t<=0&&ks.hotT<=0){
|
||||||
if(ks.i>=ks.seq.length){ // 布下一局:随机抽模式(5种)
|
if(ks.i>=ks.seq.length){ // 布下一局:轮换模式(5种)
|
||||||
ks.mode=rndi(0,5);
|
ks.mode=(ks.mode+1)%5;
|
||||||
if(ks.mode===0){ks.seq=[];for(let i=0;i<n-3;i++)ks.seq.push(i);} // 顺扫止于18号:最右3键永远安全
|
if(ks.mode===0){ks.seq=[];for(let i=0;i<n-3;i++)ks.seq.push(i);} // 顺扫止于18号:最右3键永远安全
|
||||||
else if(ks.mode===1){ks.seq=[];for(let i=n-1;i>=3;i--)ks.seq.push(i);} // 反扫止于3号:最左3键永远安全
|
else if(ks.mode===1){ks.seq=[];for(let i=n-1;i>=3;i--)ks.seq.push(i);} // 反扫止于3号:最左3键永远安全
|
||||||
else if(ks.mode===2){ks.seq=shuffled(n);}
|
else if(ks.mode===2){ks.seq=shuffled(n);}
|
||||||
else if(ks.mode===3){ks.seq=[];for(let i=0;i<6+ph*2;i++)ks.seq.push(-1);} // -1=齐射标记
|
else if(ks.mode===3){ks.seq=[];for(let i=0;i<6+ph*2;i++)ks.seq.push(-1);} // -1=齐射标记
|
||||||
else{ks.seq=[];for(let i=0;i<n-3;i++)ks.seq.push(i);for(let i=n-4;i>=0;i--)ks.seq.push(i);} // 滑奏:顺扫到尾立刻反扫回来
|
else{ks.seq=[];for(let i=0;i<n-3;i++)ks.seq.push(i);for(let i=n-4;i>=0;i--)ks.seq.push(i);} // 滑奏:顺扫到尾立刻反扫回来
|
||||||
ks.i=0;ks.t=Math.round(14/fm); // 局间停顿统一(P1/P2同节奏,不再阶段差异)
|
ks.i=0;ks.t=Math.round((ph?14:22)/fm);
|
||||||
}else{const cur=ks.seq[ks.i++];
|
}else{const cur=ks.seq[ks.i++];
|
||||||
if(cur===-1){const pool=shuffled(n);ks.hotList=pool.slice(0,4+ph*2);ks.hotT=9;ks.hotT0=9;ks.t=Math.round((ph?21:30)/fm);} // 齐射:慢50%
|
if(cur===-1){const pool=shuffled(n);ks.hotList=pool.slice(0,4+ph*2);ks.hotT=9;ks.hotT0=9;ks.t=Math.round((ph?21:30)/fm);} // 齐射:慢50%
|
||||||
else if(ks.mode<=1||ks.mode===4){ks.hot=cur;ks.hotT=1;ks.hotT0=1;ks.t=1;} // 顺扫/反扫/滑奏:极限扫速(每帧一条,0.3秒扫完全屏);光束动画完整22帧不缩短
|
else if(ks.mode<=1||ks.mode===4){ks.hot=cur;ks.hotT=1;ks.hotT0=1;ks.t=Math.round((ph?2:3)/fm);} // 顺/反扫/滑奏:前摇快50%
|
||||||
else{if(ph>=1){ks.hotList=[cur,ks.i<ks.seq.length?ks.seq[ks.i++]:cur];ks.hot=-1;}else{ks.hot=cur;}ks.hotT=9;ks.hotT0=9;ks.t=Math.round((ph?3:5)/fm);} // 乱序:P2一次点2键(和音);前摇与齐射一致(9帧)
|
else{if(ph>=1){ks.hotList=[cur,ks.i<ks.seq.length?ks.seq[ks.i++]:cur];ks.hot=-1;}else{ks.hot=cur;}ks.hotT=3;ks.hotT0=3;ks.t=Math.round((ph?3:5)/fm);} // 乱序:P2一次点2键(和音)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
b.mainT=1;break;} // mainT=1:钢琴状态机每帧推进(原mainT=4导致所有计时被放大4倍,扫射/乱序/齐射极慢)
|
b.mainT=4;break;}
|
||||||
case "blackstone": { // 黑石要塞:五重旋转花瓣弹幕(往复旋摆);签名亚空间主炮见updateBoss帧级序列
|
case "blackstone": { // 黑石要塞:五重旋转花瓣弹幕(往复旋摆);签名亚空间主炮见updateBoss帧级序列
|
||||||
const base=Math.sin(b.t*0.008)*1.1;
|
const base=Math.sin(b.t*0.008)*1.1;
|
||||||
for(let k=0;k<5;k++)ebul(b.x,b.y,k*TAU/5+base,1.55,"orbG",13);
|
for(let k=0;k<5;k++)ebul(b.x,b.y,k*TAU/5+base,1.55,"orbG",13);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user