diff --git a/star-raid/js/enemies.js b/star-raid/js/enemies.js index 901d9cc..6871408 100644 --- a/star-raid/js/enemies.js +++ b/star-raid/js/enemies.js @@ -396,7 +396,8 @@ function bossMain(b,def,fm){ 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});} + const sdur=(ks.mode<=1||ks.mode===4)?6:22; // 顺/反扫/滑奏光束6帧短闪(同屏≤3条,扫感清晰);乱序/齐射保持22帧持续 + bossBeam(b.x+kx,b.y+18,b.x+kx,H+8,4,"#43e8ff",7,sdur,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){ @@ -407,10 +408,10 @@ function bossMain(b,def,fm){ 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=0;i--)ks.seq.push(i);} // 滑奏:顺扫到尾立刻反扫回来 - ks.i=0;ks.t=Math.round((ph?14:22)/fm); + ks.i=0;ks.t=Math.round(14/fm); // 局间停顿统一(P1/P2同节奏,不再阶段差异) }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=Math.max(1,Math.round(2/(1.6*fm)));} // 顺扫/反扫/滑奏:统一极速(P1/P2同速,每键1帧,≈0.3秒扫完全屏) + else if(ks.mode<=1||ks.mode===4){ks.hot=cur;ks.hotT=1;ks.hotT0=1;ks.t=Math.max(2,Math.round(2/(1.6*fm)));} // 顺扫/反扫/滑奏:键间隔统一2帧(P1/P2同速≈0.6秒扫完;配合6帧短光束=干净扫射) else{if(ph>=1){ks.hotList=[cur,ks.i