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));} // 顺/反扫/滑奏:快速 }