diff --git a/star-raid/js/enemies.js b/star-raid/js/enemies.js
index 21ac062..7376642 100644
--- a/star-raid/js/enemies.js
+++ b/star-raid/js/enemies.js
@@ -422,10 +422,16 @@ function bossMain(b,def,fm){
else if(ks.mode===4){ks.seq=[];for(let i=0;i<5+ph*2;i++)ks.seq.push(-2);} // 乱序:每次同时随机4/8键,发射5+ph*2次
else if(ph>=1){ks.seq=[];for(let i=0;i<6+ph*2;i++)ks.seq.push(-1);} // 齐射P2:保持原逻辑(随机6键,多次)
else{ks.seq=[-3];} // 齐射P1:4连不射其余全射,只发射一次
- ks.i=0;ks.t=ks.mode<=3?Math.round(60/fm):0; // 扫/滑四种模式开局前蓄力1秒,其余无间隔
+ ks.i=0;ks.t=ks.mode<=3?Math.round(18/fm):0; // 扫/滑四种模式开局前蓄力0.3秒,其余无间隔
}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);} // 齐射P2
- else if(cur===-2){const pool=shuffled(n);ks.hotList=pool.slice(0,4+ph*4);ks.hotT=9;ks.hotT0=9;ks.t=Math.round((ph?7:10)/fm);} // 乱序:P1同时4键,P2同时8键
+ else if(cur===-2){ // 乱序:2个随机+2个玩家正上方
+ const p=G.p,base=-(n-1)*5,relX=p.x-b.x;
+ const kNear=clamp(Math.round((relX-base)/10),0,n-1);
+ const kNear2=clamp(kNear+(relXk!==kNear&&k!==kNear2);
+ ks.hotList=[kNear,kNear2].concat(pool.slice(0,2+ph*2));
+ ks.hotT=9;ks.hotT0=9;ks.t=Math.round((ph?7:10)/fm);}
else if(cur===-3){const safeStart=rndi(0,n-4);const all=[];for(let i=0;i=safeStart+4)all.push(i);ks.hotList=all;ks.hotT=9;ks.hotT0=9;ks.t=Math.round((ph?10:15)/fm);} // 齐射P1:4连不射
else{ks.hot=cur;ks.hotT=1;ks.hotT0=1;ks.t=Math.max(1,Math.round((ph?1:2)/fm));} // 顺/反扫/滑奏:快速
}