撤销激光钢琴全部攻击修改,恢复原始版本(轮换模式/原速扫射/乱序前摇3帧/mainT=4)

This commit is contained in:
JOJO 2026-08-06 14:04:37 +08:00
parent 4fe4eb1d9d
commit 1c6f15dca5

View File

@ -390,31 +390,31 @@ function bossMain(b,def,fm){
b.mainT=Math.round(10/fm);break;}
case "assault": // 暗黑突击:启动冲撞(锚点记当前位置,冲撞归来后正弦从此继续)
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};
const ks=b.keys,n=ks.n;
if(ks.hotT>0){ks.hotT--;
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
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.t--;
if(ks.t<=0&&ks.hotT<=0){
if(ks.i>=ks.seq.length){ // 布下一局:随机抽模式5种
ks.mode=rndi(0,5);
if(ks.i>=ks.seq.length){ // 布下一局:轮换模式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键永远安全
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===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);} // 滑奏:顺扫到尾立刻反扫回来
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++];
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(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(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=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帧级序列
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);