From 10ee2e753b188acad9579386474fe198874f740d Mon Sep 17 00:00:00 2001
From: JOJO <1498581755@qq.com>
Date: Thu, 6 Aug 2026 14:42:53 +0800
Subject: [PATCH] =?UTF-8?q?=E9=92=A2=E7=90=B4Boss=EF=BC=9A=E6=89=AB?=
=?UTF-8?q?=E6=BB=91=E9=97=B4=E9=9A=94=E6=94=B9=E4=B8=BA0.3=E7=A7=92+?=
=?UTF-8?q?=E4=B9=B1=E5=BA=8F=E6=94=B9=E4=B8=BA=E8=BF=BD=E8=B8=AA=E9=94=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 顺扫/反扫/顺滑奏/反滑奏开局前蓄力从1秒改为0.3秒(60→18帧)
- 乱序模式:每次2个随机键+2个玩家正上方最近键(P2额外+2随机=6键)
- 正上方键取法:round((玩家相对x+100)/10)得最近键,次近键取相邻方向
---
star-raid/js/enemies.js | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
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));} // 顺/反扫/滑奏:快速
}